From 4b4f20774d4c24a2e28e0476a41a930564abb935 Mon Sep 17 00:00:00 2001 From: "evan.liu" <583229071@qq.com> Date: Fri, 4 Sep 2026 13:35:26 +0800 Subject: [PATCH] =?UTF-8?q?mcm-ddc-ble=20V1.00.14:=E5=BC=95=E5=85=A5cJSON?= =?UTF-8?q?=20v1.7.18=E5=88=B0src/infra(=E5=88=86=E9=85=8D=E7=BB=8FcJSON?= =?UTF-8?q?=5FInitHooks=E6=8C=82FreeRTOS=20pvPortMalloc,=E6=83=B0=E6=80=A7?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96);=E5=8F=82=E6=95=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=B1=82JSON=E5=8C=96(appget=20json=E8=BE=93=E5=87=BA?= =?UTF-8?q?JSON=E5=AF=B9=E8=B1=A1,appset=20json=20{"led":500}=E5=85=A5?= =?UTF-8?q?=E5=8F=82,=E6=9C=AA=E7=9F=A5=E9=94=AE=E5=BF=BD=E7=95=A5?= =?UTF-8?q?=E5=89=8D=E5=90=91=E5=85=BC=E5=AE=B9,=E8=B6=8A=E7=95=8C?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E4=B8=8D=E7=94=9F=E6=95=88,=E6=88=90?= =?UTF-8?q?=E5=8A=9F=E5=9B=9E=E6=98=BEJSON);Flash=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E5=B1=82=E4=BF=9D=E6=8C=81caiic=5Fparams=5Ft=E4=BA=8C=E8=BF=9B?= =?UTF-8?q?=E5=88=B6=E8=AE=B0=E5=BD=95=E4=B8=8D=E5=8A=A8;uvprojx=E4=B8=89t?= =?UTF-8?q?arget=E5=8A=A0infra=E7=BB=84;=E6=96=87=E6=A1=A3=E5=90=8C?= =?UTF-8?q?=E6=AD=A5(=E5=BC=80=E5=8F=91=E6=97=A5=E5=BF=97=C2=A734/ble=5Fpr?= =?UTF-8?q?otocol.md=20=C2=A76.5/AGENTS.md);=E6=95=B4=E5=8C=85+OTA?= =?UTF-8?q?=E5=8C=85=E5=B7=B2=E5=87=BA=E5=88=B0tools/out?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 8 +- Boot/MDK-ARM/build.log | 2 +- docs/ble_protocol.md | 4 +- docs/开发日志.md | 22 + mcm-ddc-ble/MDK-ARM/Listings/mcm-ddc-ble.map | 3432 ++++++---- mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin | Bin 45056 -> 53072 bytes mcm-ddc-ble/MDK-ARM/mcm-ddc-ble.uvprojx | 51 +- mcm-ddc-ble/inc/app_version.h | 4 +- mcm-ddc-ble/src/app_params.c | 151 +- mcm-ddc-ble/src/cli_core.c | 4 +- mcm-ddc-ble/src/infra/cJSON.c | 3143 +++++++++ mcm-ddc-ble/src/infra/cJSON.h | 300 + mcm-ddc-ble/src/infra/infra_cjson.c | 21 + mcm-ddc-ble/src/infra/infra_cjson.h | 23 + tools/out/caiic_ble_full.bin | Bin 77824 -> 85840 bytes tools/out/caiic_ble_full.hex | 6095 ++++++++++-------- tools/out/caiic_ble_full_ota.bin | Bin 45056 -> 53072 bytes tools/out/caiic_ble_full_ota.json | 6 +- 18 files changed, 9028 insertions(+), 4238 deletions(-) create mode 100644 mcm-ddc-ble/src/infra/cJSON.c create mode 100644 mcm-ddc-ble/src/infra/cJSON.h create mode 100644 mcm-ddc-ble/src/infra/infra_cjson.c create mode 100644 mcm-ddc-ble/src/infra/infra_cjson.h diff --git a/AGENTS.md b/AGENTS.md index 58d1424..8de27ea 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,14 +5,14 @@ 本仓库是 **mothercup(母乳杯)** 产品的完整代码仓库,包含三大部分: 1. **设备固件** — 基于国民技术(Nations)**N32WB031 BLE SoC**(实际型号 **N32WB031KEQ6-2**:Cortex-M0,64MHz HSI,**Flash 512KB**,RAM 48KB+16KB): - - **`mcm-ddc-ble/`** — 唯一活跃的应用固件工程(APP,链接在 APP1 bank `0x01008000`/224KB)。以 SDK rdtss 例程为蓝本,集成 FreeRTOS、UART CLI、BLE 自定义 GATT 服务(CLI 透传 / 设备信息查询 / BLE OTA 双 bank 直写升级)、bootsetting 与 APP_DATA 参数区结构化读写命令。当前版本 **V1.00.13**(`mcm-ddc-ble/inc/app_version.h`)。历史上曾有 `mcm-ddc-04/` 主工程,**已删除**,其功能已全部并入本工程。 + - **`mcm-ddc-ble/`** — 唯一活跃的应用固件工程(APP,链接在 APP1 bank `0x01008000`/224KB)。以 SDK rdtss 例程为蓝本,集成 FreeRTOS、UART CLI、BLE 自定义 GATT 服务(CLI 透传 / 设备信息查询 / BLE OTA 双 bank 直写升级)、bootsetting 与 APP_DATA 参数区结构化读写命令。当前版本 **V1.00.14**(`mcm-ddc-ble/inc/app_version.h`)。历史上曾有 `mcm-ddc-04/` 主工程,**已删除**,其功能已全部并入本工程。 - **`Boot/`** — 自写精简 bootloader(链接在 `0x01000000`/16KB):校验 bootsetting 记录自身完整性(magic + 结构体 CRC32)后按 active bank 的 `start_address` 直接跳转;**不校验镜像 CRC(CRC 校验在 OTA 升级过程中完成)**;记录无效或地址越界回退 APP1。 2. **手机 App `SmartAssiter/`** — uni-app **Vue3 + TypeScript** 工程(HBuilderX 项目管理,无 package.json),通过 BLE 连接设备:查看运行参数(温度/电压/转速等)、CLI 终端、OTA 升级页(当前停用,见下)。另有登录/注册/用户信息等云端业务页面。 3. **PC 工具 `tools/`** — 整片烧录包制作/烧录脚本 + bleak 蓝牙测试客户端。 关键文档: -- `docs/开发日志.md` — 固件全程开发日志(33 节,含所有踩坑根因与设计决策,排查问题先查这里) +- `docs/开发日志.md` — 固件全程开发日志(34 节,含所有踩坑根因与设计决策,排查问题先查这里) - `docs/ble_protocol.md` — CAIIC BLE 通信协议 V1.1(帧格式/GATT UUID/三类业务流程/维护命令/手机端开发指南) - `SmartAssiter/docs/修改记录_*.md` — App 侧每次改造的详细记录 @@ -69,6 +69,8 @@ mcm-ddc-ble/ │ ├── ble_up.c # CLI 应答的 BLE notify 上行(ke_msg 上下文约束:环形缓冲 + BLE 任务内发送) │ ├── n32wb03x_it.c # 异常处理(HardFault 栈帧打印)+ USART1_IRQHandler 转发 │ ├── app_usart.c # 遗留文件,已不在工程中编译(rdtss 原透传 FIFO,勿使用) +│ ├── infra/ # vendored cJSON v1.7.18(MIT)+ infra_cjson.c(分配挂 pvPortMalloc, +│ │ # 惰性初始化);供参数接口 JSON 化等使用,MicroLIB 下整数走 %d 快路径 │ └── app_profile/ # app_rdtss.c(GATT 服务实现,读请求按 att_idx 分发 CLI_VAL/INFO_VAL)等 ├── inc/ # 对应头文件 + FreeRTOSConfig.h(heap 20KB)+ app_user_config.h(广播名/连接参数) └── MDK-ARM/ # mcm-ddc-ble.uvprojx(target "N32WB03x" 为活跃 target; @@ -88,7 +90,7 @@ mcm-ddc-ble/ "D:\Keil_v5\UV4\UV4.exe" -b caiic_boot.uvprojx -j0 -o build.log # Boot 增量构建 ``` -要求保持 **0 Error(s), 0 Warning(s)**。当前基线(V1.00.13):`Code=38988 RO-data=4524 RW-data=2028 ZI-data=28092`。 +要求保持 **0 Error(s), 0 Warning(s)**。当前基线(V1.00.14):`Code=46912 RO-data=4604 RW-data=2060 ZI-data=28604`。 **固件版本号约定(重要)**:每次修改固件代码必须递增 `mcm-ddc-ble/inc/app_version.h` 中的 `APP_FW_VERSION` 与 `APP_FW_VERSION_NUM`(格式 `0x00MMmmpp`,通常补丁位 +1),用于识别板上实际运行的固件;工程名与出包文件名保持不变。 diff --git a/Boot/MDK-ARM/build.log b/Boot/MDK-ARM/build.log index 4c324cd..1d68b51 100644 --- a/Boot/MDK-ARM/build.log +++ b/Boot/MDK-ARM/build.log @@ -9,4 +9,4 @@ Program Size: Code=1320 RO-data=680 RW-data=0 ZI-data=2104 FromELF: creating hex file... After Build - User command #1: fromelf --bin --output=.\bin\caiic_boot.bin .\Objects\caiic_boot.axf ".\Objects\caiic_boot.axf" - 0 Error(s), 0 Warning(s). -Build Time Elapsed: 00:00:00 +Build Time Elapsed: 00:00:01 diff --git a/docs/ble_protocol.md b/docs/ble_protocol.md index d58122f..b0b54ab 100644 --- a/docs/ble_protocol.md +++ b/docs/ble_protocol.md @@ -137,8 +137,8 @@ bootsetting 与 APP_DATA 保留区(0x01006000/8KB)的读写以 CLI 命令形 | 命令 | 说明 | |---|---| -| `appget` | 打印 APP_DATA 参数记录与 valid/default 状态(led = LED1 闪烁半周期 ms;pwm = PWM 占空比 %) | -| `appset ` | 修改参数并立即落盘(led 50~10000 即时生效于 LED1 闪烁;pwm 0~100 仅存储备用) | +| `appget` | 打印 APP_DATA 参数记录与 valid/default 状态(led = LED1 闪烁半周期 ms;pwm = PWM 占空比 %);`appget json` 输出 JSON 对象 `{"led":500,"pwm":0,"valid":1}`(V1.00.14 起) | +| `appset ` | 修改参数并立即落盘(led 50~10000 即时生效于 LED1 闪烁;pwm 0~100 仅存储备用);`appset json {"led":500,"pwm":50}` JSON 入参(V1.00.14 起,未知键忽略、任一越界整体不生效) | | `bsdump` | 打印 bootsetting 记录全字段 + magic/CRC 校验结果 | | `bsset ` | 写 bootsetting 单字段(`active 1\|2`、`b1addr/b2addr/b1size/b2size/b1crc/b2crc/b1ver/b2ver`),自动重算 CRC、擦除+编程+校验。**写错 active/addr 会导致 Boot 跳错,恢复靠 SWD 重烧整片包** | | `reset` | 复位单板:应答后延时 200ms 执行 `NVIC_SystemReset()`,Boot 按 active bank 跳转 | diff --git a/docs/开发日志.md b/docs/开发日志.md index 8ea7c84..83d9a96 100644 --- a/docs/开发日志.md +++ b/docs/开发日志.md @@ -835,3 +835,25 @@ V1.00.12 的 help 紧凑列表是绕过 512B 上限的权宜之计;根因是 A 构建 0 Error/0 Warning,V1.00.13 `Code=38988 RO=4524 RW=2028 ZI=28092`, 整包/OTA 镜像已生成(_ota.bin 45056B,crc32=0xB2469318)。 + +## 34. 引入 cJSON(infra 层)+ 参数接口 JSON 化(2026-09-04,V1.00.14) + +评估结论:JSON 的价值在**接口层**(App 原生 JSON.parse,新增参数旧客户端天然兼容), +不在 Flash 存储层——APP_DATA 记录保持二进制 `caiic_params_t`(magic+layout_ver+CRC32), +半写坏记录靠 CRC 识别回落缺省,比 JSON 文本(空格/键序敏感、解析失败路径难收敛)更稳。 + +- **infra 层落地**:vendor cJSON v1.7.18(MIT)到 `mcm-ddc-ble/src/infra/`, + `infra_cjson.c` 用 `cJSON_InitHooks` 把分配挂到 FreeRTOS `pvPortMalloc/vPortFree` + (惰性一次性初始化,命令首次用到时才挂钩子)。uvprojx 三个 target 均加 infra 组 + 与 `..\src\infra` include path。改动只在 mcm-ddc-ble 内,nations-tec 只读区未动。 +- **MicroLIB 注意**:cJSON 数字序列化对整数值走 `%d` 快路径(valueint),不触发 + MicroLIB 不支持的浮点 `%g`;解析侧 `strtod` MicroLIB 支持。本工程参数全为整数, + 若未来引入浮点参数需先验证打印路径。 +- **接口**:`appget json` 输出 `{"led":500,"pwm":0,"valid":1}`; + `appset json {"led":500,"pwm":50}`(CLI 分词后的 JSON 片段自动重组;未知键忽略 = + 前向兼容;所有键先校验范围,任一越界则整体不改动;成功后落盘并回显 JSON)。 + 原纯文本 `appget`/`appset ` 保持不变。 +- 命令行长度假定 ≤79B(JSON 重组缓冲 80B),BLE 读写特征 63B 上限内可用紧凑 JSON。 + +构建 0 Error/0 Warning,V1.00.14 `Code=46912 RO=4604 RW=2060 ZI=28604`, +整包/OTA 镜像已生成(_ota.bin 53072B,crc32=0x603CBC54)。 diff --git a/mcm-ddc-ble/MDK-ARM/Listings/mcm-ddc-ble.map b/mcm-ddc-ble/MDK-ARM/Listings/mcm-ddc-ble.map index b9f3008..087967a 100644 --- a/mcm-ddc-ble/MDK-ARM/Listings/mcm-ddc-ble.map +++ b/mcm-ddc-ble/MDK-ARM/Listings/mcm-ddc-ble.map @@ -837,14 +837,26 @@ Section Cross References app_gpio.o(i.LedInit) refers to n32wb03x_gpio.o(i.GPIO_InitPeripheral) for GPIO_InitPeripheral app_gpio.o(i.LedOff) refers to n32wb03x_gpio.o(i.GPIO_ResetBits) for GPIO_ResetBits app_gpio.o(i.LedOn) refers to n32wb03x_gpio.o(i.GPIO_SetBits) for GPIO_SetBits + app_params.o(i.AppParams_CmdAppget) refers to strcmp.o(.text) for strcmp + app_params.o(i.AppParams_CmdAppget) refers to app_params.o(i.params_print_json) for params_print_json app_params.o(i.AppParams_CmdAppget) refers to cli_core.o(i.cli_printf) for cli_printf app_params.o(i.AppParams_CmdAppget) refers to app_params.o(.data) for .data app_params.o(i.AppParams_CmdAppget) refers to app_params.o(.bss) for .bss app_params.o(i.AppParams_CmdAppset) refers to cli_core.o(i.cli_write) for cli_write - app_params.o(i.AppParams_CmdAppset) refers to strtoul.o(.text) for strtoul app_params.o(i.AppParams_CmdAppset) refers to strcmp.o(.text) for strcmp + app_params.o(i.AppParams_CmdAppset) refers to strtoul.o(.text) for strtoul + app_params.o(i.AppParams_CmdAppset) refers to strlen.o(.text) for strlen + app_params.o(i.AppParams_CmdAppset) refers to memcpya.o(.text) for __aeabi_memcpy + app_params.o(i.AppParams_CmdAppset) refers to infra_cjson.o(i.infra_cjson_init) for infra_cjson_init + app_params.o(i.AppParams_CmdAppset) refers to cjson.o(i.cJSON_Parse) for cJSON_Parse + app_params.o(i.AppParams_CmdAppset) refers to cjson.o(i.cJSON_IsObject) for cJSON_IsObject + app_params.o(i.AppParams_CmdAppset) refers to cjson.o(i.cJSON_GetObjectItem) for cJSON_GetObjectItem + app_params.o(i.AppParams_CmdAppset) refers to cjson.o(i.cJSON_IsNumber) for cJSON_IsNumber + app_params.o(i.AppParams_CmdAppset) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete app_params.o(i.AppParams_CmdAppset) refers to cli_core.o(i.cli_printf) for cli_printf app_params.o(i.AppParams_CmdAppset) refers to app_params.o(i.params_save) for params_save + app_params.o(i.AppParams_CmdAppset) refers to app_params.o(i.params_print_json) for params_print_json + app_params.o(i.AppParams_CmdAppset) refers to app_params.o(.conststring) for .conststring app_params.o(i.AppParams_CmdAppset) refers to app_params.o(.bss) for .bss app_params.o(i.app_params_get) refers to app_params.o(.bss) for .bss app_params.o(i.app_params_init) refers to memcpya.o(.text) for __aeabi_memcpy4 @@ -856,6 +868,16 @@ Section Cross References app_params.o(i.app_params_restore_defaults) refers to memseta.o(.text) for __aeabi_memclr4 app_params.o(i.app_params_restore_defaults) refers to app_params.o(i.params_save) for params_save app_params.o(i.app_params_restore_defaults) refers to app_params.o(.bss) for .bss + app_params.o(i.params_print_json) refers to infra_cjson.o(i.infra_cjson_init) for infra_cjson_init + app_params.o(i.params_print_json) refers to cjson.o(i.cJSON_CreateObject) for cJSON_CreateObject + app_params.o(i.params_print_json) refers to dfltui.o(.text) for __aeabi_ui2d + app_params.o(i.params_print_json) refers to cjson.o(i.cJSON_AddNumberToObject) for cJSON_AddNumberToObject + app_params.o(i.params_print_json) refers to cjson.o(i.cJSON_PrintUnformatted) for cJSON_PrintUnformatted + app_params.o(i.params_print_json) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + app_params.o(i.params_print_json) refers to cli_core.o(i.cli_write) for cli_write + app_params.o(i.params_print_json) refers to cjson.o(i.cJSON_free) for cJSON_free + app_params.o(i.params_print_json) refers to app_params.o(.bss) for .bss + app_params.o(i.params_print_json) refers to app_params.o(.data) for .data app_params.o(i.params_save) refers to n32wb03x_qflash.o(i.Qflash_Init) for Qflash_Init app_params.o(i.params_save) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32 app_params.o(i.params_save) refers to n32wb03x_qflash.o(i.Qflash_Erase_Sector) for Qflash_Erase_Sector @@ -878,6 +900,216 @@ Section Cross References app_bootset.o(i.AppBootset_CmdBsset) refers to app_bootset.o(.data) for .data app_bootset.o(i.bootset_print) refers to boot_crc32.o(i.caiic_crc32) for caiic_crc32 app_bootset.o(i.bootset_print) refers to cli_core.o(i.cli_printf) for cli_printf + cjson.o(i.add_item_to_object) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.add_item_to_object) refers to cjson.o(i.add_item_to_array) for add_item_to_array + cjson.o(i.cJSON_AddArrayToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddArrayToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddArrayToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddArrayToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddBoolToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddBoolToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddBoolToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddBoolToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddFalseToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddFalseToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddFalseToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddFalseToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddItemReferenceToArray) refers to cjson.o(i.create_reference) for create_reference + cjson.o(i.cJSON_AddItemReferenceToArray) refers to cjson.o(i.add_item_to_array) for add_item_to_array + cjson.o(i.cJSON_AddItemReferenceToArray) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddItemReferenceToObject) refers to cjson.o(i.create_reference) for create_reference + cjson.o(i.cJSON_AddItemReferenceToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddItemReferenceToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddItemToArray) refers to cjson.o(i.add_item_to_array) for add_item_to_array + cjson.o(i.cJSON_AddItemToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddItemToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddItemToObjectCS) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddItemToObjectCS) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddNullToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddNullToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddNullToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddNullToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddNumberToObject) refers to cjson.o(i.cJSON_CreateNumber) for cJSON_CreateNumber + cjson.o(i.cJSON_AddNumberToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddNumberToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddNumberToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddObjectToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddObjectToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddObjectToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddObjectToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddRawToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddRawToObject) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_AddRawToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddRawToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddRawToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddStringToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddStringToObject) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_AddStringToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddStringToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddStringToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_AddTrueToObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_AddTrueToObject) refers to cjson.o(i.add_item_to_object) for add_item_to_object + cjson.o(i.cJSON_AddTrueToObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_AddTrueToObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_Compare) refers to cjson.o(i.compare_double) for compare_double + cjson.o(i.cJSON_Compare) refers to strcmp.o(.text) for strcmp + cjson.o(i.cJSON_Compare) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_CreateArray) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateArray) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateArrayReference) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateArrayReference) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateBool) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateBool) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateDoubleArray) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateDoubleArray) refers to cjson.o(i.cJSON_CreateNumber) for cJSON_CreateNumber + cjson.o(i.cJSON_CreateDoubleArray) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_CreateDoubleArray) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateFalse) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateFalse) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateFloatArray) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateFloatArray) refers to f2d.o(.text) for __aeabi_f2d + cjson.o(i.cJSON_CreateFloatArray) refers to cjson.o(i.cJSON_CreateNumber) for cJSON_CreateNumber + cjson.o(i.cJSON_CreateFloatArray) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_CreateFloatArray) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateIntArray) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateIntArray) refers to dflti.o(.text) for __aeabi_i2d + cjson.o(i.cJSON_CreateIntArray) refers to cjson.o(i.cJSON_CreateNumber) for cJSON_CreateNumber + cjson.o(i.cJSON_CreateIntArray) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_CreateIntArray) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateNull) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateNull) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateNumber) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateNumber) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + cjson.o(i.cJSON_CreateNumber) refers to cdcmple.o(.text) for __aeabi_cdcmple + cjson.o(i.cJSON_CreateNumber) refers to dfixi.o(.text) for __aeabi_d2iz + cjson.o(i.cJSON_CreateNumber) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateObject) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateObject) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateObjectReference) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateObjectReference) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateRaw) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateRaw) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_CreateRaw) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_CreateRaw) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateString) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateString) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_CreateString) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_CreateString) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateStringArray) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateStringArray) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_CreateStringArray) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_CreateStringArray) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateStringReference) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateStringReference) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_CreateTrue) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_CreateTrue) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_Delete) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_DeleteItemFromArray) refers to cjson.o(i.cJSON_DetachItemViaPointer) for cJSON_DetachItemViaPointer + cjson.o(i.cJSON_DeleteItemFromArray) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_DeleteItemFromObject) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_DeleteItemFromObject) refers to cjson.o(i.cJSON_DetachItemViaPointer) for cJSON_DetachItemViaPointer + cjson.o(i.cJSON_DeleteItemFromObject) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_DeleteItemFromObjectCaseSensitive) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_DeleteItemFromObjectCaseSensitive) refers to cjson.o(i.cJSON_DetachItemViaPointer) for cJSON_DetachItemViaPointer + cjson.o(i.cJSON_DeleteItemFromObjectCaseSensitive) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_DetachItemFromArray) refers to cjson.o(i.cJSON_DetachItemViaPointer) for cJSON_DetachItemViaPointer + cjson.o(i.cJSON_DetachItemFromObject) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_DetachItemFromObject) refers to cjson.o(i.cJSON_DetachItemViaPointer) for cJSON_DetachItemViaPointer + cjson.o(i.cJSON_DetachItemFromObjectCaseSensitive) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_DetachItemFromObjectCaseSensitive) refers to cjson.o(i.cJSON_DetachItemViaPointer) for cJSON_DetachItemViaPointer + cjson.o(i.cJSON_Duplicate) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_Duplicate) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_Duplicate) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_Duplicate) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_GetErrorPtr) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_GetObjectItem) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_GetObjectItemCaseSensitive) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_HasObjectItem) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.cJSON_InitHooks) refers to mallocr.o(i.realloc) for realloc + cjson.o(i.cJSON_InitHooks) refers to mallocr.o(i.__malloc$realloc) for malloc + cjson.o(i.cJSON_InitHooks) refers to mallocr.o(i.__free$realloc) for free + cjson.o(i.cJSON_InitHooks) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_InsertItemInArray) refers to cjson.o(i.add_item_to_array) for add_item_to_array + cjson.o(i.cJSON_Parse) refers to strlen.o(.text) for strlen + cjson.o(i.cJSON_Parse) refers to cjson.o(i.cJSON_ParseWithLengthOpts) for cJSON_ParseWithLengthOpts + cjson.o(i.cJSON_ParseWithLength) refers to cjson.o(i.cJSON_ParseWithLengthOpts) for cJSON_ParseWithLengthOpts + cjson.o(i.cJSON_ParseWithLengthOpts) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.cJSON_ParseWithLengthOpts) refers to strncmp.o(.text) for strncmp + cjson.o(i.cJSON_ParseWithLengthOpts) refers to cjson.o(i.buffer_skip_whitespace) for buffer_skip_whitespace + cjson.o(i.cJSON_ParseWithLengthOpts) refers to cjson.o(i.parse_value) for parse_value + cjson.o(i.cJSON_ParseWithLengthOpts) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_ParseWithLengthOpts) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_ParseWithOpts) refers to strlen.o(.text) for strlen + cjson.o(i.cJSON_ParseWithOpts) refers to cjson.o(i.cJSON_ParseWithLengthOpts) for cJSON_ParseWithLengthOpts + cjson.o(i.cJSON_Print) refers to cjson.o(i.print) for print + cjson.o(i.cJSON_Print) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_PrintBuffered) refers to cjson.o(i.print_value) for print_value + cjson.o(i.cJSON_PrintBuffered) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_PrintPreallocated) refers to cjson.o(i.print_value) for print_value + cjson.o(i.cJSON_PrintPreallocated) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_PrintUnformatted) refers to cjson.o(i.print) for print + cjson.o(i.cJSON_PrintUnformatted) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_ReplaceItemInArray) refers to cjson.o(i.cJSON_ReplaceItemViaPointer) for cJSON_ReplaceItemViaPointer + cjson.o(i.cJSON_ReplaceItemInObject) refers to cjson.o(i.replace_item_in_object) for replace_item_in_object + cjson.o(i.cJSON_ReplaceItemInObjectCaseSensitive) refers to cjson.o(i.replace_item_in_object) for replace_item_in_object + cjson.o(i.cJSON_ReplaceItemViaPointer) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.cJSON_SetNumberHelper) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + cjson.o(i.cJSON_SetNumberHelper) refers to cdcmple.o(.text) for __aeabi_cdcmple + cjson.o(i.cJSON_SetNumberHelper) refers to dfixi.o(.text) for __aeabi_d2iz + cjson.o(i.cJSON_SetValuestring) refers to strlen.o(.text) for strlen + cjson.o(i.cJSON_SetValuestring) refers to strcpy.o(.text) for strcpy + cjson.o(i.cJSON_SetValuestring) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.cJSON_SetValuestring) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_Version) refers to printfa.o(i.__0sprintf) for __2sprintf + cjson.o(i.cJSON_Version) refers to cjson.o(.bss) for .bss + cjson.o(i.cJSON_free) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_malloc) refers to cjson.o(.data) for .data + cjson.o(i.cJSON_strdup) refers to strlen.o(.text) for strlen + cjson.o(i.cJSON_strdup) refers to memcpya.o(.text) for __aeabi_memcpy + cjson.o(i.compare_double) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + cjson.o(i.compare_double) refers to dscalb.o(.text) for __ARM_scalbn + cjson.o(i.compare_double) refers to dadd.o(.text) for __aeabi_dsub + cjson.o(i.compare_double) refers to cdcmple.o(.text) for __aeabi_cdcmple + cjson.o(i.create_reference) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.ensure) refers to memcpya.o(.text) for __aeabi_memcpy + cjson.o(i.get_object_item) refers to strcmp.o(.text) for strcmp + cjson.o(i.get_object_item) refers to tolower.o(.text) for tolower + cjson.o(i.parse_value) refers to strncmp.o(.text) for strncmp + cjson.o(i.parse_value) refers to cjson.o(i.parse_string) for parse_string + cjson.o(i.parse_value) refers to strtod.o(i.strtod) for strtod + cjson.o(i.parse_value) refers to cdrcmple.o(.text) for __aeabi_cdrcmple + cjson.o(i.parse_value) refers to cdcmple.o(.text) for __aeabi_cdcmple + cjson.o(i.parse_value) refers to dfixi.o(.text) for __aeabi_d2iz + cjson.o(i.parse_value) refers to cjson.o(i.buffer_skip_whitespace) for buffer_skip_whitespace + cjson.o(i.parse_value) refers to cjson.o(i.cJSON_New_Item) for cJSON_New_Item + cjson.o(i.parse_value) refers to cjson.o(i.cJSON_Delete) for cJSON_Delete + cjson.o(i.print) refers to cjson.o(i.print_value) for print_value + cjson.o(i.print) refers to strlen.o(.text) for strlen + cjson.o(i.print) refers to memcpya.o(.text) for __aeabi_memcpy + cjson.o(i.print_string_ptr) refers to cjson.o(i.ensure) for ensure + cjson.o(i.print_string_ptr) refers to memcpya.o(.text) for __aeabi_memcpy + cjson.o(i.print_string_ptr) refers to printfa.o(i.__0sprintf) for __2sprintf + cjson.o(i.print_value) refers to scanf_fp.o(.text) for _scanf_real + cjson.o(i.print_value) refers to cjson.o(i.ensure) for ensure + cjson.o(i.print_value) refers to dflti.o(.text) for __aeabi_i2d + cjson.o(i.print_value) refers to cdcmple.o(.text) for __aeabi_cdcmpeq + cjson.o(i.print_value) refers to printfa.o(i.__0sprintf) for __2sprintf + cjson.o(i.print_value) refers to __0sscanf.o(.text) for __0sscanf + cjson.o(i.print_value) refers to cjson.o(i.compare_double) for compare_double + cjson.o(i.print_value) refers to strlen.o(.text) for strlen + cjson.o(i.print_value) refers to memcpya.o(.text) for __aeabi_memcpy + cjson.o(i.print_value) refers to cjson.o(i.print_string_ptr) for print_string_ptr + cjson.o(i.replace_item_in_object) refers to cjson.o(i.cJSON_strdup) for cJSON_strdup + cjson.o(i.replace_item_in_object) refers to cjson.o(i.get_object_item) for get_object_item + cjson.o(i.replace_item_in_object) refers to cjson.o(i.cJSON_ReplaceItemViaPointer) for cJSON_ReplaceItemViaPointer + cjson.o(i.replace_item_in_object) refers to cjson.o(.data) for .data + cjson.o(.data) refers to mallocr.o(i.__malloc$realloc) for malloc + cjson.o(.data) refers to mallocr.o(i.__free$realloc) for free + cjson.o(.data) refers to mallocr.o(i.realloc) for realloc + infra_cjson.o(i.infra_cjson_init) refers to cjson.o(i.cJSON_InitHooks) for cJSON_InitHooks + infra_cjson.o(i.infra_cjson_init) refers to infra_cjson.o(.data) for .data + infra_cjson.o(i.infra_cjson_init) refers to heap_4.o(i.pvPortMalloc) for pvPortMalloc + infra_cjson.o(i.infra_cjson_init) refers to heap_4.o(i.vPortFree) for vPortFree tasks.o(i.eTaskGetState) refers to port.o(i.vPortEnterCritical) for vPortEnterCritical tasks.o(i.eTaskGetState) refers to port.o(i.vPortExitCritical) for vPortExitCritical tasks.o(i.eTaskGetState) refers to tasks.o(.data) for .data @@ -1182,6 +1414,10 @@ Section Cross References port.o(i.xPortStartScheduler) refers to port.o(.emb_text) for __asm___6_port_c_39a90d8d__prvPortStartFirstTask port.o(i.xPortStartScheduler) refers to system_n32wb03x.o(.data) for SystemCoreClock port.o(i.xPortStartScheduler) refers to port.o(.data) for .data + strtod.o(i.__softfp_strtod) refers (Special) to iusefp.o(.text) for __I$use$fp + strtod.o(i.__softfp_strtod) refers to strtod.o(.text) for __strtod_int + strtod.o(i.strtod) refers (Special) to iusefp.o(.text) for __I$use$fp + strtod.o(i.strtod) refers to strtod.o(.text) for __strtod_int entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock @@ -1407,6 +1643,47 @@ Section Cross References printfa.o(i._printf_pre_padding) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i._snputc) refers (Special) to iusefp.o(.text) for __I$use$fp printfa.o(i._sputc) refers (Special) to iusefp.o(.text) for __I$use$fp + malloc.o(i.free) refers to mvars.o(.data) for __microlib_freelist + malloc.o(i.malloc) refers to mvars.o(.data) for __microlib_freelist_initialised + malloc.o(i.malloc) refers to mvars.o(.data) for __microlib_freelist + malloc.o(i.malloc) refers to startup_n32wb03x.o(HEAP) for __heap_base + mallocr.o(i.__free$realloc) refers to mvars.o(.data) for __microlib_freelist + mallocr.o(i.__malloc$realloc) refers to mallocr.o(i.internal_alloc) for internal_alloc + mallocr.o(i.__malloc$realloc) refers to mvars.o(.data) for __microlib_freelist_initialised + mallocr.o(i.__malloc$realloc) refers to startup_n32wb03x.o(HEAP) for __heap_base + mallocr.o(i.__malloc$realloc) refers to mvars.o(.data) for __microlib_freelist + mallocr.o(i.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy + mallocr.o(i.internal_alloc) refers to mvars.o(.data) for __microlib_freelist + mallocr.o(i.realloc) refers to mallocr.o(i.__free$realloc) for free + mallocr.o(i.realloc) refers to mallocr.o(i.internal_alloc) for internal_alloc + mallocr.o(i.realloc) refers to mallocr.o(i.__malloc$realloc) for malloc + mallocr.o(i.realloc) refers to mvars.o(.data) for __microlib_freelist + malloca.o(i.__aligned_malloc) refers to mvars.o(.data) for __microlib_freelist + malloca.o(i.__aligned_malloc) refers to mvars.o(.data) for __microlib_freelist_initialised + malloca.o(i.__aligned_malloc) refers to startup_n32wb03x.o(HEAP) for __heap_base + malloca.o(i.__free$memalign) refers to mvars.o(.data) for __microlib_freelist + malloca.o(i.__malloc$memalign) refers to malloca.o(i.__aligned_malloc) for __aligned_malloc + mallocra.o(i.__aligned_malloc$realloc) refers to mallocra.o(i.internal_alloc) for internal_alloc + mallocra.o(i.__aligned_malloc$realloc) refers to startup_n32wb03x.o(HEAP) for __heap_base + mallocra.o(i.__aligned_malloc$realloc) refers to mvars.o(.data) for __microlib_freelist + mallocra.o(i.__aligned_malloc$realloc) refers to mvars.o(.data) for __microlib_freelist_initialised + mallocra.o(i.__free$realloc$memalign) refers to mvars.o(.data) for __microlib_freelist + mallocra.o(i.__malloc$realloc$memalign) refers to mallocra.o(i.__aligned_malloc$realloc) for __aligned_malloc$realloc + mallocra.o(i.__realloc$memalign) refers to mallocra.o(i.__free$realloc$memalign) for __free$realloc$memalign + mallocra.o(i.__realloc$memalign) refers to mallocra.o(i.internal_alloc) for internal_alloc + mallocra.o(i.__realloc$memalign) refers to mallocra.o(i.__malloc$realloc$memalign) for __malloc$realloc$memalign + mallocra.o(i.__realloc$memalign) refers to mvars.o(.data) for __microlib_freelist + mallocra.o(i.internal_alloc) refers to memcpya.o(.text) for __aeabi_memcpy + mallocra.o(i.internal_alloc) refers to mvars.o(.data) for __microlib_freelist + __0sscanf.o(.text) refers to scanf_char.o(.text) for __vfscanf_char + __0sscanf.o(.text) refers to _sgetc.o(.text) for _sgetc + scanf_fp.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + scanf_fp.o(.text) refers to llmul.o(.text) for __aeabi_lmul + scanf_fp.o(.text) refers to dfltul.o(.text) for __aeabi_ul2d + scanf_fp.o(.text) refers to dmul.o(.text) for __aeabi_dmul + scanf_fp.o(.text) refers to ddiv.o(.text) for __aeabi_ddiv + scanf_fp.o(.text) refers to scanf_fp.o(i._is_digit) for _is_digit + scanf_fp.o(.text) refers to d2f.o(.text) for __aeabi_d2f strtoul.o(.text) refers to errno.o(i.__aeabi_errno_addr) for __aeabi_errno_addr strtoul.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table strtoul.o(.text) refers to _strtoul.o(.text) for _strtoul @@ -1423,20 +1700,27 @@ Section Cross References dmul.o(.text) refers to depilogue.o(.text) for _double_epilogue ddiv.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp ddiv.o(.text) refers to depilogue.o(.text) for _double_round + dscalb.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp fflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp fflti.o(.text) refers to fepilogue.o(.text) for _float_epilogue ffltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp ffltui.o(.text) refers to fepilogue.o(.text) for _float_epilogue + dflti.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dflti.o(.text) refers to depilogue.o(.text) for _double_epilogue dfltui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dfltui.o(.text) refers to depilogue.o(.text) for _double_epilogue dfltul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dfltul.o(.text) refers to depilogue.o(.text) for _double_epilogue ffixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp ffixui.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixi.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + dfixi.o(.text) refers to llushr.o(.text) for __aeabi_llsr dfixul.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp dfixul.o(.text) refers to llushr.o(.text) for __aeabi_llsr dfixul.o(.text) refers to llshl.o(.text) for __aeabi_llsl f2d.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + cdcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp + cdrcmple.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp d2f.o(.text) refers (Special) to iusefp.o(.text) for __I$use$fp d2f.o(.text) refers to fepilogue.o(.text) for _float_round entry2.o(.ARM.Collect$$$$00000001) refers to entry2.o(.ARM.Collect$$$$00002712) for __lit__00000000 @@ -1446,6 +1730,7 @@ Section Cross References entry5.o(.ARM.Collect$$$$00000004) refers to init.o(.text) for __scatterload entry9a.o(.ARM.Collect$$$$0000000B) refers to main.o(i.main) for main entry9b.o(.ARM.Collect$$$$0000000C) refers to main.o(i.main) for main + llmul.o(.text) refers to llshl.o(.text) for __aeabi_llsl ctype_o.o(.text) refers to ctype_o.o(.constdata) for .constdata ctype_o.o(.constdata) refers to ctype_o.o(.constdata) for __ctype_table isalnum_o.o(.text) refers to ctype_o.o(.text) for __rt_ctype_table @@ -1463,20 +1748,28 @@ Section Cross References errno.o(i.__aeabi_errno_addr) refers to errno.o(.data) for .data errno.o(i.__read_errno) refers to errno.o(.data) for .data errno.o(i.__set_errno) refers to errno.o(.data) for .data + scanf_char.o(.text) refers to _scanf.o(.text) for __vfscanf + scanf_char.o(.text) refers to isspace_o.o(.text) for isspace _strtoul.o(.text) refers to _chval.o(.text) for _chval _strtoul.o(.text) refers to errno.o(i.__aeabi_errno_addr) for __aeabi_errno_addr + strtod.o(.text) refers to scanf_fp.o(.text) for _scanf_real + strtod.o(.text) refers to _sgetc.o(.text) for _sgetc + strtod.o(.text) refers to isspace_o.o(.text) for isspace depilogue.o(.text) refers to depilogue.o(i.__ARM_clz) for __ARM_clz depilogue.o(.text) refers to llshl.o(.text) for __aeabi_llsl depilogue.o(.text) refers to llushr.o(.text) for __aeabi_llsr init.o(.text) refers to entry5.o(.ARM.Collect$$$$00000004) for __main_after_scatterload + isspace_c.o(.text) refers to ctype_c.o(.text) for __ctype_lookup + _scanf.o(.text) refers (Weak) to scanf_fp.o(.text) for _scanf_real + ctype_c.o(.text) refers to ctype_c.o(.constdata) for .constdata ns_sec.o(i.co_rand_word) refers to rand.o(.text) for rand + scanf_fp.o(i._is_digit) refers (Special) to iusefp.o(.text) for __I$use$fp ============================================================================== Removing Unused input sections from the image. - Removing startup_n32wb03x.o(HEAP), (512 bytes). Removing system_n32wb03x.o(i.SystemCoreClockUpdate), (16 bytes). Removing system_n32wb03x.o(i.SystemGetUUID), (52 bytes). Removing system_n32wb03x.o(i.SystemTrimValueRead), (16 bytes). @@ -1830,6 +2123,75 @@ Removing Unused input sections from the image. Removing app_params.o(.emb_text), (8 bytes). Removing app_params.o(i.app_params_is_valid), (12 bytes). Removing app_bootset.o(.emb_text), (8 bytes). + Removing cjson.o(i.cJSON_AddArrayToObject), (56 bytes). + Removing cjson.o(i.cJSON_AddBoolToObject), (68 bytes). + Removing cjson.o(i.cJSON_AddFalseToObject), (56 bytes). + Removing cjson.o(i.cJSON_AddItemReferenceToArray), (36 bytes). + Removing cjson.o(i.cJSON_AddItemReferenceToObject), (48 bytes). + Removing cjson.o(i.cJSON_AddItemToArray), (8 bytes). + Removing cjson.o(i.cJSON_AddItemToObject), (20 bytes). + Removing cjson.o(i.cJSON_AddItemToObjectCS), (20 bytes). + Removing cjson.o(i.cJSON_AddNullToObject), (56 bytes). + Removing cjson.o(i.cJSON_AddObjectToObject), (56 bytes). + Removing cjson.o(i.cJSON_AddRawToObject), (84 bytes). + Removing cjson.o(i.cJSON_AddStringToObject), (84 bytes). + Removing cjson.o(i.cJSON_AddTrueToObject), (56 bytes). + Removing cjson.o(i.cJSON_Compare), (274 bytes). + Removing cjson.o(i.cJSON_CreateArray), (24 bytes). + Removing cjson.o(i.cJSON_CreateArrayReference), (28 bytes). + Removing cjson.o(i.cJSON_CreateBool), (32 bytes). + Removing cjson.o(i.cJSON_CreateDoubleArray), (124 bytes). + Removing cjson.o(i.cJSON_CreateFalse), (24 bytes). + Removing cjson.o(i.cJSON_CreateFloatArray), (120 bytes). + Removing cjson.o(i.cJSON_CreateIntArray), (120 bytes). + Removing cjson.o(i.cJSON_CreateNull), (24 bytes). + Removing cjson.o(i.cJSON_CreateObjectReference), (28 bytes). + Removing cjson.o(i.cJSON_CreateRaw), (52 bytes). + Removing cjson.o(i.cJSON_CreateString), (52 bytes). + Removing cjson.o(i.cJSON_CreateStringArray), (152 bytes). + Removing cjson.o(i.cJSON_CreateStringReference), (28 bytes). + Removing cjson.o(i.cJSON_CreateTrue), (24 bytes). + Removing cjson.o(i.cJSON_DeleteItemFromArray), (46 bytes). + Removing cjson.o(i.cJSON_DeleteItemFromObject), (24 bytes). + Removing cjson.o(i.cJSON_DeleteItemFromObjectCaseSensitive), (24 bytes). + Removing cjson.o(i.cJSON_DetachItemFromArray), (42 bytes). + Removing cjson.o(i.cJSON_DetachItemFromObject), (20 bytes). + Removing cjson.o(i.cJSON_DetachItemFromObjectCaseSensitive), (20 bytes). + Removing cjson.o(i.cJSON_DetachItemViaPointer), (66 bytes). + Removing cjson.o(i.cJSON_Duplicate), (172 bytes). + Removing cjson.o(i.cJSON_GetArrayItem), (30 bytes). + Removing cjson.o(i.cJSON_GetArraySize), (28 bytes). + Removing cjson.o(i.cJSON_GetErrorPtr), (16 bytes). + Removing cjson.o(i.cJSON_GetNumberValue), (40 bytes). + Removing cjson.o(i.cJSON_GetObjectItemCaseSensitive), (10 bytes). + Removing cjson.o(i.cJSON_GetStringValue), (28 bytes). + Removing cjson.o(i.cJSON_HasObjectItem), (16 bytes). + Removing cjson.o(i.cJSON_InsertItemInArray), (88 bytes). + Removing cjson.o(i.cJSON_IsArray), (18 bytes). + Removing cjson.o(i.cJSON_IsBool), (14 bytes). + Removing cjson.o(i.cJSON_IsFalse), (14 bytes). + Removing cjson.o(i.cJSON_IsInvalid), (20 bytes). + Removing cjson.o(i.cJSON_IsNull), (18 bytes). + Removing cjson.o(i.cJSON_IsRaw), (18 bytes). + Removing cjson.o(i.cJSON_IsString), (18 bytes). + Removing cjson.o(i.cJSON_IsTrue), (18 bytes). + Removing cjson.o(i.cJSON_Minify), (192 bytes). + Removing cjson.o(i.cJSON_ParseWithLength), (12 bytes). + Removing cjson.o(i.cJSON_ParseWithOpts), (32 bytes). + Removing cjson.o(i.cJSON_Print), (16 bytes). + Removing cjson.o(i.cJSON_PrintBuffered), (108 bytes). + Removing cjson.o(i.cJSON_PrintPreallocated), (76 bytes). + Removing cjson.o(i.cJSON_ReplaceItemInArray), (42 bytes). + Removing cjson.o(i.cJSON_ReplaceItemInObject), (10 bytes). + Removing cjson.o(i.cJSON_ReplaceItemInObjectCaseSensitive), (10 bytes). + Removing cjson.o(i.cJSON_ReplaceItemViaPointer), (98 bytes). + Removing cjson.o(i.cJSON_SetNumberHelper), (84 bytes). + Removing cjson.o(i.cJSON_SetValuestring), (96 bytes). + Removing cjson.o(i.cJSON_Version), (40 bytes). + Removing cjson.o(i.cJSON_malloc), (12 bytes). + Removing cjson.o(i.create_reference), (70 bytes). + Removing cjson.o(i.replace_item_in_object), (92 bytes). + Removing cjson.o(.bss), (15 bytes). Removing tasks.o(i.pcTaskGetName), (24 bytes). Removing tasks.o(i.ulTaskNotifyTake), (96 bytes). Removing tasks.o(i.uxTaskGetTaskNumber), (8 bytes). @@ -1890,7 +2252,7 @@ Removing Unused input sections from the image. Removing ns_sec.o(i.co_rand_word), (8 bytes). Removing ns_ble.o(i.__ARM_common_memcpy1_5), (22 bytes). -413 unused section(s) (total 15324 bytes) removed from the image. +481 unused section(s) (total 18379 bytes) removed from the image. ============================================================================== @@ -1908,6 +2270,7 @@ Adding Veneers to the image Adding TT veneer (12 bytes, Long) for call to 'attmdb_get_service' from rdts_common.o(i.get_cfg_handle). Adding TT veneer (12 bytes, Long) for call to 'attmdb_get_uuid' from rdts_common.o(i.get_cfg_handle). Adding TT veneer (12 bytes, Long) for call to 'calib_lsi_clk' from ns_ble.o(i.ns_ble_lsc_config). + Adding TT veneer (12 bytes, Long) for call to '__ARM_common_memcpy1_5' from cjson.o(i.print_value). Adding TT veneer (12 bytes, Long) for call to 'attm_svc_create_db_128' from rdtss.o(i.rdtss_init). Adding TT veneer (12 bytes, Long) for call to 'ecc_init' from rwip.o(i.rwip_init). Adding TT veneer (12 bytes, Long) for call to 'h4tl_init' from rwip.o(i.rwip_init). @@ -1915,7 +2278,7 @@ Adding Veneers to the image Adding TT veneer (12 bytes, Long) for call to 'ahi_init' from rwip.o(i.rwip_init). Adding TT veneer (12 bytes, Long) for call to '__ARM_common_ll_muluu' from rwip_driver.o(i.rwip_slp_isr). -18 Veneer(s) (total 216 bytes) added to the image. +19 Veneer(s) (total 228 bytes) added to the image. ============================================================================== @@ -1925,83 +2288,102 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) - ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE - ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalnum_o.o ABSOLUTE + ../clib/../cmprslib/lz77c.c 0x00000000 Number 0 __dclz77c.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 iscntrl_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isdigit_o.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isblank_o.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalpha_o.o ABSOLUTE - ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isupper_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ctype_c.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isspace_c.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isalnum_o.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ctype_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isxdigit_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isupper_o.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isspace_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ispunct_o.o ABSOLUTE + ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isprint_o.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 islower_o.o ABSOLUTE ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isgraph_o.o ABSOLUTE - ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isdigit_o.o ABSOLUTE - ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isprint_o.o ABSOLUTE - ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 ispunct_o.o ABSOLUTE - ../clib/microlib/ctype/ctype.c 0x00000000 Number 0 isxdigit_o.o ABSOLUTE + ../clib/microlib/ctype/tolower.c 0x00000000 Number 0 tolower.o ABSOLUTE + ../clib/microlib/division.c 0x00000000 Number 0 idiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uldiv.o ABSOLUTE ../clib/microlib/division.c 0x00000000 Number 0 uidiv.o ABSOLUTE - ../clib/microlib/division.c 0x00000000 Number 0 idiv.o ABSOLUTE ../clib/microlib/errno.c 0x00000000 Number 0 errno.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/longlong.c 0x00000000 Number 0 llmul.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llshl.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llsshr.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE - ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE + ../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf3.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf2.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf1.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf0.o ABSOLUTE ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfb.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf4.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf7.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf8.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printfa.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf6.o ABSOLUTE + ../clib/microlib/printf/printf.c 0x00000000 Number 0 printf5.o ABSOLUTE ../clib/microlib/printf/stubs.s 0x00000000 Number 0 stubs.o ABSOLUTE ../clib/microlib/stdlib/rand.c 0x00000000 Number 0 rand.o ABSOLUTE ../clib/microlib/string/memchr.c 0x00000000 Number 0 memchr.o ABSOLUTE ../clib/microlib/string/memcmp.c 0x00000000 Number 0 memcmp.o ABSOLUTE - ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE + ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE ../clib/microlib/string/memset.c 0x00000000 Number 0 memseta.o ABSOLUTE ../clib/microlib/string/strcmp.c 0x00000000 Number 0 strcmp.o ABSOLUTE ../clib/microlib/string/strcpy.c 0x00000000 Number 0 strcpy.o ABSOLUTE ../clib/microlib/string/strlen.c 0x00000000 Number 0 strlen.o ABSOLUTE ../clib/microlib/string/strncmp.c 0x00000000 Number 0 strncmp.o ABSOLUTE ../clib/microlib/stubs.s 0x00000000 Number 0 iusefp.o ABSOLUTE - ../clib/scanf.c 0x00000000 Number 0 _chval.o ABSOLUTE ../clib/scanf.c 0x00000000 Number 0 _strtoul.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _chval.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _scanf.o ABSOLUTE ../clib/scanf.c 0x00000000 Number 0 strtoul.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 scanf_fp.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 __0sscanf.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 strtod.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 _sgetc.o ABSOLUTE + ../clib/scanf.c 0x00000000 Number 0 scanf_char.o ABSOLUTE ../fplib/microlib/d2f.c 0x00000000 Number 0 d2f.o ABSOLUTE ../fplib/microlib/f2d.c 0x00000000 Number 0 f2d.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 dadd.o ABSOLUTE ../fplib/microlib/fpadd.c 0x00000000 Number 0 fadd.o ABSOLUTE - ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE ../fplib/microlib/fpdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE + ../fplib/microlib/fpdiv.c 0x00000000 Number 0 ddiv.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 depilogue.o ABSOLUTE ../fplib/microlib/fpepilogue.c 0x00000000 Number 0 fepilogue.o ABSOLUTE - ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixul.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 dfixi.o ABSOLUTE ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixui.o ABSOLUTE + ../fplib/microlib/fpfix.c 0x00000000 Number 0 ffixi.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltul.o ABSOLUTE - ../fplib/microlib/fpflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 dfltui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 dflti.o ABSOLUTE ../fplib/microlib/fpflt.c 0x00000000 Number 0 ffltui.o ABSOLUTE + ../fplib/microlib/fpflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 fmul.o ABSOLUTE ../fplib/microlib/fpmul.c 0x00000000 Number 0 dmul.o ABSOLUTE + ../fplib/microlib/fpscalb.c 0x00000000 Number 0 dscalb.o ABSOLUTE + ../mathlib/strtod.c 0x00000000 Number 0 strtod.o ABSOLUTE ..\..\Boot\src\boot_crc32.c 0x00000000 Number 0 boot_crc32.o ABSOLUTE ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\startup\startup_n32wb03x.s 0x00000000 Number 0 startup_n32wb03x.o ABSOLUTE ..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device\system_n32wb03x.c 0x00000000 Number 0 system_n32wb03x.o ABSOLUTE @@ -2102,8 +2484,11 @@ Image Symbol Table ..\src\ble_up.c 0x00000000 Number 0 ble_up.o ABSOLUTE ..\src\bsp_usart.c 0x00000000 Number 0 bsp_usart.o ABSOLUTE ..\src\cli_core.c 0x00000000 Number 0 cli_core.o ABSOLUTE + ..\src\infra\cJSON.c 0x00000000 Number 0 cjson.o ABSOLUTE + ..\src\infra\infra_cjson.c 0x00000000 Number 0 infra_cjson.o ABSOLUTE ..\src\main.c 0x00000000 Number 0 main.o ABSOLUTE ..\src\n32wb03x_it.c 0x00000000 Number 0 n32wb03x_it.o ABSOLUTE + cdcmple.s 0x00000000 Number 0 cdcmple.o ABSOLUTE cdrcmple.s 0x00000000 Number 0 cdrcmple.o ABSOLUTE dc.s 0x00000000 Number 0 dc.o ABSOLUTE init.s 0x00000000 Number 0 init.o ABSOLUTE @@ -2125,507 +2510,572 @@ Image Symbol Table .text 0x01008184 Section 0 uidiv.o(.text) .text 0x010081b0 Section 0 idiv.o(.text) .text 0x010081d8 Section 0 uldiv.o(.text) - .text 0x01008238 Section 0 rand.o(.text) - .text 0x0100825c Section 0 memcpya.o(.text) - .text 0x01008280 Section 0 memseta.o(.text) - .text 0x010082a4 Section 0 strlen.o(.text) - .text 0x010082b2 Section 0 strcmp.o(.text) - .text 0x010082ce Section 0 memchr.o(.text) - .text 0x010082e2 Section 0 memcmp.o(.text) - .text 0x010082fc Section 0 strcpy.o(.text) - .text 0x0100830e Section 0 strncmp.o(.text) - .text 0x0100832c Section 0 strtoul.o(.text) - .text 0x010083a2 Section 0 fadd.o(.text) - .text 0x01008454 Section 0 fmul.o(.text) - .text 0x010084d0 Section 0 dadd.o(.text) - .text 0x01008634 Section 0 dmul.o(.text) - .text 0x01008704 Section 0 ddiv.o(.text) - .text 0x010087f4 Section 0 ffltui.o(.text) - .text 0x01008804 Section 0 dfltui.o(.text) - .text 0x01008820 Section 0 dfltul.o(.text) - .text 0x0100883c Section 0 ffixi.o(.text) - .text 0x01008870 Section 0 dfixul.o(.text) - .text 0x010088b0 Section 0 f2d.o(.text) - .text 0x010088d8 Section 0 d2f.o(.text) - .text 0x01008910 Section 0 llshl.o(.text) - .text 0x01008930 Section 0 llushr.o(.text) - .text 0x01008952 Section 0 llsshr.o(.text) - .text 0x01008978 Section 0 ctype_o.o(.text) - .text 0x01008980 Section 0 _strtoul.o(.text) - .text 0x01008a26 Section 0 fepilogue.o(.text) - .text 0x01008a26 Section 0 iusefp.o(.text) - .text 0x01008aa8 Section 0 depilogue.o(.text) - .text 0x01008b68 Section 40 cdrcmple.o(.text) - .text 0x01008b90 Section 36 init.o(.text) - .text 0x01008bb4 Section 0 _chval.o(.text) - .text 0x01008bd2 Section 0 __dczerorl2.o(.text) - i.ADC_ClearFlag 0x01008d00 Section 0 n32wb03x_adc.o(i.ADC_ClearFlag) - i.ADC_ConfigChannel 0x01008d06 Section 0 n32wb03x_adc.o(i.ADC_ConfigChannel) - i.ADC_ConverValueToTemperature 0x01008d14 Section 0 n32wb03x_adc.o(i.ADC_ConverValueToTemperature) - i.ADC_ConverValueToVoltage 0x01008d68 Section 0 n32wb03x_adc.o(i.ADC_ConverValueToVoltage) - i.ADC_DeInit 0x01008df0 Section 0 n32wb03x_adc.o(i.ADC_DeInit) - i.ADC_Enable 0x01008e44 Section 0 n32wb03x_adc.o(i.ADC_Enable) - i.ADC_EnableBypassFilter 0x01008e58 Section 0 n32wb03x_adc.o(i.ADC_EnableBypassFilter) - i.ADC_EnableTS 0x01008ea8 Section 0 n32wb03x_adc.o(i.ADC_EnableTS) - i.ADC_GetDat 0x01008eba Section 0 n32wb03x_adc.o(i.ADC_GetDat) - i.ADC_GetFlagStatus 0x01008ec0 Section 0 n32wb03x_adc.o(i.ADC_GetFlagStatus) - i.ADC_SetOverSampleCounter 0x01008ed0 Section 0 n32wb03x_adc.o(i.ADC_SetOverSampleCounter) - i.AppBootset_CmdBsdump 0x01008ee8 Section 0 app_bootset.o(i.AppBootset_CmdBsdump) - i.AppBootset_CmdBsset 0x01008f1c Section 0 app_bootset.o(i.AppBootset_CmdBsset) - i.AppCli_Init 0x0100924c Section 0 app_cli.o(i.AppCli_Init) - i.AppParams_CmdAppget 0x01009274 Section 0 app_params.o(i.AppParams_CmdAppget) - i.AppParams_CmdAppset 0x01009320 Section 0 app_params.o(i.AppParams_CmdAppset) - i.CliTask 0x010094c0 Section 0 app_cli.o(i.CliTask) - CliTask 0x010094c1 Thumb Code 984 app_cli.o(i.CliTask) - i.CmdBleLog 0x010098f4 Section 0 cli_core.o(i.CmdBleLog) - CmdBleLog 0x010098f5 Thumb Code 68 cli_core.o(i.CmdBleLog) - i.CmdDevInfo 0x0100996c Section 0 cli_core.o(i.CmdDevInfo) - CmdDevInfo 0x0100996d Thumb Code 150 cli_core.o(i.CmdDevInfo) - i.CmdFactory 0x01009ae4 Section 0 cli_core.o(i.CmdFactory) - CmdFactory 0x01009ae5 Thumb Code 40 cli_core.o(i.CmdFactory) - i.CmdHelp 0x01009b74 Section 0 cli_core.o(i.CmdHelp) - CmdHelp 0x01009b75 Thumb Code 102 cli_core.o(i.CmdHelp) - i.CmdLed 0x01009c48 Section 0 cli_core.o(i.CmdLed) - CmdLed 0x01009c49 Thumb Code 128 cli_core.o(i.CmdLed) - i.CmdReset 0x01009d18 Section 0 cli_core.o(i.CmdReset) - CmdReset 0x01009d19 Thumb Code 28 cli_core.o(i.CmdReset) - i.CmdSysInfo 0x01009d4c Section 0 cli_core.o(i.CmdSysInfo) - CmdSysInfo 0x01009d4d Thumb Code 88 cli_core.o(i.CmdSysInfo) - i.CmdUartInfo 0x01009e34 Section 0 cli_core.o(i.CmdUartInfo) - CmdUartInfo 0x01009e35 Thumb Code 26 cli_core.o(i.CmdUartInfo) - i.CmdUartRst 0x01009ee0 Section 0 cli_core.o(i.CmdUartRst) - CmdUartRst 0x01009ee1 Thumb Code 22 cli_core.o(i.CmdUartRst) - i.CmdVersion 0x01009f24 Section 0 cli_core.o(i.CmdVersion) - CmdVersion 0x01009f25 Thumb Code 28 cli_core.o(i.CmdVersion) - i.DMA_ClearFlag 0x01009fbc Section 0 n32wb03x_dma.o(i.DMA_ClearFlag) - i.DMA_DeInit 0x01009fc0 Section 0 n32wb03x_dma.o(i.DMA_DeInit) - i.DMA_EnableChannel 0x0100a048 Section 0 n32wb03x_dma.o(i.DMA_EnableChannel) - i.DMA_GetFlagStatus 0x0100a060 Section 0 n32wb03x_dma.o(i.DMA_GetFlagStatus) - i.DMA_Init 0x0100a070 Section 0 n32wb03x_dma.o(i.DMA_Init) - i.DMA_RequestRemap 0x0100a0b0 Section 0 n32wb03x_dma.o(i.DMA_RequestRemap) - i.EXTI_ClrITPendBit 0x0100a0c0 Section 0 n32wb03x_exti.o(i.EXTI_ClrITPendBit) - i.EXTI_GetITStatus 0x0100a0cc Section 0 n32wb03x_exti.o(i.EXTI_GetITStatus) - i.EXTI_InitPeripheral 0x0100a0e8 Section 0 n32wb03x_exti.o(i.EXTI_InitPeripheral) - i.GPIO_InitPeripheral 0x0100a158 Section 0 n32wb03x_gpio.o(i.GPIO_InitPeripheral) - i.GPIO_InitStruct 0x0100a210 Section 0 n32wb03x_gpio.o(i.GPIO_InitStruct) - i.GPIO_ResetBits 0x0100a22c Section 0 n32wb03x_gpio.o(i.GPIO_ResetBits) - i.GPIO_SetBits 0x0100a230 Section 0 n32wb03x_gpio.o(i.GPIO_SetBits) - i.GPIO_TogglePin 0x0100a234 Section 0 n32wb03x_gpio.o(i.GPIO_TogglePin) - i.HardFault_Handler 0x0100a23c Section 0 n32wb03x_it.o(i.HardFault_Handler) - i.LedBlink 0x0100a2ec Section 0 app_gpio.o(i.LedBlink) - i.LedInit 0x0100a2f4 Section 0 app_gpio.o(i.LedInit) - i.LedOff 0x0100a340 Section 0 app_gpio.o(i.LedOff) - i.LedOn 0x0100a348 Section 0 app_gpio.o(i.LedOn) - i.NVIC_Init 0x0100a350 Section 0 misc.o(i.NVIC_Init) - i.OTPTrim_Read 0x0100a3c8 Section 0 system_n32wb03x.o(i.OTPTrim_Read) - i.Qflash_Erase_Sector 0x0100a494 Section 0 n32wb03x_qflash.o(i.Qflash_Erase_Sector) - i.Qflash_Init 0x0100a4b8 Section 0 n32wb03x_qflash.o(i.Qflash_Init) - i.Qflash_Write 0x0100a4f0 Section 0 n32wb03x_qflash.o(i.Qflash_Write) - i.RCC_ConfigAdcClk 0x0100a514 Section 0 n32wb03x_rcc.o(i.RCC_ConfigAdcClk) - i.RCC_EnableAHBPeriphClk 0x0100a528 Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk) - i.RCC_EnableAHBPeriphReset 0x0100a540 Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphReset) - i.RCC_EnableAPB2PeriphClk 0x0100a558 Section 0 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk) - i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL 0x0100a570 Section 0 n32wb03x_rcc.o(i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL) - i.RCC_GetClocksFreqValue 0x0100a58c Section 0 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue) - i.SVC_Handler 0x0100a600 Section 0 port.o(i.SVC_Handler) - i.SysTick_Handler 0x0100a604 Section 0 port.o(i.SysTick_Handler) - i.SystemGetMacAddr 0x0100a628 Section 0 system_n32wb03x.o(i.SystemGetMacAddr) - i.SystemInit 0x0100a65c Section 0 system_n32wb03x.o(i.SystemInit) - i.SystemTrimValueGet 0x0100a7dc Section 0 system_n32wb03x.o(i.SystemTrimValueGet) - i.USART1_IRQHandler 0x0100a80c Section 0 n32wb03x_it.o(i.USART1_IRQHandler) - i.USART_ConfigInt 0x0100a814 Section 0 n32wb03x_usart.o(i.USART_ConfigInt) - i.USART_Enable 0x0100a848 Section 0 n32wb03x_usart.o(i.USART_Enable) - i.USART_EnableDMA 0x0100a864 Section 0 n32wb03x_usart.o(i.USART_EnableDMA) - i.USART_GetFlagStatus 0x0100a874 Section 0 n32wb03x_usart.o(i.USART_GetFlagStatus) - i.USART_GetIntStatus 0x0100a882 Section 0 n32wb03x_usart.o(i.USART_GetIntStatus) - i.USART_Init 0x0100a8c4 Section 0 n32wb03x_usart.o(i.USART_Init) - i.USART_ReceiveData 0x0100a94c Section 0 n32wb03x_usart.o(i.USART_ReceiveData) - i.USART_SendData 0x0100a954 Section 0 n32wb03x_usart.o(i.USART_SendData) - i.__0printf 0x0100a95c Section 0 printfa.o(i.__0printf) - i.__0sprintf 0x0100a97c Section 0 printfa.o(i.__0sprintf) - i.__0vsnprintf 0x0100a9a4 Section 0 printfa.o(i.__0vsnprintf) - i.__ARM_clz 0x0100a9d0 Section 0 depilogue.o(i.__ARM_clz) - i.__aeabi_errno_addr 0x0100aa00 Section 0 errno.o(i.__aeabi_errno_addr) - i._fp_digits 0x0100aa08 Section 0 printfa.o(i._fp_digits) - _fp_digits 0x0100aa09 Thumb Code 344 printfa.o(i._fp_digits) - i._printf_core 0x0100ab7c Section 0 printfa.o(i._printf_core) - _printf_core 0x0100ab7d Thumb Code 1754 printfa.o(i._printf_core) - i._printf_post_padding 0x0100b268 Section 0 printfa.o(i._printf_post_padding) - _printf_post_padding 0x0100b269 Thumb Code 32 printfa.o(i._printf_post_padding) - i._printf_pre_padding 0x0100b288 Section 0 printfa.o(i._printf_pre_padding) - _printf_pre_padding 0x0100b289 Thumb Code 44 printfa.o(i._printf_pre_padding) - i._snputc 0x0100b2b4 Section 0 printfa.o(i._snputc) - _snputc 0x0100b2b5 Thumb Code 22 printfa.o(i._snputc) - i._sputc 0x0100b2ca Section 0 printfa.o(i._sputc) - _sputc 0x0100b2cb Thumb Code 10 printfa.o(i._sputc) - i.app_ble_adv_init 0x0100b2d4 Section 0 app_ble.o(i.app_ble_adv_init) - i.app_ble_adv_msg_handler 0x0100b348 Section 0 app_ble.o(i.app_ble_adv_msg_handler) - i.app_ble_connected 0x0100b34c Section 0 app_ble.o(i.app_ble_connected) - i.app_ble_disconnected 0x0100b390 Section 0 app_ble.o(i.app_ble_disconnected) - i.app_ble_gap_params_init 0x0100b3ec Section 0 app_ble.o(i.app_ble_gap_params_init) - i.app_ble_init 0x0100b484 Section 0 app_ble.o(i.app_ble_init) - i.app_ble_msg_handler 0x0100b4d0 Section 0 app_ble.o(i.app_ble_msg_handler) - i.app_ble_proto_cli_exec 0x0100b53c Section 0 app_ble_proto.o(i.app_ble_proto_cli_exec) - i.app_ble_proto_cli_rsp 0x0100b628 Section 0 app_ble_proto.o(i.app_ble_proto_cli_rsp) - i.app_ble_proto_init 0x0100b668 Section 0 app_ble_proto.o(i.app_ble_proto_init) - i.app_ble_proto_log_get 0x0100b67c Section 0 app_ble_proto.o(i.app_ble_proto_log_get) - i.app_ble_proto_log_set 0x0100b688 Section 0 app_ble_proto.o(i.app_ble_proto_log_set) - i.app_ble_proto_on_disconnect 0x0100b698 Section 0 app_ble_proto.o(i.app_ble_proto_on_disconnect) - i.app_ble_proto_rx_bytes 0x0100b6b4 Section 0 app_ble_proto.o(i.app_ble_proto_rx_bytes) - i.app_ble_proto_send_frame 0x0100b854 Section 0 app_ble_proto.o(i.app_ble_proto_send_frame) - i.app_ble_sec_init 0x0100b90c Section 0 app_ble.o(i.app_ble_sec_init) - i.app_conn_params_update_evt_handler 0x0100b95c Section 0 ns_ble_task.o(i.app_conn_params_update_evt_handler) - app_conn_params_update_evt_handler 0x0100b95d Thumb Code 12 ns_ble_task.o(i.app_conn_params_update_evt_handler) - i.app_create_advertising 0x0100b96c Section 0 ns_ble.o(i.app_create_advertising) - app_create_advertising 0x0100b96d Thumb Code 192 ns_ble.o(i.app_create_advertising) - i.app_dis_add_dis 0x0100ba38 Section 0 app_dis.o(i.app_dis_add_dis) - i.app_entry_point_handler 0x0100ba94 Section 0 ns_ble_task.o(i.app_entry_point_handler) - i.app_fan_get_rpm 0x0100bb98 Section 0 app_info.o(i.app_fan_get_rpm) - i.app_info_chip_temp_c10 0x0100bba0 Section 0 app_info.o(i.app_info_chip_temp_c10) - i.app_info_handle_query 0x0100bbfc Section 0 app_info.o(i.app_info_handle_query) - i.app_info_last_temp_raw 0x0100bc48 Section 0 app_info.o(i.app_info_last_temp_raw) - i.app_info_tlv_snapshot 0x0100bc54 Section 0 app_info.o(i.app_info_tlv_snapshot) - i.app_info_vdd_mv 0x0100bc80 Section 0 app_info.o(i.app_info_vdd_mv) - i.app_init_timeout_evt_handler 0x0100bca0 Section 0 ns_ble_task.o(i.app_init_timeout_evt_handler) - app_init_timeout_evt_handler 0x0100bca1 Thumb Code 22 ns_ble_task.o(i.app_init_timeout_evt_handler) - i.app_lsi_calib_evt_handler 0x0100bcbc Section 0 ns_ble_task.o(i.app_lsi_calib_evt_handler) - app_lsi_calib_evt_handler 0x0100bcbd Thumb Code 140 ns_ble_task.o(i.app_lsi_calib_evt_handler) - i.app_ota_abort 0x0100bd68 Section 0 app_ota.o(i.app_ota_abort) - i.app_ota_handle_frame 0x0100bd80 Section 0 app_ota.o(i.app_ota_handle_frame) - i.app_params_get 0x0100be9c Section 0 app_params.o(i.app_params_get) - i.app_params_init 0x0100bea4 Section 0 app_params.o(i.app_params_init) - i.app_params_restore_defaults 0x0100bf00 Section 0 app_params.o(i.app_params_restore_defaults) - i.app_rdtss_add_rdts 0x0100bf2c Section 0 app_rdtss.o(i.app_rdtss_add_rdts) - i.app_sec_msg_dflt_handler 0x0100bf94 Section 0 ns_sec.o(i.app_sec_msg_dflt_handler) - app_sec_msg_dflt_handler 0x0100bf95 Thumb Code 4 ns_sec.o(i.app_sec_msg_dflt_handler) - i.app_set_adv_data 0x0100bf98 Section 0 ns_ble.o(i.app_set_adv_data) - app_set_adv_data 0x0100bf99 Thumb Code 100 ns_ble.o(i.app_set_adv_data) - i.app_set_scan_rsp_data 0x0100c010 Section 0 ns_ble.o(i.app_set_scan_rsp_data) - app_set_scan_rsp_data 0x0100c011 Thumb Code 172 ns_ble.o(i.app_set_scan_rsp_data) - i.app_start_advertising 0x0100c0d4 Section 0 ns_ble.o(i.app_start_advertising) - app_start_advertising 0x0100c0d5 Thumb Code 100 ns_ble.o(i.app_start_advertising) - i.app_user_msg_handler 0x0100c144 Section 0 app_ble.o(i.app_user_msg_handler) - i.attm_att_set_value 0x0100c148 Section 0 lib_att.o(i.attm_att_set_value) - i.ble_schedule_task 0x0100c208 Section 0 main.o(i.ble_schedule_task) - ble_schedule_task 0x0100c209 Thumb Code 16 main.o(i.ble_schedule_task) - i.ble_up_on_cfm 0x0100c218 Section 0 ble_up.o(i.ble_up_on_cfm) - i.ble_up_poll 0x0100c22c Section 0 ble_up.o(i.ble_up_poll) - i.ble_up_reset 0x0100c284 Section 0 ble_up.o(i.ble_up_reset) - i.ble_up_write 0x0100c294 Section 0 ble_up.o(i.ble_up_write) - i.bootset_print 0x0100c2dc Section 0 app_bootset.o(i.bootset_print) - bootset_print 0x0100c2dd Thumb Code 106 app_bootset.o(i.bootset_print) - i.bsp_usart_init 0x0100c454 Section 0 bsp_usart.o(i.bsp_usart_init) - i.bsp_usart_read_byte 0x0100c530 Section 0 bsp_usart.o(i.bsp_usart_read_byte) - i.bsp_usart_rx_isr_handler 0x0100c568 Section 0 bsp_usart.o(i.bsp_usart_rx_isr_handler) - i.bsp_usart_set_baud 0x0100c5bc Section 0 bsp_usart.o(i.bsp_usart_set_baud) - i.bsp_usart_tx_lock 0x0100c62c Section 0 bsp_usart.o(i.bsp_usart_tx_lock) - i.bsp_usart_tx_unlock 0x0100c64c Section 0 bsp_usart.o(i.bsp_usart_tx_unlock) - i.bsp_usart_write_dma 0x0100c670 Section 0 bsp_usart.o(i.bsp_usart_write_dma) - i.caiic_crc32 0x0100c708 Section 0 boot_crc32.o(i.caiic_crc32) - i.check_client_char_cfg 0x0100c73c Section 0 rdts_common.o(i.check_client_char_cfg) - i.cli_cmd_count 0x0100c766 Section 0 cli_core.o(i.cli_cmd_count) - i.cli_cmd_name 0x0100c76c Section 0 cli_core.o(i.cli_cmd_name) - i.cli_exec_line 0x0100c784 Section 0 cli_core.o(i.cli_exec_line) - i.cli_printf 0x0100c838 Section 0 cli_core.o(i.cli_printf) - i.cli_redraw_line 0x0100c864 Section 0 app_cli.o(i.cli_redraw_line) - cli_redraw_line 0x0100c865 Thumb Code 94 app_cli.o(i.cli_redraw_line) - i.cli_rsp_out 0x0100c8cc Section 0 app_ble_proto.o(i.cli_rsp_out) - cli_rsp_out 0x0100c8cd Thumb Code 36 app_ble_proto.o(i.cli_rsp_out) - i.cli_set_output 0x0100c8f8 Section 0 cli_core.o(i.cli_set_output) - i.cli_write 0x0100c904 Section 0 cli_core.o(i.cli_write) - i.diss_check_val_len 0x0100c928 Section 0 diss.o(i.diss_check_val_len) - i.diss_cleanup 0x0100c952 Section 0 diss.o(i.diss_cleanup) - diss_cleanup 0x0100c953 Thumb Code 2 diss.o(i.diss_cleanup) - i.diss_create 0x0100c954 Section 0 diss.o(i.diss_create) - diss_create 0x0100c955 Thumb Code 2 diss.o(i.diss_create) - i.diss_destroy 0x0100c956 Section 0 diss.o(i.diss_destroy) - diss_destroy 0x0100c957 Thumb Code 62 diss.o(i.diss_destroy) - i.diss_handle_to_value 0x0100c994 Section 0 diss.o(i.diss_handle_to_value) - i.diss_init 0x0100c9c8 Section 0 diss.o(i.diss_init) - diss_init 0x0100c9c9 Thumb Code 152 diss.o(i.diss_init) - i.diss_prf_itf_get 0x0100ca68 Section 0 diss.o(i.diss_prf_itf_get) - i.diss_set_value_req_handler 0x0100ca70 Section 0 diss_task.o(i.diss_set_value_req_handler) - diss_set_value_req_handler 0x0100ca71 Thumb Code 152 diss_task.o(i.diss_set_value_req_handler) - i.diss_task_init 0x0100cb0c Section 0 diss_task.o(i.diss_task_init) - i.diss_value_cfm_handler 0x0100cb2c Section 0 diss_task.o(i.diss_value_cfm_handler) - diss_value_cfm_handler 0x0100cb2d Thumb Code 120 diss_task.o(i.diss_value_cfm_handler) - i.diss_value_req_ind_handler 0x0100cba8 Section 0 app_dis.o(i.diss_value_req_ind_handler) - diss_value_req_ind_handler 0x0100cba9 Thumb Code 118 app_dis.o(i.diss_value_req_ind_handler) - i.diss_value_to_handle 0x0100cc68 Section 0 diss.o(i.diss_value_to_handle) - i.eTaskGetState 0x0100cca4 Section 0 tasks.o(i.eTaskGetState) - i.fputc 0x0100cd04 Section 0 bsp_usart.o(i.fputc) - i.gapc_bond_ind_handler 0x0100cd40 Section 0 ns_sec.o(i.gapc_bond_ind_handler) - gapc_bond_ind_handler 0x0100cd41 Thumb Code 206 ns_sec.o(i.gapc_bond_ind_handler) - i.gapc_bond_req_ind_handler 0x0100ce30 Section 0 ns_sec.o(i.gapc_bond_req_ind_handler) - gapc_bond_req_ind_handler 0x0100ce31 Thumb Code 478 ns_sec.o(i.gapc_bond_req_ind_handler) - i.gapc_cmp_evt_handler 0x0100d038 Section 0 ns_ble_task.o(i.gapc_cmp_evt_handler) - gapc_cmp_evt_handler 0x0100d039 Thumb Code 36 ns_ble_task.o(i.gapc_cmp_evt_handler) - i.gapc_conn_rssi_ind_handler 0x0100d060 Section 0 ns_ble_task.o(i.gapc_conn_rssi_ind_handler) - gapc_conn_rssi_ind_handler 0x0100d061 Thumb Code 92 ns_ble_task.o(i.gapc_conn_rssi_ind_handler) - i.gapc_connection_req_ind_handler 0x0100d0cc Section 0 ns_ble_task.o(i.gapc_connection_req_ind_handler) - gapc_connection_req_ind_handler 0x0100d0cd Thumb Code 310 ns_ble_task.o(i.gapc_connection_req_ind_handler) - i.gapc_disconnect_ind_handler 0x0100d224 Section 0 ns_ble_task.o(i.gapc_disconnect_ind_handler) - gapc_disconnect_ind_handler 0x0100d225 Thumb Code 88 ns_ble_task.o(i.gapc_disconnect_ind_handler) - i.gapc_encrypt_ind_handler 0x0100d288 Section 0 ns_sec.o(i.gapc_encrypt_ind_handler) - gapc_encrypt_ind_handler 0x0100d289 Thumb Code 34 ns_sec.o(i.gapc_encrypt_ind_handler) - i.gapc_encrypt_req_ind_handler 0x0100d2b0 Section 0 ns_sec.o(i.gapc_encrypt_req_ind_handler) - gapc_encrypt_req_ind_handler 0x0100d2b1 Thumb Code 280 ns_sec.o(i.gapc_encrypt_req_ind_handler) - i.gapc_get_dev_info_req_ind_handler 0x0100d3e0 Section 0 ns_ble_task.o(i.gapc_get_dev_info_req_ind_handler) - gapc_get_dev_info_req_ind_handler 0x0100d3e1 Thumb Code 116 ns_ble_task.o(i.gapc_get_dev_info_req_ind_handler) - i.gapc_le_phy_ind_handler 0x0100d460 Section 0 ns_ble_task.o(i.gapc_le_phy_ind_handler) - gapc_le_phy_ind_handler 0x0100d461 Thumb Code 12 ns_ble_task.o(i.gapc_le_phy_ind_handler) - i.gapc_le_pkt_size_ind_handler 0x0100d46c Section 0 ns_ble_task.o(i.gapc_le_pkt_size_ind_handler) - gapc_le_pkt_size_ind_handler 0x0100d46d Thumb Code 22 ns_ble_task.o(i.gapc_le_pkt_size_ind_handler) - i.gapc_param_update_req_ind_handler 0x0100d488 Section 0 ns_ble_task.o(i.gapc_param_update_req_ind_handler) - gapc_param_update_req_ind_handler 0x0100d489 Thumb Code 94 ns_ble_task.o(i.gapc_param_update_req_ind_handler) - i.gapc_param_updated_ind_handler 0x0100d4ec Section 0 ns_ble_task.o(i.gapc_param_updated_ind_handler) - gapc_param_updated_ind_handler 0x0100d4ed Thumb Code 36 ns_ble_task.o(i.gapc_param_updated_ind_handler) - i.gapc_set_dev_info_req_ind_handler 0x0100d514 Section 0 ns_ble_task.o(i.gapc_set_dev_info_req_ind_handler) - gapc_set_dev_info_req_ind_handler 0x0100d515 Thumb Code 52 ns_ble_task.o(i.gapc_set_dev_info_req_ind_handler) - i.gapm_activity_created_ind_handler 0x0100d554 Section 0 ns_ble_task.o(i.gapm_activity_created_ind_handler) - gapm_activity_created_ind_handler 0x0100d555 Thumb Code 46 ns_ble_task.o(i.gapm_activity_created_ind_handler) - i.gapm_activity_stopped_ind_handler 0x0100d588 Section 0 ns_ble_task.o(i.gapm_activity_stopped_ind_handler) - gapm_activity_stopped_ind_handler 0x0100d589 Thumb Code 82 ns_ble_task.o(i.gapm_activity_stopped_ind_handler) - i.gapm_addr_solved_ind_handler 0x0100d5e8 Section 0 ns_ble_task.o(i.gapm_addr_solved_ind_handler) - gapm_addr_solved_ind_handler 0x0100d5e9 Thumb Code 32 ns_ble_task.o(i.gapm_addr_solved_ind_handler) - i.gapm_cmp_evt_handler 0x0100d614 Section 0 ns_ble_task.o(i.gapm_cmp_evt_handler) - gapm_cmp_evt_handler 0x0100d615 Thumb Code 912 ns_ble_task.o(i.gapm_cmp_evt_handler) - i.gapm_ext_adv_repoer_ind_handler 0x0100d9f4 Section 0 ns_ble_task.o(i.gapm_ext_adv_repoer_ind_handler) - gapm_ext_adv_repoer_ind_handler 0x0100d9f5 Thumb Code 164 ns_ble_task.o(i.gapm_ext_adv_repoer_ind_handler) - i.gapm_gen_rand_nb_ind_handler 0x0100daa0 Section 0 ns_ble_task.o(i.gapm_gen_rand_nb_ind_handler) - gapm_gen_rand_nb_ind_handler 0x0100daa1 Thumb Code 54 ns_ble_task.o(i.gapm_gen_rand_nb_ind_handler) - i.gapm_profile_added_ind_handler 0x0100dad6 Section 0 ns_ble_task.o(i.gapm_profile_added_ind_handler) - gapm_profile_added_ind_handler 0x0100dad7 Thumb Code 12 ns_ble_task.o(i.gapm_profile_added_ind_handler) - i.gapm_scan_request_ind_handler 0x0100dae2 Section 0 ns_ble_task.o(i.gapm_scan_request_ind_handler) - gapm_scan_request_ind_handler 0x0100dae3 Thumb Code 12 ns_ble_task.o(i.gapm_scan_request_ind_handler) - i.gattc_att_info_req_ind_handler 0x0100daf0 Section 0 rdtss_task.o(i.gattc_att_info_req_ind_handler) - gattc_att_info_req_ind_handler 0x0100daf1 Thumb Code 58 rdtss_task.o(i.gattc_att_info_req_ind_handler) - i.gattc_cmp_evt_handler 0x0100db30 Section 0 rdtss_task.o(i.gattc_cmp_evt_handler) - gattc_cmp_evt_handler 0x0100db31 Thumb Code 102 rdtss_task.o(i.gattc_cmp_evt_handler) - i.gattc_cmp_evt_handler 0x0100dba0 Section 0 ns_ble_task.o(i.gattc_cmp_evt_handler) - gattc_cmp_evt_handler 0x0100dba1 Thumb Code 36 ns_ble_task.o(i.gattc_cmp_evt_handler) - i.gattc_mtu_changed_ind_handler 0x0100dbc8 Section 0 ns_ble_task.o(i.gattc_mtu_changed_ind_handler) - gattc_mtu_changed_ind_handler 0x0100dbc9 Thumb Code 66 ns_ble_task.o(i.gattc_mtu_changed_ind_handler) - i.gattc_read_req_ind_handler 0x0100dc14 Section 0 diss_task.o(i.gattc_read_req_ind_handler) - gattc_read_req_ind_handler 0x0100dc15 Thumb Code 188 diss_task.o(i.gattc_read_req_ind_handler) - i.gattc_read_req_ind_handler 0x0100dcd8 Section 0 rdtss_task.o(i.gattc_read_req_ind_handler) - gattc_read_req_ind_handler 0x0100dcd9 Thumb Code 212 rdtss_task.o(i.gattc_read_req_ind_handler) - i.gattc_write_req_ind_handler 0x0100ddb8 Section 0 rdtss_task.o(i.gattc_write_req_ind_handler) - gattc_write_req_ind_handler 0x0100ddb9 Thumb Code 260 rdtss_task.o(i.gattc_write_req_ind_handler) - i.get_cfg_handle 0x0100dec8 Section 0 rdts_common.o(i.get_cfg_handle) - i.get_value_handle 0x0100df34 Section 0 rdts_common.o(i.get_value_handle) - i.info_adc_init 0x0100df88 Section 0 app_info.o(i.info_adc_init) - info_adc_init 0x0100df89 Thumb Code 92 app_info.o(i.info_adc_init) - i.info_adc_read 0x0100dfec Section 0 app_info.o(i.info_adc_read) - info_adc_read 0x0100dfed Thumb Code 96 app_info.o(i.info_adc_read) - i.info_fill_item 0x0100e058 Section 0 app_info.o(i.info_fill_item) - info_fill_item 0x0100e059 Thumb Code 258 app_info.o(i.info_fill_item) - i.info_put_tlv 0x0100e174 Section 0 app_info.o(i.info_put_tlv) - info_put_tlv 0x0100e175 Thumb Code 44 app_info.o(i.info_put_tlv) - i.led_task 0x0100e1a0 Section 0 main.o(i.led_task) - led_task 0x0100e1a1 Thumb Code 48 main.o(i.led_task) - i.llhwc_modem_setmode 0x0100e1d4 Section 0 rwip_driver.o(i.llhwc_modem_setmode) - i.llhwc_phy_prerx_flash 0x0100e204 Section 0 rwip_driver.o(i.llhwc_phy_prerx_flash) - i.llhwc_setmode_reg_config 0x0100e334 Section 0 rwip_driver.o(i.llhwc_setmode_reg_config) - llhwc_setmode_reg_config 0x0100e335 Thumb Code 88 rwip_driver.o(i.llhwc_setmode_reg_config) - i.main 0x0100e3c4 Section 0 main.o(i.main) - i.ns_EXTI4_12_IRQHandler 0x0100e564 Section 0 ns_ble.o(i.ns_EXTI4_12_IRQHandler) - i.ns_HardFault_Handler 0x0100e5c0 Section 0 ns_ble.o(i.ns_HardFault_Handler) - i.ns_ble_add_prf_func_register 0x0100e5e8 Section 0 ns_ble.o(i.ns_ble_add_prf_func_register) - i.ns_ble_add_svc 0x0100e608 Section 0 ns_ble.o(i.ns_ble_add_svc) - i.ns_ble_adv_fsm_next 0x0100e634 Section 0 ns_ble.o(i.ns_ble_adv_fsm_next) - i.ns_ble_adv_init 0x0100e710 Section 0 ns_ble.o(i.ns_ble_adv_init) - i.ns_ble_adv_start 0x0100e758 Section 0 ns_ble.o(i.ns_ble_adv_start) - i.ns_ble_adv_stop 0x0100e7a8 Section 0 ns_ble.o(i.ns_ble_adv_stop) - i.ns_ble_delete_init 0x0100e7f4 Section 0 ns_ble.o(i.ns_ble_delete_init) - i.ns_ble_delete_scan 0x0100e830 Section 0 ns_ble.o(i.ns_ble_delete_scan) - i.ns_ble_disconnect 0x0100e868 Section 0 ns_ble.o(i.ns_ble_disconnect) - i.ns_ble_gap_init 0x0100e894 Section 0 ns_ble.o(i.ns_ble_gap_init) - i.ns_ble_get_connection_num 0x0100e900 Section 0 ns_ble.o(i.ns_ble_get_connection_num) - i.ns_ble_list_set_ral 0x0100e924 Section 0 ns_ble.o(i.ns_ble_list_set_ral) - i.ns_ble_lsc_config 0x0100e974 Section 0 ns_ble.o(i.ns_ble_lsc_config) - i.ns_ble_mtu_set 0x0100e9f8 Section 0 ns_ble.o(i.ns_ble_mtu_set) - i.ns_ble_prf_task_register 0x0100ea2c Section 0 ns_ble.o(i.ns_ble_prf_task_register) - i.ns_ble_scan_data_find 0x0100ea54 Section 0 ns_ble.o(i.ns_ble_scan_data_find) - i.ns_ble_stack_init 0x0100ea9c Section 0 ns_ble.o(i.ns_ble_stack_init) - i.ns_ble_start_init 0x0100ed14 Section 0 ns_ble.o(i.ns_ble_start_init) - i.ns_ble_start_scan 0x0100ee38 Section 0 ns_ble.o(i.ns_ble_start_scan) - i.ns_ble_stop_init 0x0100ef04 Section 0 ns_ble.o(i.ns_ble_stop_init) - i.ns_ble_stop_scan 0x0100ef3c Section 0 ns_ble.o(i.ns_ble_stop_scan) - i.ns_ble_update_param 0x0100ef78 Section 0 ns_ble.o(i.ns_ble_update_param) - i.ns_bond_db_get_size 0x0100eff0 Section 0 ns_sec.o(i.ns_bond_db_get_size) - ns_bond_db_get_size 0x0100eff1 Thumb Code 36 ns_sec.o(i.ns_bond_db_get_size) - i.ns_bond_db_load 0x0100f01c Section 0 ns_sec.o(i.ns_bond_db_load) - ns_bond_db_load 0x0100f01d Thumb Code 24 ns_sec.o(i.ns_bond_db_load) - i.ns_bond_last_bonded_addr 0x0100f038 Section 0 ns_sec.o(i.ns_bond_last_bonded_addr) - i.ns_bond_last_bonded_peer_id 0x0100f068 Section 0 ns_sec.o(i.ns_bond_last_bonded_peer_id) - i.ns_bond_last_bonded_ral_info 0x0100f098 Section 0 ns_sec.o(i.ns_bond_last_bonded_ral_info) - i.ns_bond_resolv_addr_start 0x0100f0fc Section 0 ns_sec.o(i.ns_bond_resolv_addr_start) - i.ns_bond_search_addr_irk 0x0100f15c Section 0 ns_sec.o(i.ns_bond_search_addr_irk) - i.ns_peripheral_config 0x0100f1d8 Section 0 ns_ble.o(i.ns_peripheral_config) - i.ns_sec_bond_store_evt_handler 0x0100f2ac Section 0 ns_sec.o(i.ns_sec_bond_store_evt_handler) - i.ns_sec_get_bond_status 0x0100f40c Section 0 ns_sec.o(i.ns_sec_get_bond_status) - i.ns_sec_get_iocap 0x0100f41c Section 0 ns_sec.o(i.ns_sec_get_iocap) - i.ns_sec_init 0x0100f428 Section 0 ns_sec.o(i.ns_sec_init) - i.ns_sleep_lock_acquire 0x0100f490 Section 0 ns_sleep.o(i.ns_sleep_lock_acquire) - i.ns_sleep_lock_release 0x0100f4a8 Section 0 ns_sleep.o(i.ns_sleep_lock_release) - i.ns_timer_api_process_handler 0x0100f4bc Section 0 ns_timer.o(i.ns_timer_api_process_handler) - i.ota_on_data 0x0100f584 Section 0 app_ota.o(i.ota_on_data) - ota_on_data 0x0100f585 Thumb Code 334 app_ota.o(i.ota_on_data) - i.ota_on_end 0x0100f6dc Section 0 app_ota.o(i.ota_on_end) - ota_on_end 0x0100f6dd Thumb Code 398 app_ota.o(i.ota_on_end) - i.ota_respond 0x0100f888 Section 0 app_ota.o(i.ota_respond) - ota_respond 0x0100f889 Thumb Code 40 app_ota.o(i.ota_respond) - i.params_save 0x0100f8b0 Section 0 app_params.o(i.params_save) - params_save 0x0100f8b1 Thumb Code 80 app_params.o(i.params_save) - i.patchx_enable 0x0100f90c Section 0 ns_ble.o(i.patchx_enable) - patchx_enable 0x0100f90d Thumb Code 58 ns_ble.o(i.patchx_enable) - i.prf_add_profile 0x0100f950 Section 0 prf.o(i.prf_add_profile) - i.prf_dst_task_get 0x0100f9d8 Section 0 prf.o(i.prf_dst_task_get) - i.prf_env_get 0x0100f9e8 Section 0 prf.o(i.prf_env_get) - i.prf_get_id_from_task 0x0100fa18 Section 0 prf.o(i.prf_get_id_from_task) - i.prf_get_itf_func_register 0x0100fa50 Section 0 prf.o(i.prf_get_itf_func_register) - i.prf_get_task_from_id 0x0100fa78 Section 0 prf.o(i.prf_get_task_from_id) - i.prf_init 0x0100fab0 Section 0 prf.o(i.prf_init) - i.prf_itf_get 0x0100fb64 Section 0 prf.o(i.prf_itf_get) - prf_itf_get 0x0100fb65 Thumb Code 44 prf.o(i.prf_itf_get) - i.proto_cli_out 0x0100fb94 Section 0 app_ble_proto.o(i.proto_cli_out) - proto_cli_out 0x0100fb95 Thumb Code 52 app_ble_proto.o(i.proto_cli_out) - i.proto_dump 0x0100fbcc Section 0 app_ble_proto.o(i.proto_dump) - proto_dump 0x0100fbcd Thumb Code 70 app_ble_proto.o(i.proto_dump) - i.prvAddCurrentTaskToDelayedList 0x0100fc4c Section 0 tasks.o(i.prvAddCurrentTaskToDelayedList) - prvAddCurrentTaskToDelayedList 0x0100fc4d Thumb Code 78 tasks.o(i.prvAddCurrentTaskToDelayedList) - i.prvCopyDataToQueue 0x0100fca4 Section 0 queue.o(i.prvCopyDataToQueue) - prvCopyDataToQueue 0x0100fca5 Thumb Code 112 queue.o(i.prvCopyDataToQueue) - i.prvIdleTask 0x0100fd14 Section 0 tasks.o(i.prvIdleTask) - prvIdleTask 0x0100fd15 Thumb Code 72 tasks.o(i.prvIdleTask) - i.prvInsertBlockIntoFreeList 0x0100fd68 Section 0 heap_4.o(i.prvInsertBlockIntoFreeList) - prvInsertBlockIntoFreeList 0x0100fd69 Thumb Code 76 heap_4.o(i.prvInsertBlockIntoFreeList) - i.prvListTasksWithinSingleList 0x0100fdbc Section 0 tasks.o(i.prvListTasksWithinSingleList) - prvListTasksWithinSingleList 0x0100fdbd Thumb Code 200 tasks.o(i.prvListTasksWithinSingleList) - i.prvTaskExitError 0x0100fe88 Section 0 port.o(i.prvTaskExitError) - prvTaskExitError 0x0100fe89 Thumb Code 14 port.o(i.prvTaskExitError) - i.prvUnlockQueue 0x0100fe9c Section 0 queue.o(i.prvUnlockQueue) - prvUnlockQueue 0x0100fe9d Thumb Code 116 queue.o(i.prvUnlockQueue) - i.pvPortMalloc 0x0100ff10 Section 0 heap_4.o(i.pvPortMalloc) - i.pvTaskIncrementMutexHeldCount 0x01010004 Section 0 tasks.o(i.pvTaskIncrementMutexHeldCount) - i.pxPortInitialiseStack 0x0101001c Section 0 port.o(i.pxPortInitialiseStack) - i.rdtss_att_get_value 0x01010040 Section 0 rdtss_task.o(i.rdtss_att_get_value) - rdtss_att_get_value 0x01010041 Thumb Code 58 rdtss_task.o(i.rdtss_att_get_value) - i.rdtss_att_info_rsp_handler 0x0101007c Section 0 rdtss_task.o(i.rdtss_att_info_rsp_handler) - rdtss_att_info_rsp_handler 0x0101007d Thumb Code 60 rdtss_task.o(i.rdtss_att_info_rsp_handler) - i.rdtss_att_set_value 0x010100bc Section 0 rdtss_task.o(i.rdtss_att_set_value) - rdtss_att_set_value 0x010100bd Thumb Code 104 rdtss_task.o(i.rdtss_att_set_value) - i.rdtss_cleanup 0x01010124 Section 0 rdtss.o(i.rdtss_cleanup) - rdtss_cleanup 0x01010125 Thumb Code 70 rdtss.o(i.rdtss_cleanup) - i.rdtss_create 0x01010170 Section 0 rdtss.o(i.rdtss_create) - rdtss_create 0x01010171 Thumb Code 70 rdtss.o(i.rdtss_create) - i.rdtss_destroy 0x010101bc Section 0 rdtss.o(i.rdtss_destroy) - rdtss_destroy 0x010101bd Thumb Code 66 rdtss.o(i.rdtss_destroy) - i.rdtss_get_att_handle 0x010101fe Section 0 rdts_common.o(i.rdtss_get_att_handle) - i.rdtss_get_att_idx 0x0101021a Section 0 rdts_common.o(i.rdtss_get_att_idx) - i.rdtss_init 0x01010242 Section 0 rdtss.o(i.rdtss_init) - rdtss_init 0x01010243 Thumb Code 152 rdtss.o(i.rdtss_init) - i.rdtss_init_ccc_values 0x010102dc Section 0 rdtss_task.o(i.rdtss_init_ccc_values) - i.rdtss_prf_itf_get 0x01010380 Section 0 rdtss.o(i.rdtss_prf_itf_get) - i.rdtss_send_notify 0x01010388 Section 0 app_rdtss.o(i.rdtss_send_notify) - i.rdtss_set_ccc_value 0x010103dc Section 0 rdtss_task.o(i.rdtss_set_ccc_value) - i.rdtss_task_init 0x01010410 Section 0 rdtss_task.o(i.rdtss_task_init) - i.rdtss_val_ind_req_handler 0x01010430 Section 0 rdtss_task.o(i.rdtss_val_ind_req_handler) - rdtss_val_ind_req_handler 0x01010431 Thumb Code 176 rdtss_task.o(i.rdtss_val_ind_req_handler) - i.rdtss_val_ntf_cfm_handler 0x010104e0 Section 0 app_rdtss.o(i.rdtss_val_ntf_cfm_handler) - rdtss_val_ntf_cfm_handler 0x010104e1 Thumb Code 10 app_rdtss.o(i.rdtss_val_ntf_cfm_handler) - i.rdtss_val_ntf_req_handler 0x010104ea Section 0 rdtss_task.o(i.rdtss_val_ntf_req_handler) - rdtss_val_ntf_req_handler 0x010104eb Thumb Code 166 rdtss_task.o(i.rdtss_val_ntf_req_handler) - i.rdtss_val_set_req_handler 0x01010590 Section 0 rdtss_task.o(i.rdtss_val_set_req_handler) - rdtss_val_set_req_handler 0x01010591 Thumb Code 32 rdtss_task.o(i.rdtss_val_set_req_handler) - i.rdtss_val_write_ind_handler 0x010105b0 Section 0 app_rdtss.o(i.rdtss_val_write_ind_handler) - rdtss_val_write_ind_handler 0x010105b1 Thumb Code 170 app_rdtss.o(i.rdtss_val_write_ind_handler) - i.rdtss_value_req_ind_handler 0x010106c8 Section 0 app_rdtss.o(i.rdtss_value_req_ind_handler) - rdtss_value_req_ind_handler 0x010106c9 Thumb Code 110 app_rdtss.o(i.rdtss_value_req_ind_handler) - i.rdtss_value_req_rsp_handler 0x01010744 Section 0 rdtss_task.o(i.rdtss_value_req_rsp_handler) - rdtss_value_req_rsp_handler 0x01010745 Thumb Code 124 rdtss_task.o(i.rdtss_value_req_rsp_handler) - i.rwip_init 0x010107c4 Section 0 rwip.o(i.rwip_init) - i.rwip_slp_isr 0x010108dc Section 0 rwip_driver.o(i.rwip_slp_isr) - i.timer_canceled_handler 0x010109d4 Section 0 ns_timer.o(i.timer_canceled_handler) - timer_canceled_handler 0x010109d5 Thumb Code 2 ns_timer.o(i.timer_canceled_handler) - i.timer_modified_handler 0x010109d6 Section 0 ns_timer.o(i.timer_modified_handler) - timer_modified_handler 0x010109d7 Thumb Code 2 ns_timer.o(i.timer_modified_handler) - i.uxListRemove 0x010109d8 Section 0 list.o(i.uxListRemove) - i.uxTaskGetNumberOfTasks 0x01010a00 Section 0 tasks.o(i.uxTaskGetNumberOfTasks) - i.uxTaskGetSystemState 0x01010a0c Section 0 tasks.o(i.uxTaskGetSystemState) - i.vListInitialise 0x01010aa4 Section 0 list.o(i.vListInitialise) - i.vListInitialiseItem 0x01010aba Section 0 list.o(i.vListInitialiseItem) - i.vListInsert 0x01010ac0 Section 0 list.o(i.vListInsert) - i.vListInsertEnd 0x01010af2 Section 0 list.o(i.vListInsertEnd) - i.vPortEnterCritical 0x01010b0c Section 0 port.o(i.vPortEnterCritical) - i.vPortExitCritical 0x01010b24 Section 0 port.o(i.vPortExitCritical) - i.vPortFree 0x01010b40 Section 0 heap_4.o(i.vPortFree) - i.vPortYield 0x01010b84 Section 0 port.o(i.vPortYield) - i.vTaskDelay 0x01010b9c Section 0 tasks.o(i.vTaskDelay) - i.vTaskInternalSetTimeOutState 0x01010bcc Section 0 tasks.o(i.vTaskInternalSetTimeOutState) - i.vTaskList 0x01010bdc Section 0 tasks.o(i.vTaskList) - i.vTaskMissedYield 0x01010cac Section 0 tasks.o(i.vTaskMissedYield) - i.vTaskPlaceOnEventList 0x01010cb8 Section 0 tasks.o(i.vTaskPlaceOnEventList) - i.vTaskPriorityDisinheritAfterTimeout 0x01010cdc Section 0 tasks.o(i.vTaskPriorityDisinheritAfterTimeout) - i.vTaskStartScheduler 0x01010d50 Section 0 tasks.o(i.vTaskStartScheduler) - i.vTaskSuspendAll 0x01010da0 Section 0 tasks.o(i.vTaskSuspendAll) - i.vTaskSwitchContext 0x01010db0 Section 0 tasks.o(i.vTaskSwitchContext) - i.xPortGetFreeHeapSize 0x01010e14 Section 0 heap_4.o(i.xPortGetFreeHeapSize) - i.xPortGetMinimumEverFreeHeapSize 0x01010e20 Section 0 heap_4.o(i.xPortGetMinimumEverFreeHeapSize) - i.xPortStartScheduler 0x01010e2c Section 0 port.o(i.xPortStartScheduler) - i.xQueueCreateMutex 0x01010e7c Section 0 queue.o(i.xQueueCreateMutex) - i.xQueueGenericCreate 0x01010ea0 Section 0 queue.o(i.xQueueGenericCreate) - i.xQueueGenericReset 0x01010ee4 Section 0 queue.o(i.xQueueGenericReset) - i.xQueueGenericSend 0x01010f52 Section 0 queue.o(i.xQueueGenericSend) - i.xQueueGenericSendFromISR 0x010110e0 Section 0 queue.o(i.xQueueGenericSendFromISR) - i.xQueueReceive 0x0101116e Section 0 queue.o(i.xQueueReceive) - i.xQueueSemaphoreTake 0x010112b0 Section 0 queue.o(i.xQueueSemaphoreTake) - i.xTaskCheckForTimeOut 0x01011424 Section 0 tasks.o(i.xTaskCheckForTimeOut) - i.xTaskCreate 0x01011488 Section 0 tasks.o(i.xTaskCreate) - i.xTaskGetSchedulerState 0x01011600 Section 0 tasks.o(i.xTaskGetSchedulerState) - i.xTaskGetTickCount 0x01011620 Section 0 tasks.o(i.xTaskGetTickCount) - i.xTaskIncrementTick 0x0101162c Section 0 tasks.o(i.xTaskIncrementTick) - i.xTaskPriorityDisinherit 0x01011700 Section 0 tasks.o(i.xTaskPriorityDisinherit) - i.xTaskPriorityInherit 0x01011768 Section 0 tasks.o(i.xTaskPriorityInherit) - i.xTaskRemoveFromEventList 0x010117e0 Section 0 tasks.o(i.xTaskRemoveFromEventList) - i.xTaskResumeAll 0x01011844 Section 0 tasks.o(i.xTaskResumeAll) - .constdata 0x0101190c Section 472 system_n32wb03x.o(.constdata) - .constdata 0x01011ae4 Section 12 n32wb03x_rcc.o(.constdata) - s_AhbPresTable 0x01011ae4 Data 4 n32wb03x_rcc.o(.constdata) - s_ApbPresTable 0x01011ae8 Data 8 n32wb03x_rcc.o(.constdata) - .constdata 0x01011af0 Section 804 n32wb03x_qflash.o(.constdata) - .constdata 0x01011e14 Section 30 rwip_driver.o(.constdata) - TXPWR_MAP 0x01011e14 Data 30 rwip_driver.o(.constdata) - .constdata 0x01011e34 Section 168 diss.o(.constdata) - .constdata 0x01011edc Section 24 diss_task.o(.constdata) - diss_msg_handler_tab 0x01011edc Data 24 diss_task.o(.constdata) - .constdata 0x01011ef4 Section 16 rdtss.o(.constdata) - .constdata 0x01011f04 Section 72 rdtss_task.o(.constdata) - rdtss_msg_handler_tab 0x01011f04 Data 72 rdtss_task.o(.constdata) - .constdata 0x01011f4c Section 40 ns_sec.o(.constdata) - .constdata 0x01011f74 Section 8 ns_sec.o(.constdata) - .constdata 0x01011f7c Section 820 ns_ble.o(.constdata) - fun_5_Array 0x01011f7c Data 820 ns_ble.o(.constdata) - .constdata 0x010122b0 Section 152 ns_ble_task.o(.constdata) - gapm_att_db 0x010122b0 Data 88 ns_ble_task.o(.constdata) - gattm_att_db 0x01012308 Data 64 ns_ble_task.o(.constdata) - .constdata 0x01012348 Section 200 ns_ble_task.o(.constdata) - app_msg_handler_tab 0x01012348 Data 200 ns_ble_task.o(.constdata) - .constdata 0x01012410 Section 12 ns_ble_task.o(.constdata) - .constdata 0x0101241c Section 8 app_dis.o(.constdata) - .constdata 0x01012424 Section 8 app_dis.o(.constdata) - .constdata 0x0101242c Section 266 app_rdtss.o(.constdata) - .constdata 0x01012538 Section 24 app_rdtss.o(.constdata) - .constdata 0x01012550 Section 168 cli_core.o(.constdata) - s_cmds 0x01012550 Data 168 cli_core.o(.constdata) - .constdata 0x010125f8 Section 6 app_info.o(.constdata) - s_all_items 0x010125f8 Data 6 app_info.o(.constdata) - .constdata 0x010125fe Section 129 ctype_o.o(.constdata) - .constdata 0x01012680 Section 4 ctype_o.o(.constdata) - table 0x01012680 Data 4 ctype_o.o(.constdata) - .conststring 0x01012684 Section 776 cli_core.o(.conststring) - .conststring 0x0101298c Section 73 app_bootset.o(.conststring) + .text 0x01008238 Section 0 tolower.o(.text) + .text 0x01008244 Section 0 rand.o(.text) + .text 0x01008268 Section 0 memcpya.o(.text) + .text 0x0100828c Section 0 memseta.o(.text) + .text 0x010082b0 Section 0 strlen.o(.text) + .text 0x010082be Section 0 strcmp.o(.text) + .text 0x010082da Section 0 memchr.o(.text) + .text 0x010082ee Section 0 memcmp.o(.text) + .text 0x01008308 Section 0 strcpy.o(.text) + .text 0x0100831a Section 0 strncmp.o(.text) + .text 0x01008338 Section 0 __0sscanf.o(.text) + .text 0x01008374 Section 0 scanf_fp.o(.text) + _fp_value 0x01008375 Thumb Code 286 scanf_fp.o(.text) + .text 0x010086e8 Section 0 strtoul.o(.text) + .text 0x0100875e Section 0 fadd.o(.text) + .text 0x01008810 Section 0 fmul.o(.text) + .text 0x0100888c Section 0 dadd.o(.text) + .text 0x010089f0 Section 0 dmul.o(.text) + .text 0x01008ac0 Section 0 ddiv.o(.text) + .text 0x01008bb0 Section 0 dscalb.o(.text) + .text 0x01008bdc Section 0 ffltui.o(.text) + .text 0x01008bec Section 0 dflti.o(.text) + .text 0x01008c14 Section 0 dfltui.o(.text) + .text 0x01008c30 Section 0 dfltul.o(.text) + .text 0x01008c4c Section 0 ffixi.o(.text) + .text 0x01008c80 Section 0 dfixi.o(.text) + .text 0x01008cc8 Section 0 dfixul.o(.text) + .text 0x01008d08 Section 0 f2d.o(.text) + .text 0x01008d30 Section 40 cdcmple.o(.text) + .text 0x01008d58 Section 40 cdrcmple.o(.text) + .text 0x01008d80 Section 0 d2f.o(.text) + .text 0x01008db8 Section 0 llmul.o(.text) + .text 0x01008e32 Section 0 llshl.o(.text) + .text 0x01008e52 Section 0 llushr.o(.text) + .text 0x01008e74 Section 0 llsshr.o(.text) + .text 0x01008e9c Section 0 ctype_o.o(.text) + .text 0x01008ea4 Section 0 isspace_o.o(.text) + .text 0x01008eb8 Section 0 scanf_char.o(.text) + _scanf_char_input 0x01008eb9 Thumb Code 12 scanf_char.o(.text) + .text 0x01008ee4 Section 0 _sgetc.o(.text) + .text 0x01008f28 Section 0 _strtoul.o(.text) + .text 0x01008fd0 Section 0 strtod.o(.text) + _local_sscanf 0x01008fd1 Thumb Code 54 strtod.o(.text) + .text 0x01009074 Section 0 fepilogue.o(.text) + .text 0x01009074 Section 0 iusefp.o(.text) + .text 0x010090f6 Section 0 depilogue.o(.text) + .text 0x010091b4 Section 36 init.o(.text) + .text 0x010091d8 Section 0 _chval.o(.text) + .text 0x010091f8 Section 0 _scanf.o(.text) + .text 0x01009530 Section 0 __dclz77c.o(.text) + i.ADC_ClearFlag 0x01009674 Section 0 n32wb03x_adc.o(i.ADC_ClearFlag) + i.ADC_ConfigChannel 0x0100967a Section 0 n32wb03x_adc.o(i.ADC_ConfigChannel) + i.ADC_ConverValueToTemperature 0x01009688 Section 0 n32wb03x_adc.o(i.ADC_ConverValueToTemperature) + i.ADC_ConverValueToVoltage 0x010096dc Section 0 n32wb03x_adc.o(i.ADC_ConverValueToVoltage) + i.ADC_DeInit 0x01009764 Section 0 n32wb03x_adc.o(i.ADC_DeInit) + i.ADC_Enable 0x010097b8 Section 0 n32wb03x_adc.o(i.ADC_Enable) + i.ADC_EnableBypassFilter 0x010097cc Section 0 n32wb03x_adc.o(i.ADC_EnableBypassFilter) + i.ADC_EnableTS 0x0100981c Section 0 n32wb03x_adc.o(i.ADC_EnableTS) + i.ADC_GetDat 0x0100982e Section 0 n32wb03x_adc.o(i.ADC_GetDat) + i.ADC_GetFlagStatus 0x01009834 Section 0 n32wb03x_adc.o(i.ADC_GetFlagStatus) + i.ADC_SetOverSampleCounter 0x01009844 Section 0 n32wb03x_adc.o(i.ADC_SetOverSampleCounter) + i.AppBootset_CmdBsdump 0x0100985c Section 0 app_bootset.o(i.AppBootset_CmdBsdump) + i.AppBootset_CmdBsset 0x01009890 Section 0 app_bootset.o(i.AppBootset_CmdBsset) + i.AppCli_Init 0x01009bc0 Section 0 app_cli.o(i.AppCli_Init) + i.AppParams_CmdAppget 0x01009be8 Section 0 app_params.o(i.AppParams_CmdAppget) + i.AppParams_CmdAppset 0x01009cb0 Section 0 app_params.o(i.AppParams_CmdAppset) + i.CliTask 0x01009fec Section 0 app_cli.o(i.CliTask) + CliTask 0x01009fed Thumb Code 984 app_cli.o(i.CliTask) + i.CmdBleLog 0x0100a420 Section 0 cli_core.o(i.CmdBleLog) + CmdBleLog 0x0100a421 Thumb Code 68 cli_core.o(i.CmdBleLog) + i.CmdDevInfo 0x0100a498 Section 0 cli_core.o(i.CmdDevInfo) + CmdDevInfo 0x0100a499 Thumb Code 150 cli_core.o(i.CmdDevInfo) + i.CmdFactory 0x0100a610 Section 0 cli_core.o(i.CmdFactory) + CmdFactory 0x0100a611 Thumb Code 40 cli_core.o(i.CmdFactory) + i.CmdHelp 0x0100a6a0 Section 0 cli_core.o(i.CmdHelp) + CmdHelp 0x0100a6a1 Thumb Code 102 cli_core.o(i.CmdHelp) + i.CmdLed 0x0100a774 Section 0 cli_core.o(i.CmdLed) + CmdLed 0x0100a775 Thumb Code 128 cli_core.o(i.CmdLed) + i.CmdReset 0x0100a844 Section 0 cli_core.o(i.CmdReset) + CmdReset 0x0100a845 Thumb Code 28 cli_core.o(i.CmdReset) + i.CmdSysInfo 0x0100a878 Section 0 cli_core.o(i.CmdSysInfo) + CmdSysInfo 0x0100a879 Thumb Code 88 cli_core.o(i.CmdSysInfo) + i.CmdUartInfo 0x0100a960 Section 0 cli_core.o(i.CmdUartInfo) + CmdUartInfo 0x0100a961 Thumb Code 26 cli_core.o(i.CmdUartInfo) + i.CmdUartRst 0x0100aa0c Section 0 cli_core.o(i.CmdUartRst) + CmdUartRst 0x0100aa0d Thumb Code 22 cli_core.o(i.CmdUartRst) + i.CmdVersion 0x0100aa50 Section 0 cli_core.o(i.CmdVersion) + CmdVersion 0x0100aa51 Thumb Code 28 cli_core.o(i.CmdVersion) + i.DMA_ClearFlag 0x0100aae8 Section 0 n32wb03x_dma.o(i.DMA_ClearFlag) + i.DMA_DeInit 0x0100aaec Section 0 n32wb03x_dma.o(i.DMA_DeInit) + i.DMA_EnableChannel 0x0100ab74 Section 0 n32wb03x_dma.o(i.DMA_EnableChannel) + i.DMA_GetFlagStatus 0x0100ab8c Section 0 n32wb03x_dma.o(i.DMA_GetFlagStatus) + i.DMA_Init 0x0100ab9c Section 0 n32wb03x_dma.o(i.DMA_Init) + i.DMA_RequestRemap 0x0100abdc Section 0 n32wb03x_dma.o(i.DMA_RequestRemap) + i.EXTI_ClrITPendBit 0x0100abec Section 0 n32wb03x_exti.o(i.EXTI_ClrITPendBit) + i.EXTI_GetITStatus 0x0100abf8 Section 0 n32wb03x_exti.o(i.EXTI_GetITStatus) + i.EXTI_InitPeripheral 0x0100ac14 Section 0 n32wb03x_exti.o(i.EXTI_InitPeripheral) + i.GPIO_InitPeripheral 0x0100ac84 Section 0 n32wb03x_gpio.o(i.GPIO_InitPeripheral) + i.GPIO_InitStruct 0x0100ad3c Section 0 n32wb03x_gpio.o(i.GPIO_InitStruct) + i.GPIO_ResetBits 0x0100ad58 Section 0 n32wb03x_gpio.o(i.GPIO_ResetBits) + i.GPIO_SetBits 0x0100ad5c Section 0 n32wb03x_gpio.o(i.GPIO_SetBits) + i.GPIO_TogglePin 0x0100ad60 Section 0 n32wb03x_gpio.o(i.GPIO_TogglePin) + i.HardFault_Handler 0x0100ad68 Section 0 n32wb03x_it.o(i.HardFault_Handler) + i.LedBlink 0x0100ae18 Section 0 app_gpio.o(i.LedBlink) + i.LedInit 0x0100ae20 Section 0 app_gpio.o(i.LedInit) + i.LedOff 0x0100ae6c Section 0 app_gpio.o(i.LedOff) + i.LedOn 0x0100ae74 Section 0 app_gpio.o(i.LedOn) + i.NVIC_Init 0x0100ae7c Section 0 misc.o(i.NVIC_Init) + i.OTPTrim_Read 0x0100aef4 Section 0 system_n32wb03x.o(i.OTPTrim_Read) + i.Qflash_Erase_Sector 0x0100afc0 Section 0 n32wb03x_qflash.o(i.Qflash_Erase_Sector) + i.Qflash_Init 0x0100afe4 Section 0 n32wb03x_qflash.o(i.Qflash_Init) + i.Qflash_Write 0x0100b01c Section 0 n32wb03x_qflash.o(i.Qflash_Write) + i.RCC_ConfigAdcClk 0x0100b040 Section 0 n32wb03x_rcc.o(i.RCC_ConfigAdcClk) + i.RCC_EnableAHBPeriphClk 0x0100b054 Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk) + i.RCC_EnableAHBPeriphReset 0x0100b06c Section 0 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphReset) + i.RCC_EnableAPB2PeriphClk 0x0100b084 Section 0 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk) + i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL 0x0100b09c Section 0 n32wb03x_rcc.o(i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL) + i.RCC_GetClocksFreqValue 0x0100b0b8 Section 0 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue) + i.SVC_Handler 0x0100b12c Section 0 port.o(i.SVC_Handler) + i.SysTick_Handler 0x0100b130 Section 0 port.o(i.SysTick_Handler) + i.SystemGetMacAddr 0x0100b154 Section 0 system_n32wb03x.o(i.SystemGetMacAddr) + i.SystemInit 0x0100b188 Section 0 system_n32wb03x.o(i.SystemInit) + i.SystemTrimValueGet 0x0100b308 Section 0 system_n32wb03x.o(i.SystemTrimValueGet) + i.USART1_IRQHandler 0x0100b338 Section 0 n32wb03x_it.o(i.USART1_IRQHandler) + i.USART_ConfigInt 0x0100b340 Section 0 n32wb03x_usart.o(i.USART_ConfigInt) + i.USART_Enable 0x0100b374 Section 0 n32wb03x_usart.o(i.USART_Enable) + i.USART_EnableDMA 0x0100b390 Section 0 n32wb03x_usart.o(i.USART_EnableDMA) + i.USART_GetFlagStatus 0x0100b3a0 Section 0 n32wb03x_usart.o(i.USART_GetFlagStatus) + i.USART_GetIntStatus 0x0100b3ae Section 0 n32wb03x_usart.o(i.USART_GetIntStatus) + i.USART_Init 0x0100b3f0 Section 0 n32wb03x_usart.o(i.USART_Init) + i.USART_ReceiveData 0x0100b478 Section 0 n32wb03x_usart.o(i.USART_ReceiveData) + i.USART_SendData 0x0100b480 Section 0 n32wb03x_usart.o(i.USART_SendData) + i.__0printf 0x0100b488 Section 0 printfa.o(i.__0printf) + i.__0sprintf 0x0100b4a8 Section 0 printfa.o(i.__0sprintf) + i.__0vsnprintf 0x0100b4d0 Section 0 printfa.o(i.__0vsnprintf) + i.__ARM_clz 0x0100b4fc Section 0 depilogue.o(i.__ARM_clz) + i.__aeabi_errno_addr 0x0100b52c Section 0 errno.o(i.__aeabi_errno_addr) + i.__free$realloc 0x0100b534 Section 0 mallocr.o(i.__free$realloc) + i.__malloc$realloc 0x0100b598 Section 0 mallocr.o(i.__malloc$realloc) + i._fp_digits 0x0100b5e0 Section 0 printfa.o(i._fp_digits) + _fp_digits 0x0100b5e1 Thumb Code 344 printfa.o(i._fp_digits) + i._is_digit 0x0100b754 Section 0 scanf_fp.o(i._is_digit) + i._printf_core 0x0100b764 Section 0 printfa.o(i._printf_core) + _printf_core 0x0100b765 Thumb Code 1754 printfa.o(i._printf_core) + i._printf_post_padding 0x0100be50 Section 0 printfa.o(i._printf_post_padding) + _printf_post_padding 0x0100be51 Thumb Code 32 printfa.o(i._printf_post_padding) + i._printf_pre_padding 0x0100be70 Section 0 printfa.o(i._printf_pre_padding) + _printf_pre_padding 0x0100be71 Thumb Code 44 printfa.o(i._printf_pre_padding) + i._snputc 0x0100be9c Section 0 printfa.o(i._snputc) + _snputc 0x0100be9d Thumb Code 22 printfa.o(i._snputc) + i._sputc 0x0100beb2 Section 0 printfa.o(i._sputc) + _sputc 0x0100beb3 Thumb Code 10 printfa.o(i._sputc) + i.add_item_to_array 0x0100bebc Section 0 cjson.o(i.add_item_to_array) + add_item_to_array 0x0100bebd Thumb Code 50 cjson.o(i.add_item_to_array) + i.add_item_to_object 0x0100beee Section 0 cjson.o(i.add_item_to_object) + add_item_to_object 0x0100beef Thumb Code 98 cjson.o(i.add_item_to_object) + i.app_ble_adv_init 0x0100bf50 Section 0 app_ble.o(i.app_ble_adv_init) + i.app_ble_adv_msg_handler 0x0100bfc4 Section 0 app_ble.o(i.app_ble_adv_msg_handler) + i.app_ble_connected 0x0100bfc8 Section 0 app_ble.o(i.app_ble_connected) + i.app_ble_disconnected 0x0100c00c Section 0 app_ble.o(i.app_ble_disconnected) + i.app_ble_gap_params_init 0x0100c068 Section 0 app_ble.o(i.app_ble_gap_params_init) + i.app_ble_init 0x0100c100 Section 0 app_ble.o(i.app_ble_init) + i.app_ble_msg_handler 0x0100c14c Section 0 app_ble.o(i.app_ble_msg_handler) + i.app_ble_proto_cli_exec 0x0100c1b8 Section 0 app_ble_proto.o(i.app_ble_proto_cli_exec) + i.app_ble_proto_cli_rsp 0x0100c2a4 Section 0 app_ble_proto.o(i.app_ble_proto_cli_rsp) + i.app_ble_proto_init 0x0100c2e4 Section 0 app_ble_proto.o(i.app_ble_proto_init) + i.app_ble_proto_log_get 0x0100c2f8 Section 0 app_ble_proto.o(i.app_ble_proto_log_get) + i.app_ble_proto_log_set 0x0100c304 Section 0 app_ble_proto.o(i.app_ble_proto_log_set) + i.app_ble_proto_on_disconnect 0x0100c314 Section 0 app_ble_proto.o(i.app_ble_proto_on_disconnect) + i.app_ble_proto_rx_bytes 0x0100c330 Section 0 app_ble_proto.o(i.app_ble_proto_rx_bytes) + i.app_ble_proto_send_frame 0x0100c4d0 Section 0 app_ble_proto.o(i.app_ble_proto_send_frame) + i.app_ble_sec_init 0x0100c588 Section 0 app_ble.o(i.app_ble_sec_init) + i.app_conn_params_update_evt_handler 0x0100c5d8 Section 0 ns_ble_task.o(i.app_conn_params_update_evt_handler) + app_conn_params_update_evt_handler 0x0100c5d9 Thumb Code 12 ns_ble_task.o(i.app_conn_params_update_evt_handler) + i.app_create_advertising 0x0100c5e8 Section 0 ns_ble.o(i.app_create_advertising) + app_create_advertising 0x0100c5e9 Thumb Code 192 ns_ble.o(i.app_create_advertising) + i.app_dis_add_dis 0x0100c6b4 Section 0 app_dis.o(i.app_dis_add_dis) + i.app_entry_point_handler 0x0100c710 Section 0 ns_ble_task.o(i.app_entry_point_handler) + i.app_fan_get_rpm 0x0100c814 Section 0 app_info.o(i.app_fan_get_rpm) + i.app_info_chip_temp_c10 0x0100c81c Section 0 app_info.o(i.app_info_chip_temp_c10) + i.app_info_handle_query 0x0100c878 Section 0 app_info.o(i.app_info_handle_query) + i.app_info_last_temp_raw 0x0100c8c4 Section 0 app_info.o(i.app_info_last_temp_raw) + i.app_info_tlv_snapshot 0x0100c8d0 Section 0 app_info.o(i.app_info_tlv_snapshot) + i.app_info_vdd_mv 0x0100c8fc Section 0 app_info.o(i.app_info_vdd_mv) + i.app_init_timeout_evt_handler 0x0100c91c Section 0 ns_ble_task.o(i.app_init_timeout_evt_handler) + app_init_timeout_evt_handler 0x0100c91d Thumb Code 22 ns_ble_task.o(i.app_init_timeout_evt_handler) + i.app_lsi_calib_evt_handler 0x0100c938 Section 0 ns_ble_task.o(i.app_lsi_calib_evt_handler) + app_lsi_calib_evt_handler 0x0100c939 Thumb Code 140 ns_ble_task.o(i.app_lsi_calib_evt_handler) + i.app_ota_abort 0x0100c9e4 Section 0 app_ota.o(i.app_ota_abort) + i.app_ota_handle_frame 0x0100c9fc Section 0 app_ota.o(i.app_ota_handle_frame) + i.app_params_get 0x0100cb18 Section 0 app_params.o(i.app_params_get) + i.app_params_init 0x0100cb20 Section 0 app_params.o(i.app_params_init) + i.app_params_restore_defaults 0x0100cb7c Section 0 app_params.o(i.app_params_restore_defaults) + i.app_rdtss_add_rdts 0x0100cba8 Section 0 app_rdtss.o(i.app_rdtss_add_rdts) + i.app_sec_msg_dflt_handler 0x0100cc10 Section 0 ns_sec.o(i.app_sec_msg_dflt_handler) + app_sec_msg_dflt_handler 0x0100cc11 Thumb Code 4 ns_sec.o(i.app_sec_msg_dflt_handler) + i.app_set_adv_data 0x0100cc14 Section 0 ns_ble.o(i.app_set_adv_data) + app_set_adv_data 0x0100cc15 Thumb Code 100 ns_ble.o(i.app_set_adv_data) + i.app_set_scan_rsp_data 0x0100cc8c Section 0 ns_ble.o(i.app_set_scan_rsp_data) + app_set_scan_rsp_data 0x0100cc8d Thumb Code 172 ns_ble.o(i.app_set_scan_rsp_data) + i.app_start_advertising 0x0100cd50 Section 0 ns_ble.o(i.app_start_advertising) + app_start_advertising 0x0100cd51 Thumb Code 100 ns_ble.o(i.app_start_advertising) + i.app_user_msg_handler 0x0100cdc0 Section 0 app_ble.o(i.app_user_msg_handler) + i.attm_att_set_value 0x0100cdc4 Section 0 lib_att.o(i.attm_att_set_value) + i.ble_schedule_task 0x0100ce84 Section 0 main.o(i.ble_schedule_task) + ble_schedule_task 0x0100ce85 Thumb Code 16 main.o(i.ble_schedule_task) + i.ble_up_on_cfm 0x0100ce94 Section 0 ble_up.o(i.ble_up_on_cfm) + i.ble_up_poll 0x0100cea8 Section 0 ble_up.o(i.ble_up_poll) + i.ble_up_reset 0x0100cf00 Section 0 ble_up.o(i.ble_up_reset) + i.ble_up_write 0x0100cf10 Section 0 ble_up.o(i.ble_up_write) + i.bootset_print 0x0100cf58 Section 0 app_bootset.o(i.bootset_print) + bootset_print 0x0100cf59 Thumb Code 106 app_bootset.o(i.bootset_print) + i.bsp_usart_init 0x0100d0d0 Section 0 bsp_usart.o(i.bsp_usart_init) + i.bsp_usart_read_byte 0x0100d1ac Section 0 bsp_usart.o(i.bsp_usart_read_byte) + i.bsp_usart_rx_isr_handler 0x0100d1e4 Section 0 bsp_usart.o(i.bsp_usart_rx_isr_handler) + i.bsp_usart_set_baud 0x0100d238 Section 0 bsp_usart.o(i.bsp_usart_set_baud) + i.bsp_usart_tx_lock 0x0100d2a8 Section 0 bsp_usart.o(i.bsp_usart_tx_lock) + i.bsp_usart_tx_unlock 0x0100d2c8 Section 0 bsp_usart.o(i.bsp_usart_tx_unlock) + i.bsp_usart_write_dma 0x0100d2ec Section 0 bsp_usart.o(i.bsp_usart_write_dma) + i.buffer_skip_whitespace 0x0100d384 Section 0 cjson.o(i.buffer_skip_whitespace) + buffer_skip_whitespace 0x0100d385 Thumb Code 58 cjson.o(i.buffer_skip_whitespace) + i.cJSON_AddNumberToObject 0x0100d3c0 Section 0 cjson.o(i.cJSON_AddNumberToObject) + i.cJSON_CreateNumber 0x0100d3f4 Section 0 cjson.o(i.cJSON_CreateNumber) + i.cJSON_CreateObject 0x0100d458 Section 0 cjson.o(i.cJSON_CreateObject) + i.cJSON_Delete 0x0100d470 Section 0 cjson.o(i.cJSON_Delete) + i.cJSON_GetObjectItem 0x0100d4c4 Section 0 cjson.o(i.cJSON_GetObjectItem) + i.cJSON_InitHooks 0x0100d4d0 Section 0 cjson.o(i.cJSON_InitHooks) + i.cJSON_IsNumber 0x0100d520 Section 0 cjson.o(i.cJSON_IsNumber) + i.cJSON_IsObject 0x0100d532 Section 0 cjson.o(i.cJSON_IsObject) + i.cJSON_New_Item 0x0100d544 Section 0 cjson.o(i.cJSON_New_Item) + cJSON_New_Item 0x0100d545 Thumb Code 36 cjson.o(i.cJSON_New_Item) + i.cJSON_Parse 0x0100d568 Section 0 cjson.o(i.cJSON_Parse) + i.cJSON_ParseWithLengthOpts 0x0100d58c Section 0 cjson.o(i.cJSON_ParseWithLengthOpts) + i.cJSON_PrintUnformatted 0x0100d678 Section 0 cjson.o(i.cJSON_PrintUnformatted) + i.cJSON_free 0x0100d688 Section 0 cjson.o(i.cJSON_free) + i.cJSON_strdup 0x0100d694 Section 0 cjson.o(i.cJSON_strdup) + cJSON_strdup 0x0100d695 Thumb Code 40 cjson.o(i.cJSON_strdup) + i.caiic_crc32 0x0100d6bc Section 0 boot_crc32.o(i.caiic_crc32) + i.check_client_char_cfg 0x0100d6f0 Section 0 rdts_common.o(i.check_client_char_cfg) + i.cli_cmd_count 0x0100d71a Section 0 cli_core.o(i.cli_cmd_count) + i.cli_cmd_name 0x0100d720 Section 0 cli_core.o(i.cli_cmd_name) + i.cli_exec_line 0x0100d738 Section 0 cli_core.o(i.cli_exec_line) + i.cli_printf 0x0100d7ec Section 0 cli_core.o(i.cli_printf) + i.cli_redraw_line 0x0100d818 Section 0 app_cli.o(i.cli_redraw_line) + cli_redraw_line 0x0100d819 Thumb Code 94 app_cli.o(i.cli_redraw_line) + i.cli_rsp_out 0x0100d880 Section 0 app_ble_proto.o(i.cli_rsp_out) + cli_rsp_out 0x0100d881 Thumb Code 36 app_ble_proto.o(i.cli_rsp_out) + i.cli_set_output 0x0100d8ac Section 0 cli_core.o(i.cli_set_output) + i.cli_write 0x0100d8b8 Section 0 cli_core.o(i.cli_write) + i.compare_double 0x0100d8dc Section 0 cjson.o(i.compare_double) + compare_double 0x0100d8dd Thumb Code 92 cjson.o(i.compare_double) + i.diss_check_val_len 0x0100d938 Section 0 diss.o(i.diss_check_val_len) + i.diss_cleanup 0x0100d962 Section 0 diss.o(i.diss_cleanup) + diss_cleanup 0x0100d963 Thumb Code 2 diss.o(i.diss_cleanup) + i.diss_create 0x0100d964 Section 0 diss.o(i.diss_create) + diss_create 0x0100d965 Thumb Code 2 diss.o(i.diss_create) + i.diss_destroy 0x0100d966 Section 0 diss.o(i.diss_destroy) + diss_destroy 0x0100d967 Thumb Code 62 diss.o(i.diss_destroy) + i.diss_handle_to_value 0x0100d9a4 Section 0 diss.o(i.diss_handle_to_value) + i.diss_init 0x0100d9d8 Section 0 diss.o(i.diss_init) + diss_init 0x0100d9d9 Thumb Code 152 diss.o(i.diss_init) + i.diss_prf_itf_get 0x0100da78 Section 0 diss.o(i.diss_prf_itf_get) + i.diss_set_value_req_handler 0x0100da80 Section 0 diss_task.o(i.diss_set_value_req_handler) + diss_set_value_req_handler 0x0100da81 Thumb Code 152 diss_task.o(i.diss_set_value_req_handler) + i.diss_task_init 0x0100db1c Section 0 diss_task.o(i.diss_task_init) + i.diss_value_cfm_handler 0x0100db3c Section 0 diss_task.o(i.diss_value_cfm_handler) + diss_value_cfm_handler 0x0100db3d Thumb Code 120 diss_task.o(i.diss_value_cfm_handler) + i.diss_value_req_ind_handler 0x0100dbb8 Section 0 app_dis.o(i.diss_value_req_ind_handler) + diss_value_req_ind_handler 0x0100dbb9 Thumb Code 118 app_dis.o(i.diss_value_req_ind_handler) + i.diss_value_to_handle 0x0100dc78 Section 0 diss.o(i.diss_value_to_handle) + i.eTaskGetState 0x0100dcb4 Section 0 tasks.o(i.eTaskGetState) + i.ensure 0x0100dd14 Section 0 cjson.o(i.ensure) + ensure 0x0100dd15 Thumb Code 144 cjson.o(i.ensure) + i.fputc 0x0100ddac Section 0 bsp_usart.o(i.fputc) + i.gapc_bond_ind_handler 0x0100dde8 Section 0 ns_sec.o(i.gapc_bond_ind_handler) + gapc_bond_ind_handler 0x0100dde9 Thumb Code 206 ns_sec.o(i.gapc_bond_ind_handler) + i.gapc_bond_req_ind_handler 0x0100ded8 Section 0 ns_sec.o(i.gapc_bond_req_ind_handler) + gapc_bond_req_ind_handler 0x0100ded9 Thumb Code 478 ns_sec.o(i.gapc_bond_req_ind_handler) + i.gapc_cmp_evt_handler 0x0100e0e0 Section 0 ns_ble_task.o(i.gapc_cmp_evt_handler) + gapc_cmp_evt_handler 0x0100e0e1 Thumb Code 36 ns_ble_task.o(i.gapc_cmp_evt_handler) + i.gapc_conn_rssi_ind_handler 0x0100e108 Section 0 ns_ble_task.o(i.gapc_conn_rssi_ind_handler) + gapc_conn_rssi_ind_handler 0x0100e109 Thumb Code 92 ns_ble_task.o(i.gapc_conn_rssi_ind_handler) + i.gapc_connection_req_ind_handler 0x0100e174 Section 0 ns_ble_task.o(i.gapc_connection_req_ind_handler) + gapc_connection_req_ind_handler 0x0100e175 Thumb Code 310 ns_ble_task.o(i.gapc_connection_req_ind_handler) + i.gapc_disconnect_ind_handler 0x0100e2cc Section 0 ns_ble_task.o(i.gapc_disconnect_ind_handler) + gapc_disconnect_ind_handler 0x0100e2cd Thumb Code 88 ns_ble_task.o(i.gapc_disconnect_ind_handler) + i.gapc_encrypt_ind_handler 0x0100e330 Section 0 ns_sec.o(i.gapc_encrypt_ind_handler) + gapc_encrypt_ind_handler 0x0100e331 Thumb Code 34 ns_sec.o(i.gapc_encrypt_ind_handler) + i.gapc_encrypt_req_ind_handler 0x0100e358 Section 0 ns_sec.o(i.gapc_encrypt_req_ind_handler) + gapc_encrypt_req_ind_handler 0x0100e359 Thumb Code 280 ns_sec.o(i.gapc_encrypt_req_ind_handler) + i.gapc_get_dev_info_req_ind_handler 0x0100e488 Section 0 ns_ble_task.o(i.gapc_get_dev_info_req_ind_handler) + gapc_get_dev_info_req_ind_handler 0x0100e489 Thumb Code 116 ns_ble_task.o(i.gapc_get_dev_info_req_ind_handler) + i.gapc_le_phy_ind_handler 0x0100e508 Section 0 ns_ble_task.o(i.gapc_le_phy_ind_handler) + gapc_le_phy_ind_handler 0x0100e509 Thumb Code 12 ns_ble_task.o(i.gapc_le_phy_ind_handler) + i.gapc_le_pkt_size_ind_handler 0x0100e514 Section 0 ns_ble_task.o(i.gapc_le_pkt_size_ind_handler) + gapc_le_pkt_size_ind_handler 0x0100e515 Thumb Code 22 ns_ble_task.o(i.gapc_le_pkt_size_ind_handler) + i.gapc_param_update_req_ind_handler 0x0100e530 Section 0 ns_ble_task.o(i.gapc_param_update_req_ind_handler) + gapc_param_update_req_ind_handler 0x0100e531 Thumb Code 94 ns_ble_task.o(i.gapc_param_update_req_ind_handler) + i.gapc_param_updated_ind_handler 0x0100e594 Section 0 ns_ble_task.o(i.gapc_param_updated_ind_handler) + gapc_param_updated_ind_handler 0x0100e595 Thumb Code 36 ns_ble_task.o(i.gapc_param_updated_ind_handler) + i.gapc_set_dev_info_req_ind_handler 0x0100e5bc Section 0 ns_ble_task.o(i.gapc_set_dev_info_req_ind_handler) + gapc_set_dev_info_req_ind_handler 0x0100e5bd Thumb Code 52 ns_ble_task.o(i.gapc_set_dev_info_req_ind_handler) + i.gapm_activity_created_ind_handler 0x0100e5fc Section 0 ns_ble_task.o(i.gapm_activity_created_ind_handler) + gapm_activity_created_ind_handler 0x0100e5fd Thumb Code 46 ns_ble_task.o(i.gapm_activity_created_ind_handler) + i.gapm_activity_stopped_ind_handler 0x0100e630 Section 0 ns_ble_task.o(i.gapm_activity_stopped_ind_handler) + gapm_activity_stopped_ind_handler 0x0100e631 Thumb Code 82 ns_ble_task.o(i.gapm_activity_stopped_ind_handler) + i.gapm_addr_solved_ind_handler 0x0100e690 Section 0 ns_ble_task.o(i.gapm_addr_solved_ind_handler) + gapm_addr_solved_ind_handler 0x0100e691 Thumb Code 32 ns_ble_task.o(i.gapm_addr_solved_ind_handler) + i.gapm_cmp_evt_handler 0x0100e6bc Section 0 ns_ble_task.o(i.gapm_cmp_evt_handler) + gapm_cmp_evt_handler 0x0100e6bd Thumb Code 912 ns_ble_task.o(i.gapm_cmp_evt_handler) + i.gapm_ext_adv_repoer_ind_handler 0x0100ea9c Section 0 ns_ble_task.o(i.gapm_ext_adv_repoer_ind_handler) + gapm_ext_adv_repoer_ind_handler 0x0100ea9d Thumb Code 164 ns_ble_task.o(i.gapm_ext_adv_repoer_ind_handler) + i.gapm_gen_rand_nb_ind_handler 0x0100eb48 Section 0 ns_ble_task.o(i.gapm_gen_rand_nb_ind_handler) + gapm_gen_rand_nb_ind_handler 0x0100eb49 Thumb Code 54 ns_ble_task.o(i.gapm_gen_rand_nb_ind_handler) + i.gapm_profile_added_ind_handler 0x0100eb7e Section 0 ns_ble_task.o(i.gapm_profile_added_ind_handler) + gapm_profile_added_ind_handler 0x0100eb7f Thumb Code 12 ns_ble_task.o(i.gapm_profile_added_ind_handler) + i.gapm_scan_request_ind_handler 0x0100eb8a Section 0 ns_ble_task.o(i.gapm_scan_request_ind_handler) + gapm_scan_request_ind_handler 0x0100eb8b Thumb Code 12 ns_ble_task.o(i.gapm_scan_request_ind_handler) + i.gattc_att_info_req_ind_handler 0x0100eb98 Section 0 rdtss_task.o(i.gattc_att_info_req_ind_handler) + gattc_att_info_req_ind_handler 0x0100eb99 Thumb Code 58 rdtss_task.o(i.gattc_att_info_req_ind_handler) + i.gattc_cmp_evt_handler 0x0100ebd8 Section 0 rdtss_task.o(i.gattc_cmp_evt_handler) + gattc_cmp_evt_handler 0x0100ebd9 Thumb Code 102 rdtss_task.o(i.gattc_cmp_evt_handler) + i.gattc_cmp_evt_handler 0x0100ec48 Section 0 ns_ble_task.o(i.gattc_cmp_evt_handler) + gattc_cmp_evt_handler 0x0100ec49 Thumb Code 36 ns_ble_task.o(i.gattc_cmp_evt_handler) + i.gattc_mtu_changed_ind_handler 0x0100ec70 Section 0 ns_ble_task.o(i.gattc_mtu_changed_ind_handler) + gattc_mtu_changed_ind_handler 0x0100ec71 Thumb Code 66 ns_ble_task.o(i.gattc_mtu_changed_ind_handler) + i.gattc_read_req_ind_handler 0x0100ecbc Section 0 diss_task.o(i.gattc_read_req_ind_handler) + gattc_read_req_ind_handler 0x0100ecbd Thumb Code 188 diss_task.o(i.gattc_read_req_ind_handler) + i.gattc_read_req_ind_handler 0x0100ed80 Section 0 rdtss_task.o(i.gattc_read_req_ind_handler) + gattc_read_req_ind_handler 0x0100ed81 Thumb Code 212 rdtss_task.o(i.gattc_read_req_ind_handler) + i.gattc_write_req_ind_handler 0x0100ee60 Section 0 rdtss_task.o(i.gattc_write_req_ind_handler) + gattc_write_req_ind_handler 0x0100ee61 Thumb Code 260 rdtss_task.o(i.gattc_write_req_ind_handler) + i.get_cfg_handle 0x0100ef70 Section 0 rdts_common.o(i.get_cfg_handle) + i.get_object_item 0x0100efdc Section 0 cjson.o(i.get_object_item) + get_object_item 0x0100efdd Thumb Code 152 cjson.o(i.get_object_item) + i.get_value_handle 0x0100f074 Section 0 rdts_common.o(i.get_value_handle) + i.info_adc_init 0x0100f0c8 Section 0 app_info.o(i.info_adc_init) + info_adc_init 0x0100f0c9 Thumb Code 92 app_info.o(i.info_adc_init) + i.info_adc_read 0x0100f12c Section 0 app_info.o(i.info_adc_read) + info_adc_read 0x0100f12d Thumb Code 96 app_info.o(i.info_adc_read) + i.info_fill_item 0x0100f198 Section 0 app_info.o(i.info_fill_item) + info_fill_item 0x0100f199 Thumb Code 258 app_info.o(i.info_fill_item) + i.info_put_tlv 0x0100f2b4 Section 0 app_info.o(i.info_put_tlv) + info_put_tlv 0x0100f2b5 Thumb Code 44 app_info.o(i.info_put_tlv) + i.infra_cjson_init 0x0100f2e0 Section 0 infra_cjson.o(i.infra_cjson_init) + i.internal_alloc 0x0100f310 Section 0 mallocr.o(i.internal_alloc) + internal_alloc 0x0100f311 Thumb Code 74 mallocr.o(i.internal_alloc) + i.led_task 0x0100f360 Section 0 main.o(i.led_task) + led_task 0x0100f361 Thumb Code 48 main.o(i.led_task) + i.llhwc_modem_setmode 0x0100f394 Section 0 rwip_driver.o(i.llhwc_modem_setmode) + i.llhwc_phy_prerx_flash 0x0100f3c4 Section 0 rwip_driver.o(i.llhwc_phy_prerx_flash) + i.llhwc_setmode_reg_config 0x0100f4f4 Section 0 rwip_driver.o(i.llhwc_setmode_reg_config) + llhwc_setmode_reg_config 0x0100f4f5 Thumb Code 88 rwip_driver.o(i.llhwc_setmode_reg_config) + i.main 0x0100f584 Section 0 main.o(i.main) + i.ns_EXTI4_12_IRQHandler 0x0100f724 Section 0 ns_ble.o(i.ns_EXTI4_12_IRQHandler) + i.ns_HardFault_Handler 0x0100f780 Section 0 ns_ble.o(i.ns_HardFault_Handler) + i.ns_ble_add_prf_func_register 0x0100f7a8 Section 0 ns_ble.o(i.ns_ble_add_prf_func_register) + i.ns_ble_add_svc 0x0100f7c8 Section 0 ns_ble.o(i.ns_ble_add_svc) + i.ns_ble_adv_fsm_next 0x0100f7f4 Section 0 ns_ble.o(i.ns_ble_adv_fsm_next) + i.ns_ble_adv_init 0x0100f8d0 Section 0 ns_ble.o(i.ns_ble_adv_init) + i.ns_ble_adv_start 0x0100f918 Section 0 ns_ble.o(i.ns_ble_adv_start) + i.ns_ble_adv_stop 0x0100f968 Section 0 ns_ble.o(i.ns_ble_adv_stop) + i.ns_ble_delete_init 0x0100f9b4 Section 0 ns_ble.o(i.ns_ble_delete_init) + i.ns_ble_delete_scan 0x0100f9f0 Section 0 ns_ble.o(i.ns_ble_delete_scan) + i.ns_ble_disconnect 0x0100fa28 Section 0 ns_ble.o(i.ns_ble_disconnect) + i.ns_ble_gap_init 0x0100fa54 Section 0 ns_ble.o(i.ns_ble_gap_init) + i.ns_ble_get_connection_num 0x0100fac0 Section 0 ns_ble.o(i.ns_ble_get_connection_num) + i.ns_ble_list_set_ral 0x0100fae4 Section 0 ns_ble.o(i.ns_ble_list_set_ral) + i.ns_ble_lsc_config 0x0100fb34 Section 0 ns_ble.o(i.ns_ble_lsc_config) + i.ns_ble_mtu_set 0x0100fbb8 Section 0 ns_ble.o(i.ns_ble_mtu_set) + i.ns_ble_prf_task_register 0x0100fbec Section 0 ns_ble.o(i.ns_ble_prf_task_register) + i.ns_ble_scan_data_find 0x0100fc14 Section 0 ns_ble.o(i.ns_ble_scan_data_find) + i.ns_ble_stack_init 0x0100fc5c Section 0 ns_ble.o(i.ns_ble_stack_init) + i.ns_ble_start_init 0x0100fed4 Section 0 ns_ble.o(i.ns_ble_start_init) + i.ns_ble_start_scan 0x0100fff8 Section 0 ns_ble.o(i.ns_ble_start_scan) + i.ns_ble_stop_init 0x010100c4 Section 0 ns_ble.o(i.ns_ble_stop_init) + i.ns_ble_stop_scan 0x010100fc Section 0 ns_ble.o(i.ns_ble_stop_scan) + i.ns_ble_update_param 0x01010138 Section 0 ns_ble.o(i.ns_ble_update_param) + i.ns_bond_db_get_size 0x010101b0 Section 0 ns_sec.o(i.ns_bond_db_get_size) + ns_bond_db_get_size 0x010101b1 Thumb Code 36 ns_sec.o(i.ns_bond_db_get_size) + i.ns_bond_db_load 0x010101dc Section 0 ns_sec.o(i.ns_bond_db_load) + ns_bond_db_load 0x010101dd Thumb Code 24 ns_sec.o(i.ns_bond_db_load) + i.ns_bond_last_bonded_addr 0x010101f8 Section 0 ns_sec.o(i.ns_bond_last_bonded_addr) + i.ns_bond_last_bonded_peer_id 0x01010228 Section 0 ns_sec.o(i.ns_bond_last_bonded_peer_id) + i.ns_bond_last_bonded_ral_info 0x01010258 Section 0 ns_sec.o(i.ns_bond_last_bonded_ral_info) + i.ns_bond_resolv_addr_start 0x010102bc Section 0 ns_sec.o(i.ns_bond_resolv_addr_start) + i.ns_bond_search_addr_irk 0x0101031c Section 0 ns_sec.o(i.ns_bond_search_addr_irk) + i.ns_peripheral_config 0x01010398 Section 0 ns_ble.o(i.ns_peripheral_config) + i.ns_sec_bond_store_evt_handler 0x0101046c Section 0 ns_sec.o(i.ns_sec_bond_store_evt_handler) + i.ns_sec_get_bond_status 0x010105cc Section 0 ns_sec.o(i.ns_sec_get_bond_status) + i.ns_sec_get_iocap 0x010105dc Section 0 ns_sec.o(i.ns_sec_get_iocap) + i.ns_sec_init 0x010105e8 Section 0 ns_sec.o(i.ns_sec_init) + i.ns_sleep_lock_acquire 0x01010650 Section 0 ns_sleep.o(i.ns_sleep_lock_acquire) + i.ns_sleep_lock_release 0x01010668 Section 0 ns_sleep.o(i.ns_sleep_lock_release) + i.ns_timer_api_process_handler 0x0101067c Section 0 ns_timer.o(i.ns_timer_api_process_handler) + i.ota_on_data 0x01010744 Section 0 app_ota.o(i.ota_on_data) + ota_on_data 0x01010745 Thumb Code 334 app_ota.o(i.ota_on_data) + i.ota_on_end 0x0101089c Section 0 app_ota.o(i.ota_on_end) + ota_on_end 0x0101089d Thumb Code 398 app_ota.o(i.ota_on_end) + i.ota_respond 0x01010a48 Section 0 app_ota.o(i.ota_respond) + ota_respond 0x01010a49 Thumb Code 40 app_ota.o(i.ota_respond) + i.params_print_json 0x01010a70 Section 0 app_params.o(i.params_print_json) + params_print_json 0x01010a71 Thumb Code 118 app_params.o(i.params_print_json) + i.params_save 0x01010b18 Section 0 app_params.o(i.params_save) + params_save 0x01010b19 Thumb Code 80 app_params.o(i.params_save) + i.parse_string 0x01010b74 Section 0 cjson.o(i.parse_string) + parse_string 0x01010b75 Thumb Code 616 cjson.o(i.parse_string) + i.parse_value 0x01010de4 Section 0 cjson.o(i.parse_value) + parse_value 0x01010de5 Thumb Code 908 cjson.o(i.parse_value) + i.patchx_enable 0x01011198 Section 0 ns_ble.o(i.patchx_enable) + patchx_enable 0x01011199 Thumb Code 58 ns_ble.o(i.patchx_enable) + i.prf_add_profile 0x010111dc Section 0 prf.o(i.prf_add_profile) + i.prf_dst_task_get 0x01011264 Section 0 prf.o(i.prf_dst_task_get) + i.prf_env_get 0x01011274 Section 0 prf.o(i.prf_env_get) + i.prf_get_id_from_task 0x010112a4 Section 0 prf.o(i.prf_get_id_from_task) + i.prf_get_itf_func_register 0x010112dc Section 0 prf.o(i.prf_get_itf_func_register) + i.prf_get_task_from_id 0x01011304 Section 0 prf.o(i.prf_get_task_from_id) + i.prf_init 0x0101133c Section 0 prf.o(i.prf_init) + i.prf_itf_get 0x010113f0 Section 0 prf.o(i.prf_itf_get) + prf_itf_get 0x010113f1 Thumb Code 44 prf.o(i.prf_itf_get) + i.print 0x01011420 Section 0 cjson.o(i.print) + print 0x01011421 Thumb Code 190 cjson.o(i.print) + i.print_string_ptr 0x010114e0 Section 0 cjson.o(i.print_string_ptr) + print_string_ptr 0x010114e1 Thumb Code 280 cjson.o(i.print_string_ptr) + i.print_value 0x01011600 Section 0 cjson.o(i.print_value) + print_value 0x01011601 Thumb Code 956 cjson.o(i.print_value) + i.proto_cli_out 0x010119f8 Section 0 app_ble_proto.o(i.proto_cli_out) + proto_cli_out 0x010119f9 Thumb Code 52 app_ble_proto.o(i.proto_cli_out) + i.proto_dump 0x01011a30 Section 0 app_ble_proto.o(i.proto_dump) + proto_dump 0x01011a31 Thumb Code 70 app_ble_proto.o(i.proto_dump) + i.prvAddCurrentTaskToDelayedList 0x01011ab0 Section 0 tasks.o(i.prvAddCurrentTaskToDelayedList) + prvAddCurrentTaskToDelayedList 0x01011ab1 Thumb Code 78 tasks.o(i.prvAddCurrentTaskToDelayedList) + i.prvCopyDataToQueue 0x01011b08 Section 0 queue.o(i.prvCopyDataToQueue) + prvCopyDataToQueue 0x01011b09 Thumb Code 112 queue.o(i.prvCopyDataToQueue) + i.prvIdleTask 0x01011b78 Section 0 tasks.o(i.prvIdleTask) + prvIdleTask 0x01011b79 Thumb Code 72 tasks.o(i.prvIdleTask) + i.prvInsertBlockIntoFreeList 0x01011bcc Section 0 heap_4.o(i.prvInsertBlockIntoFreeList) + prvInsertBlockIntoFreeList 0x01011bcd Thumb Code 76 heap_4.o(i.prvInsertBlockIntoFreeList) + i.prvListTasksWithinSingleList 0x01011c20 Section 0 tasks.o(i.prvListTasksWithinSingleList) + prvListTasksWithinSingleList 0x01011c21 Thumb Code 200 tasks.o(i.prvListTasksWithinSingleList) + i.prvTaskExitError 0x01011cec Section 0 port.o(i.prvTaskExitError) + prvTaskExitError 0x01011ced Thumb Code 14 port.o(i.prvTaskExitError) + i.prvUnlockQueue 0x01011d00 Section 0 queue.o(i.prvUnlockQueue) + prvUnlockQueue 0x01011d01 Thumb Code 116 queue.o(i.prvUnlockQueue) + i.pvPortMalloc 0x01011d74 Section 0 heap_4.o(i.pvPortMalloc) + i.pvTaskIncrementMutexHeldCount 0x01011e68 Section 0 tasks.o(i.pvTaskIncrementMutexHeldCount) + i.pxPortInitialiseStack 0x01011e80 Section 0 port.o(i.pxPortInitialiseStack) + i.rdtss_att_get_value 0x01011ea4 Section 0 rdtss_task.o(i.rdtss_att_get_value) + rdtss_att_get_value 0x01011ea5 Thumb Code 58 rdtss_task.o(i.rdtss_att_get_value) + i.rdtss_att_info_rsp_handler 0x01011ee0 Section 0 rdtss_task.o(i.rdtss_att_info_rsp_handler) + rdtss_att_info_rsp_handler 0x01011ee1 Thumb Code 60 rdtss_task.o(i.rdtss_att_info_rsp_handler) + i.rdtss_att_set_value 0x01011f20 Section 0 rdtss_task.o(i.rdtss_att_set_value) + rdtss_att_set_value 0x01011f21 Thumb Code 104 rdtss_task.o(i.rdtss_att_set_value) + i.rdtss_cleanup 0x01011f88 Section 0 rdtss.o(i.rdtss_cleanup) + rdtss_cleanup 0x01011f89 Thumb Code 70 rdtss.o(i.rdtss_cleanup) + i.rdtss_create 0x01011fd4 Section 0 rdtss.o(i.rdtss_create) + rdtss_create 0x01011fd5 Thumb Code 70 rdtss.o(i.rdtss_create) + i.rdtss_destroy 0x01012020 Section 0 rdtss.o(i.rdtss_destroy) + rdtss_destroy 0x01012021 Thumb Code 66 rdtss.o(i.rdtss_destroy) + i.rdtss_get_att_handle 0x01012062 Section 0 rdts_common.o(i.rdtss_get_att_handle) + i.rdtss_get_att_idx 0x0101207e Section 0 rdts_common.o(i.rdtss_get_att_idx) + i.rdtss_init 0x010120a6 Section 0 rdtss.o(i.rdtss_init) + rdtss_init 0x010120a7 Thumb Code 152 rdtss.o(i.rdtss_init) + i.rdtss_init_ccc_values 0x01012140 Section 0 rdtss_task.o(i.rdtss_init_ccc_values) + i.rdtss_prf_itf_get 0x010121e4 Section 0 rdtss.o(i.rdtss_prf_itf_get) + i.rdtss_send_notify 0x010121ec Section 0 app_rdtss.o(i.rdtss_send_notify) + i.rdtss_set_ccc_value 0x01012240 Section 0 rdtss_task.o(i.rdtss_set_ccc_value) + i.rdtss_task_init 0x01012274 Section 0 rdtss_task.o(i.rdtss_task_init) + i.rdtss_val_ind_req_handler 0x01012294 Section 0 rdtss_task.o(i.rdtss_val_ind_req_handler) + rdtss_val_ind_req_handler 0x01012295 Thumb Code 176 rdtss_task.o(i.rdtss_val_ind_req_handler) + i.rdtss_val_ntf_cfm_handler 0x01012344 Section 0 app_rdtss.o(i.rdtss_val_ntf_cfm_handler) + rdtss_val_ntf_cfm_handler 0x01012345 Thumb Code 10 app_rdtss.o(i.rdtss_val_ntf_cfm_handler) + i.rdtss_val_ntf_req_handler 0x0101234e Section 0 rdtss_task.o(i.rdtss_val_ntf_req_handler) + rdtss_val_ntf_req_handler 0x0101234f Thumb Code 166 rdtss_task.o(i.rdtss_val_ntf_req_handler) + i.rdtss_val_set_req_handler 0x010123f4 Section 0 rdtss_task.o(i.rdtss_val_set_req_handler) + rdtss_val_set_req_handler 0x010123f5 Thumb Code 32 rdtss_task.o(i.rdtss_val_set_req_handler) + i.rdtss_val_write_ind_handler 0x01012414 Section 0 app_rdtss.o(i.rdtss_val_write_ind_handler) + rdtss_val_write_ind_handler 0x01012415 Thumb Code 170 app_rdtss.o(i.rdtss_val_write_ind_handler) + i.rdtss_value_req_ind_handler 0x0101252c Section 0 app_rdtss.o(i.rdtss_value_req_ind_handler) + rdtss_value_req_ind_handler 0x0101252d Thumb Code 110 app_rdtss.o(i.rdtss_value_req_ind_handler) + i.rdtss_value_req_rsp_handler 0x010125a8 Section 0 rdtss_task.o(i.rdtss_value_req_rsp_handler) + rdtss_value_req_rsp_handler 0x010125a9 Thumb Code 124 rdtss_task.o(i.rdtss_value_req_rsp_handler) + i.realloc 0x01012628 Section 0 mallocr.o(i.realloc) + i.rwip_init 0x0101269c Section 0 rwip.o(i.rwip_init) + i.rwip_slp_isr 0x010127b4 Section 0 rwip_driver.o(i.rwip_slp_isr) + i.strtod 0x010128ac Section 0 strtod.o(i.strtod) + i.timer_canceled_handler 0x010128c8 Section 0 ns_timer.o(i.timer_canceled_handler) + timer_canceled_handler 0x010128c9 Thumb Code 2 ns_timer.o(i.timer_canceled_handler) + i.timer_modified_handler 0x010128ca Section 0 ns_timer.o(i.timer_modified_handler) + timer_modified_handler 0x010128cb Thumb Code 2 ns_timer.o(i.timer_modified_handler) + i.uxListRemove 0x010128cc Section 0 list.o(i.uxListRemove) + i.uxTaskGetNumberOfTasks 0x010128f4 Section 0 tasks.o(i.uxTaskGetNumberOfTasks) + i.uxTaskGetSystemState 0x01012900 Section 0 tasks.o(i.uxTaskGetSystemState) + i.vListInitialise 0x01012998 Section 0 list.o(i.vListInitialise) + i.vListInitialiseItem 0x010129ae Section 0 list.o(i.vListInitialiseItem) + i.vListInsert 0x010129b4 Section 0 list.o(i.vListInsert) + i.vListInsertEnd 0x010129e6 Section 0 list.o(i.vListInsertEnd) + i.vPortEnterCritical 0x01012a00 Section 0 port.o(i.vPortEnterCritical) + i.vPortExitCritical 0x01012a18 Section 0 port.o(i.vPortExitCritical) + i.vPortFree 0x01012a34 Section 0 heap_4.o(i.vPortFree) + i.vPortYield 0x01012a78 Section 0 port.o(i.vPortYield) + i.vTaskDelay 0x01012a90 Section 0 tasks.o(i.vTaskDelay) + i.vTaskInternalSetTimeOutState 0x01012ac0 Section 0 tasks.o(i.vTaskInternalSetTimeOutState) + i.vTaskList 0x01012ad0 Section 0 tasks.o(i.vTaskList) + i.vTaskMissedYield 0x01012ba0 Section 0 tasks.o(i.vTaskMissedYield) + i.vTaskPlaceOnEventList 0x01012bac Section 0 tasks.o(i.vTaskPlaceOnEventList) + i.vTaskPriorityDisinheritAfterTimeout 0x01012bd0 Section 0 tasks.o(i.vTaskPriorityDisinheritAfterTimeout) + i.vTaskStartScheduler 0x01012c44 Section 0 tasks.o(i.vTaskStartScheduler) + i.vTaskSuspendAll 0x01012c94 Section 0 tasks.o(i.vTaskSuspendAll) + i.vTaskSwitchContext 0x01012ca4 Section 0 tasks.o(i.vTaskSwitchContext) + i.xPortGetFreeHeapSize 0x01012d08 Section 0 heap_4.o(i.xPortGetFreeHeapSize) + i.xPortGetMinimumEverFreeHeapSize 0x01012d14 Section 0 heap_4.o(i.xPortGetMinimumEverFreeHeapSize) + i.xPortStartScheduler 0x01012d20 Section 0 port.o(i.xPortStartScheduler) + i.xQueueCreateMutex 0x01012d70 Section 0 queue.o(i.xQueueCreateMutex) + i.xQueueGenericCreate 0x01012d94 Section 0 queue.o(i.xQueueGenericCreate) + i.xQueueGenericReset 0x01012dd8 Section 0 queue.o(i.xQueueGenericReset) + i.xQueueGenericSend 0x01012e46 Section 0 queue.o(i.xQueueGenericSend) + i.xQueueGenericSendFromISR 0x01012fd4 Section 0 queue.o(i.xQueueGenericSendFromISR) + i.xQueueReceive 0x01013062 Section 0 queue.o(i.xQueueReceive) + i.xQueueSemaphoreTake 0x010131a4 Section 0 queue.o(i.xQueueSemaphoreTake) + i.xTaskCheckForTimeOut 0x01013318 Section 0 tasks.o(i.xTaskCheckForTimeOut) + i.xTaskCreate 0x0101337c Section 0 tasks.o(i.xTaskCreate) + i.xTaskGetSchedulerState 0x010134f4 Section 0 tasks.o(i.xTaskGetSchedulerState) + i.xTaskGetTickCount 0x01013514 Section 0 tasks.o(i.xTaskGetTickCount) + i.xTaskIncrementTick 0x01013520 Section 0 tasks.o(i.xTaskIncrementTick) + i.xTaskPriorityDisinherit 0x010135f4 Section 0 tasks.o(i.xTaskPriorityDisinherit) + i.xTaskPriorityInherit 0x0101365c Section 0 tasks.o(i.xTaskPriorityInherit) + i.xTaskRemoveFromEventList 0x010136d4 Section 0 tasks.o(i.xTaskRemoveFromEventList) + i.xTaskResumeAll 0x01013738 Section 0 tasks.o(i.xTaskResumeAll) + .constdata 0x01013800 Section 472 system_n32wb03x.o(.constdata) + .constdata 0x010139d8 Section 12 n32wb03x_rcc.o(.constdata) + s_AhbPresTable 0x010139d8 Data 4 n32wb03x_rcc.o(.constdata) + s_ApbPresTable 0x010139dc Data 8 n32wb03x_rcc.o(.constdata) + .constdata 0x010139e4 Section 804 n32wb03x_qflash.o(.constdata) + .constdata 0x01013d08 Section 30 rwip_driver.o(.constdata) + TXPWR_MAP 0x01013d08 Data 30 rwip_driver.o(.constdata) + .constdata 0x01013d28 Section 168 diss.o(.constdata) + .constdata 0x01013dd0 Section 24 diss_task.o(.constdata) + diss_msg_handler_tab 0x01013dd0 Data 24 diss_task.o(.constdata) + .constdata 0x01013de8 Section 16 rdtss.o(.constdata) + .constdata 0x01013df8 Section 72 rdtss_task.o(.constdata) + rdtss_msg_handler_tab 0x01013df8 Data 72 rdtss_task.o(.constdata) + .constdata 0x01013e40 Section 40 ns_sec.o(.constdata) + .constdata 0x01013e68 Section 8 ns_sec.o(.constdata) + .constdata 0x01013e70 Section 820 ns_ble.o(.constdata) + fun_5_Array 0x01013e70 Data 820 ns_ble.o(.constdata) + .constdata 0x010141a4 Section 152 ns_ble_task.o(.constdata) + gapm_att_db 0x010141a4 Data 88 ns_ble_task.o(.constdata) + gattm_att_db 0x010141fc Data 64 ns_ble_task.o(.constdata) + .constdata 0x0101423c Section 200 ns_ble_task.o(.constdata) + app_msg_handler_tab 0x0101423c Data 200 ns_ble_task.o(.constdata) + .constdata 0x01014304 Section 12 ns_ble_task.o(.constdata) + .constdata 0x01014310 Section 8 app_dis.o(.constdata) + .constdata 0x01014318 Section 8 app_dis.o(.constdata) + .constdata 0x01014320 Section 266 app_rdtss.o(.constdata) + .constdata 0x0101442c Section 24 app_rdtss.o(.constdata) + .constdata 0x01014444 Section 168 cli_core.o(.constdata) + s_cmds 0x01014444 Data 168 cli_core.o(.constdata) + .constdata 0x010144ec Section 6 app_info.o(.constdata) + s_all_items 0x010144ec Data 6 app_info.o(.constdata) + .constdata 0x010144f2 Section 129 ctype_o.o(.constdata) + .constdata 0x01014574 Section 4 ctype_o.o(.constdata) + table 0x01014574 Data 4 ctype_o.o(.constdata) + .conststring 0x01014578 Section 785 cli_core.o(.conststring) + .conststring 0x0101488c Section 67 app_params.o(.conststring) + .conststring 0x010148d0 Section 73 app_bootset.o(.conststring) .data 0x20004000 Section 4 system_n32wb03x.o(.data) .data 0x20004004 Section 12 n32wb03x_qflash.o(.data) .data 0x20004010 Section 20 rwip_driver.o(.data) @@ -2689,76 +3139,84 @@ Image Symbol Table s_qflash_ready 0x20004789 Data 1 app_params.o(.data) .data 0x2000478a Section 1 app_bootset.o(.data) s_qflash_ready 0x2000478a Data 1 app_bootset.o(.data) - .data 0x2000478c Section 60 tasks.o(.data) - pxDelayedTaskList 0x20004790 Data 4 tasks.o(.data) - pxOverflowDelayedTaskList 0x20004794 Data 4 tasks.o(.data) - uxDeletedTasksWaitingCleanUp 0x20004798 Data 4 tasks.o(.data) - uxCurrentNumberOfTasks 0x2000479c Data 4 tasks.o(.data) - xTickCount 0x200047a0 Data 4 tasks.o(.data) - uxTopReadyPriority 0x200047a4 Data 4 tasks.o(.data) - xSchedulerRunning 0x200047a8 Data 4 tasks.o(.data) - uxPendedTicks 0x200047ac Data 4 tasks.o(.data) - xYieldPending 0x200047b0 Data 4 tasks.o(.data) - xNumOfOverflows 0x200047b4 Data 4 tasks.o(.data) - uxTaskNumber 0x200047b8 Data 4 tasks.o(.data) - xNextTaskUnblockTime 0x200047bc Data 4 tasks.o(.data) - xIdleTaskHandle 0x200047c0 Data 4 tasks.o(.data) - uxSchedulerSuspended 0x200047c4 Data 4 tasks.o(.data) - .data 0x200047c8 Section 24 heap_4.o(.data) - pxEnd 0x200047c8 Data 4 heap_4.o(.data) - xFreeBytesRemaining 0x200047cc Data 4 heap_4.o(.data) - xMinimumEverFreeBytesRemaining 0x200047d0 Data 4 heap_4.o(.data) - xBlockAllocatedBit 0x200047d4 Data 4 heap_4.o(.data) - xStart 0x200047d8 Data 8 heap_4.o(.data) - .data 0x200047e0 Section 4 port.o(.data) - uxCriticalNesting 0x200047e0 Data 4 port.o(.data) - .data 0x200047e4 Section 4 rand.o(.data) - _rand_state 0x200047e4 Data 4 rand.o(.data) - .data 0x200047e8 Section 4 errno.o(.data) - _errno 0x200047e8 Data 4 errno.o(.data) - .bss 0x200047ec Section 52 system_n32wb03x.o(.bss) - .bss 0x20004820 Section 808 n32wb03x_qflash.o(.bss) - ram_qflash_cmd 0x20004820 Data 808 n32wb03x_qflash.o(.bss) - .bss 0x20004b48 Section 284 prf.o(.bss) - .bss 0x20004c64 Section 80 ns_timer.o(.bss) - timer_callback_array 0x20004c64 Data 40 ns_timer.o(.bss) - modified_timer_callback_array 0x20004c8c Data 40 ns_timer.o(.bss) - .bss 0x20004cb4 Section 92 ns_sec.o(.bss) - .bss 0x20004d10 Section 432 ns_ble.o(.bss) - .bss 0x20004ec0 Section 480 cli_core.o(.bss) - s_taskList 0x20004ec0 Data 384 cli_core.o(.bss) - s_txBuf 0x20005040 Data 96 cli_core.o(.bss) - .bss 0x200050a0 Section 576 app_cli.o(.bss) - line 0x200050a0 Data 64 app_cli.o(.bss) - s_history 0x200050e0 Data 512 app_cli.o(.bss) - .bss 0x200052e0 Section 512 ble_up.o(.bss) - s_buf 0x200052e0 Data 512 ble_up.o(.bss) - .bss 0x200054e0 Section 1915 app_ble_proto.o(.bss) - s_line 0x200054e0 Data 64 app_ble_proto.o(.bss) - s_line 0x20005520 Data 64 app_ble_proto.o(.bss) - s_rxBuf 0x20005560 Data 512 app_ble_proto.o(.bss) - s_txFrame 0x20005760 Data 251 app_ble_proto.o(.bss) - s_cliRsp 0x2000585b Data 1024 app_ble_proto.o(.bss) - .bss 0x20005c5b Section 40 app_info.o(.bss) - s_tlv 0x20005c5b Data 40 app_info.o(.bss) - .bss 0x20005c84 Section 52 app_params.o(.bss) - s_params 0x20005c84 Data 52 app_params.o(.bss) - .bss 0x20005cb8 Section 240 tasks.o(.bss) - pxReadyTasksLists 0x20005cb8 Data 140 tasks.o(.bss) - xDelayedTaskList1 0x20005d44 Data 20 tasks.o(.bss) - xDelayedTaskList2 0x20005d58 Data 20 tasks.o(.bss) - xPendingReadyList 0x20005d6c Data 20 tasks.o(.bss) - xTasksWaitingTermination 0x20005d80 Data 20 tasks.o(.bss) - xSuspendedTaskList 0x20005d94 Data 20 tasks.o(.bss) - .bss 0x20005da8 Section 20480 heap_4.o(.bss) - ucHeap 0x20005da8 Data 20480 heap_4.o(.bss) - STACK 0x2000ada8 Section 2048 startup_n32wb03x.o(STACK) + .data 0x2000478c Section 20 cjson.o(.data) + global_error 0x2000478c Data 8 cjson.o(.data) + global_hooks 0x20004794 Data 12 cjson.o(.data) + .data 0x200047a0 Section 1 infra_cjson.o(.data) + s_done 0x200047a0 Data 1 infra_cjson.o(.data) + .data 0x200047a4 Section 60 tasks.o(.data) + pxDelayedTaskList 0x200047a8 Data 4 tasks.o(.data) + pxOverflowDelayedTaskList 0x200047ac Data 4 tasks.o(.data) + uxDeletedTasksWaitingCleanUp 0x200047b0 Data 4 tasks.o(.data) + uxCurrentNumberOfTasks 0x200047b4 Data 4 tasks.o(.data) + xTickCount 0x200047b8 Data 4 tasks.o(.data) + uxTopReadyPriority 0x200047bc Data 4 tasks.o(.data) + xSchedulerRunning 0x200047c0 Data 4 tasks.o(.data) + uxPendedTicks 0x200047c4 Data 4 tasks.o(.data) + xYieldPending 0x200047c8 Data 4 tasks.o(.data) + xNumOfOverflows 0x200047cc Data 4 tasks.o(.data) + uxTaskNumber 0x200047d0 Data 4 tasks.o(.data) + xNextTaskUnblockTime 0x200047d4 Data 4 tasks.o(.data) + xIdleTaskHandle 0x200047d8 Data 4 tasks.o(.data) + uxSchedulerSuspended 0x200047dc Data 4 tasks.o(.data) + .data 0x200047e0 Section 24 heap_4.o(.data) + pxEnd 0x200047e0 Data 4 heap_4.o(.data) + xFreeBytesRemaining 0x200047e4 Data 4 heap_4.o(.data) + xMinimumEverFreeBytesRemaining 0x200047e8 Data 4 heap_4.o(.data) + xBlockAllocatedBit 0x200047ec Data 4 heap_4.o(.data) + xStart 0x200047f0 Data 8 heap_4.o(.data) + .data 0x200047f8 Section 4 port.o(.data) + uxCriticalNesting 0x200047f8 Data 4 port.o(.data) + .data 0x200047fc Section 4 rand.o(.data) + _rand_state 0x200047fc Data 4 rand.o(.data) + .data 0x20004800 Section 4 mvars.o(.data) + .data 0x20004804 Section 4 mvars.o(.data) + .data 0x20004808 Section 4 errno.o(.data) + _errno 0x20004808 Data 4 errno.o(.data) + .bss 0x2000480c Section 52 system_n32wb03x.o(.bss) + .bss 0x20004840 Section 808 n32wb03x_qflash.o(.bss) + ram_qflash_cmd 0x20004840 Data 808 n32wb03x_qflash.o(.bss) + .bss 0x20004b68 Section 284 prf.o(.bss) + .bss 0x20004c84 Section 80 ns_timer.o(.bss) + timer_callback_array 0x20004c84 Data 40 ns_timer.o(.bss) + modified_timer_callback_array 0x20004cac Data 40 ns_timer.o(.bss) + .bss 0x20004cd4 Section 92 ns_sec.o(.bss) + .bss 0x20004d30 Section 432 ns_ble.o(.bss) + .bss 0x20004ee0 Section 480 cli_core.o(.bss) + s_taskList 0x20004ee0 Data 384 cli_core.o(.bss) + s_txBuf 0x20005060 Data 96 cli_core.o(.bss) + .bss 0x200050c0 Section 576 app_cli.o(.bss) + line 0x200050c0 Data 64 app_cli.o(.bss) + s_history 0x20005100 Data 512 app_cli.o(.bss) + .bss 0x20005300 Section 512 ble_up.o(.bss) + s_buf 0x20005300 Data 512 ble_up.o(.bss) + .bss 0x20005500 Section 1915 app_ble_proto.o(.bss) + s_line 0x20005500 Data 64 app_ble_proto.o(.bss) + s_line 0x20005540 Data 64 app_ble_proto.o(.bss) + s_rxBuf 0x20005580 Data 512 app_ble_proto.o(.bss) + s_txFrame 0x20005780 Data 251 app_ble_proto.o(.bss) + s_cliRsp 0x2000587b Data 1024 app_ble_proto.o(.bss) + .bss 0x20005c7b Section 40 app_info.o(.bss) + s_tlv 0x20005c7b Data 40 app_info.o(.bss) + .bss 0x20005ca4 Section 52 app_params.o(.bss) + s_params 0x20005ca4 Data 52 app_params.o(.bss) + .bss 0x20005cd8 Section 240 tasks.o(.bss) + pxReadyTasksLists 0x20005cd8 Data 140 tasks.o(.bss) + xDelayedTaskList1 0x20005d64 Data 20 tasks.o(.bss) + xDelayedTaskList2 0x20005d78 Data 20 tasks.o(.bss) + xPendingReadyList 0x20005d8c Data 20 tasks.o(.bss) + xTasksWaitingTermination 0x20005da0 Data 20 tasks.o(.bss) + xSuspendedTaskList 0x20005db4 Data 20 tasks.o(.bss) + .bss 0x20005dc8 Section 20480 heap_4.o(.bss) + ucHeap 0x20005dc8 Data 20480 heap_4.o(.bss) + HEAP 0x2000adc8 Section 512 startup_n32wb03x.o(HEAP) + STACK 0x2000afc8 Section 2048 startup_n32wb03x.o(STACK) Global Symbols Symbol Name Value Ov Type Size Object(Section) - BuildAttributes$$THM_ISAv3M$S$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE + BuildAttributes$$THM_ISAv3M$S$PE$A:L22$X:L11$S22$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$IEEEJ$EBA8$MICROLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE __ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE _printf_a 0x00000000 Number 0 stubs.o ABSOLUTE _printf_c 0x00000000 Number 0 stubs.o ABSOLUTE @@ -2805,6 +3263,9 @@ Image Symbol Table __cxa_finalize - Undefined Weak Reference _clock_init - Undefined Weak Reference _microlib_exit - Undefined Weak Reference + _scanf_int - Undefined Weak Reference + _scanf_longlong - Undefined Weak Reference + _scanf_string - Undefined Weak Reference __Vectors_Size 0x000000c0 Number 0 startup_n32wb03x.o ABSOLUTE Adc_IRQHandler 0x00000a9d Thumb Code 0 symbol_g15.obj ABSOLUTE Add2SelfBigHex256 0x00000abd Thumb Code 0 symbol_g15.obj ABSOLUTE @@ -3673,332 +4134,369 @@ Image Symbol Table __aeabi_idiv 0x010081b1 Thumb Code 0 idiv.o(.text) __aeabi_idivmod 0x010081b1 Thumb Code 40 idiv.o(.text) __aeabi_uldivmod 0x010081d9 Thumb Code 96 uldiv.o(.text) - rand 0x01008239 Thumb Code 18 rand.o(.text) - srand 0x0100824b Thumb Code 6 rand.o(.text) - __aeabi_memcpy 0x0100825d Thumb Code 36 memcpya.o(.text) - __aeabi_memcpy4 0x0100825d Thumb Code 0 memcpya.o(.text) - __aeabi_memcpy8 0x0100825d Thumb Code 0 memcpya.o(.text) - __aeabi_memset 0x01008281 Thumb Code 14 memseta.o(.text) - __aeabi_memset4 0x01008281 Thumb Code 0 memseta.o(.text) - __aeabi_memset8 0x01008281 Thumb Code 0 memseta.o(.text) - __aeabi_memclr 0x0100828f Thumb Code 4 memseta.o(.text) - __aeabi_memclr4 0x0100828f Thumb Code 0 memseta.o(.text) - __aeabi_memclr8 0x0100828f Thumb Code 0 memseta.o(.text) - _memset$wrapper 0x01008293 Thumb Code 18 memseta.o(.text) - strlen 0x010082a5 Thumb Code 14 strlen.o(.text) - strcmp 0x010082b3 Thumb Code 28 strcmp.o(.text) - memchr 0x010082cf Thumb Code 20 memchr.o(.text) - memcmp 0x010082e3 Thumb Code 26 memcmp.o(.text) - strcpy 0x010082fd Thumb Code 18 strcpy.o(.text) - strncmp 0x0100830f Thumb Code 30 strncmp.o(.text) - strtoul 0x0100832d Thumb Code 118 strtoul.o(.text) - __aeabi_fadd 0x010083a3 Thumb Code 162 fadd.o(.text) - __aeabi_fsub 0x01008445 Thumb Code 8 fadd.o(.text) - __aeabi_frsub 0x0100844d Thumb Code 8 fadd.o(.text) - __aeabi_fmul 0x01008455 Thumb Code 122 fmul.o(.text) - __aeabi_dadd 0x010084d1 Thumb Code 328 dadd.o(.text) - __aeabi_dsub 0x01008619 Thumb Code 12 dadd.o(.text) - __aeabi_drsub 0x01008625 Thumb Code 12 dadd.o(.text) - __aeabi_dmul 0x01008635 Thumb Code 202 dmul.o(.text) - __aeabi_ddiv 0x01008705 Thumb Code 234 ddiv.o(.text) - __aeabi_ui2f 0x010087f5 Thumb Code 14 ffltui.o(.text) - __aeabi_ui2d 0x01008805 Thumb Code 24 dfltui.o(.text) - __aeabi_ul2d 0x01008821 Thumb Code 22 dfltul.o(.text) - __aeabi_f2iz 0x0100883d Thumb Code 50 ffixi.o(.text) - __aeabi_d2ulz 0x01008871 Thumb Code 54 dfixul.o(.text) - __aeabi_f2d 0x010088b1 Thumb Code 40 f2d.o(.text) - __aeabi_d2f 0x010088d9 Thumb Code 56 d2f.o(.text) - __aeabi_llsl 0x01008911 Thumb Code 32 llshl.o(.text) - _ll_shift_l 0x01008911 Thumb Code 0 llshl.o(.text) - __aeabi_llsr 0x01008931 Thumb Code 34 llushr.o(.text) - _ll_ushift_r 0x01008931 Thumb Code 0 llushr.o(.text) - __aeabi_lasr 0x01008953 Thumb Code 38 llsshr.o(.text) - _ll_sshift_r 0x01008953 Thumb Code 0 llsshr.o(.text) - __rt_ctype_table 0x01008979 Thumb Code 4 ctype_o.o(.text) - _strtoul 0x01008981 Thumb Code 166 _strtoul.o(.text) - __I$use$fp 0x01008a27 Thumb Code 0 iusefp.o(.text) - _float_round 0x01008a27 Thumb Code 16 fepilogue.o(.text) - _float_epilogue 0x01008a37 Thumb Code 114 fepilogue.o(.text) - _double_round 0x01008aa9 Thumb Code 26 depilogue.o(.text) - _double_epilogue 0x01008ac3 Thumb Code 164 depilogue.o(.text) - __aeabi_cdrcmple 0x01008b69 Thumb Code 38 cdrcmple.o(.text) - __scatterload 0x01008b91 Thumb Code 28 init.o(.text) - __scatterload_rt2 0x01008b91 Thumb Code 0 init.o(.text) - _chval 0x01008bb5 Thumb Code 30 _chval.o(.text) - __decompress 0x01008bd3 Thumb Code 0 __dczerorl2.o(.text) - __decompress1 0x01008bd3 Thumb Code 86 __dczerorl2.o(.text) - Long Thumb to Thumb Veneer to __ARM_common_memcpy1_6 0x01008c29 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attmdb_get_attribute 0x01008c35 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attmdb_uuid16_comp 0x01008c41 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to co_list_pop_front 0x01008c4d Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attm_svc_create_db 0x01008c59 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to co_list_init 0x01008c65 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to co_list_extract 0x01008c71 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to co_list_push_back 0x01008c7d Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attmdb_att_get_permission 0x01008c89 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attmdb_get_service 0x01008c95 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attmdb_get_uuid 0x01008ca1 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to calib_lsi_clk 0x01008cad Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to attm_svc_create_db_128 0x01008cb9 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to ecc_init 0x01008cc5 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to h4tl_init 0x01008cd1 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to hci_init 0x01008cdd Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to ahi_init 0x01008ce9 Thumb Code 12 anon$$obj.o(Veneer$$Code) - Long Thumb to Thumb Veneer to __ARM_common_ll_muluu 0x01008cf5 Thumb Code 12 anon$$obj.o(Veneer$$Code) - ADC_ClearFlag 0x01008d01 Thumb Code 6 n32wb03x_adc.o(i.ADC_ClearFlag) - ADC_ConfigChannel 0x01008d07 Thumb Code 14 n32wb03x_adc.o(i.ADC_ConfigChannel) - ADC_ConverValueToTemperature 0x01008d15 Thumb Code 66 n32wb03x_adc.o(i.ADC_ConverValueToTemperature) - ADC_ConverValueToVoltage 0x01008d69 Thumb Code 136 n32wb03x_adc.o(i.ADC_ConverValueToVoltage) - ADC_DeInit 0x01008df1 Thumb Code 66 n32wb03x_adc.o(i.ADC_DeInit) - ADC_Enable 0x01008e45 Thumb Code 20 n32wb03x_adc.o(i.ADC_Enable) - ADC_EnableBypassFilter 0x01008e59 Thumb Code 48 n32wb03x_adc.o(i.ADC_EnableBypassFilter) - ADC_EnableTS 0x01008ea9 Thumb Code 18 n32wb03x_adc.o(i.ADC_EnableTS) - ADC_GetDat 0x01008ebb Thumb Code 6 n32wb03x_adc.o(i.ADC_GetDat) - ADC_GetFlagStatus 0x01008ec1 Thumb Code 14 n32wb03x_adc.o(i.ADC_GetFlagStatus) - ADC_SetOverSampleCounter 0x01008ed1 Thumb Code 18 n32wb03x_adc.o(i.ADC_SetOverSampleCounter) - AppBootset_CmdBsdump 0x01008ee9 Thumb Code 48 app_bootset.o(i.AppBootset_CmdBsdump) - AppBootset_CmdBsset 0x01008f1d Thumb Code 410 app_bootset.o(i.AppBootset_CmdBsset) - AppCli_Init 0x0100924d Thumb Code 30 app_cli.o(i.AppCli_Init) - AppParams_CmdAppget 0x01009275 Thumb Code 42 app_params.o(i.AppParams_CmdAppget) - AppParams_CmdAppset 0x01009321 Thumb Code 154 app_params.o(i.AppParams_CmdAppset) - DMA_ClearFlag 0x01009fbd Thumb Code 4 n32wb03x_dma.o(i.DMA_ClearFlag) - DMA_DeInit 0x01009fc1 Thumb Code 106 n32wb03x_dma.o(i.DMA_DeInit) - DMA_EnableChannel 0x0100a049 Thumb Code 20 n32wb03x_dma.o(i.DMA_EnableChannel) - DMA_GetFlagStatus 0x0100a061 Thumb Code 14 n32wb03x_dma.o(i.DMA_GetFlagStatus) - DMA_Init 0x0100a071 Thumb Code 58 n32wb03x_dma.o(i.DMA_Init) - DMA_RequestRemap 0x0100a0b1 Thumb Code 14 n32wb03x_dma.o(i.DMA_RequestRemap) - EXTI_ClrITPendBit 0x0100a0c1 Thumb Code 6 n32wb03x_exti.o(i.EXTI_ClrITPendBit) - EXTI_GetITStatus 0x0100a0cd Thumb Code 24 n32wb03x_exti.o(i.EXTI_GetITStatus) - EXTI_InitPeripheral 0x0100a0e9 Thumb Code 108 n32wb03x_exti.o(i.EXTI_InitPeripheral) - GPIO_InitPeripheral 0x0100a159 Thumb Code 184 n32wb03x_gpio.o(i.GPIO_InitPeripheral) - GPIO_InitStruct 0x0100a211 Thumb Code 22 n32wb03x_gpio.o(i.GPIO_InitStruct) - GPIO_ResetBits 0x0100a22d Thumb Code 4 n32wb03x_gpio.o(i.GPIO_ResetBits) - GPIO_SetBits 0x0100a231 Thumb Code 4 n32wb03x_gpio.o(i.GPIO_SetBits) - GPIO_TogglePin 0x0100a235 Thumb Code 8 n32wb03x_gpio.o(i.GPIO_TogglePin) - HardFault_Handler 0x0100a23d Thumb Code 58 n32wb03x_it.o(i.HardFault_Handler) - LedBlink 0x0100a2ed Thumb Code 8 app_gpio.o(i.LedBlink) - LedInit 0x0100a2f5 Thumb Code 64 app_gpio.o(i.LedInit) - LedOff 0x0100a341 Thumb Code 8 app_gpio.o(i.LedOff) - LedOn 0x0100a349 Thumb Code 8 app_gpio.o(i.LedOn) - NVIC_Init 0x0100a351 Thumb Code 102 misc.o(i.NVIC_Init) - OTPTrim_Read 0x0100a3c9 Thumb Code 186 system_n32wb03x.o(i.OTPTrim_Read) - Qflash_Erase_Sector 0x0100a495 Thumb Code 30 n32wb03x_qflash.o(i.Qflash_Erase_Sector) - Qflash_Init 0x0100a4b9 Thumb Code 30 n32wb03x_qflash.o(i.Qflash_Init) - Qflash_Write 0x0100a4f1 Thumb Code 30 n32wb03x_qflash.o(i.Qflash_Write) - RCC_ConfigAdcClk 0x0100a515 Thumb Code 14 n32wb03x_rcc.o(i.RCC_ConfigAdcClk) - RCC_EnableAHBPeriphClk 0x0100a529 Thumb Code 18 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk) - RCC_EnableAHBPeriphReset 0x0100a541 Thumb Code 18 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphReset) - RCC_EnableAPB2PeriphClk 0x0100a559 Thumb Code 18 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk) - RCC_Enable_ADC_CLK_SRC_AUDIOPLL 0x0100a571 Thumb Code 22 n32wb03x_rcc.o(i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL) - RCC_GetClocksFreqValue 0x0100a58d Thumb Code 90 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue) - SVC_Handler 0x0100a601 Thumb Code 2 port.o(i.SVC_Handler) - SysTick_Handler 0x0100a605 Thumb Code 32 port.o(i.SysTick_Handler) - SystemGetMacAddr 0x0100a629 Thumb Code 44 system_n32wb03x.o(i.SystemGetMacAddr) - SystemInit 0x0100a65d Thumb Code 346 system_n32wb03x.o(i.SystemInit) - SystemTrimValueGet 0x0100a7dd Thumb Code 44 system_n32wb03x.o(i.SystemTrimValueGet) - USART1_IRQHandler 0x0100a80d Thumb Code 8 n32wb03x_it.o(i.USART1_IRQHandler) - USART_ConfigInt 0x0100a815 Thumb Code 50 n32wb03x_usart.o(i.USART_ConfigInt) - USART_Enable 0x0100a849 Thumb Code 22 n32wb03x_usart.o(i.USART_Enable) - USART_EnableDMA 0x0100a865 Thumb Code 16 n32wb03x_usart.o(i.USART_EnableDMA) - USART_GetFlagStatus 0x0100a875 Thumb Code 14 n32wb03x_usart.o(i.USART_GetFlagStatus) - USART_GetIntStatus 0x0100a883 Thumb Code 64 n32wb03x_usart.o(i.USART_GetIntStatus) - USART_Init 0x0100a8c5 Thumb Code 120 n32wb03x_usart.o(i.USART_Init) - USART_ReceiveData 0x0100a94d Thumb Code 8 n32wb03x_usart.o(i.USART_ReceiveData) - USART_SendData 0x0100a955 Thumb Code 8 n32wb03x_usart.o(i.USART_SendData) - __0printf 0x0100a95d Thumb Code 24 printfa.o(i.__0printf) - __1printf 0x0100a95d Thumb Code 0 printfa.o(i.__0printf) - __2printf 0x0100a95d Thumb Code 0 printfa.o(i.__0printf) - __c89printf 0x0100a95d Thumb Code 0 printfa.o(i.__0printf) - printf 0x0100a95d Thumb Code 0 printfa.o(i.__0printf) - __0sprintf 0x0100a97d Thumb Code 36 printfa.o(i.__0sprintf) - __1sprintf 0x0100a97d Thumb Code 0 printfa.o(i.__0sprintf) - __2sprintf 0x0100a97d Thumb Code 0 printfa.o(i.__0sprintf) - __c89sprintf 0x0100a97d Thumb Code 0 printfa.o(i.__0sprintf) - sprintf 0x0100a97d Thumb Code 0 printfa.o(i.__0sprintf) - __0vsnprintf 0x0100a9a5 Thumb Code 40 printfa.o(i.__0vsnprintf) - __1vsnprintf 0x0100a9a5 Thumb Code 0 printfa.o(i.__0vsnprintf) - __2vsnprintf 0x0100a9a5 Thumb Code 0 printfa.o(i.__0vsnprintf) - __c89vsnprintf 0x0100a9a5 Thumb Code 0 printfa.o(i.__0vsnprintf) - vsnprintf 0x0100a9a5 Thumb Code 0 printfa.o(i.__0vsnprintf) - __ARM_clz 0x0100a9d1 Thumb Code 46 depilogue.o(i.__ARM_clz) - __aeabi_errno_addr 0x0100aa01 Thumb Code 4 errno.o(i.__aeabi_errno_addr) - __rt_errno_addr 0x0100aa01 Thumb Code 0 errno.o(i.__aeabi_errno_addr) - app_ble_adv_init 0x0100b2d5 Thumb Code 90 app_ble.o(i.app_ble_adv_init) - app_ble_adv_msg_handler 0x0100b349 Thumb Code 2 app_ble.o(i.app_ble_adv_msg_handler) - app_ble_connected 0x0100b34d Thumb Code 38 app_ble.o(i.app_ble_connected) - app_ble_disconnected 0x0100b391 Thumb Code 40 app_ble.o(i.app_ble_disconnected) - app_ble_gap_params_init 0x0100b3ed Thumb Code 118 app_ble.o(i.app_ble_gap_params_init) - app_ble_init 0x0100b485 Thumb Code 58 app_ble.o(i.app_ble_init) - app_ble_msg_handler 0x0100b4d1 Thumb Code 90 app_ble.o(i.app_ble_msg_handler) - app_ble_proto_cli_exec 0x0100b53d Thumb Code 150 app_ble_proto.o(i.app_ble_proto_cli_exec) - app_ble_proto_cli_rsp 0x0100b629 Thumb Code 50 app_ble_proto.o(i.app_ble_proto_cli_rsp) - app_ble_proto_init 0x0100b669 Thumb Code 14 app_ble_proto.o(i.app_ble_proto_init) - app_ble_proto_log_get 0x0100b67d Thumb Code 6 app_ble_proto.o(i.app_ble_proto_log_get) - app_ble_proto_log_set 0x0100b689 Thumb Code 12 app_ble_proto.o(i.app_ble_proto_log_set) - app_ble_proto_on_disconnect 0x0100b699 Thumb Code 22 app_ble_proto.o(i.app_ble_proto_on_disconnect) - app_ble_proto_rx_bytes 0x0100b6b5 Thumb Code 380 app_ble_proto.o(i.app_ble_proto_rx_bytes) - app_ble_proto_send_frame 0x0100b855 Thumb Code 158 app_ble_proto.o(i.app_ble_proto_send_frame) - app_ble_sec_init 0x0100b90d Thumb Code 70 app_ble.o(i.app_ble_sec_init) - app_dis_add_dis 0x0100ba39 Thumb Code 74 app_dis.o(i.app_dis_add_dis) - app_entry_point_handler 0x0100ba95 Thumb Code 238 ns_ble_task.o(i.app_entry_point_handler) - app_fan_get_rpm 0x0100bb99 Thumb Code 4 app_info.o(i.app_fan_get_rpm) - app_info_chip_temp_c10 0x0100bba1 Thumb Code 74 app_info.o(i.app_info_chip_temp_c10) - app_info_handle_query 0x0100bbfd Thumb Code 70 app_info.o(i.app_info_handle_query) - app_info_last_temp_raw 0x0100bc49 Thumb Code 6 app_info.o(i.app_info_last_temp_raw) - app_info_tlv_snapshot 0x0100bc55 Thumb Code 34 app_info.o(i.app_info_tlv_snapshot) - app_info_vdd_mv 0x0100bc81 Thumb Code 28 app_info.o(i.app_info_vdd_mv) - app_ota_abort 0x0100bd69 Thumb Code 18 app_ota.o(i.app_ota_abort) - app_ota_handle_frame 0x0100bd81 Thumb Code 268 app_ota.o(i.app_ota_handle_frame) - app_params_get 0x0100be9d Thumb Code 4 app_params.o(i.app_params_get) - app_params_init 0x0100bea5 Thumb Code 76 app_params.o(i.app_params_init) - app_params_restore_defaults 0x0100bf01 Thumb Code 36 app_params.o(i.app_params_restore_defaults) - app_rdtss_add_rdts 0x0100bf2d Thumb Code 82 app_rdtss.o(i.app_rdtss_add_rdts) - app_user_msg_handler 0x0100c145 Thumb Code 2 app_ble.o(i.app_user_msg_handler) - attm_att_set_value 0x0100c149 Thumb Code 172 lib_att.o(i.attm_att_set_value) - ble_up_on_cfm 0x0100c219 Thumb Code 14 ble_up.o(i.ble_up_on_cfm) - ble_up_poll 0x0100c22d Thumb Code 76 ble_up.o(i.ble_up_poll) - ble_up_reset 0x0100c285 Thumb Code 12 ble_up.o(i.ble_up_reset) - ble_up_write 0x0100c295 Thumb Code 58 ble_up.o(i.ble_up_write) - bsp_usart_init 0x0100c455 Thumb Code 196 bsp_usart.o(i.bsp_usart_init) - bsp_usart_read_byte 0x0100c531 Thumb Code 52 bsp_usart.o(i.bsp_usart_read_byte) - bsp_usart_rx_isr_handler 0x0100c569 Thumb Code 68 bsp_usart.o(i.bsp_usart_rx_isr_handler) - bsp_usart_set_baud 0x0100c5bd Thumb Code 98 bsp_usart.o(i.bsp_usart_set_baud) - bsp_usart_tx_lock 0x0100c62d Thumb Code 28 bsp_usart.o(i.bsp_usart_tx_lock) - bsp_usart_tx_unlock 0x0100c64d Thumb Code 32 bsp_usart.o(i.bsp_usart_tx_unlock) - bsp_usart_write_dma 0x0100c671 Thumb Code 134 bsp_usart.o(i.bsp_usart_write_dma) - caiic_crc32 0x0100c709 Thumb Code 48 boot_crc32.o(i.caiic_crc32) - check_client_char_cfg 0x0100c73d Thumb Code 42 rdts_common.o(i.check_client_char_cfg) - cli_cmd_count 0x0100c767 Thumb Code 4 cli_core.o(i.cli_cmd_count) - cli_cmd_name 0x0100c76d Thumb Code 18 cli_core.o(i.cli_cmd_name) - cli_exec_line 0x0100c785 Thumb Code 140 cli_core.o(i.cli_exec_line) - cli_printf 0x0100c839 Thumb Code 36 cli_core.o(i.cli_printf) - cli_set_output 0x0100c8f9 Thumb Code 6 cli_core.o(i.cli_set_output) - cli_write 0x0100c905 Thumb Code 30 cli_core.o(i.cli_write) - diss_check_val_len 0x0100c929 Thumb Code 42 diss.o(i.diss_check_val_len) - diss_handle_to_value 0x0100c995 Thumb Code 52 diss.o(i.diss_handle_to_value) - diss_prf_itf_get 0x0100ca69 Thumb Code 4 diss.o(i.diss_prf_itf_get) - diss_task_init 0x0100cb0d Thumb Code 28 diss_task.o(i.diss_task_init) - diss_value_to_handle 0x0100cc69 Thumb Code 58 diss.o(i.diss_value_to_handle) - eTaskGetState 0x0100cca5 Thumb Code 82 tasks.o(i.eTaskGetState) - fputc 0x0100cd05 Thumb Code 54 bsp_usart.o(i.fputc) - get_cfg_handle 0x0100dec9 Thumb Code 98 rdts_common.o(i.get_cfg_handle) - get_value_handle 0x0100df35 Thumb Code 78 rdts_common.o(i.get_value_handle) - llhwc_modem_setmode 0x0100e1d5 Thumb Code 44 rwip_driver.o(i.llhwc_modem_setmode) - llhwc_phy_prerx_flash 0x0100e205 Thumb Code 172 rwip_driver.o(i.llhwc_phy_prerx_flash) - main 0x0100e3c5 Thumb Code 136 main.o(i.main) - ns_EXTI4_12_IRQHandler 0x0100e565 Thumb Code 76 ns_ble.o(i.ns_EXTI4_12_IRQHandler) - ns_HardFault_Handler 0x0100e5c1 Thumb Code 26 ns_ble.o(i.ns_HardFault_Handler) - ns_ble_add_prf_func_register 0x0100e5e9 Thumb Code 28 ns_ble.o(i.ns_ble_add_prf_func_register) - ns_ble_add_svc 0x0100e609 Thumb Code 34 ns_ble.o(i.ns_ble_add_svc) - ns_ble_adv_fsm_next 0x0100e635 Thumb Code 202 ns_ble.o(i.ns_ble_adv_fsm_next) - ns_ble_adv_init 0x0100e711 Thumb Code 58 ns_ble.o(i.ns_ble_adv_init) - ns_ble_adv_start 0x0100e759 Thumb Code 72 ns_ble.o(i.ns_ble_adv_start) - ns_ble_adv_stop 0x0100e7a9 Thumb Code 66 ns_ble.o(i.ns_ble_adv_stop) - ns_ble_delete_init 0x0100e7f5 Thumb Code 46 ns_ble.o(i.ns_ble_delete_init) - ns_ble_delete_scan 0x0100e831 Thumb Code 42 ns_ble.o(i.ns_ble_delete_scan) - ns_ble_disconnect 0x0100e869 Thumb Code 34 ns_ble.o(i.ns_ble_disconnect) - ns_ble_gap_init 0x0100e895 Thumb Code 70 ns_ble.o(i.ns_ble_gap_init) - ns_ble_get_connection_num 0x0100e901 Thumb Code 32 ns_ble.o(i.ns_ble_get_connection_num) - ns_ble_list_set_ral 0x0100e925 Thumb Code 76 ns_ble.o(i.ns_ble_list_set_ral) - ns_ble_lsc_config 0x0100e975 Thumb Code 106 ns_ble.o(i.ns_ble_lsc_config) - ns_ble_mtu_set 0x0100e9f9 Thumb Code 40 ns_ble.o(i.ns_ble_mtu_set) - ns_ble_prf_task_register 0x0100ea2d Thumb Code 34 ns_ble.o(i.ns_ble_prf_task_register) - ns_ble_scan_data_find 0x0100ea55 Thumb Code 72 ns_ble.o(i.ns_ble_scan_data_find) - ns_ble_stack_init 0x0100ea9d Thumb Code 448 ns_ble.o(i.ns_ble_stack_init) - ns_ble_start_init 0x0100ed15 Thumb Code 260 ns_ble.o(i.ns_ble_start_init) - ns_ble_start_scan 0x0100ee39 Thumb Code 178 ns_ble.o(i.ns_ble_start_scan) - ns_ble_stop_init 0x0100ef05 Thumb Code 42 ns_ble.o(i.ns_ble_stop_init) - ns_ble_stop_scan 0x0100ef3d Thumb Code 48 ns_ble.o(i.ns_ble_stop_scan) - ns_ble_update_param 0x0100ef79 Thumb Code 112 ns_ble.o(i.ns_ble_update_param) - ns_bond_last_bonded_addr 0x0100f039 Thumb Code 48 ns_sec.o(i.ns_bond_last_bonded_addr) - ns_bond_last_bonded_peer_id 0x0100f069 Thumb Code 48 ns_sec.o(i.ns_bond_last_bonded_peer_id) - ns_bond_last_bonded_ral_info 0x0100f099 Thumb Code 92 ns_sec.o(i.ns_bond_last_bonded_ral_info) - ns_bond_resolv_addr_start 0x0100f0fd Thumb Code 92 ns_sec.o(i.ns_bond_resolv_addr_start) - ns_bond_search_addr_irk 0x0100f15d Thumb Code 110 ns_sec.o(i.ns_bond_search_addr_irk) - ns_peripheral_config 0x0100f1d9 Thumb Code 162 ns_ble.o(i.ns_peripheral_config) - ns_sec_bond_store_evt_handler 0x0100f2ad Thumb Code 308 ns_sec.o(i.ns_sec_bond_store_evt_handler) - ns_sec_get_bond_status 0x0100f40d Thumb Code 12 ns_sec.o(i.ns_sec_get_bond_status) - ns_sec_get_iocap 0x0100f41d Thumb Code 6 ns_sec.o(i.ns_sec_get_iocap) - ns_sec_init 0x0100f429 Thumb Code 94 ns_sec.o(i.ns_sec_init) - ns_sleep_lock_acquire 0x0100f491 Thumb Code 20 ns_sleep.o(i.ns_sleep_lock_acquire) - ns_sleep_lock_release 0x0100f4a9 Thumb Code 16 ns_sleep.o(i.ns_sleep_lock_release) - ns_timer_api_process_handler 0x0100f4bd Thumb Code 166 ns_timer.o(i.ns_timer_api_process_handler) - prf_add_profile 0x0100f951 Thumb Code 132 prf.o(i.prf_add_profile) - prf_dst_task_get 0x0100f9d9 Thumb Code 16 prf.o(i.prf_dst_task_get) - prf_env_get 0x0100f9e9 Thumb Code 44 prf.o(i.prf_env_get) - prf_get_id_from_task 0x0100fa19 Thumb Code 50 prf.o(i.prf_get_id_from_task) - prf_get_itf_func_register 0x0100fa51 Thumb Code 34 prf.o(i.prf_get_itf_func_register) - prf_get_task_from_id 0x0100fa79 Thumb Code 50 prf.o(i.prf_get_task_from_id) - prf_init 0x0100fab1 Thumb Code 170 prf.o(i.prf_init) - pvPortMalloc 0x0100ff11 Thumb Code 230 heap_4.o(i.pvPortMalloc) - pvTaskIncrementMutexHeldCount 0x01010005 Thumb Code 20 tasks.o(i.pvTaskIncrementMutexHeldCount) - pxPortInitialiseStack 0x0101001d Thumb Code 30 port.o(i.pxPortInitialiseStack) - rdtss_get_att_handle 0x010101ff Thumb Code 28 rdts_common.o(i.rdtss_get_att_handle) - rdtss_get_att_idx 0x0101021b Thumb Code 40 rdts_common.o(i.rdtss_get_att_idx) - rdtss_init_ccc_values 0x010102dd Thumb Code 160 rdtss_task.o(i.rdtss_init_ccc_values) - rdtss_prf_itf_get 0x01010381 Thumb Code 4 rdtss.o(i.rdtss_prf_itf_get) - rdtss_send_notify 0x01010389 Thumb Code 70 app_rdtss.o(i.rdtss_send_notify) - rdtss_set_ccc_value 0x010103dd Thumb Code 52 rdtss_task.o(i.rdtss_set_ccc_value) - rdtss_task_init 0x01010411 Thumb Code 28 rdtss_task.o(i.rdtss_task_init) - rwip_init 0x010107c5 Thumb Code 198 rwip.o(i.rwip_init) - rwip_slp_isr 0x010108dd Thumb Code 198 rwip_driver.o(i.rwip_slp_isr) - uxListRemove 0x010109d9 Thumb Code 38 list.o(i.uxListRemove) - uxTaskGetNumberOfTasks 0x01010a01 Thumb Code 6 tasks.o(i.uxTaskGetNumberOfTasks) - uxTaskGetSystemState 0x01010a0d Thumb Code 134 tasks.o(i.uxTaskGetSystemState) - vListInitialise 0x01010aa5 Thumb Code 22 list.o(i.vListInitialise) - vListInitialiseItem 0x01010abb Thumb Code 6 list.o(i.vListInitialiseItem) - vListInsert 0x01010ac1 Thumb Code 50 list.o(i.vListInsert) - vListInsertEnd 0x01010af3 Thumb Code 24 list.o(i.vListInsertEnd) - vPortEnterCritical 0x01010b0d Thumb Code 20 port.o(i.vPortEnterCritical) - vPortExitCritical 0x01010b25 Thumb Code 22 port.o(i.vPortExitCritical) - vPortFree 0x01010b41 Thumb Code 64 heap_4.o(i.vPortFree) - vPortYield 0x01010b85 Thumb Code 18 port.o(i.vPortYield) - vTaskDelay 0x01010b9d Thumb Code 44 tasks.o(i.vTaskDelay) - vTaskInternalSetTimeOutState 0x01010bcd Thumb Code 12 tasks.o(i.vTaskInternalSetTimeOutState) - vTaskList 0x01010bdd Thumb Code 188 tasks.o(i.vTaskList) - vTaskMissedYield 0x01010cad Thumb Code 8 tasks.o(i.vTaskMissedYield) - vTaskPlaceOnEventList 0x01010cb9 Thumb Code 32 tasks.o(i.vTaskPlaceOnEventList) - vTaskPriorityDisinheritAfterTimeout 0x01010cdd Thumb Code 106 tasks.o(i.vTaskPriorityDisinheritAfterTimeout) - vTaskStartScheduler 0x01010d51 Thumb Code 60 tasks.o(i.vTaskStartScheduler) - vTaskSuspendAll 0x01010da1 Thumb Code 10 tasks.o(i.vTaskSuspendAll) - vTaskSwitchContext 0x01010db1 Thumb Code 92 tasks.o(i.vTaskSwitchContext) - xPortGetFreeHeapSize 0x01010e15 Thumb Code 6 heap_4.o(i.xPortGetFreeHeapSize) - xPortGetMinimumEverFreeHeapSize 0x01010e21 Thumb Code 6 heap_4.o(i.xPortGetMinimumEverFreeHeapSize) - xPortStartScheduler 0x01010e2d Thumb Code 62 port.o(i.xPortStartScheduler) - xQueueCreateMutex 0x01010e7d Thumb Code 36 queue.o(i.xQueueCreateMutex) - xQueueGenericCreate 0x01010ea1 Thumb Code 68 queue.o(i.xQueueGenericCreate) - xQueueGenericReset 0x01010ee5 Thumb Code 110 queue.o(i.xQueueGenericReset) - xQueueGenericSend 0x01010f53 Thumb Code 398 queue.o(i.xQueueGenericSend) - xQueueGenericSendFromISR 0x010110e1 Thumb Code 142 queue.o(i.xQueueGenericSendFromISR) - xQueueReceive 0x0101116f Thumb Code 322 queue.o(i.xQueueReceive) - xQueueSemaphoreTake 0x010112b1 Thumb Code 370 queue.o(i.xQueueSemaphoreTake) - xTaskCheckForTimeOut 0x01011425 Thumb Code 94 tasks.o(i.xTaskCheckForTimeOut) - xTaskCreate 0x01011489 Thumb Code 348 tasks.o(i.xTaskCreate) - xTaskGetSchedulerState 0x01011601 Thumb Code 26 tasks.o(i.xTaskGetSchedulerState) - xTaskGetTickCount 0x01011621 Thumb Code 6 tasks.o(i.xTaskGetTickCount) - xTaskIncrementTick 0x0101162d Thumb Code 202 tasks.o(i.xTaskIncrementTick) - xTaskPriorityDisinherit 0x01011701 Thumb Code 96 tasks.o(i.xTaskPriorityDisinherit) - xTaskPriorityInherit 0x01011769 Thumb Code 110 tasks.o(i.xTaskPriorityInherit) - xTaskRemoveFromEventList 0x010117e1 Thumb Code 88 tasks.o(i.xTaskRemoveFromEventList) - xTaskResumeAll 0x01011845 Thumb Code 186 tasks.o(i.xTaskResumeAll) - TRIM_READ_CMD_CODE 0x0101190c Data 320 system_n32wb03x.o(.constdata) - CMD_RDID 0x01011a4c Data 152 system_n32wb03x.o(.constdata) - const_qflash_cmd 0x01011af0 Data 804 n32wb03x_qflash.o(.constdata) - diss_att_db 0x01011e34 Data 152 diss.o(.constdata) - diss_itf 0x01011ecc Data 16 diss.o(.constdata) - rdtss_itf 0x01011ef4 Data 16 rdtss.o(.constdata) - app_sec_msg_handler_list 0x01011f4c Data 40 ns_sec.o(.constdata) - app_sec_handlers 0x01011f74 Data 8 ns_sec.o(.constdata) - TASK_DESC_APP_M 0x01012410 Data 12 ns_ble_task.o(.constdata) - app_dis_msg_handler_list 0x0101241c Data 8 app_dis.o(.constdata) - app_dis_handlers 0x01012424 Data 8 app_dis.o(.constdata) - app_rdtss_handlers 0x0101242c Data 8 app_rdtss.o(.constdata) - app_rdts_svc_uuid 0x01012434 Data 16 app_rdtss.o(.constdata) - app_rdts_att_db 0x01012444 Data 242 app_rdtss.o(.constdata) - app_rdtss_msg_handler_list 0x01012538 Data 24 app_rdtss.o(.constdata) - __ctype_table 0x010125fe Data 129 ctype_o.o(.constdata) - Region$$Table$$Base 0x010129d8 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x010129f8 Number 0 anon$$obj.o(Region$$Table) + tolower 0x01008239 Thumb Code 12 tolower.o(.text) + rand 0x01008245 Thumb Code 18 rand.o(.text) + srand 0x01008257 Thumb Code 6 rand.o(.text) + __aeabi_memcpy 0x01008269 Thumb Code 36 memcpya.o(.text) + __aeabi_memcpy4 0x01008269 Thumb Code 0 memcpya.o(.text) + __aeabi_memcpy8 0x01008269 Thumb Code 0 memcpya.o(.text) + __aeabi_memset 0x0100828d Thumb Code 14 memseta.o(.text) + __aeabi_memset4 0x0100828d Thumb Code 0 memseta.o(.text) + __aeabi_memset8 0x0100828d Thumb Code 0 memseta.o(.text) + __aeabi_memclr 0x0100829b Thumb Code 4 memseta.o(.text) + __aeabi_memclr4 0x0100829b Thumb Code 0 memseta.o(.text) + __aeabi_memclr8 0x0100829b Thumb Code 0 memseta.o(.text) + _memset$wrapper 0x0100829f Thumb Code 18 memseta.o(.text) + strlen 0x010082b1 Thumb Code 14 strlen.o(.text) + strcmp 0x010082bf Thumb Code 28 strcmp.o(.text) + memchr 0x010082db Thumb Code 20 memchr.o(.text) + memcmp 0x010082ef Thumb Code 26 memcmp.o(.text) + strcpy 0x01008309 Thumb Code 18 strcpy.o(.text) + strncmp 0x0100831b Thumb Code 30 strncmp.o(.text) + __0sscanf 0x01008339 Thumb Code 50 __0sscanf.o(.text) + _scanf_real 0x01008493 Thumb Code 0 scanf_fp.o(.text) + _scanf_really_real 0x01008493 Thumb Code 586 scanf_fp.o(.text) + strtoul 0x010086e9 Thumb Code 118 strtoul.o(.text) + __aeabi_fadd 0x0100875f Thumb Code 162 fadd.o(.text) + __aeabi_fsub 0x01008801 Thumb Code 8 fadd.o(.text) + __aeabi_frsub 0x01008809 Thumb Code 8 fadd.o(.text) + __aeabi_fmul 0x01008811 Thumb Code 122 fmul.o(.text) + __aeabi_dadd 0x0100888d Thumb Code 328 dadd.o(.text) + __aeabi_dsub 0x010089d5 Thumb Code 12 dadd.o(.text) + __aeabi_drsub 0x010089e1 Thumb Code 12 dadd.o(.text) + __aeabi_dmul 0x010089f1 Thumb Code 202 dmul.o(.text) + __aeabi_ddiv 0x01008ac1 Thumb Code 234 ddiv.o(.text) + __ARM_scalbn 0x01008bb1 Thumb Code 44 dscalb.o(.text) + scalbn 0x01008bb1 Thumb Code 0 dscalb.o(.text) + __aeabi_ui2f 0x01008bdd Thumb Code 14 ffltui.o(.text) + __aeabi_i2d 0x01008bed Thumb Code 34 dflti.o(.text) + __aeabi_ui2d 0x01008c15 Thumb Code 24 dfltui.o(.text) + __aeabi_ul2d 0x01008c31 Thumb Code 22 dfltul.o(.text) + __aeabi_f2iz 0x01008c4d Thumb Code 50 ffixi.o(.text) + __aeabi_d2iz 0x01008c81 Thumb Code 62 dfixi.o(.text) + __aeabi_d2ulz 0x01008cc9 Thumb Code 54 dfixul.o(.text) + __aeabi_f2d 0x01008d09 Thumb Code 40 f2d.o(.text) + __aeabi_cdcmpeq 0x01008d31 Thumb Code 0 cdcmple.o(.text) + __aeabi_cdcmple 0x01008d31 Thumb Code 38 cdcmple.o(.text) + __aeabi_cdrcmple 0x01008d59 Thumb Code 38 cdrcmple.o(.text) + __aeabi_d2f 0x01008d81 Thumb Code 56 d2f.o(.text) + __aeabi_lmul 0x01008db9 Thumb Code 122 llmul.o(.text) + _ll_mul 0x01008db9 Thumb Code 0 llmul.o(.text) + __aeabi_llsl 0x01008e33 Thumb Code 32 llshl.o(.text) + _ll_shift_l 0x01008e33 Thumb Code 0 llshl.o(.text) + __aeabi_llsr 0x01008e53 Thumb Code 34 llushr.o(.text) + _ll_ushift_r 0x01008e53 Thumb Code 0 llushr.o(.text) + __aeabi_lasr 0x01008e75 Thumb Code 38 llsshr.o(.text) + _ll_sshift_r 0x01008e75 Thumb Code 0 llsshr.o(.text) + __rt_ctype_table 0x01008e9d Thumb Code 4 ctype_o.o(.text) + isspace 0x01008ea5 Thumb Code 18 isspace_o.o(.text) + __vfscanf_char 0x01008ec5 Thumb Code 24 scanf_char.o(.text) + _sgetc 0x01008ee5 Thumb Code 32 _sgetc.o(.text) + _sbackspace 0x01008f05 Thumb Code 36 _sgetc.o(.text) + _strtoul 0x01008f29 Thumb Code 166 _strtoul.o(.text) + __strtod_int 0x01009007 Thumb Code 94 strtod.o(.text) + __I$use$fp 0x01009075 Thumb Code 0 iusefp.o(.text) + _float_round 0x01009075 Thumb Code 16 fepilogue.o(.text) + _float_epilogue 0x01009085 Thumb Code 114 fepilogue.o(.text) + _double_round 0x010090f7 Thumb Code 26 depilogue.o(.text) + _double_epilogue 0x01009111 Thumb Code 164 depilogue.o(.text) + __scatterload 0x010091b5 Thumb Code 28 init.o(.text) + __scatterload_rt2 0x010091b5 Thumb Code 0 init.o(.text) + _chval 0x010091d9 Thumb Code 30 _chval.o(.text) + __vfscanf 0x010091f9 Thumb Code 812 _scanf.o(.text) + __decompress 0x01009531 Thumb Code 0 __dclz77c.o(.text) + __decompress2 0x01009531 Thumb Code 96 __dclz77c.o(.text) + Long Thumb to Thumb Veneer to __ARM_common_memcpy1_6 0x01009591 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attmdb_get_attribute 0x0100959d Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attmdb_uuid16_comp 0x010095a9 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to co_list_pop_front 0x010095b5 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attm_svc_create_db 0x010095c1 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to co_list_init 0x010095cd Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to co_list_extract 0x010095d9 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to co_list_push_back 0x010095e5 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attmdb_att_get_permission 0x010095f1 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attmdb_get_service 0x010095fd Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attmdb_get_uuid 0x01009609 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to calib_lsi_clk 0x01009615 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to __ARM_common_memcpy1_5 0x01009621 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to attm_svc_create_db_128 0x0100962d Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to ecc_init 0x01009639 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to h4tl_init 0x01009645 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to hci_init 0x01009651 Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to ahi_init 0x0100965d Thumb Code 12 anon$$obj.o(Veneer$$Code) + Long Thumb to Thumb Veneer to __ARM_common_ll_muluu 0x01009669 Thumb Code 12 anon$$obj.o(Veneer$$Code) + ADC_ClearFlag 0x01009675 Thumb Code 6 n32wb03x_adc.o(i.ADC_ClearFlag) + ADC_ConfigChannel 0x0100967b Thumb Code 14 n32wb03x_adc.o(i.ADC_ConfigChannel) + ADC_ConverValueToTemperature 0x01009689 Thumb Code 66 n32wb03x_adc.o(i.ADC_ConverValueToTemperature) + ADC_ConverValueToVoltage 0x010096dd Thumb Code 136 n32wb03x_adc.o(i.ADC_ConverValueToVoltage) + ADC_DeInit 0x01009765 Thumb Code 66 n32wb03x_adc.o(i.ADC_DeInit) + ADC_Enable 0x010097b9 Thumb Code 20 n32wb03x_adc.o(i.ADC_Enable) + ADC_EnableBypassFilter 0x010097cd Thumb Code 48 n32wb03x_adc.o(i.ADC_EnableBypassFilter) + ADC_EnableTS 0x0100981d Thumb Code 18 n32wb03x_adc.o(i.ADC_EnableTS) + ADC_GetDat 0x0100982f Thumb Code 6 n32wb03x_adc.o(i.ADC_GetDat) + ADC_GetFlagStatus 0x01009835 Thumb Code 14 n32wb03x_adc.o(i.ADC_GetFlagStatus) + ADC_SetOverSampleCounter 0x01009845 Thumb Code 18 n32wb03x_adc.o(i.ADC_SetOverSampleCounter) + AppBootset_CmdBsdump 0x0100985d Thumb Code 48 app_bootset.o(i.AppBootset_CmdBsdump) + AppBootset_CmdBsset 0x01009891 Thumb Code 410 app_bootset.o(i.AppBootset_CmdBsset) + AppCli_Init 0x01009bc1 Thumb Code 30 app_cli.o(i.AppCli_Init) + AppParams_CmdAppget 0x01009be9 Thumb Code 64 app_params.o(i.AppParams_CmdAppget) + AppParams_CmdAppset 0x01009cb1 Thumb Code 460 app_params.o(i.AppParams_CmdAppset) + DMA_ClearFlag 0x0100aae9 Thumb Code 4 n32wb03x_dma.o(i.DMA_ClearFlag) + DMA_DeInit 0x0100aaed Thumb Code 106 n32wb03x_dma.o(i.DMA_DeInit) + DMA_EnableChannel 0x0100ab75 Thumb Code 20 n32wb03x_dma.o(i.DMA_EnableChannel) + DMA_GetFlagStatus 0x0100ab8d Thumb Code 14 n32wb03x_dma.o(i.DMA_GetFlagStatus) + DMA_Init 0x0100ab9d Thumb Code 58 n32wb03x_dma.o(i.DMA_Init) + DMA_RequestRemap 0x0100abdd Thumb Code 14 n32wb03x_dma.o(i.DMA_RequestRemap) + EXTI_ClrITPendBit 0x0100abed Thumb Code 6 n32wb03x_exti.o(i.EXTI_ClrITPendBit) + EXTI_GetITStatus 0x0100abf9 Thumb Code 24 n32wb03x_exti.o(i.EXTI_GetITStatus) + EXTI_InitPeripheral 0x0100ac15 Thumb Code 108 n32wb03x_exti.o(i.EXTI_InitPeripheral) + GPIO_InitPeripheral 0x0100ac85 Thumb Code 184 n32wb03x_gpio.o(i.GPIO_InitPeripheral) + GPIO_InitStruct 0x0100ad3d Thumb Code 22 n32wb03x_gpio.o(i.GPIO_InitStruct) + GPIO_ResetBits 0x0100ad59 Thumb Code 4 n32wb03x_gpio.o(i.GPIO_ResetBits) + GPIO_SetBits 0x0100ad5d Thumb Code 4 n32wb03x_gpio.o(i.GPIO_SetBits) + GPIO_TogglePin 0x0100ad61 Thumb Code 8 n32wb03x_gpio.o(i.GPIO_TogglePin) + HardFault_Handler 0x0100ad69 Thumb Code 58 n32wb03x_it.o(i.HardFault_Handler) + LedBlink 0x0100ae19 Thumb Code 8 app_gpio.o(i.LedBlink) + LedInit 0x0100ae21 Thumb Code 64 app_gpio.o(i.LedInit) + LedOff 0x0100ae6d Thumb Code 8 app_gpio.o(i.LedOff) + LedOn 0x0100ae75 Thumb Code 8 app_gpio.o(i.LedOn) + NVIC_Init 0x0100ae7d Thumb Code 102 misc.o(i.NVIC_Init) + OTPTrim_Read 0x0100aef5 Thumb Code 186 system_n32wb03x.o(i.OTPTrim_Read) + Qflash_Erase_Sector 0x0100afc1 Thumb Code 30 n32wb03x_qflash.o(i.Qflash_Erase_Sector) + Qflash_Init 0x0100afe5 Thumb Code 30 n32wb03x_qflash.o(i.Qflash_Init) + Qflash_Write 0x0100b01d Thumb Code 30 n32wb03x_qflash.o(i.Qflash_Write) + RCC_ConfigAdcClk 0x0100b041 Thumb Code 14 n32wb03x_rcc.o(i.RCC_ConfigAdcClk) + RCC_EnableAHBPeriphClk 0x0100b055 Thumb Code 18 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphClk) + RCC_EnableAHBPeriphReset 0x0100b06d Thumb Code 18 n32wb03x_rcc.o(i.RCC_EnableAHBPeriphReset) + RCC_EnableAPB2PeriphClk 0x0100b085 Thumb Code 18 n32wb03x_rcc.o(i.RCC_EnableAPB2PeriphClk) + RCC_Enable_ADC_CLK_SRC_AUDIOPLL 0x0100b09d Thumb Code 22 n32wb03x_rcc.o(i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL) + RCC_GetClocksFreqValue 0x0100b0b9 Thumb Code 90 n32wb03x_rcc.o(i.RCC_GetClocksFreqValue) + SVC_Handler 0x0100b12d Thumb Code 2 port.o(i.SVC_Handler) + SysTick_Handler 0x0100b131 Thumb Code 32 port.o(i.SysTick_Handler) + SystemGetMacAddr 0x0100b155 Thumb Code 44 system_n32wb03x.o(i.SystemGetMacAddr) + SystemInit 0x0100b189 Thumb Code 346 system_n32wb03x.o(i.SystemInit) + SystemTrimValueGet 0x0100b309 Thumb Code 44 system_n32wb03x.o(i.SystemTrimValueGet) + USART1_IRQHandler 0x0100b339 Thumb Code 8 n32wb03x_it.o(i.USART1_IRQHandler) + USART_ConfigInt 0x0100b341 Thumb Code 50 n32wb03x_usart.o(i.USART_ConfigInt) + USART_Enable 0x0100b375 Thumb Code 22 n32wb03x_usart.o(i.USART_Enable) + USART_EnableDMA 0x0100b391 Thumb Code 16 n32wb03x_usart.o(i.USART_EnableDMA) + USART_GetFlagStatus 0x0100b3a1 Thumb Code 14 n32wb03x_usart.o(i.USART_GetFlagStatus) + USART_GetIntStatus 0x0100b3af Thumb Code 64 n32wb03x_usart.o(i.USART_GetIntStatus) + USART_Init 0x0100b3f1 Thumb Code 120 n32wb03x_usart.o(i.USART_Init) + USART_ReceiveData 0x0100b479 Thumb Code 8 n32wb03x_usart.o(i.USART_ReceiveData) + USART_SendData 0x0100b481 Thumb Code 8 n32wb03x_usart.o(i.USART_SendData) + __0printf 0x0100b489 Thumb Code 24 printfa.o(i.__0printf) + __1printf 0x0100b489 Thumb Code 0 printfa.o(i.__0printf) + __2printf 0x0100b489 Thumb Code 0 printfa.o(i.__0printf) + __c89printf 0x0100b489 Thumb Code 0 printfa.o(i.__0printf) + printf 0x0100b489 Thumb Code 0 printfa.o(i.__0printf) + __0sprintf 0x0100b4a9 Thumb Code 36 printfa.o(i.__0sprintf) + __1sprintf 0x0100b4a9 Thumb Code 0 printfa.o(i.__0sprintf) + __2sprintf 0x0100b4a9 Thumb Code 0 printfa.o(i.__0sprintf) + __c89sprintf 0x0100b4a9 Thumb Code 0 printfa.o(i.__0sprintf) + sprintf 0x0100b4a9 Thumb Code 0 printfa.o(i.__0sprintf) + __0vsnprintf 0x0100b4d1 Thumb Code 40 printfa.o(i.__0vsnprintf) + __1vsnprintf 0x0100b4d1 Thumb Code 0 printfa.o(i.__0vsnprintf) + __2vsnprintf 0x0100b4d1 Thumb Code 0 printfa.o(i.__0vsnprintf) + __c89vsnprintf 0x0100b4d1 Thumb Code 0 printfa.o(i.__0vsnprintf) + vsnprintf 0x0100b4d1 Thumb Code 0 printfa.o(i.__0vsnprintf) + __ARM_clz 0x0100b4fd Thumb Code 46 depilogue.o(i.__ARM_clz) + __aeabi_errno_addr 0x0100b52d Thumb Code 4 errno.o(i.__aeabi_errno_addr) + __rt_errno_addr 0x0100b52d Thumb Code 0 errno.o(i.__aeabi_errno_addr) + free 0x0100b535 Thumb Code 94 mallocr.o(i.__free$realloc) + malloc 0x0100b599 Thumb Code 54 mallocr.o(i.__malloc$realloc) + _is_digit 0x0100b755 Thumb Code 14 scanf_fp.o(i._is_digit) + app_ble_adv_init 0x0100bf51 Thumb Code 90 app_ble.o(i.app_ble_adv_init) + app_ble_adv_msg_handler 0x0100bfc5 Thumb Code 2 app_ble.o(i.app_ble_adv_msg_handler) + app_ble_connected 0x0100bfc9 Thumb Code 38 app_ble.o(i.app_ble_connected) + app_ble_disconnected 0x0100c00d Thumb Code 40 app_ble.o(i.app_ble_disconnected) + app_ble_gap_params_init 0x0100c069 Thumb Code 118 app_ble.o(i.app_ble_gap_params_init) + app_ble_init 0x0100c101 Thumb Code 58 app_ble.o(i.app_ble_init) + app_ble_msg_handler 0x0100c14d Thumb Code 90 app_ble.o(i.app_ble_msg_handler) + app_ble_proto_cli_exec 0x0100c1b9 Thumb Code 150 app_ble_proto.o(i.app_ble_proto_cli_exec) + app_ble_proto_cli_rsp 0x0100c2a5 Thumb Code 50 app_ble_proto.o(i.app_ble_proto_cli_rsp) + app_ble_proto_init 0x0100c2e5 Thumb Code 14 app_ble_proto.o(i.app_ble_proto_init) + app_ble_proto_log_get 0x0100c2f9 Thumb Code 6 app_ble_proto.o(i.app_ble_proto_log_get) + app_ble_proto_log_set 0x0100c305 Thumb Code 12 app_ble_proto.o(i.app_ble_proto_log_set) + app_ble_proto_on_disconnect 0x0100c315 Thumb Code 22 app_ble_proto.o(i.app_ble_proto_on_disconnect) + app_ble_proto_rx_bytes 0x0100c331 Thumb Code 380 app_ble_proto.o(i.app_ble_proto_rx_bytes) + app_ble_proto_send_frame 0x0100c4d1 Thumb Code 158 app_ble_proto.o(i.app_ble_proto_send_frame) + app_ble_sec_init 0x0100c589 Thumb Code 70 app_ble.o(i.app_ble_sec_init) + app_dis_add_dis 0x0100c6b5 Thumb Code 74 app_dis.o(i.app_dis_add_dis) + app_entry_point_handler 0x0100c711 Thumb Code 238 ns_ble_task.o(i.app_entry_point_handler) + app_fan_get_rpm 0x0100c815 Thumb Code 4 app_info.o(i.app_fan_get_rpm) + app_info_chip_temp_c10 0x0100c81d Thumb Code 74 app_info.o(i.app_info_chip_temp_c10) + app_info_handle_query 0x0100c879 Thumb Code 70 app_info.o(i.app_info_handle_query) + app_info_last_temp_raw 0x0100c8c5 Thumb Code 6 app_info.o(i.app_info_last_temp_raw) + app_info_tlv_snapshot 0x0100c8d1 Thumb Code 34 app_info.o(i.app_info_tlv_snapshot) + app_info_vdd_mv 0x0100c8fd Thumb Code 28 app_info.o(i.app_info_vdd_mv) + app_ota_abort 0x0100c9e5 Thumb Code 18 app_ota.o(i.app_ota_abort) + app_ota_handle_frame 0x0100c9fd Thumb Code 268 app_ota.o(i.app_ota_handle_frame) + app_params_get 0x0100cb19 Thumb Code 4 app_params.o(i.app_params_get) + app_params_init 0x0100cb21 Thumb Code 76 app_params.o(i.app_params_init) + app_params_restore_defaults 0x0100cb7d Thumb Code 36 app_params.o(i.app_params_restore_defaults) + app_rdtss_add_rdts 0x0100cba9 Thumb Code 82 app_rdtss.o(i.app_rdtss_add_rdts) + app_user_msg_handler 0x0100cdc1 Thumb Code 2 app_ble.o(i.app_user_msg_handler) + attm_att_set_value 0x0100cdc5 Thumb Code 172 lib_att.o(i.attm_att_set_value) + ble_up_on_cfm 0x0100ce95 Thumb Code 14 ble_up.o(i.ble_up_on_cfm) + ble_up_poll 0x0100cea9 Thumb Code 76 ble_up.o(i.ble_up_poll) + ble_up_reset 0x0100cf01 Thumb Code 12 ble_up.o(i.ble_up_reset) + ble_up_write 0x0100cf11 Thumb Code 58 ble_up.o(i.ble_up_write) + bsp_usart_init 0x0100d0d1 Thumb Code 196 bsp_usart.o(i.bsp_usart_init) + bsp_usart_read_byte 0x0100d1ad Thumb Code 52 bsp_usart.o(i.bsp_usart_read_byte) + bsp_usart_rx_isr_handler 0x0100d1e5 Thumb Code 68 bsp_usart.o(i.bsp_usart_rx_isr_handler) + bsp_usart_set_baud 0x0100d239 Thumb Code 98 bsp_usart.o(i.bsp_usart_set_baud) + bsp_usart_tx_lock 0x0100d2a9 Thumb Code 28 bsp_usart.o(i.bsp_usart_tx_lock) + bsp_usart_tx_unlock 0x0100d2c9 Thumb Code 32 bsp_usart.o(i.bsp_usart_tx_unlock) + bsp_usart_write_dma 0x0100d2ed Thumb Code 134 bsp_usart.o(i.bsp_usart_write_dma) + cJSON_AddNumberToObject 0x0100d3c1 Thumb Code 46 cjson.o(i.cJSON_AddNumberToObject) + cJSON_CreateNumber 0x0100d3f5 Thumb Code 78 cjson.o(i.cJSON_CreateNumber) + cJSON_CreateObject 0x0100d459 Thumb Code 18 cjson.o(i.cJSON_CreateObject) + cJSON_Delete 0x0100d471 Thumb Code 80 cjson.o(i.cJSON_Delete) + cJSON_GetObjectItem 0x0100d4c5 Thumb Code 10 cjson.o(i.cJSON_GetObjectItem) + cJSON_InitHooks 0x0100d4d1 Thumb Code 64 cjson.o(i.cJSON_InitHooks) + cJSON_IsNumber 0x0100d521 Thumb Code 18 cjson.o(i.cJSON_IsNumber) + cJSON_IsObject 0x0100d533 Thumb Code 18 cjson.o(i.cJSON_IsObject) + cJSON_Parse 0x0100d569 Thumb Code 34 cjson.o(i.cJSON_Parse) + cJSON_ParseWithLengthOpts 0x0100d58d Thumb Code 222 cjson.o(i.cJSON_ParseWithLengthOpts) + cJSON_PrintUnformatted 0x0100d679 Thumb Code 12 cjson.o(i.cJSON_PrintUnformatted) + cJSON_free 0x0100d689 Thumb Code 6 cjson.o(i.cJSON_free) + caiic_crc32 0x0100d6bd Thumb Code 48 boot_crc32.o(i.caiic_crc32) + check_client_char_cfg 0x0100d6f1 Thumb Code 42 rdts_common.o(i.check_client_char_cfg) + cli_cmd_count 0x0100d71b Thumb Code 4 cli_core.o(i.cli_cmd_count) + cli_cmd_name 0x0100d721 Thumb Code 18 cli_core.o(i.cli_cmd_name) + cli_exec_line 0x0100d739 Thumb Code 140 cli_core.o(i.cli_exec_line) + cli_printf 0x0100d7ed Thumb Code 36 cli_core.o(i.cli_printf) + cli_set_output 0x0100d8ad Thumb Code 6 cli_core.o(i.cli_set_output) + cli_write 0x0100d8b9 Thumb Code 30 cli_core.o(i.cli_write) + diss_check_val_len 0x0100d939 Thumb Code 42 diss.o(i.diss_check_val_len) + diss_handle_to_value 0x0100d9a5 Thumb Code 52 diss.o(i.diss_handle_to_value) + diss_prf_itf_get 0x0100da79 Thumb Code 4 diss.o(i.diss_prf_itf_get) + diss_task_init 0x0100db1d Thumb Code 28 diss_task.o(i.diss_task_init) + diss_value_to_handle 0x0100dc79 Thumb Code 58 diss.o(i.diss_value_to_handle) + eTaskGetState 0x0100dcb5 Thumb Code 82 tasks.o(i.eTaskGetState) + fputc 0x0100ddad Thumb Code 54 bsp_usart.o(i.fputc) + get_cfg_handle 0x0100ef71 Thumb Code 98 rdts_common.o(i.get_cfg_handle) + get_value_handle 0x0100f075 Thumb Code 78 rdts_common.o(i.get_value_handle) + infra_cjson_init 0x0100f2e1 Thumb Code 34 infra_cjson.o(i.infra_cjson_init) + llhwc_modem_setmode 0x0100f395 Thumb Code 44 rwip_driver.o(i.llhwc_modem_setmode) + llhwc_phy_prerx_flash 0x0100f3c5 Thumb Code 172 rwip_driver.o(i.llhwc_phy_prerx_flash) + main 0x0100f585 Thumb Code 136 main.o(i.main) + ns_EXTI4_12_IRQHandler 0x0100f725 Thumb Code 76 ns_ble.o(i.ns_EXTI4_12_IRQHandler) + ns_HardFault_Handler 0x0100f781 Thumb Code 26 ns_ble.o(i.ns_HardFault_Handler) + ns_ble_add_prf_func_register 0x0100f7a9 Thumb Code 28 ns_ble.o(i.ns_ble_add_prf_func_register) + ns_ble_add_svc 0x0100f7c9 Thumb Code 34 ns_ble.o(i.ns_ble_add_svc) + ns_ble_adv_fsm_next 0x0100f7f5 Thumb Code 202 ns_ble.o(i.ns_ble_adv_fsm_next) + ns_ble_adv_init 0x0100f8d1 Thumb Code 58 ns_ble.o(i.ns_ble_adv_init) + ns_ble_adv_start 0x0100f919 Thumb Code 72 ns_ble.o(i.ns_ble_adv_start) + ns_ble_adv_stop 0x0100f969 Thumb Code 66 ns_ble.o(i.ns_ble_adv_stop) + ns_ble_delete_init 0x0100f9b5 Thumb Code 46 ns_ble.o(i.ns_ble_delete_init) + ns_ble_delete_scan 0x0100f9f1 Thumb Code 42 ns_ble.o(i.ns_ble_delete_scan) + ns_ble_disconnect 0x0100fa29 Thumb Code 34 ns_ble.o(i.ns_ble_disconnect) + ns_ble_gap_init 0x0100fa55 Thumb Code 70 ns_ble.o(i.ns_ble_gap_init) + ns_ble_get_connection_num 0x0100fac1 Thumb Code 32 ns_ble.o(i.ns_ble_get_connection_num) + ns_ble_list_set_ral 0x0100fae5 Thumb Code 76 ns_ble.o(i.ns_ble_list_set_ral) + ns_ble_lsc_config 0x0100fb35 Thumb Code 106 ns_ble.o(i.ns_ble_lsc_config) + ns_ble_mtu_set 0x0100fbb9 Thumb Code 40 ns_ble.o(i.ns_ble_mtu_set) + ns_ble_prf_task_register 0x0100fbed Thumb Code 34 ns_ble.o(i.ns_ble_prf_task_register) + ns_ble_scan_data_find 0x0100fc15 Thumb Code 72 ns_ble.o(i.ns_ble_scan_data_find) + ns_ble_stack_init 0x0100fc5d Thumb Code 448 ns_ble.o(i.ns_ble_stack_init) + ns_ble_start_init 0x0100fed5 Thumb Code 260 ns_ble.o(i.ns_ble_start_init) + ns_ble_start_scan 0x0100fff9 Thumb Code 178 ns_ble.o(i.ns_ble_start_scan) + ns_ble_stop_init 0x010100c5 Thumb Code 42 ns_ble.o(i.ns_ble_stop_init) + ns_ble_stop_scan 0x010100fd Thumb Code 48 ns_ble.o(i.ns_ble_stop_scan) + ns_ble_update_param 0x01010139 Thumb Code 112 ns_ble.o(i.ns_ble_update_param) + ns_bond_last_bonded_addr 0x010101f9 Thumb Code 48 ns_sec.o(i.ns_bond_last_bonded_addr) + ns_bond_last_bonded_peer_id 0x01010229 Thumb Code 48 ns_sec.o(i.ns_bond_last_bonded_peer_id) + ns_bond_last_bonded_ral_info 0x01010259 Thumb Code 92 ns_sec.o(i.ns_bond_last_bonded_ral_info) + ns_bond_resolv_addr_start 0x010102bd Thumb Code 92 ns_sec.o(i.ns_bond_resolv_addr_start) + ns_bond_search_addr_irk 0x0101031d Thumb Code 110 ns_sec.o(i.ns_bond_search_addr_irk) + ns_peripheral_config 0x01010399 Thumb Code 162 ns_ble.o(i.ns_peripheral_config) + ns_sec_bond_store_evt_handler 0x0101046d Thumb Code 308 ns_sec.o(i.ns_sec_bond_store_evt_handler) + ns_sec_get_bond_status 0x010105cd Thumb Code 12 ns_sec.o(i.ns_sec_get_bond_status) + ns_sec_get_iocap 0x010105dd Thumb Code 6 ns_sec.o(i.ns_sec_get_iocap) + ns_sec_init 0x010105e9 Thumb Code 94 ns_sec.o(i.ns_sec_init) + ns_sleep_lock_acquire 0x01010651 Thumb Code 20 ns_sleep.o(i.ns_sleep_lock_acquire) + ns_sleep_lock_release 0x01010669 Thumb Code 16 ns_sleep.o(i.ns_sleep_lock_release) + ns_timer_api_process_handler 0x0101067d Thumb Code 166 ns_timer.o(i.ns_timer_api_process_handler) + prf_add_profile 0x010111dd Thumb Code 132 prf.o(i.prf_add_profile) + prf_dst_task_get 0x01011265 Thumb Code 16 prf.o(i.prf_dst_task_get) + prf_env_get 0x01011275 Thumb Code 44 prf.o(i.prf_env_get) + prf_get_id_from_task 0x010112a5 Thumb Code 50 prf.o(i.prf_get_id_from_task) + prf_get_itf_func_register 0x010112dd Thumb Code 34 prf.o(i.prf_get_itf_func_register) + prf_get_task_from_id 0x01011305 Thumb Code 50 prf.o(i.prf_get_task_from_id) + prf_init 0x0101133d Thumb Code 170 prf.o(i.prf_init) + pvPortMalloc 0x01011d75 Thumb Code 230 heap_4.o(i.pvPortMalloc) + pvTaskIncrementMutexHeldCount 0x01011e69 Thumb Code 20 tasks.o(i.pvTaskIncrementMutexHeldCount) + pxPortInitialiseStack 0x01011e81 Thumb Code 30 port.o(i.pxPortInitialiseStack) + rdtss_get_att_handle 0x01012063 Thumb Code 28 rdts_common.o(i.rdtss_get_att_handle) + rdtss_get_att_idx 0x0101207f Thumb Code 40 rdts_common.o(i.rdtss_get_att_idx) + rdtss_init_ccc_values 0x01012141 Thumb Code 160 rdtss_task.o(i.rdtss_init_ccc_values) + rdtss_prf_itf_get 0x010121e5 Thumb Code 4 rdtss.o(i.rdtss_prf_itf_get) + rdtss_send_notify 0x010121ed Thumb Code 70 app_rdtss.o(i.rdtss_send_notify) + rdtss_set_ccc_value 0x01012241 Thumb Code 52 rdtss_task.o(i.rdtss_set_ccc_value) + rdtss_task_init 0x01012275 Thumb Code 28 rdtss_task.o(i.rdtss_task_init) + realloc 0x01012629 Thumb Code 110 mallocr.o(i.realloc) + rwip_init 0x0101269d Thumb Code 198 rwip.o(i.rwip_init) + rwip_slp_isr 0x010127b5 Thumb Code 198 rwip_driver.o(i.rwip_slp_isr) + strtod 0x010128ad Thumb Code 28 strtod.o(i.strtod) + uxListRemove 0x010128cd Thumb Code 38 list.o(i.uxListRemove) + uxTaskGetNumberOfTasks 0x010128f5 Thumb Code 6 tasks.o(i.uxTaskGetNumberOfTasks) + uxTaskGetSystemState 0x01012901 Thumb Code 134 tasks.o(i.uxTaskGetSystemState) + vListInitialise 0x01012999 Thumb Code 22 list.o(i.vListInitialise) + vListInitialiseItem 0x010129af Thumb Code 6 list.o(i.vListInitialiseItem) + vListInsert 0x010129b5 Thumb Code 50 list.o(i.vListInsert) + vListInsertEnd 0x010129e7 Thumb Code 24 list.o(i.vListInsertEnd) + vPortEnterCritical 0x01012a01 Thumb Code 20 port.o(i.vPortEnterCritical) + vPortExitCritical 0x01012a19 Thumb Code 22 port.o(i.vPortExitCritical) + vPortFree 0x01012a35 Thumb Code 64 heap_4.o(i.vPortFree) + vPortYield 0x01012a79 Thumb Code 18 port.o(i.vPortYield) + vTaskDelay 0x01012a91 Thumb Code 44 tasks.o(i.vTaskDelay) + vTaskInternalSetTimeOutState 0x01012ac1 Thumb Code 12 tasks.o(i.vTaskInternalSetTimeOutState) + vTaskList 0x01012ad1 Thumb Code 188 tasks.o(i.vTaskList) + vTaskMissedYield 0x01012ba1 Thumb Code 8 tasks.o(i.vTaskMissedYield) + vTaskPlaceOnEventList 0x01012bad Thumb Code 32 tasks.o(i.vTaskPlaceOnEventList) + vTaskPriorityDisinheritAfterTimeout 0x01012bd1 Thumb Code 106 tasks.o(i.vTaskPriorityDisinheritAfterTimeout) + vTaskStartScheduler 0x01012c45 Thumb Code 60 tasks.o(i.vTaskStartScheduler) + vTaskSuspendAll 0x01012c95 Thumb Code 10 tasks.o(i.vTaskSuspendAll) + vTaskSwitchContext 0x01012ca5 Thumb Code 92 tasks.o(i.vTaskSwitchContext) + xPortGetFreeHeapSize 0x01012d09 Thumb Code 6 heap_4.o(i.xPortGetFreeHeapSize) + xPortGetMinimumEverFreeHeapSize 0x01012d15 Thumb Code 6 heap_4.o(i.xPortGetMinimumEverFreeHeapSize) + xPortStartScheduler 0x01012d21 Thumb Code 62 port.o(i.xPortStartScheduler) + xQueueCreateMutex 0x01012d71 Thumb Code 36 queue.o(i.xQueueCreateMutex) + xQueueGenericCreate 0x01012d95 Thumb Code 68 queue.o(i.xQueueGenericCreate) + xQueueGenericReset 0x01012dd9 Thumb Code 110 queue.o(i.xQueueGenericReset) + xQueueGenericSend 0x01012e47 Thumb Code 398 queue.o(i.xQueueGenericSend) + xQueueGenericSendFromISR 0x01012fd5 Thumb Code 142 queue.o(i.xQueueGenericSendFromISR) + xQueueReceive 0x01013063 Thumb Code 322 queue.o(i.xQueueReceive) + xQueueSemaphoreTake 0x010131a5 Thumb Code 370 queue.o(i.xQueueSemaphoreTake) + xTaskCheckForTimeOut 0x01013319 Thumb Code 94 tasks.o(i.xTaskCheckForTimeOut) + xTaskCreate 0x0101337d Thumb Code 348 tasks.o(i.xTaskCreate) + xTaskGetSchedulerState 0x010134f5 Thumb Code 26 tasks.o(i.xTaskGetSchedulerState) + xTaskGetTickCount 0x01013515 Thumb Code 6 tasks.o(i.xTaskGetTickCount) + xTaskIncrementTick 0x01013521 Thumb Code 202 tasks.o(i.xTaskIncrementTick) + xTaskPriorityDisinherit 0x010135f5 Thumb Code 96 tasks.o(i.xTaskPriorityDisinherit) + xTaskPriorityInherit 0x0101365d Thumb Code 110 tasks.o(i.xTaskPriorityInherit) + xTaskRemoveFromEventList 0x010136d5 Thumb Code 88 tasks.o(i.xTaskRemoveFromEventList) + xTaskResumeAll 0x01013739 Thumb Code 186 tasks.o(i.xTaskResumeAll) + TRIM_READ_CMD_CODE 0x01013800 Data 320 system_n32wb03x.o(.constdata) + CMD_RDID 0x01013940 Data 152 system_n32wb03x.o(.constdata) + const_qflash_cmd 0x010139e4 Data 804 n32wb03x_qflash.o(.constdata) + diss_att_db 0x01013d28 Data 152 diss.o(.constdata) + diss_itf 0x01013dc0 Data 16 diss.o(.constdata) + rdtss_itf 0x01013de8 Data 16 rdtss.o(.constdata) + app_sec_msg_handler_list 0x01013e40 Data 40 ns_sec.o(.constdata) + app_sec_handlers 0x01013e68 Data 8 ns_sec.o(.constdata) + TASK_DESC_APP_M 0x01014304 Data 12 ns_ble_task.o(.constdata) + app_dis_msg_handler_list 0x01014310 Data 8 app_dis.o(.constdata) + app_dis_handlers 0x01014318 Data 8 app_dis.o(.constdata) + app_rdtss_handlers 0x01014320 Data 8 app_rdtss.o(.constdata) + app_rdts_svc_uuid 0x01014328 Data 16 app_rdtss.o(.constdata) + app_rdts_att_db 0x01014338 Data 242 app_rdtss.o(.constdata) + app_rdtss_msg_handler_list 0x0101442c Data 24 app_rdtss.o(.constdata) + __ctype_table 0x010144f2 Data 129 ctype_o.o(.constdata) + Region$$Table$$Base 0x0101491c Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x0101493c Number 0 anon$$obj.o(Region$$Table) rwip_rst_state 0x20000000 Data 0 symbol_g15.obj ABSOLUTE ecc_env 0x20000004 Data 0 symbol_g15.obj ABSOLUTE aa_gen 0x20000010 Data 0 symbol_g15.obj ABSOLUTE @@ -4128,19 +4626,23 @@ Image Symbol Table user_EXTI4_12_IRQHandler 0x20004044 Data 4 ns_ble.o(.data) app_state 0x20004736 Data 1 ns_ble_task.o(.data) notify_en 0x20004737 Data 1 app_rdtss.o(.data) - pxCurrentTCB 0x2000478c Data 4 tasks.o(.data) - trim_stored 0x200047ec Data 52 system_n32wb03x.o(.bss) - prf_env 0x20004b48 Data 200 prf.o(.bss) - get_itf 0x20004c10 Data 84 prf.o(.bss) - app_sec_bond_data 0x20004cb4 Data 58 ns_sec.o(.bss) - app_sec_env 0x20004cf0 Data 32 ns_sec.o(.bss) - add_prf_evn 0x20004d10 Data 44 ns_ble.o(.bss) - ble_prf_evn 0x20004d3c Data 84 ns_ble.o(.bss) - app_env 0x20004d90 Data 132 ns_ble.o(.bss) - gap_env 0x20004e14 Data 42 ns_ble.o(.bss) - adv_env 0x20004e40 Data 96 ns_ble.o(.bss) - scan_env 0x20004ea0 Data 32 ns_ble.o(.bss) - __initial_sp 0x2000b5a8 Data 0 startup_n32wb03x.o(STACK) + pxCurrentTCB 0x200047a4 Data 4 tasks.o(.data) + __microlib_freelist 0x20004800 Data 4 mvars.o(.data) + __microlib_freelist_initialised 0x20004804 Data 4 mvars.o(.data) + trim_stored 0x2000480c Data 52 system_n32wb03x.o(.bss) + prf_env 0x20004b68 Data 200 prf.o(.bss) + get_itf 0x20004c30 Data 84 prf.o(.bss) + app_sec_bond_data 0x20004cd4 Data 58 ns_sec.o(.bss) + app_sec_env 0x20004d10 Data 32 ns_sec.o(.bss) + add_prf_evn 0x20004d30 Data 44 ns_ble.o(.bss) + ble_prf_evn 0x20004d5c Data 84 ns_ble.o(.bss) + app_env 0x20004db0 Data 132 ns_ble.o(.bss) + gap_env 0x20004e34 Data 42 ns_ble.o(.bss) + adv_env 0x20004e60 Data 96 ns_ble.o(.bss) + scan_env 0x20004ec0 Data 32 ns_ble.o(.bss) + __heap_base 0x2000adc8 Data 0 startup_n32wb03x.o(HEAP) + __heap_limit 0x2000afc8 Data 0 startup_n32wb03x.o(HEAP) + __initial_sp 0x2000b7c8 Data 0 startup_n32wb03x.o(STACK) @@ -4150,462 +4652,520 @@ Memory Map of the image Image Entry point : 0x010080c1 - Load Region LR_IROM1 (Base: 0x01008000, Size: 0x0000b1e4, Max: 0x00038000, ABSOLUTE, COMPRESSED[0x0000b000]) + Load Region LR_IROM1 (Base: 0x01008000, Size: 0x0000d148, Max: 0x00038000, ABSOLUTE, COMPRESSED[0x0000cf50]) - Execution Region ER_IROM1 (Exec base: 0x01008000, Load base: 0x01008000, Size: 0x0000a9f8, Max: 0x00038000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x01008000, Load base: 0x01008000, Size: 0x0000c93c, Max: 0x00038000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x01008000 0x01008000 0x000000c0 Data RO 3 RESET startup_n32wb03x.o - 0x010080c0 0x010080c0 0x00000000 Code RO 5614 * .ARM.Collect$$$$00000000 mc_p.l(entry.o) - 0x010080c0 0x010080c0 0x00000004 Code RO 5937 .ARM.Collect$$$$00000001 mc_p.l(entry2.o) - 0x010080c4 0x010080c4 0x00000004 Code RO 5940 .ARM.Collect$$$$00000004 mc_p.l(entry5.o) - 0x010080c8 0x010080c8 0x00000000 Code RO 5942 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o) - 0x010080c8 0x010080c8 0x00000000 Code RO 5944 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o) - 0x010080c8 0x010080c8 0x00000008 Code RO 5945 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o) - 0x010080d0 0x010080d0 0x00000000 Code RO 5947 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o) - 0x010080d0 0x010080d0 0x00000000 Code RO 5949 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o) - 0x010080d0 0x010080d0 0x00000004 Code RO 5938 .ARM.Collect$$$$00002712 mc_p.l(entry2.o) + 0x010080c0 0x010080c0 0x00000000 Code RO 6196 * .ARM.Collect$$$$00000000 mc_p.l(entry.o) + 0x010080c0 0x010080c0 0x00000004 Code RO 6565 .ARM.Collect$$$$00000001 mc_p.l(entry2.o) + 0x010080c4 0x010080c4 0x00000004 Code RO 6568 .ARM.Collect$$$$00000004 mc_p.l(entry5.o) + 0x010080c8 0x010080c8 0x00000000 Code RO 6570 .ARM.Collect$$$$00000008 mc_p.l(entry7b.o) + 0x010080c8 0x010080c8 0x00000000 Code RO 6572 .ARM.Collect$$$$0000000A mc_p.l(entry8b.o) + 0x010080c8 0x010080c8 0x00000008 Code RO 6573 .ARM.Collect$$$$0000000B mc_p.l(entry9a.o) + 0x010080d0 0x010080d0 0x00000000 Code RO 6575 .ARM.Collect$$$$0000000D mc_p.l(entry10a.o) + 0x010080d0 0x010080d0 0x00000000 Code RO 6577 .ARM.Collect$$$$0000000F mc_p.l(entry11a.o) + 0x010080d0 0x010080d0 0x00000004 Code RO 6566 .ARM.Collect$$$$00002712 mc_p.l(entry2.o) 0x010080d4 0x010080d4 0x0000000e Code RO 10 .emb_text system_n32wb03x.o 0x010080e2 0x010080e2 0x00000002 PAD 0x010080e4 0x010080e4 0x0000000c Code RO 4579 .emb_text n32wb03x_it.o - 0x010080f0 0x010080f0 0x00000078 Code RO 5549 .emb_text port.o + 0x010080f0 0x010080f0 0x00000078 Code RO 6127 .emb_text port.o 0x01008168 0x01008168 0x0000001c Code RO 4 .text startup_n32wb03x.o - 0x01008184 0x01008184 0x0000002c Code RO 5617 .text mc_p.l(uidiv.o) - 0x010081b0 0x010081b0 0x00000028 Code RO 5619 .text mc_p.l(idiv.o) - 0x010081d8 0x010081d8 0x00000060 Code RO 5621 .text mc_p.l(uldiv.o) - 0x01008238 0x01008238 0x00000024 Code RO 5623 .text mc_p.l(rand.o) - 0x0100825c 0x0100825c 0x00000024 Code RO 5626 .text mc_p.l(memcpya.o) - 0x01008280 0x01008280 0x00000024 Code RO 5628 .text mc_p.l(memseta.o) - 0x010082a4 0x010082a4 0x0000000e Code RO 5630 .text mc_p.l(strlen.o) - 0x010082b2 0x010082b2 0x0000001c Code RO 5632 .text mc_p.l(strcmp.o) - 0x010082ce 0x010082ce 0x00000014 Code RO 5634 .text mc_p.l(memchr.o) - 0x010082e2 0x010082e2 0x0000001a Code RO 5636 .text mc_p.l(memcmp.o) - 0x010082fc 0x010082fc 0x00000012 Code RO 5638 .text mc_p.l(strcpy.o) - 0x0100830e 0x0100830e 0x0000001e Code RO 5640 .text mc_p.l(strncmp.o) - 0x0100832c 0x0100832c 0x00000076 Code RO 5905 .text mc_p.l(strtoul.o) - 0x010083a2 0x010083a2 0x000000b2 Code RO 5907 .text mf_p.l(fadd.o) - 0x01008454 0x01008454 0x0000007a Code RO 5909 .text mf_p.l(fmul.o) - 0x010084ce 0x010084ce 0x00000002 PAD - 0x010084d0 0x010084d0 0x00000164 Code RO 5913 .text mf_p.l(dadd.o) - 0x01008634 0x01008634 0x000000d0 Code RO 5915 .text mf_p.l(dmul.o) - 0x01008704 0x01008704 0x000000f0 Code RO 5917 .text mf_p.l(ddiv.o) - 0x010087f4 0x010087f4 0x0000000e Code RO 5921 .text mf_p.l(ffltui.o) - 0x01008802 0x01008802 0x00000002 PAD - 0x01008804 0x01008804 0x0000001c Code RO 5923 .text mf_p.l(dfltui.o) - 0x01008820 0x01008820 0x0000001c Code RO 5925 .text mf_p.l(dfltul.o) - 0x0100883c 0x0100883c 0x00000032 Code RO 5927 .text mf_p.l(ffixi.o) - 0x0100886e 0x0100886e 0x00000002 PAD - 0x01008870 0x01008870 0x00000040 Code RO 5931 .text mf_p.l(dfixul.o) - 0x010088b0 0x010088b0 0x00000028 Code RO 5933 .text mf_p.l(f2d.o) - 0x010088d8 0x010088d8 0x00000038 Code RO 5935 .text mf_p.l(d2f.o) - 0x01008910 0x01008910 0x00000020 Code RO 5951 .text mc_p.l(llshl.o) - 0x01008930 0x01008930 0x00000022 Code RO 5953 .text mc_p.l(llushr.o) - 0x01008952 0x01008952 0x00000026 Code RO 5955 .text mc_p.l(llsshr.o) - 0x01008978 0x01008978 0x00000008 Code RO 5957 .text mc_p.l(ctype_o.o) - 0x01008980 0x01008980 0x000000a6 Code RO 5992 .text mc_p.l(_strtoul.o) - 0x01008a26 0x01008a26 0x00000000 Code RO 5994 .text mc_p.l(iusefp.o) - 0x01008a26 0x01008a26 0x00000082 Code RO 5995 .text mf_p.l(fepilogue.o) - 0x01008aa8 0x01008aa8 0x000000be Code RO 5997 .text mf_p.l(depilogue.o) - 0x01008b66 0x01008b66 0x00000002 PAD - 0x01008b68 0x01008b68 0x00000028 Code RO 6001 .text mf_p.l(cdrcmple.o) - 0x01008b90 0x01008b90 0x00000024 Code RO 6003 .text mc_p.l(init.o) - 0x01008bb4 0x01008bb4 0x0000001e Code RO 6005 .text mc_p.l(_chval.o) - 0x01008bd2 0x01008bd2 0x00000056 Code RO 6009 .text mc_p.l(__dczerorl2.o) - 0x01008c28 0x01008c28 0x0000000c Ven RO 6011 Veneer$$Code anon$$obj.o - 0x01008c34 0x01008c34 0x0000000c Ven RO 6012 Veneer$$Code anon$$obj.o - 0x01008c40 0x01008c40 0x0000000c Ven RO 6013 Veneer$$Code anon$$obj.o - 0x01008c4c 0x01008c4c 0x0000000c Ven RO 6014 Veneer$$Code anon$$obj.o - 0x01008c58 0x01008c58 0x0000000c Ven RO 6015 Veneer$$Code anon$$obj.o - 0x01008c64 0x01008c64 0x0000000c Ven RO 6016 Veneer$$Code anon$$obj.o - 0x01008c70 0x01008c70 0x0000000c Ven RO 6017 Veneer$$Code anon$$obj.o - 0x01008c7c 0x01008c7c 0x0000000c Ven RO 6018 Veneer$$Code anon$$obj.o - 0x01008c88 0x01008c88 0x0000000c Ven RO 6019 Veneer$$Code anon$$obj.o - 0x01008c94 0x01008c94 0x0000000c Ven RO 6020 Veneer$$Code anon$$obj.o - 0x01008ca0 0x01008ca0 0x0000000c Ven RO 6021 Veneer$$Code anon$$obj.o - 0x01008cac 0x01008cac 0x0000000c Ven RO 6022 Veneer$$Code anon$$obj.o - 0x01008cb8 0x01008cb8 0x0000000c Ven RO 6023 Veneer$$Code anon$$obj.o - 0x01008cc4 0x01008cc4 0x0000000c Ven RO 6024 Veneer$$Code anon$$obj.o - 0x01008cd0 0x01008cd0 0x0000000c Ven RO 6025 Veneer$$Code anon$$obj.o - 0x01008cdc 0x01008cdc 0x0000000c Ven RO 6026 Veneer$$Code anon$$obj.o - 0x01008ce8 0x01008ce8 0x0000000c Ven RO 6027 Veneer$$Code anon$$obj.o - 0x01008cf4 0x01008cf4 0x0000000c Ven RO 6028 Veneer$$Code anon$$obj.o - 0x01008d00 0x01008d00 0x00000006 Code RO 192 i.ADC_ClearFlag n32wb03x_adc.o - 0x01008d06 0x01008d06 0x0000000e Code RO 194 i.ADC_ConfigChannel n32wb03x_adc.o - 0x01008d14 0x01008d14 0x00000054 Code RO 199 i.ADC_ConverValueToTemperature n32wb03x_adc.o - 0x01008d68 0x01008d68 0x00000088 Code RO 200 i.ADC_ConverValueToVoltage n32wb03x_adc.o - 0x01008df0 0x01008df0 0x00000054 Code RO 201 i.ADC_DeInit n32wb03x_adc.o - 0x01008e44 0x01008e44 0x00000014 Code RO 202 i.ADC_Enable n32wb03x_adc.o - 0x01008e58 0x01008e58 0x00000050 Code RO 205 i.ADC_EnableBypassFilter n32wb03x_adc.o - 0x01008ea8 0x01008ea8 0x00000012 Code RO 210 i.ADC_EnableTS n32wb03x_adc.o - 0x01008eba 0x01008eba 0x00000006 Code RO 212 i.ADC_GetDat n32wb03x_adc.o - 0x01008ec0 0x01008ec0 0x0000000e Code RO 213 i.ADC_GetFlagStatus n32wb03x_adc.o - 0x01008ece 0x01008ece 0x00000002 PAD - 0x01008ed0 0x01008ed0 0x00000018 Code RO 218 i.ADC_SetOverSampleCounter n32wb03x_adc.o - 0x01008ee8 0x01008ee8 0x00000034 Code RO 4912 i.AppBootset_CmdBsdump app_bootset.o - 0x01008f1c 0x01008f1c 0x00000330 Code RO 4913 i.AppBootset_CmdBsset app_bootset.o - 0x0100924c 0x0100924c 0x00000028 Code RO 4502 i.AppCli_Init app_cli.o - 0x01009274 0x01009274 0x000000ac Code RO 4858 i.AppParams_CmdAppget app_params.o - 0x01009320 0x01009320 0x000001a0 Code RO 4859 i.AppParams_CmdAppset app_params.o - 0x010094c0 0x010094c0 0x00000434 Code RO 4504 i.CliTask app_cli.o - 0x010098f4 0x010098f4 0x00000078 Code RO 4380 i.CmdBleLog cli_core.o - 0x0100996c 0x0100996c 0x00000178 Code RO 4381 i.CmdDevInfo cli_core.o - 0x01009ae4 0x01009ae4 0x00000090 Code RO 4382 i.CmdFactory cli_core.o - 0x01009b74 0x01009b74 0x000000d4 Code RO 4383 i.CmdHelp cli_core.o - 0x01009c48 0x01009c48 0x000000d0 Code RO 4384 i.CmdLed cli_core.o - 0x01009d18 0x01009d18 0x00000034 Code RO 4385 i.CmdReset cli_core.o - 0x01009d4c 0x01009d4c 0x000000e8 Code RO 4386 i.CmdSysInfo cli_core.o - 0x01009e34 0x01009e34 0x000000ac Code RO 4387 i.CmdUartInfo cli_core.o - 0x01009ee0 0x01009ee0 0x00000044 Code RO 4388 i.CmdUartRst cli_core.o - 0x01009f24 0x01009f24 0x00000098 Code RO 4389 i.CmdVersion cli_core.o - 0x01009fbc 0x01009fbc 0x00000004 Code RO 487 i.DMA_ClearFlag n32wb03x_dma.o - 0x01009fc0 0x01009fc0 0x00000088 Code RO 490 i.DMA_DeInit n32wb03x_dma.o - 0x0100a048 0x0100a048 0x00000018 Code RO 491 i.DMA_EnableChannel n32wb03x_dma.o - 0x0100a060 0x0100a060 0x0000000e Code RO 493 i.DMA_GetFlagStatus n32wb03x_dma.o - 0x0100a06e 0x0100a06e 0x00000002 PAD - 0x0100a070 0x0100a070 0x00000040 Code RO 495 i.DMA_Init n32wb03x_dma.o - 0x0100a0b0 0x0100a0b0 0x0000000e Code RO 496 i.DMA_RequestRemap n32wb03x_dma.o - 0x0100a0be 0x0100a0be 0x00000002 PAD - 0x0100a0c0 0x0100a0c0 0x0000000c Code RO 569 i.EXTI_ClrITPendBit n32wb03x_exti.o - 0x0100a0cc 0x0100a0cc 0x0000001c Code RO 572 i.EXTI_GetITStatus n32wb03x_exti.o - 0x0100a0e8 0x0100a0e8 0x00000070 Code RO 574 i.EXTI_InitPeripheral n32wb03x_exti.o - 0x0100a158 0x0100a158 0x000000b8 Code RO 634 i.GPIO_InitPeripheral n32wb03x_gpio.o - 0x0100a210 0x0100a210 0x0000001c Code RO 635 i.GPIO_InitStruct n32wb03x_gpio.o - 0x0100a22c 0x0100a22c 0x00000004 Code RO 640 i.GPIO_ResetBits n32wb03x_gpio.o - 0x0100a230 0x0100a230 0x00000004 Code RO 641 i.GPIO_SetBits n32wb03x_gpio.o - 0x0100a234 0x0100a234 0x00000008 Code RO 642 i.GPIO_TogglePin n32wb03x_gpio.o - 0x0100a23c 0x0100a23c 0x000000b0 Code RO 4580 i.HardFault_Handler n32wb03x_it.o - 0x0100a2ec 0x0100a2ec 0x00000008 Code RO 4824 i.LedBlink app_gpio.o - 0x0100a2f4 0x0100a2f4 0x0000004c Code RO 4825 i.LedInit app_gpio.o - 0x0100a340 0x0100a340 0x00000008 Code RO 4826 i.LedOff app_gpio.o - 0x0100a348 0x0100a348 0x00000008 Code RO 4827 i.LedOn app_gpio.o - 0x0100a350 0x0100a350 0x00000078 Code RO 159 i.NVIC_Init misc.o - 0x0100a3c8 0x0100a3c8 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o - 0x0100a494 0x0100a494 0x00000024 Code RO 1947 i.Qflash_Erase_Sector n32wb03x_qflash.o - 0x0100a4b8 0x0100a4b8 0x00000038 Code RO 1948 i.Qflash_Init n32wb03x_qflash.o - 0x0100a4f0 0x0100a4f0 0x00000024 Code RO 1950 i.Qflash_Write n32wb03x_qflash.o - 0x0100a514 0x0100a514 0x00000014 Code RO 748 i.RCC_ConfigAdcClk n32wb03x_rcc.o - 0x0100a528 0x0100a528 0x00000018 Code RO 762 i.RCC_EnableAHBPeriphClk n32wb03x_rcc.o - 0x0100a540 0x0100a540 0x00000018 Code RO 763 i.RCC_EnableAHBPeriphReset n32wb03x_rcc.o - 0x0100a558 0x0100a558 0x00000018 Code RO 766 i.RCC_EnableAPB2PeriphClk n32wb03x_rcc.o - 0x0100a570 0x0100a570 0x0000001c Code RO 773 i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL n32wb03x_rcc.o - 0x0100a58c 0x0100a58c 0x00000074 Code RO 774 i.RCC_GetClocksFreqValue n32wb03x_rcc.o - 0x0100a600 0x0100a600 0x00000002 Code RO 5550 i.SVC_Handler port.o - 0x0100a602 0x0100a602 0x00000002 PAD - 0x0100a604 0x0100a604 0x00000024 Code RO 5551 i.SysTick_Handler port.o - 0x0100a628 0x0100a628 0x00000034 Code RO 13 i.SystemGetMacAddr system_n32wb03x.o - 0x0100a65c 0x0100a65c 0x00000180 Code RO 15 i.SystemInit system_n32wb03x.o - 0x0100a7dc 0x0100a7dc 0x00000030 Code RO 16 i.SystemTrimValueGet system_n32wb03x.o - 0x0100a80c 0x0100a80c 0x00000008 Code RO 4581 i.USART1_IRQHandler n32wb03x_it.o - 0x0100a814 0x0100a814 0x00000032 Code RO 1520 i.USART_ConfigInt n32wb03x_usart.o - 0x0100a846 0x0100a846 0x00000002 PAD - 0x0100a848 0x0100a848 0x0000001c Code RO 1525 i.USART_Enable n32wb03x_usart.o - 0x0100a864 0x0100a864 0x00000010 Code RO 1526 i.USART_EnableDMA n32wb03x_usart.o - 0x0100a874 0x0100a874 0x0000000e Code RO 1532 i.USART_GetFlagStatus n32wb03x_usart.o - 0x0100a882 0x0100a882 0x00000040 Code RO 1533 i.USART_GetIntStatus n32wb03x_usart.o - 0x0100a8c2 0x0100a8c2 0x00000002 PAD - 0x0100a8c4 0x0100a8c4 0x00000088 Code RO 1534 i.USART_Init n32wb03x_usart.o - 0x0100a94c 0x0100a94c 0x00000008 Code RO 1535 i.USART_ReceiveData n32wb03x_usart.o - 0x0100a954 0x0100a954 0x00000008 Code RO 1537 i.USART_SendData n32wb03x_usart.o - 0x0100a95c 0x0100a95c 0x00000020 Code RO 5877 i.__0printf mc_p.l(printfa.o) - 0x0100a97c 0x0100a97c 0x00000028 Code RO 5879 i.__0sprintf mc_p.l(printfa.o) - 0x0100a9a4 0x0100a9a4 0x0000002c Code RO 5882 i.__0vsnprintf mc_p.l(printfa.o) - 0x0100a9d0 0x0100a9d0 0x0000002e Code RO 5999 i.__ARM_clz mf_p.l(depilogue.o) - 0x0100a9fe 0x0100a9fe 0x00000002 PAD - 0x0100aa00 0x0100aa00 0x00000008 Code RO 5985 i.__aeabi_errno_addr mc_p.l(errno.o) - 0x0100aa08 0x0100aa08 0x00000174 Code RO 5884 i._fp_digits mc_p.l(printfa.o) - 0x0100ab7c 0x0100ab7c 0x000006ec Code RO 5885 i._printf_core mc_p.l(printfa.o) - 0x0100b268 0x0100b268 0x00000020 Code RO 5886 i._printf_post_padding mc_p.l(printfa.o) - 0x0100b288 0x0100b288 0x0000002c Code RO 5887 i._printf_pre_padding mc_p.l(printfa.o) - 0x0100b2b4 0x0100b2b4 0x00000016 Code RO 5888 i._snputc mc_p.l(printfa.o) - 0x0100b2ca 0x0100b2ca 0x0000000a Code RO 5889 i._sputc mc_p.l(printfa.o) - 0x0100b2d4 0x0100b2d4 0x00000074 Code RO 4120 i.app_ble_adv_init app_ble.o - 0x0100b348 0x0100b348 0x00000002 Code RO 4121 i.app_ble_adv_msg_handler app_ble.o - 0x0100b34a 0x0100b34a 0x00000002 PAD - 0x0100b34c 0x0100b34c 0x00000044 Code RO 4122 i.app_ble_connected app_ble.o - 0x0100b390 0x0100b390 0x0000005c Code RO 4123 i.app_ble_disconnected app_ble.o - 0x0100b3ec 0x0100b3ec 0x00000098 Code RO 4124 i.app_ble_gap_params_init app_ble.o - 0x0100b484 0x0100b484 0x0000004c Code RO 4125 i.app_ble_init app_ble.o - 0x0100b4d0 0x0100b4d0 0x0000006c Code RO 4126 i.app_ble_msg_handler app_ble.o - 0x0100b53c 0x0100b53c 0x000000ec Code RO 4605 i.app_ble_proto_cli_exec app_ble_proto.o - 0x0100b628 0x0100b628 0x00000040 Code RO 4606 i.app_ble_proto_cli_rsp app_ble_proto.o - 0x0100b668 0x0100b668 0x00000014 Code RO 4607 i.app_ble_proto_init app_ble_proto.o - 0x0100b67c 0x0100b67c 0x0000000c Code RO 4608 i.app_ble_proto_log_get app_ble_proto.o - 0x0100b688 0x0100b688 0x00000010 Code RO 4609 i.app_ble_proto_log_set app_ble_proto.o - 0x0100b698 0x0100b698 0x0000001c Code RO 4610 i.app_ble_proto_on_disconnect app_ble_proto.o - 0x0100b6b4 0x0100b6b4 0x000001a0 Code RO 4611 i.app_ble_proto_rx_bytes app_ble_proto.o - 0x0100b854 0x0100b854 0x000000b8 Code RO 4612 i.app_ble_proto_send_frame app_ble_proto.o - 0x0100b90c 0x0100b90c 0x00000050 Code RO 4128 i.app_ble_sec_init app_ble.o - 0x0100b95c 0x0100b95c 0x00000010 Code RO 3851 i.app_conn_params_update_evt_handler ns_ble_task.o - 0x0100b96c 0x0100b96c 0x000000cc Code RO 3452 i.app_create_advertising ns_ble.o - 0x0100ba38 0x0100ba38 0x0000005c Code RO 4005 i.app_dis_add_dis app_dis.o - 0x0100ba94 0x0100ba94 0x00000104 Code RO 3852 i.app_entry_point_handler ns_ble_task.o - 0x0100bb98 0x0100bb98 0x00000008 Code RO 4734 i.app_fan_get_rpm app_info.o - 0x0100bba0 0x0100bba0 0x0000005c Code RO 4735 i.app_info_chip_temp_c10 app_info.o - 0x0100bbfc 0x0100bbfc 0x0000004c Code RO 4736 i.app_info_handle_query app_info.o - 0x0100bc48 0x0100bc48 0x0000000c Code RO 4737 i.app_info_last_temp_raw app_info.o - 0x0100bc54 0x0100bc54 0x0000002c Code RO 4738 i.app_info_tlv_snapshot app_info.o - 0x0100bc80 0x0100bc80 0x00000020 Code RO 4739 i.app_info_vdd_mv app_info.o - 0x0100bca0 0x0100bca0 0x0000001c Code RO 3853 i.app_init_timeout_evt_handler ns_ble_task.o - 0x0100bcbc 0x0100bcbc 0x000000ac Code RO 3854 i.app_lsi_calib_evt_handler ns_ble_task.o - 0x0100bd68 0x0100bd68 0x00000018 Code RO 4684 i.app_ota_abort app_ota.o - 0x0100bd80 0x0100bd80 0x0000011c Code RO 4686 i.app_ota_handle_frame app_ota.o - 0x0100be9c 0x0100be9c 0x00000008 Code RO 4860 i.app_params_get app_params.o - 0x0100bea4 0x0100bea4 0x0000005c Code RO 4861 i.app_params_init app_params.o - 0x0100bf00 0x0100bf00 0x0000002c Code RO 4863 i.app_params_restore_defaults app_params.o - 0x0100bf2c 0x0100bf2c 0x00000068 Code RO 4060 i.app_rdtss_add_rdts app_rdtss.o - 0x0100bf94 0x0100bf94 0x00000004 Code RO 3211 i.app_sec_msg_dflt_handler ns_sec.o - 0x0100bf98 0x0100bf98 0x00000078 Code RO 3453 i.app_set_adv_data ns_ble.o - 0x0100c010 0x0100c010 0x000000c4 Code RO 3454 i.app_set_scan_rsp_data ns_ble.o - 0x0100c0d4 0x0100c0d4 0x00000070 Code RO 3455 i.app_start_advertising ns_ble.o - 0x0100c144 0x0100c144 0x00000002 Code RO 4129 i.app_user_msg_handler app_ble.o - 0x0100c146 0x0100c146 0x00000002 PAD - 0x0100c148 0x0100c148 0x000000c0 Code RO 1987 i.attm_att_set_value lib_att.o - 0x0100c208 0x0100c208 0x00000010 Code RO 4226 i.ble_schedule_task main.o - 0x0100c218 0x0100c218 0x00000014 Code RO 4543 i.ble_up_on_cfm ble_up.o - 0x0100c22c 0x0100c22c 0x00000058 Code RO 4544 i.ble_up_poll ble_up.o - 0x0100c284 0x0100c284 0x00000010 Code RO 4545 i.ble_up_reset ble_up.o - 0x0100c294 0x0100c294 0x00000048 Code RO 4546 i.ble_up_write ble_up.o - 0x0100c2dc 0x0100c2dc 0x00000178 Code RO 4914 i.bootset_print app_bootset.o - 0x0100c454 0x0100c454 0x000000dc Code RO 4308 i.bsp_usart_init bsp_usart.o - 0x0100c530 0x0100c530 0x00000038 Code RO 4309 i.bsp_usart_read_byte bsp_usart.o - 0x0100c568 0x0100c568 0x00000054 Code RO 4311 i.bsp_usart_rx_isr_handler bsp_usart.o - 0x0100c5bc 0x0100c5bc 0x00000070 Code RO 4312 i.bsp_usart_set_baud bsp_usart.o - 0x0100c62c 0x0100c62c 0x00000020 Code RO 4313 i.bsp_usart_tx_lock bsp_usart.o - 0x0100c64c 0x0100c64c 0x00000024 Code RO 4314 i.bsp_usart_tx_unlock bsp_usart.o - 0x0100c670 0x0100c670 0x00000098 Code RO 4315 i.bsp_usart_write_dma bsp_usart.o - 0x0100c708 0x0100c708 0x00000034 Code RO 4811 i.caiic_crc32 boot_crc32.o - 0x0100c73c 0x0100c73c 0x0000002a Code RO 3025 i.check_client_char_cfg rdts_common.o - 0x0100c766 0x0100c766 0x00000004 Code RO 4390 i.cli_cmd_count cli_core.o - 0x0100c76a 0x0100c76a 0x00000002 PAD - 0x0100c76c 0x0100c76c 0x00000018 Code RO 4391 i.cli_cmd_name cli_core.o - 0x0100c784 0x0100c784 0x000000b4 Code RO 4392 i.cli_exec_line cli_core.o - 0x0100c838 0x0100c838 0x0000002c Code RO 4393 i.cli_printf cli_core.o - 0x0100c864 0x0100c864 0x00000068 Code RO 4505 i.cli_redraw_line app_cli.o - 0x0100c8cc 0x0100c8cc 0x0000002c Code RO 4613 i.cli_rsp_out app_ble_proto.o - 0x0100c8f8 0x0100c8f8 0x0000000c Code RO 4394 i.cli_set_output cli_core.o - 0x0100c904 0x0100c904 0x00000024 Code RO 4395 i.cli_write cli_core.o - 0x0100c928 0x0100c928 0x0000002a Code RO 2663 i.diss_check_val_len diss.o - 0x0100c952 0x0100c952 0x00000002 Code RO 2664 i.diss_cleanup diss.o - 0x0100c954 0x0100c954 0x00000002 Code RO 2666 i.diss_create diss.o - 0x0100c956 0x0100c956 0x0000003e Code RO 2667 i.diss_destroy diss.o - 0x0100c994 0x0100c994 0x00000034 Code RO 2668 i.diss_handle_to_value diss.o - 0x0100c9c8 0x0100c9c8 0x000000a0 Code RO 2669 i.diss_init diss.o - 0x0100ca68 0x0100ca68 0x00000008 Code RO 2670 i.diss_prf_itf_get diss.o - 0x0100ca70 0x0100ca70 0x0000009c Code RO 2762 i.diss_set_value_req_handler diss_task.o - 0x0100cb0c 0x0100cb0c 0x00000020 Code RO 2763 i.diss_task_init diss_task.o - 0x0100cb2c 0x0100cb2c 0x0000007c Code RO 2764 i.diss_value_cfm_handler diss_task.o - 0x0100cba8 0x0100cba8 0x000000c0 Code RO 4007 i.diss_value_req_ind_handler app_dis.o - 0x0100cc68 0x0100cc68 0x0000003a Code RO 2671 i.diss_value_to_handle diss.o - 0x0100cca2 0x0100cca2 0x00000002 PAD - 0x0100cca4 0x0100cca4 0x00000060 Code RO 4941 i.eTaskGetState tasks.o - 0x0100cd04 0x0100cd04 0x0000003c Code RO 4316 i.fputc bsp_usart.o - 0x0100cd40 0x0100cd40 0x000000f0 Code RO 3212 i.gapc_bond_ind_handler ns_sec.o - 0x0100ce30 0x0100ce30 0x00000208 Code RO 3213 i.gapc_bond_req_ind_handler ns_sec.o - 0x0100d038 0x0100d038 0x00000028 Code RO 3855 i.gapc_cmp_evt_handler ns_ble_task.o - 0x0100d060 0x0100d060 0x0000006c Code RO 3856 i.gapc_conn_rssi_ind_handler ns_ble_task.o - 0x0100d0cc 0x0100d0cc 0x00000158 Code RO 3857 i.gapc_connection_req_ind_handler ns_ble_task.o - 0x0100d224 0x0100d224 0x00000064 Code RO 3858 i.gapc_disconnect_ind_handler ns_ble_task.o - 0x0100d288 0x0100d288 0x00000028 Code RO 3214 i.gapc_encrypt_ind_handler ns_sec.o - 0x0100d2b0 0x0100d2b0 0x00000130 Code RO 3215 i.gapc_encrypt_req_ind_handler ns_sec.o - 0x0100d3e0 0x0100d3e0 0x00000080 Code RO 3859 i.gapc_get_dev_info_req_ind_handler ns_ble_task.o - 0x0100d460 0x0100d460 0x0000000c Code RO 3860 i.gapc_le_phy_ind_handler ns_ble_task.o - 0x0100d46c 0x0100d46c 0x0000001c Code RO 3861 i.gapc_le_pkt_size_ind_handler ns_ble_task.o - 0x0100d488 0x0100d488 0x00000064 Code RO 3862 i.gapc_param_update_req_ind_handler ns_ble_task.o - 0x0100d4ec 0x0100d4ec 0x00000028 Code RO 3863 i.gapc_param_updated_ind_handler ns_ble_task.o - 0x0100d514 0x0100d514 0x00000040 Code RO 3864 i.gapc_set_dev_info_req_ind_handler ns_ble_task.o - 0x0100d554 0x0100d554 0x00000034 Code RO 3865 i.gapm_activity_created_ind_handler ns_ble_task.o - 0x0100d588 0x0100d588 0x00000060 Code RO 3866 i.gapm_activity_stopped_ind_handler ns_ble_task.o - 0x0100d5e8 0x0100d5e8 0x0000002c Code RO 3867 i.gapm_addr_solved_ind_handler ns_ble_task.o - 0x0100d614 0x0100d614 0x000003e0 Code RO 3868 i.gapm_cmp_evt_handler ns_ble_task.o - 0x0100d9f4 0x0100d9f4 0x000000ac Code RO 3869 i.gapm_ext_adv_repoer_ind_handler ns_ble_task.o - 0x0100daa0 0x0100daa0 0x00000036 Code RO 3870 i.gapm_gen_rand_nb_ind_handler ns_ble_task.o - 0x0100dad6 0x0100dad6 0x0000000c Code RO 3871 i.gapm_profile_added_ind_handler ns_ble_task.o - 0x0100dae2 0x0100dae2 0x0000000c Code RO 3872 i.gapm_scan_request_ind_handler ns_ble_task.o - 0x0100daee 0x0100daee 0x00000002 PAD - 0x0100daf0 0x0100daf0 0x00000040 Code RO 2903 i.gattc_att_info_req_ind_handler rdtss_task.o - 0x0100db30 0x0100db30 0x00000070 Code RO 2904 i.gattc_cmp_evt_handler rdtss_task.o - 0x0100dba0 0x0100dba0 0x00000028 Code RO 3873 i.gattc_cmp_evt_handler ns_ble_task.o - 0x0100dbc8 0x0100dbc8 0x0000004c Code RO 3874 i.gattc_mtu_changed_ind_handler ns_ble_task.o - 0x0100dc14 0x0100dc14 0x000000c4 Code RO 2765 i.gattc_read_req_ind_handler diss_task.o - 0x0100dcd8 0x0100dcd8 0x000000e0 Code RO 2905 i.gattc_read_req_ind_handler rdtss_task.o - 0x0100ddb8 0x0100ddb8 0x00000110 Code RO 2906 i.gattc_write_req_ind_handler rdtss_task.o - 0x0100dec8 0x0100dec8 0x0000006c Code RO 3026 i.get_cfg_handle rdts_common.o - 0x0100df34 0x0100df34 0x00000054 Code RO 3027 i.get_value_handle rdts_common.o - 0x0100df88 0x0100df88 0x00000064 Code RO 4740 i.info_adc_init app_info.o - 0x0100dfec 0x0100dfec 0x0000006c Code RO 4741 i.info_adc_read app_info.o - 0x0100e058 0x0100e058 0x0000011c Code RO 4742 i.info_fill_item app_info.o - 0x0100e174 0x0100e174 0x0000002c Code RO 4743 i.info_put_tlv app_info.o - 0x0100e1a0 0x0100e1a0 0x00000034 Code RO 4227 i.led_task main.o - 0x0100e1d4 0x0100e1d4 0x00000030 Code RO 2356 i.llhwc_modem_setmode rwip_driver.o - 0x0100e204 0x0100e204 0x00000130 Code RO 2357 i.llhwc_phy_prerx_flash rwip_driver.o - 0x0100e334 0x0100e334 0x00000090 Code RO 2358 i.llhwc_setmode_reg_config rwip_driver.o - 0x0100e3c4 0x0100e3c4 0x000001a0 Code RO 4228 i.main main.o - 0x0100e564 0x0100e564 0x0000005c Code RO 3456 i.ns_EXTI4_12_IRQHandler ns_ble.o - 0x0100e5c0 0x0100e5c0 0x00000028 Code RO 3457 i.ns_HardFault_Handler ns_ble.o - 0x0100e5e8 0x0100e5e8 0x00000020 Code RO 3459 i.ns_ble_add_prf_func_register ns_ble.o - 0x0100e608 0x0100e608 0x0000002c Code RO 3460 i.ns_ble_add_svc ns_ble.o - 0x0100e634 0x0100e634 0x000000dc Code RO 3462 i.ns_ble_adv_fsm_next ns_ble.o - 0x0100e710 0x0100e710 0x00000048 Code RO 3463 i.ns_ble_adv_init ns_ble.o - 0x0100e758 0x0100e758 0x00000050 Code RO 3464 i.ns_ble_adv_start ns_ble.o - 0x0100e7a8 0x0100e7a8 0x0000004c Code RO 3465 i.ns_ble_adv_stop ns_ble.o - 0x0100e7f4 0x0100e7f4 0x0000003c Code RO 3468 i.ns_ble_delete_init ns_ble.o - 0x0100e830 0x0100e830 0x00000038 Code RO 3469 i.ns_ble_delete_scan ns_ble.o - 0x0100e868 0x0100e868 0x0000002c Code RO 3470 i.ns_ble_disconnect ns_ble.o - 0x0100e894 0x0100e894 0x0000006c Code RO 3473 i.ns_ble_gap_init ns_ble.o - 0x0100e900 0x0100e900 0x00000024 Code RO 3476 i.ns_ble_get_connection_num ns_ble.o - 0x0100e924 0x0100e924 0x00000050 Code RO 3479 i.ns_ble_list_set_ral ns_ble.o - 0x0100e974 0x0100e974 0x00000084 Code RO 3481 i.ns_ble_lsc_config ns_ble.o - 0x0100e9f8 0x0100e9f8 0x00000034 Code RO 3483 i.ns_ble_mtu_set ns_ble.o - 0x0100ea2c 0x0100ea2c 0x00000028 Code RO 3485 i.ns_ble_prf_task_register ns_ble.o - 0x0100ea54 0x0100ea54 0x00000048 Code RO 3490 i.ns_ble_scan_data_find ns_ble.o - 0x0100ea9c 0x0100ea9c 0x00000278 Code RO 3497 i.ns_ble_stack_init ns_ble.o - 0x0100ed14 0x0100ed14 0x00000124 Code RO 3498 i.ns_ble_start_init ns_ble.o - 0x0100ee38 0x0100ee38 0x000000cc Code RO 3499 i.ns_ble_start_scan ns_ble.o - 0x0100ef04 0x0100ef04 0x00000038 Code RO 3500 i.ns_ble_stop_init ns_ble.o - 0x0100ef3c 0x0100ef3c 0x0000003c Code RO 3501 i.ns_ble_stop_scan ns_ble.o - 0x0100ef78 0x0100ef78 0x00000078 Code RO 3502 i.ns_ble_update_param ns_ble.o - 0x0100eff0 0x0100eff0 0x0000002c Code RO 3216 i.ns_bond_db_get_size ns_sec.o - 0x0100f01c 0x0100f01c 0x0000001c Code RO 3217 i.ns_bond_db_load ns_sec.o - 0x0100f038 0x0100f038 0x00000030 Code RO 3218 i.ns_bond_last_bonded_addr ns_sec.o - 0x0100f068 0x0100f068 0x00000030 Code RO 3219 i.ns_bond_last_bonded_peer_id ns_sec.o - 0x0100f098 0x0100f098 0x00000064 Code RO 3220 i.ns_bond_last_bonded_ral_info ns_sec.o - 0x0100f0fc 0x0100f0fc 0x00000060 Code RO 3221 i.ns_bond_resolv_addr_start ns_sec.o - 0x0100f15c 0x0100f15c 0x0000007c Code RO 3222 i.ns_bond_search_addr_irk ns_sec.o - 0x0100f1d8 0x0100f1d8 0x000000d4 Code RO 3505 i.ns_peripheral_config ns_ble.o - 0x0100f2ac 0x0100f2ac 0x00000160 Code RO 3224 i.ns_sec_bond_store_evt_handler ns_sec.o - 0x0100f40c 0x0100f40c 0x00000010 Code RO 3225 i.ns_sec_get_bond_status ns_sec.o - 0x0100f41c 0x0100f41c 0x0000000c Code RO 3226 i.ns_sec_get_iocap ns_sec.o - 0x0100f428 0x0100f428 0x00000068 Code RO 3227 i.ns_sec_init ns_sec.o - 0x0100f490 0x0100f490 0x00000018 Code RO 3073 i.ns_sleep_lock_acquire ns_sleep.o - 0x0100f4a8 0x0100f4a8 0x00000014 Code RO 3074 i.ns_sleep_lock_release ns_sleep.o - 0x0100f4bc 0x0100f4bc 0x000000c8 Code RO 3149 i.ns_timer_api_process_handler ns_timer.o - 0x0100f584 0x0100f584 0x00000158 Code RO 4687 i.ota_on_data app_ota.o - 0x0100f6dc 0x0100f6dc 0x000001ac Code RO 4688 i.ota_on_end app_ota.o - 0x0100f888 0x0100f888 0x00000028 Code RO 4689 i.ota_respond app_ota.o - 0x0100f8b0 0x0100f8b0 0x0000005c Code RO 4864 i.params_save app_params.o - 0x0100f90c 0x0100f90c 0x00000044 Code RO 3506 i.patchx_enable ns_ble.o - 0x0100f950 0x0100f950 0x00000088 Code RO 2537 i.prf_add_profile prf.o - 0x0100f9d8 0x0100f9d8 0x00000010 Code RO 2540 i.prf_dst_task_get prf.o - 0x0100f9e8 0x0100f9e8 0x00000030 Code RO 2541 i.prf_env_get prf.o - 0x0100fa18 0x0100fa18 0x00000038 Code RO 2542 i.prf_get_id_from_task prf.o - 0x0100fa50 0x0100fa50 0x00000028 Code RO 2543 i.prf_get_itf_func_register prf.o - 0x0100fa78 0x0100fa78 0x00000038 Code RO 2544 i.prf_get_task_from_id prf.o - 0x0100fab0 0x0100fab0 0x000000b4 Code RO 2545 i.prf_init prf.o - 0x0100fb64 0x0100fb64 0x00000030 Code RO 2546 i.prf_itf_get prf.o - 0x0100fb94 0x0100fb94 0x00000038 Code RO 4614 i.proto_cli_out app_ble_proto.o - 0x0100fbcc 0x0100fbcc 0x00000080 Code RO 4615 i.proto_dump app_ble_proto.o - 0x0100fc4c 0x0100fc4c 0x00000058 Code RO 4943 i.prvAddCurrentTaskToDelayedList tasks.o - 0x0100fca4 0x0100fca4 0x00000070 Code RO 5275 i.prvCopyDataToQueue queue.o - 0x0100fd14 0x0100fd14 0x00000054 Code RO 4944 i.prvIdleTask tasks.o - 0x0100fd68 0x0100fd68 0x00000054 Code RO 5505 i.prvInsertBlockIntoFreeList heap_4.o - 0x0100fdbc 0x0100fdbc 0x000000cc Code RO 4945 i.prvListTasksWithinSingleList tasks.o - 0x0100fe88 0x0100fe88 0x00000014 Code RO 5552 i.prvTaskExitError port.o - 0x0100fe9c 0x0100fe9c 0x00000074 Code RO 5276 i.prvUnlockQueue queue.o - 0x0100ff10 0x0100ff10 0x000000f4 Code RO 5506 i.pvPortMalloc heap_4.o - 0x01010004 0x01010004 0x00000018 Code RO 4946 i.pvTaskIncrementMutexHeldCount tasks.o - 0x0101001c 0x0101001c 0x00000024 Code RO 5553 i.pxPortInitialiseStack port.o - 0x01010040 0x01010040 0x0000003a Code RO 2907 i.rdtss_att_get_value rdtss_task.o - 0x0101007a 0x0101007a 0x00000002 PAD - 0x0101007c 0x0101007c 0x00000040 Code RO 2908 i.rdtss_att_info_rsp_handler rdtss_task.o - 0x010100bc 0x010100bc 0x00000068 Code RO 2909 i.rdtss_att_set_value rdtss_task.o - 0x01010124 0x01010124 0x0000004c Code RO 2852 i.rdtss_cleanup rdtss.o - 0x01010170 0x01010170 0x0000004c Code RO 2853 i.rdtss_create rdtss.o - 0x010101bc 0x010101bc 0x00000042 Code RO 2854 i.rdtss_destroy rdtss.o - 0x010101fe 0x010101fe 0x0000001c Code RO 3028 i.rdtss_get_att_handle rdts_common.o - 0x0101021a 0x0101021a 0x00000028 Code RO 3029 i.rdtss_get_att_idx rdts_common.o - 0x01010242 0x01010242 0x00000098 Code RO 2855 i.rdtss_init rdtss.o - 0x010102da 0x010102da 0x00000002 PAD - 0x010102dc 0x010102dc 0x000000a4 Code RO 2910 i.rdtss_init_ccc_values rdtss_task.o - 0x01010380 0x01010380 0x00000008 Code RO 2856 i.rdtss_prf_itf_get rdtss.o - 0x01010388 0x01010388 0x00000054 Code RO 4062 i.rdtss_send_notify app_rdtss.o - 0x010103dc 0x010103dc 0x00000034 Code RO 2911 i.rdtss_set_ccc_value rdtss_task.o - 0x01010410 0x01010410 0x00000020 Code RO 2912 i.rdtss_task_init rdtss_task.o - 0x01010430 0x01010430 0x000000b0 Code RO 2913 i.rdtss_val_ind_req_handler rdtss_task.o - 0x010104e0 0x010104e0 0x0000000a Code RO 4063 i.rdtss_val_ntf_cfm_handler app_rdtss.o - 0x010104ea 0x010104ea 0x000000a6 Code RO 2914 i.rdtss_val_ntf_req_handler rdtss_task.o - 0x01010590 0x01010590 0x00000020 Code RO 2915 i.rdtss_val_set_req_handler rdtss_task.o - 0x010105b0 0x010105b0 0x00000118 Code RO 4064 i.rdtss_val_write_ind_handler app_rdtss.o - 0x010106c8 0x010106c8 0x0000007c Code RO 4065 i.rdtss_value_req_ind_handler app_rdtss.o - 0x01010744 0x01010744 0x00000080 Code RO 2916 i.rdtss_value_req_rsp_handler rdtss_task.o - 0x010107c4 0x010107c4 0x00000118 Code RO 2105 i.rwip_init rwip.o - 0x010108dc 0x010108dc 0x000000f8 Code RO 2365 i.rwip_slp_isr rwip_driver.o - 0x010109d4 0x010109d4 0x00000002 Code RO 3154 i.timer_canceled_handler ns_timer.o - 0x010109d6 0x010109d6 0x00000002 Code RO 3155 i.timer_modified_handler ns_timer.o - 0x010109d8 0x010109d8 0x00000026 Code RO 5463 i.uxListRemove list.o - 0x010109fe 0x010109fe 0x00000002 PAD - 0x01010a00 0x01010a00 0x0000000c Code RO 4948 i.uxTaskGetNumberOfTasks tasks.o - 0x01010a0c 0x01010a0c 0x00000098 Code RO 4949 i.uxTaskGetSystemState tasks.o - 0x01010aa4 0x01010aa4 0x00000016 Code RO 5464 i.vListInitialise list.o - 0x01010aba 0x01010aba 0x00000006 Code RO 5465 i.vListInitialiseItem list.o - 0x01010ac0 0x01010ac0 0x00000032 Code RO 5466 i.vListInsert list.o - 0x01010af2 0x01010af2 0x00000018 Code RO 5467 i.vListInsertEnd list.o - 0x01010b0a 0x01010b0a 0x00000002 PAD - 0x01010b0c 0x01010b0c 0x00000018 Code RO 5555 i.vPortEnterCritical port.o - 0x01010b24 0x01010b24 0x0000001c Code RO 5556 i.vPortExitCritical port.o - 0x01010b40 0x01010b40 0x00000044 Code RO 5507 i.vPortFree heap_4.o - 0x01010b84 0x01010b84 0x00000018 Code RO 5557 i.vPortYield port.o - 0x01010b9c 0x01010b9c 0x00000030 Code RO 4954 i.vTaskDelay tasks.o - 0x01010bcc 0x01010bcc 0x00000010 Code RO 4959 i.vTaskInternalSetTimeOutState tasks.o - 0x01010bdc 0x01010bdc 0x000000d0 Code RO 4960 i.vTaskList tasks.o - 0x01010cac 0x01010cac 0x0000000c Code RO 4961 i.vTaskMissedYield tasks.o - 0x01010cb8 0x01010cb8 0x00000024 Code RO 4963 i.vTaskPlaceOnEventList tasks.o - 0x01010cdc 0x01010cdc 0x00000074 Code RO 4965 i.vTaskPriorityDisinheritAfterTimeout tasks.o - 0x01010d50 0x01010d50 0x00000050 Code RO 4971 i.vTaskStartScheduler tasks.o - 0x01010da0 0x01010da0 0x00000010 Code RO 4973 i.vTaskSuspendAll tasks.o - 0x01010db0 0x01010db0 0x00000064 Code RO 4974 i.vTaskSwitchContext tasks.o - 0x01010e14 0x01010e14 0x0000000c Code RO 5509 i.xPortGetFreeHeapSize heap_4.o - 0x01010e20 0x01010e20 0x0000000c Code RO 5510 i.xPortGetMinimumEverFreeHeapSize heap_4.o - 0x01010e2c 0x01010e2c 0x00000050 Code RO 5558 i.xPortStartScheduler port.o - 0x01010e7c 0x01010e7c 0x00000024 Code RO 5287 i.xQueueCreateMutex queue.o - 0x01010ea0 0x01010ea0 0x00000044 Code RO 5288 i.xQueueGenericCreate queue.o - 0x01010ee4 0x01010ee4 0x0000006e Code RO 5289 i.xQueueGenericReset queue.o - 0x01010f52 0x01010f52 0x0000018e Code RO 5290 i.xQueueGenericSend queue.o - 0x010110e0 0x010110e0 0x0000008e Code RO 5291 i.xQueueGenericSendFromISR queue.o - 0x0101116e 0x0101116e 0x00000142 Code RO 5300 i.xQueueReceive queue.o - 0x010112b0 0x010112b0 0x00000172 Code RO 5302 i.xQueueSemaphoreTake queue.o - 0x01011422 0x01011422 0x00000002 PAD - 0x01011424 0x01011424 0x00000064 Code RO 4975 i.xTaskCheckForTimeOut tasks.o - 0x01011488 0x01011488 0x00000178 Code RO 4976 i.xTaskCreate tasks.o - 0x01011600 0x01011600 0x00000020 Code RO 4980 i.xTaskGetSchedulerState tasks.o - 0x01011620 0x01011620 0x0000000c Code RO 4981 i.xTaskGetTickCount tasks.o - 0x0101162c 0x0101162c 0x000000d4 Code RO 4983 i.xTaskIncrementTick tasks.o - 0x01011700 0x01011700 0x00000068 Code RO 4986 i.xTaskPriorityDisinherit tasks.o - 0x01011768 0x01011768 0x00000078 Code RO 4987 i.xTaskPriorityInherit tasks.o - 0x010117e0 0x010117e0 0x00000064 Code RO 4988 i.xTaskRemoveFromEventList tasks.o - 0x01011844 0x01011844 0x000000c8 Code RO 4989 i.xTaskResumeAll tasks.o - 0x0101190c 0x0101190c 0x000001d8 Data RO 20 .constdata system_n32wb03x.o - 0x01011ae4 0x01011ae4 0x0000000c Data RO 782 .constdata n32wb03x_rcc.o - 0x01011af0 0x01011af0 0x00000324 Data RO 1952 .constdata n32wb03x_qflash.o - 0x01011e14 0x01011e14 0x0000001e Data RO 2366 .constdata rwip_driver.o - 0x01011e32 0x01011e32 0x00000002 PAD - 0x01011e34 0x01011e34 0x000000a8 Data RO 2672 .constdata diss.o - 0x01011edc 0x01011edc 0x00000018 Data RO 2766 .constdata diss_task.o - 0x01011ef4 0x01011ef4 0x00000010 Data RO 2857 .constdata rdtss.o - 0x01011f04 0x01011f04 0x00000048 Data RO 2917 .constdata rdtss_task.o - 0x01011f4c 0x01011f4c 0x00000028 Data RO 3233 .constdata ns_sec.o - 0x01011f74 0x01011f74 0x00000008 Data RO 3234 .constdata ns_sec.o - 0x01011f7c 0x01011f7c 0x00000334 Data RO 3508 .constdata ns_ble.o - 0x010122b0 0x010122b0 0x00000098 Data RO 3875 .constdata ns_ble_task.o - 0x01012348 0x01012348 0x000000c8 Data RO 3876 .constdata ns_ble_task.o - 0x01012410 0x01012410 0x0000000c Data RO 3877 .constdata ns_ble_task.o - 0x0101241c 0x0101241c 0x00000008 Data RO 4008 .constdata app_dis.o - 0x01012424 0x01012424 0x00000008 Data RO 4009 .constdata app_dis.o - 0x0101242c 0x0101242c 0x0000010a Data RO 4066 .constdata app_rdtss.o - 0x01012536 0x01012536 0x00000002 PAD - 0x01012538 0x01012538 0x00000018 Data RO 4067 .constdata app_rdtss.o - 0x01012550 0x01012550 0x000000a8 Data RO 4397 .constdata cli_core.o - 0x010125f8 0x010125f8 0x00000006 Data RO 4745 .constdata app_info.o - 0x010125fe 0x010125fe 0x00000081 Data RO 5958 .constdata mc_p.l(ctype_o.o) - 0x0101267f 0x0101267f 0x00000001 PAD - 0x01012680 0x01012680 0x00000004 Data RO 5959 .constdata mc_p.l(ctype_o.o) - 0x01012684 0x01012684 0x00000308 Data RO 4398 .conststring cli_core.o - 0x0101298c 0x0101298c 0x00000049 Data RO 4915 .conststring app_bootset.o - 0x010129d5 0x010129d5 0x00000003 PAD - 0x010129d8 0x010129d8 0x00000020 Data RO 6007 Region$$Table anon$$obj.o + 0x01008184 0x01008184 0x0000002c Code RO 6199 .text mc_p.l(uidiv.o) + 0x010081b0 0x010081b0 0x00000028 Code RO 6201 .text mc_p.l(idiv.o) + 0x010081d8 0x010081d8 0x00000060 Code RO 6203 .text mc_p.l(uldiv.o) + 0x01008238 0x01008238 0x0000000c Code RO 6205 .text mc_p.l(tolower.o) + 0x01008244 0x01008244 0x00000024 Code RO 6207 .text mc_p.l(rand.o) + 0x01008268 0x01008268 0x00000024 Code RO 6210 .text mc_p.l(memcpya.o) + 0x0100828c 0x0100828c 0x00000024 Code RO 6212 .text mc_p.l(memseta.o) + 0x010082b0 0x010082b0 0x0000000e Code RO 6214 .text mc_p.l(strlen.o) + 0x010082be 0x010082be 0x0000001c Code RO 6216 .text mc_p.l(strcmp.o) + 0x010082da 0x010082da 0x00000014 Code RO 6218 .text mc_p.l(memchr.o) + 0x010082ee 0x010082ee 0x0000001a Code RO 6220 .text mc_p.l(memcmp.o) + 0x01008308 0x01008308 0x00000012 Code RO 6222 .text mc_p.l(strcpy.o) + 0x0100831a 0x0100831a 0x0000001e Code RO 6224 .text mc_p.l(strncmp.o) + 0x01008338 0x01008338 0x0000003c Code RO 6517 .text mc_p.l(__0sscanf.o) + 0x01008374 0x01008374 0x00000374 Code RO 6519 .text mc_p.l(scanf_fp.o) + 0x010086e8 0x010086e8 0x00000076 Code RO 6523 .text mc_p.l(strtoul.o) + 0x0100875e 0x0100875e 0x000000b2 Code RO 6525 .text mf_p.l(fadd.o) + 0x01008810 0x01008810 0x0000007a Code RO 6527 .text mf_p.l(fmul.o) + 0x0100888a 0x0100888a 0x00000002 PAD + 0x0100888c 0x0100888c 0x00000164 Code RO 6531 .text mf_p.l(dadd.o) + 0x010089f0 0x010089f0 0x000000d0 Code RO 6533 .text mf_p.l(dmul.o) + 0x01008ac0 0x01008ac0 0x000000f0 Code RO 6535 .text mf_p.l(ddiv.o) + 0x01008bb0 0x01008bb0 0x0000002c Code RO 6537 .text mf_p.l(dscalb.o) + 0x01008bdc 0x01008bdc 0x0000000e Code RO 6541 .text mf_p.l(ffltui.o) + 0x01008bea 0x01008bea 0x00000002 PAD + 0x01008bec 0x01008bec 0x00000028 Code RO 6543 .text mf_p.l(dflti.o) + 0x01008c14 0x01008c14 0x0000001c Code RO 6545 .text mf_p.l(dfltui.o) + 0x01008c30 0x01008c30 0x0000001c Code RO 6547 .text mf_p.l(dfltul.o) + 0x01008c4c 0x01008c4c 0x00000032 Code RO 6549 .text mf_p.l(ffixi.o) + 0x01008c7e 0x01008c7e 0x00000002 PAD + 0x01008c80 0x01008c80 0x00000048 Code RO 6553 .text mf_p.l(dfixi.o) + 0x01008cc8 0x01008cc8 0x00000040 Code RO 6555 .text mf_p.l(dfixul.o) + 0x01008d08 0x01008d08 0x00000028 Code RO 6557 .text mf_p.l(f2d.o) + 0x01008d30 0x01008d30 0x00000028 Code RO 6559 .text mf_p.l(cdcmple.o) + 0x01008d58 0x01008d58 0x00000028 Code RO 6561 .text mf_p.l(cdrcmple.o) + 0x01008d80 0x01008d80 0x00000038 Code RO 6563 .text mf_p.l(d2f.o) + 0x01008db8 0x01008db8 0x0000007a Code RO 6579 .text mc_p.l(llmul.o) + 0x01008e32 0x01008e32 0x00000020 Code RO 6581 .text mc_p.l(llshl.o) + 0x01008e52 0x01008e52 0x00000022 Code RO 6583 .text mc_p.l(llushr.o) + 0x01008e74 0x01008e74 0x00000026 Code RO 6585 .text mc_p.l(llsshr.o) + 0x01008e9a 0x01008e9a 0x00000002 PAD + 0x01008e9c 0x01008e9c 0x00000008 Code RO 6587 .text mc_p.l(ctype_o.o) + 0x01008ea4 0x01008ea4 0x00000012 Code RO 6609 .text mc_p.l(isspace_o.o) + 0x01008eb6 0x01008eb6 0x00000002 PAD + 0x01008eb8 0x01008eb8 0x0000002c Code RO 6624 .text mc_p.l(scanf_char.o) + 0x01008ee4 0x01008ee4 0x00000044 Code RO 6626 .text mc_p.l(_sgetc.o) + 0x01008f28 0x01008f28 0x000000a6 Code RO 6628 .text mc_p.l(_strtoul.o) + 0x01008fce 0x01008fce 0x00000002 PAD + 0x01008fd0 0x01008fd0 0x000000a4 Code RO 6630 .text mc_p.l(strtod.o) + 0x01009074 0x01009074 0x00000000 Code RO 6632 .text mc_p.l(iusefp.o) + 0x01009074 0x01009074 0x00000082 Code RO 6633 .text mf_p.l(fepilogue.o) + 0x010090f6 0x010090f6 0x000000be Code RO 6635 .text mf_p.l(depilogue.o) + 0x010091b4 0x010091b4 0x00000024 Code RO 6639 .text mc_p.l(init.o) + 0x010091d8 0x010091d8 0x0000001e Code RO 6643 .text mc_p.l(_chval.o) + 0x010091f6 0x010091f6 0x00000002 PAD + 0x010091f8 0x010091f8 0x00000338 Code RO 6645 .text mc_p.l(_scanf.o) + 0x01009530 0x01009530 0x00000060 Code RO 6652 .text mc_p.l(__dclz77c.o) + 0x01009590 0x01009590 0x0000000c Ven RO 6654 Veneer$$Code anon$$obj.o + 0x0100959c 0x0100959c 0x0000000c Ven RO 6655 Veneer$$Code anon$$obj.o + 0x010095a8 0x010095a8 0x0000000c Ven RO 6656 Veneer$$Code anon$$obj.o + 0x010095b4 0x010095b4 0x0000000c Ven RO 6657 Veneer$$Code anon$$obj.o + 0x010095c0 0x010095c0 0x0000000c Ven RO 6658 Veneer$$Code anon$$obj.o + 0x010095cc 0x010095cc 0x0000000c Ven RO 6659 Veneer$$Code anon$$obj.o + 0x010095d8 0x010095d8 0x0000000c Ven RO 6660 Veneer$$Code anon$$obj.o + 0x010095e4 0x010095e4 0x0000000c Ven RO 6661 Veneer$$Code anon$$obj.o + 0x010095f0 0x010095f0 0x0000000c Ven RO 6662 Veneer$$Code anon$$obj.o + 0x010095fc 0x010095fc 0x0000000c Ven RO 6663 Veneer$$Code anon$$obj.o + 0x01009608 0x01009608 0x0000000c Ven RO 6664 Veneer$$Code anon$$obj.o + 0x01009614 0x01009614 0x0000000c Ven RO 6665 Veneer$$Code anon$$obj.o + 0x01009620 0x01009620 0x0000000c Ven RO 6666 Veneer$$Code anon$$obj.o + 0x0100962c 0x0100962c 0x0000000c Ven RO 6667 Veneer$$Code anon$$obj.o + 0x01009638 0x01009638 0x0000000c Ven RO 6668 Veneer$$Code anon$$obj.o + 0x01009644 0x01009644 0x0000000c Ven RO 6669 Veneer$$Code anon$$obj.o + 0x01009650 0x01009650 0x0000000c Ven RO 6670 Veneer$$Code anon$$obj.o + 0x0100965c 0x0100965c 0x0000000c Ven RO 6671 Veneer$$Code anon$$obj.o + 0x01009668 0x01009668 0x0000000c Ven RO 6672 Veneer$$Code anon$$obj.o + 0x01009674 0x01009674 0x00000006 Code RO 192 i.ADC_ClearFlag n32wb03x_adc.o + 0x0100967a 0x0100967a 0x0000000e Code RO 194 i.ADC_ConfigChannel n32wb03x_adc.o + 0x01009688 0x01009688 0x00000054 Code RO 199 i.ADC_ConverValueToTemperature n32wb03x_adc.o + 0x010096dc 0x010096dc 0x00000088 Code RO 200 i.ADC_ConverValueToVoltage n32wb03x_adc.o + 0x01009764 0x01009764 0x00000054 Code RO 201 i.ADC_DeInit n32wb03x_adc.o + 0x010097b8 0x010097b8 0x00000014 Code RO 202 i.ADC_Enable n32wb03x_adc.o + 0x010097cc 0x010097cc 0x00000050 Code RO 205 i.ADC_EnableBypassFilter n32wb03x_adc.o + 0x0100981c 0x0100981c 0x00000012 Code RO 210 i.ADC_EnableTS n32wb03x_adc.o + 0x0100982e 0x0100982e 0x00000006 Code RO 212 i.ADC_GetDat n32wb03x_adc.o + 0x01009834 0x01009834 0x0000000e Code RO 213 i.ADC_GetFlagStatus n32wb03x_adc.o + 0x01009842 0x01009842 0x00000002 PAD + 0x01009844 0x01009844 0x00000018 Code RO 218 i.ADC_SetOverSampleCounter n32wb03x_adc.o + 0x0100985c 0x0100985c 0x00000034 Code RO 4927 i.AppBootset_CmdBsdump app_bootset.o + 0x01009890 0x01009890 0x00000330 Code RO 4928 i.AppBootset_CmdBsset app_bootset.o + 0x01009bc0 0x01009bc0 0x00000028 Code RO 4502 i.AppCli_Init app_cli.o + 0x01009be8 0x01009be8 0x000000c8 Code RO 4858 i.AppParams_CmdAppget app_params.o + 0x01009cb0 0x01009cb0 0x0000033c Code RO 4859 i.AppParams_CmdAppset app_params.o + 0x01009fec 0x01009fec 0x00000434 Code RO 4504 i.CliTask app_cli.o + 0x0100a420 0x0100a420 0x00000078 Code RO 4380 i.CmdBleLog cli_core.o + 0x0100a498 0x0100a498 0x00000178 Code RO 4381 i.CmdDevInfo cli_core.o + 0x0100a610 0x0100a610 0x00000090 Code RO 4382 i.CmdFactory cli_core.o + 0x0100a6a0 0x0100a6a0 0x000000d4 Code RO 4383 i.CmdHelp cli_core.o + 0x0100a774 0x0100a774 0x000000d0 Code RO 4384 i.CmdLed cli_core.o + 0x0100a844 0x0100a844 0x00000034 Code RO 4385 i.CmdReset cli_core.o + 0x0100a878 0x0100a878 0x000000e8 Code RO 4386 i.CmdSysInfo cli_core.o + 0x0100a960 0x0100a960 0x000000ac Code RO 4387 i.CmdUartInfo cli_core.o + 0x0100aa0c 0x0100aa0c 0x00000044 Code RO 4388 i.CmdUartRst cli_core.o + 0x0100aa50 0x0100aa50 0x00000098 Code RO 4389 i.CmdVersion cli_core.o + 0x0100aae8 0x0100aae8 0x00000004 Code RO 487 i.DMA_ClearFlag n32wb03x_dma.o + 0x0100aaec 0x0100aaec 0x00000088 Code RO 490 i.DMA_DeInit n32wb03x_dma.o + 0x0100ab74 0x0100ab74 0x00000018 Code RO 491 i.DMA_EnableChannel n32wb03x_dma.o + 0x0100ab8c 0x0100ab8c 0x0000000e Code RO 493 i.DMA_GetFlagStatus n32wb03x_dma.o + 0x0100ab9a 0x0100ab9a 0x00000002 PAD + 0x0100ab9c 0x0100ab9c 0x00000040 Code RO 495 i.DMA_Init n32wb03x_dma.o + 0x0100abdc 0x0100abdc 0x0000000e Code RO 496 i.DMA_RequestRemap n32wb03x_dma.o + 0x0100abea 0x0100abea 0x00000002 PAD + 0x0100abec 0x0100abec 0x0000000c Code RO 569 i.EXTI_ClrITPendBit n32wb03x_exti.o + 0x0100abf8 0x0100abf8 0x0000001c Code RO 572 i.EXTI_GetITStatus n32wb03x_exti.o + 0x0100ac14 0x0100ac14 0x00000070 Code RO 574 i.EXTI_InitPeripheral n32wb03x_exti.o + 0x0100ac84 0x0100ac84 0x000000b8 Code RO 634 i.GPIO_InitPeripheral n32wb03x_gpio.o + 0x0100ad3c 0x0100ad3c 0x0000001c Code RO 635 i.GPIO_InitStruct n32wb03x_gpio.o + 0x0100ad58 0x0100ad58 0x00000004 Code RO 640 i.GPIO_ResetBits n32wb03x_gpio.o + 0x0100ad5c 0x0100ad5c 0x00000004 Code RO 641 i.GPIO_SetBits n32wb03x_gpio.o + 0x0100ad60 0x0100ad60 0x00000008 Code RO 642 i.GPIO_TogglePin n32wb03x_gpio.o + 0x0100ad68 0x0100ad68 0x000000b0 Code RO 4580 i.HardFault_Handler n32wb03x_it.o + 0x0100ae18 0x0100ae18 0x00000008 Code RO 4824 i.LedBlink app_gpio.o + 0x0100ae20 0x0100ae20 0x0000004c Code RO 4825 i.LedInit app_gpio.o + 0x0100ae6c 0x0100ae6c 0x00000008 Code RO 4826 i.LedOff app_gpio.o + 0x0100ae74 0x0100ae74 0x00000008 Code RO 4827 i.LedOn app_gpio.o + 0x0100ae7c 0x0100ae7c 0x00000078 Code RO 159 i.NVIC_Init misc.o + 0x0100aef4 0x0100aef4 0x000000cc Code RO 11 i.OTPTrim_Read system_n32wb03x.o + 0x0100afc0 0x0100afc0 0x00000024 Code RO 1947 i.Qflash_Erase_Sector n32wb03x_qflash.o + 0x0100afe4 0x0100afe4 0x00000038 Code RO 1948 i.Qflash_Init n32wb03x_qflash.o + 0x0100b01c 0x0100b01c 0x00000024 Code RO 1950 i.Qflash_Write n32wb03x_qflash.o + 0x0100b040 0x0100b040 0x00000014 Code RO 748 i.RCC_ConfigAdcClk n32wb03x_rcc.o + 0x0100b054 0x0100b054 0x00000018 Code RO 762 i.RCC_EnableAHBPeriphClk n32wb03x_rcc.o + 0x0100b06c 0x0100b06c 0x00000018 Code RO 763 i.RCC_EnableAHBPeriphReset n32wb03x_rcc.o + 0x0100b084 0x0100b084 0x00000018 Code RO 766 i.RCC_EnableAPB2PeriphClk n32wb03x_rcc.o + 0x0100b09c 0x0100b09c 0x0000001c Code RO 773 i.RCC_Enable_ADC_CLK_SRC_AUDIOPLL n32wb03x_rcc.o + 0x0100b0b8 0x0100b0b8 0x00000074 Code RO 774 i.RCC_GetClocksFreqValue n32wb03x_rcc.o + 0x0100b12c 0x0100b12c 0x00000002 Code RO 6128 i.SVC_Handler port.o + 0x0100b12e 0x0100b12e 0x00000002 PAD + 0x0100b130 0x0100b130 0x00000024 Code RO 6129 i.SysTick_Handler port.o + 0x0100b154 0x0100b154 0x00000034 Code RO 13 i.SystemGetMacAddr system_n32wb03x.o + 0x0100b188 0x0100b188 0x00000180 Code RO 15 i.SystemInit system_n32wb03x.o + 0x0100b308 0x0100b308 0x00000030 Code RO 16 i.SystemTrimValueGet system_n32wb03x.o + 0x0100b338 0x0100b338 0x00000008 Code RO 4581 i.USART1_IRQHandler n32wb03x_it.o + 0x0100b340 0x0100b340 0x00000032 Code RO 1520 i.USART_ConfigInt n32wb03x_usart.o + 0x0100b372 0x0100b372 0x00000002 PAD + 0x0100b374 0x0100b374 0x0000001c Code RO 1525 i.USART_Enable n32wb03x_usart.o + 0x0100b390 0x0100b390 0x00000010 Code RO 1526 i.USART_EnableDMA n32wb03x_usart.o + 0x0100b3a0 0x0100b3a0 0x0000000e Code RO 1532 i.USART_GetFlagStatus n32wb03x_usart.o + 0x0100b3ae 0x0100b3ae 0x00000040 Code RO 1533 i.USART_GetIntStatus n32wb03x_usart.o + 0x0100b3ee 0x0100b3ee 0x00000002 PAD + 0x0100b3f0 0x0100b3f0 0x00000088 Code RO 1534 i.USART_Init n32wb03x_usart.o + 0x0100b478 0x0100b478 0x00000008 Code RO 1535 i.USART_ReceiveData n32wb03x_usart.o + 0x0100b480 0x0100b480 0x00000008 Code RO 1537 i.USART_SendData n32wb03x_usart.o + 0x0100b488 0x0100b488 0x00000020 Code RO 6461 i.__0printf mc_p.l(printfa.o) + 0x0100b4a8 0x0100b4a8 0x00000028 Code RO 6463 i.__0sprintf mc_p.l(printfa.o) + 0x0100b4d0 0x0100b4d0 0x0000002c Code RO 6466 i.__0vsnprintf mc_p.l(printfa.o) + 0x0100b4fc 0x0100b4fc 0x0000002e Code RO 6637 i.__ARM_clz mf_p.l(depilogue.o) + 0x0100b52a 0x0100b52a 0x00000002 PAD + 0x0100b52c 0x0100b52c 0x00000008 Code RO 6617 i.__aeabi_errno_addr mc_p.l(errno.o) + 0x0100b534 0x0100b534 0x00000064 Code RO 6493 i.__free$realloc mc_p.l(mallocr.o) + 0x0100b598 0x0100b598 0x00000048 Code RO 6494 i.__malloc$realloc mc_p.l(mallocr.o) + 0x0100b5e0 0x0100b5e0 0x00000174 Code RO 6468 i._fp_digits mc_p.l(printfa.o) + 0x0100b754 0x0100b754 0x0000000e Code RO 6521 i._is_digit mc_p.l(scanf_fp.o) + 0x0100b762 0x0100b762 0x00000002 PAD + 0x0100b764 0x0100b764 0x000006ec Code RO 6469 i._printf_core mc_p.l(printfa.o) + 0x0100be50 0x0100be50 0x00000020 Code RO 6470 i._printf_post_padding mc_p.l(printfa.o) + 0x0100be70 0x0100be70 0x0000002c Code RO 6471 i._printf_pre_padding mc_p.l(printfa.o) + 0x0100be9c 0x0100be9c 0x00000016 Code RO 6472 i._snputc mc_p.l(printfa.o) + 0x0100beb2 0x0100beb2 0x0000000a Code RO 6473 i._sputc mc_p.l(printfa.o) + 0x0100bebc 0x0100bebc 0x00000032 Code RO 4956 i.add_item_to_array cjson.o + 0x0100beee 0x0100beee 0x00000062 Code RO 4957 i.add_item_to_object cjson.o + 0x0100bf50 0x0100bf50 0x00000074 Code RO 4120 i.app_ble_adv_init app_ble.o + 0x0100bfc4 0x0100bfc4 0x00000002 Code RO 4121 i.app_ble_adv_msg_handler app_ble.o + 0x0100bfc6 0x0100bfc6 0x00000002 PAD + 0x0100bfc8 0x0100bfc8 0x00000044 Code RO 4122 i.app_ble_connected app_ble.o + 0x0100c00c 0x0100c00c 0x0000005c Code RO 4123 i.app_ble_disconnected app_ble.o + 0x0100c068 0x0100c068 0x00000098 Code RO 4124 i.app_ble_gap_params_init app_ble.o + 0x0100c100 0x0100c100 0x0000004c Code RO 4125 i.app_ble_init app_ble.o + 0x0100c14c 0x0100c14c 0x0000006c Code RO 4126 i.app_ble_msg_handler app_ble.o + 0x0100c1b8 0x0100c1b8 0x000000ec Code RO 4605 i.app_ble_proto_cli_exec app_ble_proto.o + 0x0100c2a4 0x0100c2a4 0x00000040 Code RO 4606 i.app_ble_proto_cli_rsp app_ble_proto.o + 0x0100c2e4 0x0100c2e4 0x00000014 Code RO 4607 i.app_ble_proto_init app_ble_proto.o + 0x0100c2f8 0x0100c2f8 0x0000000c Code RO 4608 i.app_ble_proto_log_get app_ble_proto.o + 0x0100c304 0x0100c304 0x00000010 Code RO 4609 i.app_ble_proto_log_set app_ble_proto.o + 0x0100c314 0x0100c314 0x0000001c Code RO 4610 i.app_ble_proto_on_disconnect app_ble_proto.o + 0x0100c330 0x0100c330 0x000001a0 Code RO 4611 i.app_ble_proto_rx_bytes app_ble_proto.o + 0x0100c4d0 0x0100c4d0 0x000000b8 Code RO 4612 i.app_ble_proto_send_frame app_ble_proto.o + 0x0100c588 0x0100c588 0x00000050 Code RO 4128 i.app_ble_sec_init app_ble.o + 0x0100c5d8 0x0100c5d8 0x00000010 Code RO 3851 i.app_conn_params_update_evt_handler ns_ble_task.o + 0x0100c5e8 0x0100c5e8 0x000000cc Code RO 3452 i.app_create_advertising ns_ble.o + 0x0100c6b4 0x0100c6b4 0x0000005c Code RO 4005 i.app_dis_add_dis app_dis.o + 0x0100c710 0x0100c710 0x00000104 Code RO 3852 i.app_entry_point_handler ns_ble_task.o + 0x0100c814 0x0100c814 0x00000008 Code RO 4734 i.app_fan_get_rpm app_info.o + 0x0100c81c 0x0100c81c 0x0000005c Code RO 4735 i.app_info_chip_temp_c10 app_info.o + 0x0100c878 0x0100c878 0x0000004c Code RO 4736 i.app_info_handle_query app_info.o + 0x0100c8c4 0x0100c8c4 0x0000000c Code RO 4737 i.app_info_last_temp_raw app_info.o + 0x0100c8d0 0x0100c8d0 0x0000002c Code RO 4738 i.app_info_tlv_snapshot app_info.o + 0x0100c8fc 0x0100c8fc 0x00000020 Code RO 4739 i.app_info_vdd_mv app_info.o + 0x0100c91c 0x0100c91c 0x0000001c Code RO 3853 i.app_init_timeout_evt_handler ns_ble_task.o + 0x0100c938 0x0100c938 0x000000ac Code RO 3854 i.app_lsi_calib_evt_handler ns_ble_task.o + 0x0100c9e4 0x0100c9e4 0x00000018 Code RO 4684 i.app_ota_abort app_ota.o + 0x0100c9fc 0x0100c9fc 0x0000011c Code RO 4686 i.app_ota_handle_frame app_ota.o + 0x0100cb18 0x0100cb18 0x00000008 Code RO 4860 i.app_params_get app_params.o + 0x0100cb20 0x0100cb20 0x0000005c Code RO 4861 i.app_params_init app_params.o + 0x0100cb7c 0x0100cb7c 0x0000002c Code RO 4863 i.app_params_restore_defaults app_params.o + 0x0100cba8 0x0100cba8 0x00000068 Code RO 4060 i.app_rdtss_add_rdts app_rdtss.o + 0x0100cc10 0x0100cc10 0x00000004 Code RO 3211 i.app_sec_msg_dflt_handler ns_sec.o + 0x0100cc14 0x0100cc14 0x00000078 Code RO 3453 i.app_set_adv_data ns_ble.o + 0x0100cc8c 0x0100cc8c 0x000000c4 Code RO 3454 i.app_set_scan_rsp_data ns_ble.o + 0x0100cd50 0x0100cd50 0x00000070 Code RO 3455 i.app_start_advertising ns_ble.o + 0x0100cdc0 0x0100cdc0 0x00000002 Code RO 4129 i.app_user_msg_handler app_ble.o + 0x0100cdc2 0x0100cdc2 0x00000002 PAD + 0x0100cdc4 0x0100cdc4 0x000000c0 Code RO 1987 i.attm_att_set_value lib_att.o + 0x0100ce84 0x0100ce84 0x00000010 Code RO 4226 i.ble_schedule_task main.o + 0x0100ce94 0x0100ce94 0x00000014 Code RO 4543 i.ble_up_on_cfm ble_up.o + 0x0100cea8 0x0100cea8 0x00000058 Code RO 4544 i.ble_up_poll ble_up.o + 0x0100cf00 0x0100cf00 0x00000010 Code RO 4545 i.ble_up_reset ble_up.o + 0x0100cf10 0x0100cf10 0x00000048 Code RO 4546 i.ble_up_write ble_up.o + 0x0100cf58 0x0100cf58 0x00000178 Code RO 4929 i.bootset_print app_bootset.o + 0x0100d0d0 0x0100d0d0 0x000000dc Code RO 4308 i.bsp_usart_init bsp_usart.o + 0x0100d1ac 0x0100d1ac 0x00000038 Code RO 4309 i.bsp_usart_read_byte bsp_usart.o + 0x0100d1e4 0x0100d1e4 0x00000054 Code RO 4311 i.bsp_usart_rx_isr_handler bsp_usart.o + 0x0100d238 0x0100d238 0x00000070 Code RO 4312 i.bsp_usart_set_baud bsp_usart.o + 0x0100d2a8 0x0100d2a8 0x00000020 Code RO 4313 i.bsp_usart_tx_lock bsp_usart.o + 0x0100d2c8 0x0100d2c8 0x00000024 Code RO 4314 i.bsp_usart_tx_unlock bsp_usart.o + 0x0100d2ec 0x0100d2ec 0x00000098 Code RO 4315 i.bsp_usart_write_dma bsp_usart.o + 0x0100d384 0x0100d384 0x0000003a Code RO 4958 i.buffer_skip_whitespace cjson.o + 0x0100d3be 0x0100d3be 0x00000002 PAD + 0x0100d3c0 0x0100d3c0 0x00000034 Code RO 4968 i.cJSON_AddNumberToObject cjson.o + 0x0100d3f4 0x0100d3f4 0x00000064 Code RO 4982 i.cJSON_CreateNumber cjson.o + 0x0100d458 0x0100d458 0x00000018 Code RO 4983 i.cJSON_CreateObject cjson.o + 0x0100d470 0x0100d470 0x00000054 Code RO 4990 i.cJSON_Delete cjson.o + 0x0100d4c4 0x0100d4c4 0x0000000a Code RO 5003 i.cJSON_GetObjectItem cjson.o + 0x0100d4ce 0x0100d4ce 0x00000002 PAD + 0x0100d4d0 0x0100d4d0 0x00000050 Code RO 5007 i.cJSON_InitHooks cjson.o + 0x0100d520 0x0100d520 0x00000012 Code RO 5014 i.cJSON_IsNumber cjson.o + 0x0100d532 0x0100d532 0x00000012 Code RO 5015 i.cJSON_IsObject cjson.o + 0x0100d544 0x0100d544 0x00000024 Code RO 5020 i.cJSON_New_Item cjson.o + 0x0100d568 0x0100d568 0x00000022 Code RO 5021 i.cJSON_Parse cjson.o + 0x0100d58a 0x0100d58a 0x00000002 PAD + 0x0100d58c 0x0100d58c 0x000000ec Code RO 5023 i.cJSON_ParseWithLengthOpts cjson.o + 0x0100d678 0x0100d678 0x00000010 Code RO 5028 i.cJSON_PrintUnformatted cjson.o + 0x0100d688 0x0100d688 0x0000000c Code RO 5036 i.cJSON_free cjson.o + 0x0100d694 0x0100d694 0x00000028 Code RO 5038 i.cJSON_strdup cjson.o + 0x0100d6bc 0x0100d6bc 0x00000034 Code RO 4811 i.caiic_crc32 boot_crc32.o + 0x0100d6f0 0x0100d6f0 0x0000002a Code RO 3025 i.check_client_char_cfg rdts_common.o + 0x0100d71a 0x0100d71a 0x00000004 Code RO 4390 i.cli_cmd_count cli_core.o + 0x0100d71e 0x0100d71e 0x00000002 PAD + 0x0100d720 0x0100d720 0x00000018 Code RO 4391 i.cli_cmd_name cli_core.o + 0x0100d738 0x0100d738 0x000000b4 Code RO 4392 i.cli_exec_line cli_core.o + 0x0100d7ec 0x0100d7ec 0x0000002c Code RO 4393 i.cli_printf cli_core.o + 0x0100d818 0x0100d818 0x00000068 Code RO 4505 i.cli_redraw_line app_cli.o + 0x0100d880 0x0100d880 0x0000002c Code RO 4613 i.cli_rsp_out app_ble_proto.o + 0x0100d8ac 0x0100d8ac 0x0000000c Code RO 4394 i.cli_set_output cli_core.o + 0x0100d8b8 0x0100d8b8 0x00000024 Code RO 4395 i.cli_write cli_core.o + 0x0100d8dc 0x0100d8dc 0x0000005c Code RO 5039 i.compare_double cjson.o + 0x0100d938 0x0100d938 0x0000002a Code RO 2663 i.diss_check_val_len diss.o + 0x0100d962 0x0100d962 0x00000002 Code RO 2664 i.diss_cleanup diss.o + 0x0100d964 0x0100d964 0x00000002 Code RO 2666 i.diss_create diss.o + 0x0100d966 0x0100d966 0x0000003e Code RO 2667 i.diss_destroy diss.o + 0x0100d9a4 0x0100d9a4 0x00000034 Code RO 2668 i.diss_handle_to_value diss.o + 0x0100d9d8 0x0100d9d8 0x000000a0 Code RO 2669 i.diss_init diss.o + 0x0100da78 0x0100da78 0x00000008 Code RO 2670 i.diss_prf_itf_get diss.o + 0x0100da80 0x0100da80 0x0000009c Code RO 2762 i.diss_set_value_req_handler diss_task.o + 0x0100db1c 0x0100db1c 0x00000020 Code RO 2763 i.diss_task_init diss_task.o + 0x0100db3c 0x0100db3c 0x0000007c Code RO 2764 i.diss_value_cfm_handler diss_task.o + 0x0100dbb8 0x0100dbb8 0x000000c0 Code RO 4007 i.diss_value_req_ind_handler app_dis.o + 0x0100dc78 0x0100dc78 0x0000003a Code RO 2671 i.diss_value_to_handle diss.o + 0x0100dcb2 0x0100dcb2 0x00000002 PAD + 0x0100dcb4 0x0100dcb4 0x00000060 Code RO 5523 i.eTaskGetState tasks.o + 0x0100dd14 0x0100dd14 0x00000098 Code RO 5041 i.ensure cjson.o + 0x0100ddac 0x0100ddac 0x0000003c Code RO 4316 i.fputc bsp_usart.o + 0x0100dde8 0x0100dde8 0x000000f0 Code RO 3212 i.gapc_bond_ind_handler ns_sec.o + 0x0100ded8 0x0100ded8 0x00000208 Code RO 3213 i.gapc_bond_req_ind_handler ns_sec.o + 0x0100e0e0 0x0100e0e0 0x00000028 Code RO 3855 i.gapc_cmp_evt_handler ns_ble_task.o + 0x0100e108 0x0100e108 0x0000006c Code RO 3856 i.gapc_conn_rssi_ind_handler ns_ble_task.o + 0x0100e174 0x0100e174 0x00000158 Code RO 3857 i.gapc_connection_req_ind_handler ns_ble_task.o + 0x0100e2cc 0x0100e2cc 0x00000064 Code RO 3858 i.gapc_disconnect_ind_handler ns_ble_task.o + 0x0100e330 0x0100e330 0x00000028 Code RO 3214 i.gapc_encrypt_ind_handler ns_sec.o + 0x0100e358 0x0100e358 0x00000130 Code RO 3215 i.gapc_encrypt_req_ind_handler ns_sec.o + 0x0100e488 0x0100e488 0x00000080 Code RO 3859 i.gapc_get_dev_info_req_ind_handler ns_ble_task.o + 0x0100e508 0x0100e508 0x0000000c Code RO 3860 i.gapc_le_phy_ind_handler ns_ble_task.o + 0x0100e514 0x0100e514 0x0000001c Code RO 3861 i.gapc_le_pkt_size_ind_handler ns_ble_task.o + 0x0100e530 0x0100e530 0x00000064 Code RO 3862 i.gapc_param_update_req_ind_handler ns_ble_task.o + 0x0100e594 0x0100e594 0x00000028 Code RO 3863 i.gapc_param_updated_ind_handler ns_ble_task.o + 0x0100e5bc 0x0100e5bc 0x00000040 Code RO 3864 i.gapc_set_dev_info_req_ind_handler ns_ble_task.o + 0x0100e5fc 0x0100e5fc 0x00000034 Code RO 3865 i.gapm_activity_created_ind_handler ns_ble_task.o + 0x0100e630 0x0100e630 0x00000060 Code RO 3866 i.gapm_activity_stopped_ind_handler ns_ble_task.o + 0x0100e690 0x0100e690 0x0000002c Code RO 3867 i.gapm_addr_solved_ind_handler ns_ble_task.o + 0x0100e6bc 0x0100e6bc 0x000003e0 Code RO 3868 i.gapm_cmp_evt_handler ns_ble_task.o + 0x0100ea9c 0x0100ea9c 0x000000ac Code RO 3869 i.gapm_ext_adv_repoer_ind_handler ns_ble_task.o + 0x0100eb48 0x0100eb48 0x00000036 Code RO 3870 i.gapm_gen_rand_nb_ind_handler ns_ble_task.o + 0x0100eb7e 0x0100eb7e 0x0000000c Code RO 3871 i.gapm_profile_added_ind_handler ns_ble_task.o + 0x0100eb8a 0x0100eb8a 0x0000000c Code RO 3872 i.gapm_scan_request_ind_handler ns_ble_task.o + 0x0100eb96 0x0100eb96 0x00000002 PAD + 0x0100eb98 0x0100eb98 0x00000040 Code RO 2903 i.gattc_att_info_req_ind_handler rdtss_task.o + 0x0100ebd8 0x0100ebd8 0x00000070 Code RO 2904 i.gattc_cmp_evt_handler rdtss_task.o + 0x0100ec48 0x0100ec48 0x00000028 Code RO 3873 i.gattc_cmp_evt_handler ns_ble_task.o + 0x0100ec70 0x0100ec70 0x0000004c Code RO 3874 i.gattc_mtu_changed_ind_handler ns_ble_task.o + 0x0100ecbc 0x0100ecbc 0x000000c4 Code RO 2765 i.gattc_read_req_ind_handler diss_task.o + 0x0100ed80 0x0100ed80 0x000000e0 Code RO 2905 i.gattc_read_req_ind_handler rdtss_task.o + 0x0100ee60 0x0100ee60 0x00000110 Code RO 2906 i.gattc_write_req_ind_handler rdtss_task.o + 0x0100ef70 0x0100ef70 0x0000006c Code RO 3026 i.get_cfg_handle rdts_common.o + 0x0100efdc 0x0100efdc 0x00000098 Code RO 5042 i.get_object_item cjson.o + 0x0100f074 0x0100f074 0x00000054 Code RO 3027 i.get_value_handle rdts_common.o + 0x0100f0c8 0x0100f0c8 0x00000064 Code RO 4740 i.info_adc_init app_info.o + 0x0100f12c 0x0100f12c 0x0000006c Code RO 4741 i.info_adc_read app_info.o + 0x0100f198 0x0100f198 0x0000011c Code RO 4742 i.info_fill_item app_info.o + 0x0100f2b4 0x0100f2b4 0x0000002c Code RO 4743 i.info_put_tlv app_info.o + 0x0100f2e0 0x0100f2e0 0x00000030 Code RO 5506 i.infra_cjson_init infra_cjson.o + 0x0100f310 0x0100f310 0x00000050 Code RO 6495 i.internal_alloc mc_p.l(mallocr.o) + 0x0100f360 0x0100f360 0x00000034 Code RO 4227 i.led_task main.o + 0x0100f394 0x0100f394 0x00000030 Code RO 2356 i.llhwc_modem_setmode rwip_driver.o + 0x0100f3c4 0x0100f3c4 0x00000130 Code RO 2357 i.llhwc_phy_prerx_flash rwip_driver.o + 0x0100f4f4 0x0100f4f4 0x00000090 Code RO 2358 i.llhwc_setmode_reg_config rwip_driver.o + 0x0100f584 0x0100f584 0x000001a0 Code RO 4228 i.main main.o + 0x0100f724 0x0100f724 0x0000005c Code RO 3456 i.ns_EXTI4_12_IRQHandler ns_ble.o + 0x0100f780 0x0100f780 0x00000028 Code RO 3457 i.ns_HardFault_Handler ns_ble.o + 0x0100f7a8 0x0100f7a8 0x00000020 Code RO 3459 i.ns_ble_add_prf_func_register ns_ble.o + 0x0100f7c8 0x0100f7c8 0x0000002c Code RO 3460 i.ns_ble_add_svc ns_ble.o + 0x0100f7f4 0x0100f7f4 0x000000dc Code RO 3462 i.ns_ble_adv_fsm_next ns_ble.o + 0x0100f8d0 0x0100f8d0 0x00000048 Code RO 3463 i.ns_ble_adv_init ns_ble.o + 0x0100f918 0x0100f918 0x00000050 Code RO 3464 i.ns_ble_adv_start ns_ble.o + 0x0100f968 0x0100f968 0x0000004c Code RO 3465 i.ns_ble_adv_stop ns_ble.o + 0x0100f9b4 0x0100f9b4 0x0000003c Code RO 3468 i.ns_ble_delete_init ns_ble.o + 0x0100f9f0 0x0100f9f0 0x00000038 Code RO 3469 i.ns_ble_delete_scan ns_ble.o + 0x0100fa28 0x0100fa28 0x0000002c Code RO 3470 i.ns_ble_disconnect ns_ble.o + 0x0100fa54 0x0100fa54 0x0000006c Code RO 3473 i.ns_ble_gap_init ns_ble.o + 0x0100fac0 0x0100fac0 0x00000024 Code RO 3476 i.ns_ble_get_connection_num ns_ble.o + 0x0100fae4 0x0100fae4 0x00000050 Code RO 3479 i.ns_ble_list_set_ral ns_ble.o + 0x0100fb34 0x0100fb34 0x00000084 Code RO 3481 i.ns_ble_lsc_config ns_ble.o + 0x0100fbb8 0x0100fbb8 0x00000034 Code RO 3483 i.ns_ble_mtu_set ns_ble.o + 0x0100fbec 0x0100fbec 0x00000028 Code RO 3485 i.ns_ble_prf_task_register ns_ble.o + 0x0100fc14 0x0100fc14 0x00000048 Code RO 3490 i.ns_ble_scan_data_find ns_ble.o + 0x0100fc5c 0x0100fc5c 0x00000278 Code RO 3497 i.ns_ble_stack_init ns_ble.o + 0x0100fed4 0x0100fed4 0x00000124 Code RO 3498 i.ns_ble_start_init ns_ble.o + 0x0100fff8 0x0100fff8 0x000000cc Code RO 3499 i.ns_ble_start_scan ns_ble.o + 0x010100c4 0x010100c4 0x00000038 Code RO 3500 i.ns_ble_stop_init ns_ble.o + 0x010100fc 0x010100fc 0x0000003c Code RO 3501 i.ns_ble_stop_scan ns_ble.o + 0x01010138 0x01010138 0x00000078 Code RO 3502 i.ns_ble_update_param ns_ble.o + 0x010101b0 0x010101b0 0x0000002c Code RO 3216 i.ns_bond_db_get_size ns_sec.o + 0x010101dc 0x010101dc 0x0000001c Code RO 3217 i.ns_bond_db_load ns_sec.o + 0x010101f8 0x010101f8 0x00000030 Code RO 3218 i.ns_bond_last_bonded_addr ns_sec.o + 0x01010228 0x01010228 0x00000030 Code RO 3219 i.ns_bond_last_bonded_peer_id ns_sec.o + 0x01010258 0x01010258 0x00000064 Code RO 3220 i.ns_bond_last_bonded_ral_info ns_sec.o + 0x010102bc 0x010102bc 0x00000060 Code RO 3221 i.ns_bond_resolv_addr_start ns_sec.o + 0x0101031c 0x0101031c 0x0000007c Code RO 3222 i.ns_bond_search_addr_irk ns_sec.o + 0x01010398 0x01010398 0x000000d4 Code RO 3505 i.ns_peripheral_config ns_ble.o + 0x0101046c 0x0101046c 0x00000160 Code RO 3224 i.ns_sec_bond_store_evt_handler ns_sec.o + 0x010105cc 0x010105cc 0x00000010 Code RO 3225 i.ns_sec_get_bond_status ns_sec.o + 0x010105dc 0x010105dc 0x0000000c Code RO 3226 i.ns_sec_get_iocap ns_sec.o + 0x010105e8 0x010105e8 0x00000068 Code RO 3227 i.ns_sec_init ns_sec.o + 0x01010650 0x01010650 0x00000018 Code RO 3073 i.ns_sleep_lock_acquire ns_sleep.o + 0x01010668 0x01010668 0x00000014 Code RO 3074 i.ns_sleep_lock_release ns_sleep.o + 0x0101067c 0x0101067c 0x000000c8 Code RO 3149 i.ns_timer_api_process_handler ns_timer.o + 0x01010744 0x01010744 0x00000158 Code RO 4687 i.ota_on_data app_ota.o + 0x0101089c 0x0101089c 0x000001ac Code RO 4688 i.ota_on_end app_ota.o + 0x01010a48 0x01010a48 0x00000028 Code RO 4689 i.ota_respond app_ota.o + 0x01010a70 0x01010a70 0x000000a8 Code RO 4864 i.params_print_json app_params.o + 0x01010b18 0x01010b18 0x0000005c Code RO 4865 i.params_save app_params.o + 0x01010b74 0x01010b74 0x00000270 Code RO 5043 i.parse_string cjson.o + 0x01010de4 0x01010de4 0x000003b4 Code RO 5044 i.parse_value cjson.o + 0x01011198 0x01011198 0x00000044 Code RO 3506 i.patchx_enable ns_ble.o + 0x010111dc 0x010111dc 0x00000088 Code RO 2537 i.prf_add_profile prf.o + 0x01011264 0x01011264 0x00000010 Code RO 2540 i.prf_dst_task_get prf.o + 0x01011274 0x01011274 0x00000030 Code RO 2541 i.prf_env_get prf.o + 0x010112a4 0x010112a4 0x00000038 Code RO 2542 i.prf_get_id_from_task prf.o + 0x010112dc 0x010112dc 0x00000028 Code RO 2543 i.prf_get_itf_func_register prf.o + 0x01011304 0x01011304 0x00000038 Code RO 2544 i.prf_get_task_from_id prf.o + 0x0101133c 0x0101133c 0x000000b4 Code RO 2545 i.prf_init prf.o + 0x010113f0 0x010113f0 0x00000030 Code RO 2546 i.prf_itf_get prf.o + 0x01011420 0x01011420 0x000000be Code RO 5045 i.print cjson.o + 0x010114de 0x010114de 0x00000002 PAD + 0x010114e0 0x010114e0 0x00000120 Code RO 5046 i.print_string_ptr cjson.o + 0x01011600 0x01011600 0x000003f8 Code RO 5047 i.print_value cjson.o + 0x010119f8 0x010119f8 0x00000038 Code RO 4614 i.proto_cli_out app_ble_proto.o + 0x01011a30 0x01011a30 0x00000080 Code RO 4615 i.proto_dump app_ble_proto.o + 0x01011ab0 0x01011ab0 0x00000058 Code RO 5525 i.prvAddCurrentTaskToDelayedList tasks.o + 0x01011b08 0x01011b08 0x00000070 Code RO 5853 i.prvCopyDataToQueue queue.o + 0x01011b78 0x01011b78 0x00000054 Code RO 5526 i.prvIdleTask tasks.o + 0x01011bcc 0x01011bcc 0x00000054 Code RO 6083 i.prvInsertBlockIntoFreeList heap_4.o + 0x01011c20 0x01011c20 0x000000cc Code RO 5527 i.prvListTasksWithinSingleList tasks.o + 0x01011cec 0x01011cec 0x00000014 Code RO 6130 i.prvTaskExitError port.o + 0x01011d00 0x01011d00 0x00000074 Code RO 5854 i.prvUnlockQueue queue.o + 0x01011d74 0x01011d74 0x000000f4 Code RO 6084 i.pvPortMalloc heap_4.o + 0x01011e68 0x01011e68 0x00000018 Code RO 5528 i.pvTaskIncrementMutexHeldCount tasks.o + 0x01011e80 0x01011e80 0x00000024 Code RO 6131 i.pxPortInitialiseStack port.o + 0x01011ea4 0x01011ea4 0x0000003a Code RO 2907 i.rdtss_att_get_value rdtss_task.o + 0x01011ede 0x01011ede 0x00000002 PAD + 0x01011ee0 0x01011ee0 0x00000040 Code RO 2908 i.rdtss_att_info_rsp_handler rdtss_task.o + 0x01011f20 0x01011f20 0x00000068 Code RO 2909 i.rdtss_att_set_value rdtss_task.o + 0x01011f88 0x01011f88 0x0000004c Code RO 2852 i.rdtss_cleanup rdtss.o + 0x01011fd4 0x01011fd4 0x0000004c Code RO 2853 i.rdtss_create rdtss.o + 0x01012020 0x01012020 0x00000042 Code RO 2854 i.rdtss_destroy rdtss.o + 0x01012062 0x01012062 0x0000001c Code RO 3028 i.rdtss_get_att_handle rdts_common.o + 0x0101207e 0x0101207e 0x00000028 Code RO 3029 i.rdtss_get_att_idx rdts_common.o + 0x010120a6 0x010120a6 0x00000098 Code RO 2855 i.rdtss_init rdtss.o + 0x0101213e 0x0101213e 0x00000002 PAD + 0x01012140 0x01012140 0x000000a4 Code RO 2910 i.rdtss_init_ccc_values rdtss_task.o + 0x010121e4 0x010121e4 0x00000008 Code RO 2856 i.rdtss_prf_itf_get rdtss.o + 0x010121ec 0x010121ec 0x00000054 Code RO 4062 i.rdtss_send_notify app_rdtss.o + 0x01012240 0x01012240 0x00000034 Code RO 2911 i.rdtss_set_ccc_value rdtss_task.o + 0x01012274 0x01012274 0x00000020 Code RO 2912 i.rdtss_task_init rdtss_task.o + 0x01012294 0x01012294 0x000000b0 Code RO 2913 i.rdtss_val_ind_req_handler rdtss_task.o + 0x01012344 0x01012344 0x0000000a Code RO 4063 i.rdtss_val_ntf_cfm_handler app_rdtss.o + 0x0101234e 0x0101234e 0x000000a6 Code RO 2914 i.rdtss_val_ntf_req_handler rdtss_task.o + 0x010123f4 0x010123f4 0x00000020 Code RO 2915 i.rdtss_val_set_req_handler rdtss_task.o + 0x01012414 0x01012414 0x00000118 Code RO 4064 i.rdtss_val_write_ind_handler app_rdtss.o + 0x0101252c 0x0101252c 0x0000007c Code RO 4065 i.rdtss_value_req_ind_handler app_rdtss.o + 0x010125a8 0x010125a8 0x00000080 Code RO 2916 i.rdtss_value_req_rsp_handler rdtss_task.o + 0x01012628 0x01012628 0x00000074 Code RO 6496 i.realloc mc_p.l(mallocr.o) + 0x0101269c 0x0101269c 0x00000118 Code RO 2105 i.rwip_init rwip.o + 0x010127b4 0x010127b4 0x000000f8 Code RO 2365 i.rwip_slp_isr rwip_driver.o + 0x010128ac 0x010128ac 0x0000001c Code RO 6193 i.strtod m_ps.l(strtod.o) + 0x010128c8 0x010128c8 0x00000002 Code RO 3154 i.timer_canceled_handler ns_timer.o + 0x010128ca 0x010128ca 0x00000002 Code RO 3155 i.timer_modified_handler ns_timer.o + 0x010128cc 0x010128cc 0x00000026 Code RO 6041 i.uxListRemove list.o + 0x010128f2 0x010128f2 0x00000002 PAD + 0x010128f4 0x010128f4 0x0000000c Code RO 5530 i.uxTaskGetNumberOfTasks tasks.o + 0x01012900 0x01012900 0x00000098 Code RO 5531 i.uxTaskGetSystemState tasks.o + 0x01012998 0x01012998 0x00000016 Code RO 6042 i.vListInitialise list.o + 0x010129ae 0x010129ae 0x00000006 Code RO 6043 i.vListInitialiseItem list.o + 0x010129b4 0x010129b4 0x00000032 Code RO 6044 i.vListInsert list.o + 0x010129e6 0x010129e6 0x00000018 Code RO 6045 i.vListInsertEnd list.o + 0x010129fe 0x010129fe 0x00000002 PAD + 0x01012a00 0x01012a00 0x00000018 Code RO 6133 i.vPortEnterCritical port.o + 0x01012a18 0x01012a18 0x0000001c Code RO 6134 i.vPortExitCritical port.o + 0x01012a34 0x01012a34 0x00000044 Code RO 6085 i.vPortFree heap_4.o + 0x01012a78 0x01012a78 0x00000018 Code RO 6135 i.vPortYield port.o + 0x01012a90 0x01012a90 0x00000030 Code RO 5536 i.vTaskDelay tasks.o + 0x01012ac0 0x01012ac0 0x00000010 Code RO 5541 i.vTaskInternalSetTimeOutState tasks.o + 0x01012ad0 0x01012ad0 0x000000d0 Code RO 5542 i.vTaskList tasks.o + 0x01012ba0 0x01012ba0 0x0000000c Code RO 5543 i.vTaskMissedYield tasks.o + 0x01012bac 0x01012bac 0x00000024 Code RO 5545 i.vTaskPlaceOnEventList tasks.o + 0x01012bd0 0x01012bd0 0x00000074 Code RO 5547 i.vTaskPriorityDisinheritAfterTimeout tasks.o + 0x01012c44 0x01012c44 0x00000050 Code RO 5553 i.vTaskStartScheduler tasks.o + 0x01012c94 0x01012c94 0x00000010 Code RO 5555 i.vTaskSuspendAll tasks.o + 0x01012ca4 0x01012ca4 0x00000064 Code RO 5556 i.vTaskSwitchContext tasks.o + 0x01012d08 0x01012d08 0x0000000c Code RO 6087 i.xPortGetFreeHeapSize heap_4.o + 0x01012d14 0x01012d14 0x0000000c Code RO 6088 i.xPortGetMinimumEverFreeHeapSize heap_4.o + 0x01012d20 0x01012d20 0x00000050 Code RO 6136 i.xPortStartScheduler port.o + 0x01012d70 0x01012d70 0x00000024 Code RO 5865 i.xQueueCreateMutex queue.o + 0x01012d94 0x01012d94 0x00000044 Code RO 5866 i.xQueueGenericCreate queue.o + 0x01012dd8 0x01012dd8 0x0000006e Code RO 5867 i.xQueueGenericReset queue.o + 0x01012e46 0x01012e46 0x0000018e Code RO 5868 i.xQueueGenericSend queue.o + 0x01012fd4 0x01012fd4 0x0000008e Code RO 5869 i.xQueueGenericSendFromISR queue.o + 0x01013062 0x01013062 0x00000142 Code RO 5878 i.xQueueReceive queue.o + 0x010131a4 0x010131a4 0x00000172 Code RO 5880 i.xQueueSemaphoreTake queue.o + 0x01013316 0x01013316 0x00000002 PAD + 0x01013318 0x01013318 0x00000064 Code RO 5557 i.xTaskCheckForTimeOut tasks.o + 0x0101337c 0x0101337c 0x00000178 Code RO 5558 i.xTaskCreate tasks.o + 0x010134f4 0x010134f4 0x00000020 Code RO 5562 i.xTaskGetSchedulerState tasks.o + 0x01013514 0x01013514 0x0000000c Code RO 5563 i.xTaskGetTickCount tasks.o + 0x01013520 0x01013520 0x000000d4 Code RO 5565 i.xTaskIncrementTick tasks.o + 0x010135f4 0x010135f4 0x00000068 Code RO 5568 i.xTaskPriorityDisinherit tasks.o + 0x0101365c 0x0101365c 0x00000078 Code RO 5569 i.xTaskPriorityInherit tasks.o + 0x010136d4 0x010136d4 0x00000064 Code RO 5570 i.xTaskRemoveFromEventList tasks.o + 0x01013738 0x01013738 0x000000c8 Code RO 5571 i.xTaskResumeAll tasks.o + 0x01013800 0x01013800 0x000001d8 Data RO 20 .constdata system_n32wb03x.o + 0x010139d8 0x010139d8 0x0000000c Data RO 782 .constdata n32wb03x_rcc.o + 0x010139e4 0x010139e4 0x00000324 Data RO 1952 .constdata n32wb03x_qflash.o + 0x01013d08 0x01013d08 0x0000001e Data RO 2366 .constdata rwip_driver.o + 0x01013d26 0x01013d26 0x00000002 PAD + 0x01013d28 0x01013d28 0x000000a8 Data RO 2672 .constdata diss.o + 0x01013dd0 0x01013dd0 0x00000018 Data RO 2766 .constdata diss_task.o + 0x01013de8 0x01013de8 0x00000010 Data RO 2857 .constdata rdtss.o + 0x01013df8 0x01013df8 0x00000048 Data RO 2917 .constdata rdtss_task.o + 0x01013e40 0x01013e40 0x00000028 Data RO 3233 .constdata ns_sec.o + 0x01013e68 0x01013e68 0x00000008 Data RO 3234 .constdata ns_sec.o + 0x01013e70 0x01013e70 0x00000334 Data RO 3508 .constdata ns_ble.o + 0x010141a4 0x010141a4 0x00000098 Data RO 3875 .constdata ns_ble_task.o + 0x0101423c 0x0101423c 0x000000c8 Data RO 3876 .constdata ns_ble_task.o + 0x01014304 0x01014304 0x0000000c Data RO 3877 .constdata ns_ble_task.o + 0x01014310 0x01014310 0x00000008 Data RO 4008 .constdata app_dis.o + 0x01014318 0x01014318 0x00000008 Data RO 4009 .constdata app_dis.o + 0x01014320 0x01014320 0x0000010a Data RO 4066 .constdata app_rdtss.o + 0x0101442a 0x0101442a 0x00000002 PAD + 0x0101442c 0x0101442c 0x00000018 Data RO 4067 .constdata app_rdtss.o + 0x01014444 0x01014444 0x000000a8 Data RO 4397 .constdata cli_core.o + 0x010144ec 0x010144ec 0x00000006 Data RO 4745 .constdata app_info.o + 0x010144f2 0x010144f2 0x00000081 Data RO 6588 .constdata mc_p.l(ctype_o.o) + 0x01014573 0x01014573 0x00000001 PAD + 0x01014574 0x01014574 0x00000004 Data RO 6589 .constdata mc_p.l(ctype_o.o) + 0x01014578 0x01014578 0x00000311 Data RO 4398 .conststring cli_core.o + 0x01014889 0x01014889 0x00000003 PAD + 0x0101488c 0x0101488c 0x00000043 Data RO 4867 .conststring app_params.o + 0x010148cf 0x010148cf 0x00000001 PAD + 0x010148d0 0x010148d0 0x00000049 Data RO 4930 .conststring app_bootset.o + 0x01014919 0x01014919 0x00000003 PAD + 0x0101491c 0x0101491c 0x00000020 Data RO 6650 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x010129f8, Size: 0x000075a8, Max: 0x0000c000, ABSOLUTE, COMPRESSED[0x00000608]) + Execution Region RW_IRAM1 (Exec base: 0x20004000, Load base: 0x0101493c, Size: 0x000077c8, Max: 0x0000c000, ABSOLUTE, COMPRESSED[0x00000614]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -4625,30 +5185,36 @@ Memory Map of the image 0x2000474c COMPRESSED 0x0000000c Data RW 4617 .data app_ble_proto.o 0x20004758 COMPRESSED 0x0000002c Data RW 4690 .data app_ota.o 0x20004784 COMPRESSED 0x00000004 Data RW 4746 .data app_info.o - 0x20004788 COMPRESSED 0x00000002 Data RW 4866 .data app_params.o - 0x2000478a COMPRESSED 0x00000001 Data RW 4916 .data app_bootset.o + 0x20004788 COMPRESSED 0x00000002 Data RW 4868 .data app_params.o + 0x2000478a COMPRESSED 0x00000001 Data RW 4931 .data app_bootset.o 0x2000478b COMPRESSED 0x00000001 PAD - 0x2000478c COMPRESSED 0x0000003c Data RW 4992 .data tasks.o - 0x200047c8 COMPRESSED 0x00000018 Data RW 5512 .data heap_4.o - 0x200047e0 COMPRESSED 0x00000004 Data RW 5559 .data port.o - 0x200047e4 COMPRESSED 0x00000004 Data RW 5624 .data mc_p.l(rand.o) - 0x200047e8 COMPRESSED 0x00000004 Data RW 5988 .data mc_p.l(errno.o) - 0x200047ec - 0x00000034 Zero RW 19 .bss system_n32wb03x.o - 0x20004820 - 0x00000328 Zero RW 1951 .bss n32wb03x_qflash.o - 0x20004b48 - 0x0000011c Zero RW 2548 .bss prf.o - 0x20004c64 - 0x00000050 Zero RW 3156 .bss ns_timer.o - 0x20004cb4 - 0x0000005c Zero RW 3232 .bss ns_sec.o - 0x20004d10 - 0x000001b0 Zero RW 3507 .bss ns_ble.o - 0x20004ec0 - 0x000001e0 Zero RW 4396 .bss cli_core.o - 0x200050a0 - 0x00000240 Zero RW 4506 .bss app_cli.o - 0x200052e0 - 0x00000200 Zero RW 4547 .bss ble_up.o - 0x200054e0 - 0x0000077b Zero RW 4616 .bss app_ble_proto.o - 0x20005c5b - 0x00000028 Zero RW 4744 .bss app_info.o - 0x20005c83 COMPRESSED 0x00000001 PAD - 0x20005c84 - 0x00000034 Zero RW 4865 .bss app_params.o - 0x20005cb8 - 0x000000f0 Zero RW 4991 .bss tasks.o - 0x20005da8 - 0x00005000 Zero RW 5511 .bss heap_4.o - 0x2000ada8 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o + 0x2000478c COMPRESSED 0x00000014 Data RW 5050 .data cjson.o + 0x200047a0 COMPRESSED 0x00000001 Data RW 5507 .data infra_cjson.o + 0x200047a1 COMPRESSED 0x00000003 PAD + 0x200047a4 COMPRESSED 0x0000003c Data RW 5574 .data tasks.o + 0x200047e0 COMPRESSED 0x00000018 Data RW 6090 .data heap_4.o + 0x200047f8 COMPRESSED 0x00000004 Data RW 6137 .data port.o + 0x200047fc COMPRESSED 0x00000004 Data RW 6208 .data mc_p.l(rand.o) + 0x20004800 COMPRESSED 0x00000004 Data RW 6615 .data mc_p.l(mvars.o) + 0x20004804 COMPRESSED 0x00000004 Data RW 6616 .data mc_p.l(mvars.o) + 0x20004808 COMPRESSED 0x00000004 Data RW 6620 .data mc_p.l(errno.o) + 0x2000480c - 0x00000034 Zero RW 19 .bss system_n32wb03x.o + 0x20004840 - 0x00000328 Zero RW 1951 .bss n32wb03x_qflash.o + 0x20004b68 - 0x0000011c Zero RW 2548 .bss prf.o + 0x20004c84 - 0x00000050 Zero RW 3156 .bss ns_timer.o + 0x20004cd4 - 0x0000005c Zero RW 3232 .bss ns_sec.o + 0x20004d30 - 0x000001b0 Zero RW 3507 .bss ns_ble.o + 0x20004ee0 - 0x000001e0 Zero RW 4396 .bss cli_core.o + 0x200050c0 - 0x00000240 Zero RW 4506 .bss app_cli.o + 0x20005300 - 0x00000200 Zero RW 4547 .bss ble_up.o + 0x20005500 - 0x0000077b Zero RW 4616 .bss app_ble_proto.o + 0x20005c7b - 0x00000028 Zero RW 4744 .bss app_info.o + 0x20005ca3 COMPRESSED 0x00000001 PAD + 0x20005ca4 - 0x00000034 Zero RW 4866 .bss app_params.o + 0x20005cd8 - 0x000000f0 Zero RW 5573 .bss tasks.o + 0x20005dc8 - 0x00005000 Zero RW 6089 .bss heap_4.o + 0x2000adc8 - 0x00000200 Zero RW 2 HEAP startup_n32wb03x.o + 0x2000afc8 - 0x00000800 Zero RW 1 STACK startup_n32wb03x.o ============================================================================== @@ -4666,15 +5232,17 @@ Image component sizes 100 12 0 0 0 2298 app_gpio.o 800 102 6 4 40 7372 app_info.o 1120 62 0 44 0 7879 app_ota.o - 824 432 0 2 52 4513 app_params.o + 1432 594 67 2 52 7737 app_params.o 602 160 290 1 0 5690 app_rdtss.o 196 36 0 6 512 2736 ble_up.o 52 4 0 0 0 958 boot_crc32.o 752 90 0 8 0 9943 bsp_usart.o - 2036 1122 944 4 480 16811 cli_core.o + 4428 212 0 20 0 35292 cjson.o + 2036 1122 953 4 480 16811 cli_core.o 386 12 168 0 0 18834 diss.o 508 20 24 0 0 20126 diss_task.o 420 38 0 24 20480 5428 heap_4.o + 48 14 0 1 0 555 infra_cjson.o 192 20 0 0 0 31670 lib_att.o 140 0 0 0 0 3746 list.o 484 284 0 0 0 11543 main.o @@ -4689,6 +5257,7 @@ Image component sizes 324 22 0 0 0 7756 n32wb03x_usart.o 3612 640 820 1780 432 91393 ns_ble.o 2990 326 364 3 0 30625 ns_ble_task.o + 0 0 0 0 0 524 ns_error.o 2080 226 48 0 92 106721 ns_sec.o 44 8 0 8 0 2457 ns_sleep.o 204 34 0 0 80 6689 ns_timer.o @@ -4700,21 +5269,25 @@ Image component sizes 1648 56 72 0 0 33093 rdtss_task.o 280 82 0 0 0 83330 rwip.o 744 242 30 20 0 65413 rwip_driver.o - 28 8 192 0 2048 748 startup_n32wb03x.o - 702 68 472 4 52 128736 system_n32wb03x.o + 28 8 192 0 2560 748 startup_n32wb03x.o + 702 68 472 4 52 129128 system_n32wb03x.o 2548 254 0 60 240 27724 tasks.o ---------------------------------------------------------------------- - 33820 6264 4390 2020 28092 859403 Object Totals - 216 72 32 0 0 0 (incl. Generated) - 34 0 7 21 1 0 (incl. Padding) + 38924 6656 4470 2044 28604 899390 Object Totals + 228 76 32 0 0 0 (incl. Generated) + 42 0 11 24 1 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name - 86 0 0 0 0 0 __dczerorl2.o + 28 0 0 0 0 72 strtod.o + 60 10 0 0 0 84 __0sscanf.o + 96 0 0 0 0 0 __dclz77c.o 30 0 0 0 0 60 _chval.o + 824 12 0 0 0 84 _scanf.o + 68 0 0 0 0 76 _sgetc.o 166 0 0 0 0 84 _strtoul.o 8 4 133 0 0 60 ctype_o.o 0 0 0 0 0 0 entry.o @@ -4728,32 +5301,44 @@ Image component sizes 8 4 0 4 0 60 errno.o 40 0 0 0 0 72 idiv.o 36 8 0 0 0 68 init.o + 18 0 0 0 0 68 isspace_o.o 0 0 0 0 0 0 iusefp.o + 122 0 0 0 0 84 llmul.o 32 0 0 0 0 68 llshl.o 38 0 0 0 0 68 llsshr.o 34 0 0 0 0 68 llushr.o + 368 36 0 0 0 308 mallocr.o 20 0 0 0 0 60 memchr.o 26 0 0 0 0 72 memcmp.o 36 0 0 0 0 60 memcpya.o 36 0 0 0 0 100 memseta.o + 0 0 0 8 0 0 mvars.o 2368 106 0 0 0 688 printfa.o 36 12 0 4 0 120 rand.o + 44 8 0 0 0 84 scanf_char.o + 898 12 0 0 0 184 scanf_fp.o 28 0 0 0 0 68 strcmp.o 18 0 0 0 0 60 strcpy.o 14 0 0 0 0 60 strlen.o 30 0 0 0 0 72 strncmp.o + 164 16 0 0 0 120 strtod.o 118 0 0 0 0 84 strtoul.o + 12 0 0 0 0 60 tolower.o 44 0 0 0 0 72 uidiv.o 96 0 0 0 0 84 uldiv.o + 40 2 0 0 0 68 cdcmple.o 40 2 0 0 0 68 cdrcmple.o 56 0 0 0 0 68 d2f.o 356 4 0 0 0 140 dadd.o 240 6 0 0 0 84 ddiv.o 236 0 0 0 0 216 depilogue.o + 72 10 0 0 0 72 dfixi.o 64 10 0 0 0 68 dfixul.o + 40 6 0 0 0 68 dflti.o 28 4 0 0 0 68 dfltui.o 28 6 0 0 0 68 dfltul.o 208 6 0 0 0 88 dmul.o + 44 0 0 0 0 72 dscalb.o 40 0 0 0 0 60 f2d.o 178 0 0 0 0 108 fadd.o 130 0 0 0 0 144 fepilogue.o @@ -4762,18 +5347,19 @@ Image component sizes 122 0 0 0 0 72 fmul.o ---------------------------------------------------------------------- - 5168 180 134 8 0 3588 Library Totals - 10 0 1 0 0 0 (incl. Padding) + 7988 292 134 16 0 5092 Library Totals + 18 0 1 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 3368 142 133 8 0 2208 mc_p.l - 1790 38 0 0 0 1380 mf_p.l + 28 0 0 0 0 72 m_ps.l + 5956 236 133 16 0 3360 mc_p.l + 1986 56 0 0 0 1660 mf_p.l ---------------------------------------------------------------------- - 5168 180 134 8 0 3588 Library Totals + 7988 292 134 16 0 5092 Library Totals ---------------------------------------------------------------------- @@ -4782,15 +5368,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 38988 6444 4524 2028 28092 847095 Grand Totals - 38988 6444 4524 1544 28092 847095 ELF Image Totals (compressed) - 38988 6444 4524 1544 0 0 ROM Totals + 46912 6948 4604 2060 28604 886554 Grand Totals + 46912 6948 4604 1556 28604 886554 ELF Image Totals (compressed) + 46912 6948 4604 1556 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 43512 ( 42.49kB) - Total RW Size (RW Data + ZI Data) 30120 ( 29.41kB) - Total ROM Size (Code + RO Data + RW Data) 45056 ( 44.00kB) + Total RO Size (Code + RO Data) 51516 ( 50.31kB) + Total RW Size (RW Data + ZI Data) 30664 ( 29.95kB) + Total ROM Size (Code + RO Data + RW Data) 53072 ( 51.83kB) ============================================================================== diff --git a/mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin b/mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin index 698c59c4a9525d17fdfc19c8364a1d0854d5e765..0cf2bdb7e3c3e361eb90659d0eb267c3a325c26b 100644 GIT binary patch delta 23989 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 diff --git a/mcm-ddc-ble/MDK-ARM/mcm-ddc-ble.uvprojx b/mcm-ddc-ble/MDK-ARM/mcm-ddc-ble.uvprojx index 852596c..946f676 100644 --- a/mcm-ddc-ble/MDK-ARM/mcm-ddc-ble.uvprojx +++ b/mcm-ddc-ble/MDK-ARM/mcm-ddc-ble.uvprojx @@ -339,7 +339,7 @@ N32WB03X, USE_STDPERIPH_DRIVER - ..\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\dis\diss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common;..\inc\rw;..\inc\app_profile;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM0;..\..\Boot\src + ..\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\dis\diss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common;..\inc\rw;..\inc\app_profile;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\include;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Third_Party\FreeRTOS\Source\portable\RVDS\ARM_CM0;..\..\Boot\src;..\src\infra @@ -1090,6 +1090,21 @@ + + infra + + + cJSON.c + 1 + ..\src\infra\cJSON.c + + + infra_cjson.c + 1 + ..\src\infra\infra_cjson.c + + + CONFIG @@ -1480,7 +1495,7 @@ N32WB03X, USE_STDPERIPH_DRIVER, APPLICATION, BLE_OTA_ENABLE - ..\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\dis\diss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\ns_ius\ns_iuss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common;..\inc\rw;..\inc\app_profile;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\error;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ecc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\dfu;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec;..\..\nations-tec\N32WB03x_SDK_V2.0.0\projects\n32wb03x_EVAL\dfu\common;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\src + ..\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\dis\diss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\ns_ius\ns_iuss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common;..\inc\rw;..\inc\app_profile;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\error;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ecc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\dfu;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec;..\..\nations-tec\N32WB03x_SDK_V2.0.0\projects\n32wb03x_EVAL\dfu\common;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\src;..\src\infra @@ -1940,6 +1955,21 @@ + + infra + + + cJSON.c + 1 + ..\src\infra\cJSON.c + + + infra_cjson.c + 1 + ..\src\infra\infra_cjson.c + + + CONFIG @@ -2330,7 +2360,7 @@ N32WB03X, USE_STDPERIPH_DRIVER, APPLICATION, BLE_OTA_ENABLE - ..\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\dis\diss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\ns_ius\ns_iuss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common;..\inc\rw;..\inc\app_profile;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\error;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ecc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\dfu;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec;..\..\nations-tec\N32WB03x_SDK_V2.0.0\projects\n32wb03x_EVAL\dfu\common;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\src + ..\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\core;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\CMSIS\device;..\..\nations-tec\N32WB03x_SDK_V2.0.0\firmware\n32wb03x_std_periph_driver\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\dis\diss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\hogp\hogpd\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\rdts\rdtss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\ns_ius\ns_iuss\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ahi\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\inc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gap;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\gatt;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\hl\src\l2c;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\lld;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\ble\ll\src\llm;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\em\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\hci\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\ip\sch\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\aes\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\dbg\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ecc_p256\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\h4tl\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\ke\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\rwip\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\rfinit\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\api;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\modules\common\src;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\stack_common;..\inc\rw;..\inc\app_profile;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_stack\arch;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\adv;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\timer;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\log;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\delay;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sleep;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\error;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ecc;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\dfu;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\sec;..\..\nations-tec\N32WB03x_SDK_V2.0.0\projects\n32wb03x_EVAL\dfu\common;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_library\ble;..\..\nations-tec\N32WB03x_SDK_V2.0.0\middlewares\Nationstech\ble_library\ns_ble_profile\bas\bass\src;..\src\infra @@ -2790,6 +2820,21 @@ + + infra + + + cJSON.c + 1 + ..\src\infra\cJSON.c + + + infra_cjson.c + 1 + ..\src\infra\infra_cjson.c + + + CONFIG diff --git a/mcm-ddc-ble/inc/app_version.h b/mcm-ddc-ble/inc/app_version.h index 23edfe5..ef9ea43 100644 --- a/mcm-ddc-ble/inc/app_version.h +++ b/mcm-ddc-ble/inc/app_version.h @@ -5,8 +5,8 @@ #ifndef __APP_VERSION_H__ #define __APP_VERSION_H__ -#define APP_FW_VERSION "V1.00.13" +#define APP_FW_VERSION "V1.00.14" /* Numeric form used by the BLE info query / OTA records: 0x00MMmmpp */ -#define APP_FW_VERSION_NUM 0x0001000Du +#define APP_FW_VERSION_NUM 0x0001000Eu #endif /* __APP_VERSION_H__ */ diff --git a/mcm-ddc-ble/src/app_params.c b/mcm-ddc-ble/src/app_params.c index abe3174..fbb15c5 100644 --- a/mcm-ddc-ble/src/app_params.c +++ b/mcm-ddc-ble/src/app_params.c @@ -16,6 +16,7 @@ #include "cli_core.h" #include "dfu_layout.h" #include "boot_crc32.h" +#include "infra_cjson.h" #include "n32wb03x.h" #include "n32wb03x_qflash.h" @@ -137,15 +138,133 @@ uint8_t app_params_is_valid(void) return s_valid; } +/* ------------------------------------------------------------------ */ +/* JSON interface (appget json / appset json {...}): self-describing */ +/* output and forward-compatible input - unknown keys are ignored so */ +/* newer firmware params do not break older clients. Storage stays */ +/* the binary caiic_params_t record; JSON is an interface view only. */ +/* ------------------------------------------------------------------ */ + +/** + * @brief Print the params as a JSON object, e.g. {"led":500,"pwm":0,"valid":1} + */ +static void params_print_json(void) +{ + cJSON* root; + char* out; + + infra_cjson_init(); + root = cJSON_CreateObject(); + if (root == NULL) + { + cli_write("json: alloc fail\r\n"); + return; + } + cJSON_AddNumberToObject(root, "led", s_params.led1_blink_ms); + cJSON_AddNumberToObject(root, "pwm", s_params.pwm_duty_pct); + cJSON_AddNumberToObject(root, "valid", s_valid); + out = cJSON_PrintUnformatted(root); + cJSON_Delete(root); + if (out == NULL) + { + cli_write("json: alloc fail\r\n"); + return; + } + cli_write(out); + cli_write("\r\n"); + cJSON_free(out); +} + +/** + * @brief Apply a JSON object like {"led":500,"pwm":50}. All known keys are + * range-checked first; on any violation nothing is modified. + * Unknown keys are ignored (forward compatibility). + */ +static void params_set_json(const char* json) +{ + cJSON* root; + cJSON* item; + long led = -1; + long pwm = -1; + + infra_cjson_init(); + root = cJSON_Parse(json); + if (root == NULL || !cJSON_IsObject(root)) + { + cli_write("appset json: parse fail\r\n"); + if (root != NULL) + { + cJSON_Delete(root); + } + return; + } + + item = cJSON_GetObjectItem(root, "led"); + if (cJSON_IsNumber(item)) + { + led = item->valueint; + } + item = cJSON_GetObjectItem(root, "pwm"); + if (cJSON_IsNumber(item)) + { + pwm = item->valueint; + } + + if (led < 0 && pwm < 0) + { + cli_write("appset json: no known key (led, pwm)\r\n"); + cJSON_Delete(root); + return; + } + if (led >= 0 && (led < (long)PARAM_LED1_BLINK_MS_MIN || led > (long)PARAM_LED1_BLINK_MS_MAX)) + { + cli_printf("led range %u..%u\r\n", + (unsigned int)PARAM_LED1_BLINK_MS_MIN, + (unsigned int)PARAM_LED1_BLINK_MS_MAX); + cJSON_Delete(root); + return; + } + if (pwm >= 0 && pwm > (long)PARAM_PWM_DUTY_PCT_MAX) + { + cli_printf("pwm range 0..%u\r\n", (unsigned int)PARAM_PWM_DUTY_PCT_MAX); + cJSON_Delete(root); + return; + } + cJSON_Delete(root); + + if (led >= 0) + { + s_params.led1_blink_ms = (uint16_t)led; + } + if (pwm >= 0) + { + s_params.pwm_duty_pct = (uint32_t)pwm; + } + + if (params_save() == 0) + { + params_print_json(); + } + else + { + cli_write("appset json: flash fail\r\n"); + } +} + /* ------------------------------------------------------------------ */ /* CLI: appget / appset */ /* ------------------------------------------------------------------ */ void AppParams_CmdAppget(int argc, char* argv[]) { - (void)argc; (void)argv; + if (argc >= 2 && strcmp(argv[1], "json") == 0) + { + params_print_json(); + return; + } + cli_printf("params: %s\r\n", s_valid ? "valid" : "default (not saved)"); cli_printf(" led = %u (led1 blink half period, ms)\r\n", (unsigned int)s_params.led1_blink_ms); @@ -159,11 +278,39 @@ void AppParams_CmdAppset(int argc, char* argv[]) if (argc < 3) { - cli_write("usage: appset \r\n"); + cli_write("usage: appset | appset json {\"led\":500,\"pwm\":50}\r\n"); cli_write(" led = led1 blink half period 50..10000 ms\r\n"); cli_write(" pwm = pwm duty 0..100 %\r\n"); return; } + + if (strcmp(argv[1], "json") == 0) + { + /* cli_exec_line() splits on spaces; rejoin the JSON argument */ + char json[80]; + uint32_t pos = 0; + int i; + + for (i = 2; i < argc; i++) + { + uint32_t n = (uint32_t)strlen(argv[i]); + if (pos + n + 2u > sizeof(json)) + { + cli_write("appset json: line too long\r\n"); + return; + } + if (pos != 0) + { + json[pos++] = ' '; + } + memcpy(json + pos, argv[i], n); + pos += n; + } + json[pos] = '\0'; + params_set_json(json); + return; + } + if (parse_u32(argv[2], &v) != 0) { cli_write("appset: bad value\r\n"); diff --git a/mcm-ddc-ble/src/cli_core.c b/mcm-ddc-ble/src/cli_core.c index bd0160a..9514e94 100644 --- a/mcm-ddc-ble/src/cli_core.c +++ b/mcm-ddc-ble/src/cli_core.c @@ -311,8 +311,8 @@ static const CliCmd_t s_cmds[] = { {"devinfo", "show device info (temp/vdd/fan, same as BLE INFO_QUERY all)", CmdDevInfo}, {"blelog", "blelog [on|off]: BLE traffic log (events + frame hex dump)", CmdBleLog}, {"led", "led <1|2> : control board LED", CmdLed}, - {"appget", "appget: show app params (led/pwm)", AppParams_CmdAppget}, - {"appset", "appset : set app param and save", AppParams_CmdAppset}, + {"appget", "appget [json]: show app params (led/pwm)", AppParams_CmdAppget}, + {"appset", "appset | appset json {\"led\":500}", AppParams_CmdAppset}, {"bsdump", "bsdump: show bootsetting record + crc check", AppBootset_CmdBsdump}, {"bsset", "bsset : write bootsetting field (careful!)", AppBootset_CmdBsset}, {"reset", "reset: system reset (reboot)", CmdReset}, diff --git a/mcm-ddc-ble/src/infra/cJSON.c b/mcm-ddc-ble/src/infra/cJSON.c new file mode 100644 index 0000000..61483d9 --- /dev/null +++ b/mcm-ddc-ble/src/infra/cJSON.c @@ -0,0 +1,3143 @@ +/* + Copyright (c) 2009-2017 Dave Gamble and cJSON contributors + + 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. +*/ + +/* cJSON */ +/* JSON parser in C. */ + +/* disable warnings about old C89 functions in MSVC */ +#if !defined(_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) +#define _CRT_SECURE_NO_DEPRECATE +#endif + +#ifdef __GNUC__ +#pragma GCC visibility push(default) +#endif +#if defined(_MSC_VER) +#pragma warning (push) +/* disable warning about single line comments in system headers */ +#pragma warning (disable : 4001) +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef ENABLE_LOCALES +#include +#endif + +#if defined(_MSC_VER) +#pragma warning (pop) +#endif +#ifdef __GNUC__ +#pragma GCC visibility pop +#endif + +#include "cJSON.h" + +/* define our own boolean type */ +#ifdef true +#undef true +#endif +#define true ((cJSON_bool)1) + +#ifdef false +#undef false +#endif +#define false ((cJSON_bool)0) + +/* define isnan and isinf for ANSI C, if in C99 or above, isnan and isinf has been defined in math.h */ +#ifndef isinf +#define isinf(d) (isnan((d - d)) && !isnan(d)) +#endif +#ifndef isnan +#define isnan(d) (d != d) +#endif + +#ifndef NAN +#ifdef _WIN32 +#define NAN sqrt(-1.0) +#else +#define NAN 0.0/0.0 +#endif +#endif + +typedef struct { + const unsigned char *json; + size_t position; +} error; +static error global_error = { NULL, 0 }; + +CJSON_PUBLIC(const char *) cJSON_GetErrorPtr(void) +{ + return (const char*) (global_error.json + global_error.position); +} + +CJSON_PUBLIC(char *) cJSON_GetStringValue(const cJSON * const item) +{ + if (!cJSON_IsString(item)) + { + return NULL; + } + + return item->valuestring; +} + +CJSON_PUBLIC(double) cJSON_GetNumberValue(const cJSON * const item) +{ + if (!cJSON_IsNumber(item)) + { + return (double) NAN; + } + + return item->valuedouble; +} + +/* This is a safeguard to prevent copy-pasters from using incompatible C and header files */ +#if (CJSON_VERSION_MAJOR != 1) || (CJSON_VERSION_MINOR != 7) || (CJSON_VERSION_PATCH != 18) + #error cJSON.h and cJSON.c have different versions. Make sure that both have the same. +#endif + +CJSON_PUBLIC(const char*) cJSON_Version(void) +{ + static char version[15]; + sprintf(version, "%i.%i.%i", CJSON_VERSION_MAJOR, CJSON_VERSION_MINOR, CJSON_VERSION_PATCH); + + return version; +} + +/* Case insensitive string comparison, doesn't consider two NULL pointers equal though */ +static int case_insensitive_strcmp(const unsigned char *string1, const unsigned char *string2) +{ + if ((string1 == NULL) || (string2 == NULL)) + { + return 1; + } + + if (string1 == string2) + { + return 0; + } + + for(; tolower(*string1) == tolower(*string2); (void)string1++, string2++) + { + if (*string1 == '\0') + { + return 0; + } + } + + return tolower(*string1) - tolower(*string2); +} + +typedef struct internal_hooks +{ + void *(CJSON_CDECL *allocate)(size_t size); + void (CJSON_CDECL *deallocate)(void *pointer); + void *(CJSON_CDECL *reallocate)(void *pointer, size_t size); +} internal_hooks; + +#if defined(_MSC_VER) +/* work around MSVC error C2322: '...' address of dllimport '...' is not static */ +static void * CJSON_CDECL internal_malloc(size_t size) +{ + return malloc(size); +} +static void CJSON_CDECL internal_free(void *pointer) +{ + free(pointer); +} +static void * CJSON_CDECL internal_realloc(void *pointer, size_t size) +{ + return realloc(pointer, size); +} +#else +#define internal_malloc malloc +#define internal_free free +#define internal_realloc realloc +#endif + +/* strlen of character literals resolved at compile time */ +#define static_strlen(string_literal) (sizeof(string_literal) - sizeof("")) + +static internal_hooks global_hooks = { internal_malloc, internal_free, internal_realloc }; + +static unsigned char* cJSON_strdup(const unsigned char* string, const internal_hooks * const hooks) +{ + size_t length = 0; + unsigned char *copy = NULL; + + if (string == NULL) + { + return NULL; + } + + length = strlen((const char*)string) + sizeof(""); + copy = (unsigned char*)hooks->allocate(length); + if (copy == NULL) + { + return NULL; + } + memcpy(copy, string, length); + + return copy; +} + +CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks) +{ + if (hooks == NULL) + { + /* Reset hooks */ + global_hooks.allocate = malloc; + global_hooks.deallocate = free; + global_hooks.reallocate = realloc; + return; + } + + global_hooks.allocate = malloc; + if (hooks->malloc_fn != NULL) + { + global_hooks.allocate = hooks->malloc_fn; + } + + global_hooks.deallocate = free; + if (hooks->free_fn != NULL) + { + global_hooks.deallocate = hooks->free_fn; + } + + /* use realloc only if both free and malloc are used */ + global_hooks.reallocate = NULL; + if ((global_hooks.allocate == malloc) && (global_hooks.deallocate == free)) + { + global_hooks.reallocate = realloc; + } +} + +/* Internal constructor. */ +static cJSON *cJSON_New_Item(const internal_hooks * const hooks) +{ + cJSON* node = (cJSON*)hooks->allocate(sizeof(cJSON)); + if (node) + { + memset(node, '\0', sizeof(cJSON)); + } + + return node; +} + +/* Delete a cJSON structure. */ +CJSON_PUBLIC(void) cJSON_Delete(cJSON *item) +{ + cJSON *next = NULL; + while (item != NULL) + { + next = item->next; + if (!(item->type & cJSON_IsReference) && (item->child != NULL)) + { + cJSON_Delete(item->child); + } + if (!(item->type & cJSON_IsReference) && (item->valuestring != NULL)) + { + global_hooks.deallocate(item->valuestring); + item->valuestring = NULL; + } + if (!(item->type & cJSON_StringIsConst) && (item->string != NULL)) + { + global_hooks.deallocate(item->string); + item->string = NULL; + } + global_hooks.deallocate(item); + item = next; + } +} + +/* get the decimal point character of the current locale */ +static unsigned char get_decimal_point(void) +{ +#ifdef ENABLE_LOCALES + struct lconv *lconv = localeconv(); + return (unsigned char) lconv->decimal_point[0]; +#else + return '.'; +#endif +} + +typedef struct +{ + const unsigned char *content; + size_t length; + size_t offset; + size_t depth; /* How deeply nested (in arrays/objects) is the input at the current offset. */ + internal_hooks hooks; +} parse_buffer; + +/* check if the given size is left to read in a given parse buffer (starting with 1) */ +#define can_read(buffer, size) ((buffer != NULL) && (((buffer)->offset + size) <= (buffer)->length)) +/* check if the buffer can be accessed at the given index (starting with 0) */ +#define can_access_at_index(buffer, index) ((buffer != NULL) && (((buffer)->offset + index) < (buffer)->length)) +#define cannot_access_at_index(buffer, index) (!can_access_at_index(buffer, index)) +/* get a pointer to the buffer at the position */ +#define buffer_at_offset(buffer) ((buffer)->content + (buffer)->offset) + +/* Parse the input text to generate a number, and populate the result into item. */ +static cJSON_bool parse_number(cJSON * const item, parse_buffer * const input_buffer) +{ + double number = 0; + unsigned char *after_end = NULL; + unsigned char number_c_string[64]; + unsigned char decimal_point = get_decimal_point(); + size_t i = 0; + + if ((input_buffer == NULL) || (input_buffer->content == NULL)) + { + return false; + } + + /* copy the number into a temporary buffer and replace '.' with the decimal point + * of the current locale (for strtod) + * This also takes care of '\0' not necessarily being available for marking the end of the input */ + for (i = 0; (i < (sizeof(number_c_string) - 1)) && can_access_at_index(input_buffer, i); i++) + { + switch (buffer_at_offset(input_buffer)[i]) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '+': + case '-': + case 'e': + case 'E': + number_c_string[i] = buffer_at_offset(input_buffer)[i]; + break; + + case '.': + number_c_string[i] = decimal_point; + break; + + default: + goto loop_end; + } + } +loop_end: + number_c_string[i] = '\0'; + + number = strtod((const char*)number_c_string, (char**)&after_end); + if (number_c_string == after_end) + { + return false; /* parse_error */ + } + + item->valuedouble = number; + + /* use saturation in case of overflow */ + if (number >= INT_MAX) + { + item->valueint = INT_MAX; + } + else if (number <= (double)INT_MIN) + { + item->valueint = INT_MIN; + } + else + { + item->valueint = (int)number; + } + + item->type = cJSON_Number; + + input_buffer->offset += (size_t)(after_end - number_c_string); + return true; +} + +/* don't ask me, but the original cJSON_SetNumberValue returns an integer or double */ +CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number) +{ + if (number >= INT_MAX) + { + object->valueint = INT_MAX; + } + else if (number <= (double)INT_MIN) + { + object->valueint = INT_MIN; + } + else + { + object->valueint = (int)number; + } + + return object->valuedouble = number; +} + +/* Note: when passing a NULL valuestring, cJSON_SetValuestring treats this as an error and return NULL */ +CJSON_PUBLIC(char*) cJSON_SetValuestring(cJSON *object, const char *valuestring) +{ + char *copy = NULL; + /* if object's type is not cJSON_String or is cJSON_IsReference, it should not set valuestring */ + if ((object == NULL) || !(object->type & cJSON_String) || (object->type & cJSON_IsReference)) + { + return NULL; + } + /* return NULL if the object is corrupted or valuestring is NULL */ + if (object->valuestring == NULL || valuestring == NULL) + { + return NULL; + } + if (strlen(valuestring) <= strlen(object->valuestring)) + { + strcpy(object->valuestring, valuestring); + return object->valuestring; + } + copy = (char*) cJSON_strdup((const unsigned char*)valuestring, &global_hooks); + if (copy == NULL) + { + return NULL; + } + if (object->valuestring != NULL) + { + cJSON_free(object->valuestring); + } + object->valuestring = copy; + + return copy; +} + +typedef struct +{ + unsigned char *buffer; + size_t length; + size_t offset; + size_t depth; /* current nesting depth (for formatted printing) */ + cJSON_bool noalloc; + cJSON_bool format; /* is this print a formatted print */ + internal_hooks hooks; +} printbuffer; + +/* realloc printbuffer if necessary to have at least "needed" bytes more */ +static unsigned char* ensure(printbuffer * const p, size_t needed) +{ + unsigned char *newbuffer = NULL; + size_t newsize = 0; + + if ((p == NULL) || (p->buffer == NULL)) + { + return NULL; + } + + if ((p->length > 0) && (p->offset >= p->length)) + { + /* make sure that offset is valid */ + return NULL; + } + + if (needed > INT_MAX) + { + /* sizes bigger than INT_MAX are currently not supported */ + return NULL; + } + + needed += p->offset + 1; + if (needed <= p->length) + { + return p->buffer + p->offset; + } + + if (p->noalloc) { + return NULL; + } + + /* calculate new buffer size */ + if (needed > (INT_MAX / 2)) + { + /* overflow of int, use INT_MAX if possible */ + if (needed <= INT_MAX) + { + newsize = INT_MAX; + } + else + { + return NULL; + } + } + else + { + newsize = needed * 2; + } + + if (p->hooks.reallocate != NULL) + { + /* reallocate with realloc if available */ + newbuffer = (unsigned char*)p->hooks.reallocate(p->buffer, newsize); + if (newbuffer == NULL) + { + p->hooks.deallocate(p->buffer); + p->length = 0; + p->buffer = NULL; + + return NULL; + } + } + else + { + /* otherwise reallocate manually */ + newbuffer = (unsigned char*)p->hooks.allocate(newsize); + if (!newbuffer) + { + p->hooks.deallocate(p->buffer); + p->length = 0; + p->buffer = NULL; + + return NULL; + } + + memcpy(newbuffer, p->buffer, p->offset + 1); + p->hooks.deallocate(p->buffer); + } + p->length = newsize; + p->buffer = newbuffer; + + return newbuffer + p->offset; +} + +/* calculate the new length of the string in a printbuffer and update the offset */ +static void update_offset(printbuffer * const buffer) +{ + const unsigned char *buffer_pointer = NULL; + if ((buffer == NULL) || (buffer->buffer == NULL)) + { + return; + } + buffer_pointer = buffer->buffer + buffer->offset; + + buffer->offset += strlen((const char*)buffer_pointer); +} + +/* securely comparison of floating-point variables */ +static cJSON_bool compare_double(double a, double b) +{ + double maxVal = fabs(a) > fabs(b) ? fabs(a) : fabs(b); + return (fabs(a - b) <= maxVal * DBL_EPSILON); +} + +/* Render the number nicely from the given item into a string. */ +static cJSON_bool print_number(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output_pointer = NULL; + double d = item->valuedouble; + int length = 0; + size_t i = 0; + unsigned char number_buffer[26] = {0}; /* temporary buffer to print the number into */ + unsigned char decimal_point = get_decimal_point(); + double test = 0.0; + + if (output_buffer == NULL) + { + return false; + } + + /* This checks for NaN and Infinity */ + if (isnan(d) || isinf(d)) + { + length = sprintf((char*)number_buffer, "null"); + } + else if(d == (double)item->valueint) + { + length = sprintf((char*)number_buffer, "%d", item->valueint); + } + else + { + /* Try 15 decimal places of precision to avoid nonsignificant nonzero digits */ + length = sprintf((char*)number_buffer, "%1.15g", d); + + /* Check whether the original double can be recovered */ + if ((sscanf((char*)number_buffer, "%lg", &test) != 1) || !compare_double((double)test, d)) + { + /* If not, print with 17 decimal places of precision */ + length = sprintf((char*)number_buffer, "%1.17g", d); + } + } + + /* sprintf failed or buffer overrun occurred */ + if ((length < 0) || (length > (int)(sizeof(number_buffer) - 1))) + { + return false; + } + + /* reserve appropriate space in the output */ + output_pointer = ensure(output_buffer, (size_t)length + sizeof("")); + if (output_pointer == NULL) + { + return false; + } + + /* copy the printed number to the output and replace locale + * dependent decimal point with '.' */ + for (i = 0; i < ((size_t)length); i++) + { + if (number_buffer[i] == decimal_point) + { + output_pointer[i] = '.'; + continue; + } + + output_pointer[i] = number_buffer[i]; + } + output_pointer[i] = '\0'; + + output_buffer->offset += (size_t)length; + + return true; +} + +/* parse 4 digit hexadecimal number */ +static unsigned parse_hex4(const unsigned char * const input) +{ + unsigned int h = 0; + size_t i = 0; + + for (i = 0; i < 4; i++) + { + /* parse digit */ + if ((input[i] >= '0') && (input[i] <= '9')) + { + h += (unsigned int) input[i] - '0'; + } + else if ((input[i] >= 'A') && (input[i] <= 'F')) + { + h += (unsigned int) 10 + input[i] - 'A'; + } + else if ((input[i] >= 'a') && (input[i] <= 'f')) + { + h += (unsigned int) 10 + input[i] - 'a'; + } + else /* invalid */ + { + return 0; + } + + if (i < 3) + { + /* shift left to make place for the next nibble */ + h = h << 4; + } + } + + return h; +} + +/* converts a UTF-16 literal to UTF-8 + * A literal can be one or two sequences of the form \uXXXX */ +static unsigned char utf16_literal_to_utf8(const unsigned char * const input_pointer, const unsigned char * const input_end, unsigned char **output_pointer) +{ + long unsigned int codepoint = 0; + unsigned int first_code = 0; + const unsigned char *first_sequence = input_pointer; + unsigned char utf8_length = 0; + unsigned char utf8_position = 0; + unsigned char sequence_length = 0; + unsigned char first_byte_mark = 0; + + if ((input_end - first_sequence) < 6) + { + /* input ends unexpectedly */ + goto fail; + } + + /* get the first utf16 sequence */ + first_code = parse_hex4(first_sequence + 2); + + /* check that the code is valid */ + if (((first_code >= 0xDC00) && (first_code <= 0xDFFF))) + { + goto fail; + } + + /* UTF16 surrogate pair */ + if ((first_code >= 0xD800) && (first_code <= 0xDBFF)) + { + const unsigned char *second_sequence = first_sequence + 6; + unsigned int second_code = 0; + sequence_length = 12; /* \uXXXX\uXXXX */ + + if ((input_end - second_sequence) < 6) + { + /* input ends unexpectedly */ + goto fail; + } + + if ((second_sequence[0] != '\\') || (second_sequence[1] != 'u')) + { + /* missing second half of the surrogate pair */ + goto fail; + } + + /* get the second utf16 sequence */ + second_code = parse_hex4(second_sequence + 2); + /* check that the code is valid */ + if ((second_code < 0xDC00) || (second_code > 0xDFFF)) + { + /* invalid second half of the surrogate pair */ + goto fail; + } + + + /* calculate the unicode codepoint from the surrogate pair */ + codepoint = 0x10000 + (((first_code & 0x3FF) << 10) | (second_code & 0x3FF)); + } + else + { + sequence_length = 6; /* \uXXXX */ + codepoint = first_code; + } + + /* encode as UTF-8 + * takes at maximum 4 bytes to encode: + * 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx */ + if (codepoint < 0x80) + { + /* normal ascii, encoding 0xxxxxxx */ + utf8_length = 1; + } + else if (codepoint < 0x800) + { + /* two bytes, encoding 110xxxxx 10xxxxxx */ + utf8_length = 2; + first_byte_mark = 0xC0; /* 11000000 */ + } + else if (codepoint < 0x10000) + { + /* three bytes, encoding 1110xxxx 10xxxxxx 10xxxxxx */ + utf8_length = 3; + first_byte_mark = 0xE0; /* 11100000 */ + } + else if (codepoint <= 0x10FFFF) + { + /* four bytes, encoding 1110xxxx 10xxxxxx 10xxxxxx 10xxxxxx */ + utf8_length = 4; + first_byte_mark = 0xF0; /* 11110000 */ + } + else + { + /* invalid unicode codepoint */ + goto fail; + } + + /* encode as utf8 */ + for (utf8_position = (unsigned char)(utf8_length - 1); utf8_position > 0; utf8_position--) + { + /* 10xxxxxx */ + (*output_pointer)[utf8_position] = (unsigned char)((codepoint | 0x80) & 0xBF); + codepoint >>= 6; + } + /* encode first byte */ + if (utf8_length > 1) + { + (*output_pointer)[0] = (unsigned char)((codepoint | first_byte_mark) & 0xFF); + } + else + { + (*output_pointer)[0] = (unsigned char)(codepoint & 0x7F); + } + + *output_pointer += utf8_length; + + return sequence_length; + +fail: + return 0; +} + +/* Parse the input text into an unescaped cinput, and populate item. */ +static cJSON_bool parse_string(cJSON * const item, parse_buffer * const input_buffer) +{ + const unsigned char *input_pointer = buffer_at_offset(input_buffer) + 1; + const unsigned char *input_end = buffer_at_offset(input_buffer) + 1; + unsigned char *output_pointer = NULL; + unsigned char *output = NULL; + + /* not a string */ + if (buffer_at_offset(input_buffer)[0] != '\"') + { + goto fail; + } + + { + /* calculate approximate size of the output (overestimate) */ + size_t allocation_length = 0; + size_t skipped_bytes = 0; + while (((size_t)(input_end - input_buffer->content) < input_buffer->length) && (*input_end != '\"')) + { + /* is escape sequence */ + if (input_end[0] == '\\') + { + if ((size_t)(input_end + 1 - input_buffer->content) >= input_buffer->length) + { + /* prevent buffer overflow when last input character is a backslash */ + goto fail; + } + skipped_bytes++; + input_end++; + } + input_end++; + } + if (((size_t)(input_end - input_buffer->content) >= input_buffer->length) || (*input_end != '\"')) + { + goto fail; /* string ended unexpectedly */ + } + + /* This is at most how much we need for the output */ + allocation_length = (size_t) (input_end - buffer_at_offset(input_buffer)) - skipped_bytes; + output = (unsigned char*)input_buffer->hooks.allocate(allocation_length + sizeof("")); + if (output == NULL) + { + goto fail; /* allocation failure */ + } + } + + output_pointer = output; + /* loop through the string literal */ + while (input_pointer < input_end) + { + if (*input_pointer != '\\') + { + *output_pointer++ = *input_pointer++; + } + /* escape sequence */ + else + { + unsigned char sequence_length = 2; + if ((input_end - input_pointer) < 1) + { + goto fail; + } + + switch (input_pointer[1]) + { + case 'b': + *output_pointer++ = '\b'; + break; + case 'f': + *output_pointer++ = '\f'; + break; + case 'n': + *output_pointer++ = '\n'; + break; + case 'r': + *output_pointer++ = '\r'; + break; + case 't': + *output_pointer++ = '\t'; + break; + case '\"': + case '\\': + case '/': + *output_pointer++ = input_pointer[1]; + break; + + /* UTF-16 literal */ + case 'u': + sequence_length = utf16_literal_to_utf8(input_pointer, input_end, &output_pointer); + if (sequence_length == 0) + { + /* failed to convert UTF16-literal to UTF-8 */ + goto fail; + } + break; + + default: + goto fail; + } + input_pointer += sequence_length; + } + } + + /* zero terminate the output */ + *output_pointer = '\0'; + + item->type = cJSON_String; + item->valuestring = (char*)output; + + input_buffer->offset = (size_t) (input_end - input_buffer->content); + input_buffer->offset++; + + return true; + +fail: + if (output != NULL) + { + input_buffer->hooks.deallocate(output); + output = NULL; + } + + if (input_pointer != NULL) + { + input_buffer->offset = (size_t)(input_pointer - input_buffer->content); + } + + return false; +} + +/* Render the cstring provided to an escaped version that can be printed. */ +static cJSON_bool print_string_ptr(const unsigned char * const input, printbuffer * const output_buffer) +{ + const unsigned char *input_pointer = NULL; + unsigned char *output = NULL; + unsigned char *output_pointer = NULL; + size_t output_length = 0; + /* numbers of additional characters needed for escaping */ + size_t escape_characters = 0; + + if (output_buffer == NULL) + { + return false; + } + + /* empty string */ + if (input == NULL) + { + output = ensure(output_buffer, sizeof("\"\"")); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "\"\""); + + return true; + } + + /* set "flag" to 1 if something needs to be escaped */ + for (input_pointer = input; *input_pointer; input_pointer++) + { + switch (*input_pointer) + { + case '\"': + case '\\': + case '\b': + case '\f': + case '\n': + case '\r': + case '\t': + /* one character escape sequence */ + escape_characters++; + break; + default: + if (*input_pointer < 32) + { + /* UTF-16 escape sequence uXXXX */ + escape_characters += 5; + } + break; + } + } + output_length = (size_t)(input_pointer - input) + escape_characters; + + output = ensure(output_buffer, output_length + sizeof("\"\"")); + if (output == NULL) + { + return false; + } + + /* no characters have to be escaped */ + if (escape_characters == 0) + { + output[0] = '\"'; + memcpy(output + 1, input, output_length); + output[output_length + 1] = '\"'; + output[output_length + 2] = '\0'; + + return true; + } + + output[0] = '\"'; + output_pointer = output + 1; + /* copy the string */ + for (input_pointer = input; *input_pointer != '\0'; (void)input_pointer++, output_pointer++) + { + if ((*input_pointer > 31) && (*input_pointer != '\"') && (*input_pointer != '\\')) + { + /* normal character, copy */ + *output_pointer = *input_pointer; + } + else + { + /* character needs to be escaped */ + *output_pointer++ = '\\'; + switch (*input_pointer) + { + case '\\': + *output_pointer = '\\'; + break; + case '\"': + *output_pointer = '\"'; + break; + case '\b': + *output_pointer = 'b'; + break; + case '\f': + *output_pointer = 'f'; + break; + case '\n': + *output_pointer = 'n'; + break; + case '\r': + *output_pointer = 'r'; + break; + case '\t': + *output_pointer = 't'; + break; + default: + /* escape and print as unicode codepoint */ + sprintf((char*)output_pointer, "u%04x", *input_pointer); + output_pointer += 4; + break; + } + } + } + output[output_length + 1] = '\"'; + output[output_length + 2] = '\0'; + + return true; +} + +/* Invoke print_string_ptr (which is useful) on an item. */ +static cJSON_bool print_string(const cJSON * const item, printbuffer * const p) +{ + return print_string_ptr((unsigned char*)item->valuestring, p); +} + +/* Predeclare these prototypes. */ +static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer); +static cJSON_bool print_value(const cJSON * const item, printbuffer * const output_buffer); +static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer); +static cJSON_bool print_array(const cJSON * const item, printbuffer * const output_buffer); +static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer); +static cJSON_bool print_object(const cJSON * const item, printbuffer * const output_buffer); + +/* Utility to jump whitespace and cr/lf */ +static parse_buffer *buffer_skip_whitespace(parse_buffer * const buffer) +{ + if ((buffer == NULL) || (buffer->content == NULL)) + { + return NULL; + } + + if (cannot_access_at_index(buffer, 0)) + { + return buffer; + } + + while (can_access_at_index(buffer, 0) && (buffer_at_offset(buffer)[0] <= 32)) + { + buffer->offset++; + } + + if (buffer->offset == buffer->length) + { + buffer->offset--; + } + + return buffer; +} + +/* skip the UTF-8 BOM (byte order mark) if it is at the beginning of a buffer */ +static parse_buffer *skip_utf8_bom(parse_buffer * const buffer) +{ + if ((buffer == NULL) || (buffer->content == NULL) || (buffer->offset != 0)) + { + return NULL; + } + + if (can_access_at_index(buffer, 4) && (strncmp((const char*)buffer_at_offset(buffer), "\xEF\xBB\xBF", 3) == 0)) + { + buffer->offset += 3; + } + + return buffer; +} + +CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated) +{ + size_t buffer_length; + + if (NULL == value) + { + return NULL; + } + + /* Adding null character size due to require_null_terminated. */ + buffer_length = strlen(value) + sizeof(""); + + return cJSON_ParseWithLengthOpts(value, buffer_length, return_parse_end, require_null_terminated); +} + +/* Parse an object - create a new root, and populate. */ +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length, const char **return_parse_end, cJSON_bool require_null_terminated) +{ + parse_buffer buffer = { 0, 0, 0, 0, { 0, 0, 0 } }; + cJSON *item = NULL; + + /* reset error position */ + global_error.json = NULL; + global_error.position = 0; + + if (value == NULL || 0 == buffer_length) + { + goto fail; + } + + buffer.content = (const unsigned char*)value; + buffer.length = buffer_length; + buffer.offset = 0; + buffer.hooks = global_hooks; + + item = cJSON_New_Item(&global_hooks); + if (item == NULL) /* memory fail */ + { + goto fail; + } + + if (!parse_value(item, buffer_skip_whitespace(skip_utf8_bom(&buffer)))) + { + /* parse failure. ep is set. */ + goto fail; + } + + /* if we require null-terminated JSON without appended garbage, skip and then check for a null terminator */ + if (require_null_terminated) + { + buffer_skip_whitespace(&buffer); + if ((buffer.offset >= buffer.length) || buffer_at_offset(&buffer)[0] != '\0') + { + goto fail; + } + } + if (return_parse_end) + { + *return_parse_end = (const char*)buffer_at_offset(&buffer); + } + + return item; + +fail: + if (item != NULL) + { + cJSON_Delete(item); + } + + if (value != NULL) + { + error local_error; + local_error.json = (const unsigned char*)value; + local_error.position = 0; + + if (buffer.offset < buffer.length) + { + local_error.position = buffer.offset; + } + else if (buffer.length > 0) + { + local_error.position = buffer.length - 1; + } + + if (return_parse_end != NULL) + { + *return_parse_end = (const char*)local_error.json + local_error.position; + } + + global_error = local_error; + } + + return NULL; +} + +/* Default options for cJSON_Parse */ +CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value) +{ + return cJSON_ParseWithOpts(value, 0, 0); +} + +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t buffer_length) +{ + return cJSON_ParseWithLengthOpts(value, buffer_length, 0, 0); +} + +#define cjson_min(a, b) (((a) < (b)) ? (a) : (b)) + +static unsigned char *print(const cJSON * const item, cJSON_bool format, const internal_hooks * const hooks) +{ + static const size_t default_buffer_size = 256; + printbuffer buffer[1]; + unsigned char *printed = NULL; + + memset(buffer, 0, sizeof(buffer)); + + /* create buffer */ + buffer->buffer = (unsigned char*) hooks->allocate(default_buffer_size); + buffer->length = default_buffer_size; + buffer->format = format; + buffer->hooks = *hooks; + if (buffer->buffer == NULL) + { + goto fail; + } + + /* print the value */ + if (!print_value(item, buffer)) + { + goto fail; + } + update_offset(buffer); + + /* check if reallocate is available */ + if (hooks->reallocate != NULL) + { + printed = (unsigned char*) hooks->reallocate(buffer->buffer, buffer->offset + 1); + if (printed == NULL) { + goto fail; + } + buffer->buffer = NULL; + } + else /* otherwise copy the JSON over to a new buffer */ + { + printed = (unsigned char*) hooks->allocate(buffer->offset + 1); + if (printed == NULL) + { + goto fail; + } + memcpy(printed, buffer->buffer, cjson_min(buffer->length, buffer->offset + 1)); + printed[buffer->offset] = '\0'; /* just to be sure */ + + /* free the buffer */ + hooks->deallocate(buffer->buffer); + buffer->buffer = NULL; + } + + return printed; + +fail: + if (buffer->buffer != NULL) + { + hooks->deallocate(buffer->buffer); + buffer->buffer = NULL; + } + + if (printed != NULL) + { + hooks->deallocate(printed); + printed = NULL; + } + + return NULL; +} + +/* Render a cJSON item/entity/structure to text. */ +CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item) +{ + return (char*)print(item, true, &global_hooks); +} + +CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item) +{ + return (char*)print(item, false, &global_hooks); +} + +CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt) +{ + printbuffer p = { 0, 0, 0, 0, 0, 0, { 0, 0, 0 } }; + + if (prebuffer < 0) + { + return NULL; + } + + p.buffer = (unsigned char*)global_hooks.allocate((size_t)prebuffer); + if (!p.buffer) + { + return NULL; + } + + p.length = (size_t)prebuffer; + p.offset = 0; + p.noalloc = false; + p.format = fmt; + p.hooks = global_hooks; + + if (!print_value(item, &p)) + { + global_hooks.deallocate(p.buffer); + p.buffer = NULL; + return NULL; + } + + return (char*)p.buffer; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format) +{ + printbuffer p = { 0, 0, 0, 0, 0, 0, { 0, 0, 0 } }; + + if ((length < 0) || (buffer == NULL)) + { + return false; + } + + p.buffer = (unsigned char*)buffer; + p.length = (size_t)length; + p.offset = 0; + p.noalloc = true; + p.format = format; + p.hooks = global_hooks; + + return print_value(item, &p); +} + +/* Parser core - when encountering text, process appropriately. */ +static cJSON_bool parse_value(cJSON * const item, parse_buffer * const input_buffer) +{ + if ((input_buffer == NULL) || (input_buffer->content == NULL)) + { + return false; /* no input */ + } + + /* parse the different types of values */ + /* null */ + if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "null", 4) == 0)) + { + item->type = cJSON_NULL; + input_buffer->offset += 4; + return true; + } + /* false */ + if (can_read(input_buffer, 5) && (strncmp((const char*)buffer_at_offset(input_buffer), "false", 5) == 0)) + { + item->type = cJSON_False; + input_buffer->offset += 5; + return true; + } + /* true */ + if (can_read(input_buffer, 4) && (strncmp((const char*)buffer_at_offset(input_buffer), "true", 4) == 0)) + { + item->type = cJSON_True; + item->valueint = 1; + input_buffer->offset += 4; + return true; + } + /* string */ + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '\"')) + { + return parse_string(item, input_buffer); + } + /* number */ + if (can_access_at_index(input_buffer, 0) && ((buffer_at_offset(input_buffer)[0] == '-') || ((buffer_at_offset(input_buffer)[0] >= '0') && (buffer_at_offset(input_buffer)[0] <= '9')))) + { + return parse_number(item, input_buffer); + } + /* array */ + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '[')) + { + return parse_array(item, input_buffer); + } + /* object */ + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '{')) + { + return parse_object(item, input_buffer); + } + + return false; +} + +/* Render a value to text. */ +static cJSON_bool print_value(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output = NULL; + + if ((item == NULL) || (output_buffer == NULL)) + { + return false; + } + + switch ((item->type) & 0xFF) + { + case cJSON_NULL: + output = ensure(output_buffer, 5); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "null"); + return true; + + case cJSON_False: + output = ensure(output_buffer, 6); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "false"); + return true; + + case cJSON_True: + output = ensure(output_buffer, 5); + if (output == NULL) + { + return false; + } + strcpy((char*)output, "true"); + return true; + + case cJSON_Number: + return print_number(item, output_buffer); + + case cJSON_Raw: + { + size_t raw_length = 0; + if (item->valuestring == NULL) + { + return false; + } + + raw_length = strlen(item->valuestring) + sizeof(""); + output = ensure(output_buffer, raw_length); + if (output == NULL) + { + return false; + } + memcpy(output, item->valuestring, raw_length); + return true; + } + + case cJSON_String: + return print_string(item, output_buffer); + + case cJSON_Array: + return print_array(item, output_buffer); + + case cJSON_Object: + return print_object(item, output_buffer); + + default: + return false; + } +} + +/* Build an array from input text. */ +static cJSON_bool parse_array(cJSON * const item, parse_buffer * const input_buffer) +{ + cJSON *head = NULL; /* head of the linked list */ + cJSON *current_item = NULL; + + if (input_buffer->depth >= CJSON_NESTING_LIMIT) + { + return false; /* to deeply nested */ + } + input_buffer->depth++; + + if (buffer_at_offset(input_buffer)[0] != '[') + { + /* not an array */ + goto fail; + } + + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ']')) + { + /* empty array */ + goto success; + } + + /* check if we skipped to the end of the buffer */ + if (cannot_access_at_index(input_buffer, 0)) + { + input_buffer->offset--; + goto fail; + } + + /* step back to character in front of the first element */ + input_buffer->offset--; + /* loop through the comma separated array elements */ + do + { + /* allocate next item */ + cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); + if (new_item == NULL) + { + goto fail; /* allocation failure */ + } + + /* attach next item to list */ + if (head == NULL) + { + /* start the linked list */ + current_item = head = new_item; + } + else + { + /* add to the end and advance */ + current_item->next = new_item; + new_item->prev = current_item; + current_item = new_item; + } + + /* parse next value */ + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (!parse_value(current_item, input_buffer)) + { + goto fail; /* failed to parse value */ + } + buffer_skip_whitespace(input_buffer); + } + while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); + + if (cannot_access_at_index(input_buffer, 0) || buffer_at_offset(input_buffer)[0] != ']') + { + goto fail; /* expected end of array */ + } + +success: + input_buffer->depth--; + + if (head != NULL) { + head->prev = current_item; + } + + item->type = cJSON_Array; + item->child = head; + + input_buffer->offset++; + + return true; + +fail: + if (head != NULL) + { + cJSON_Delete(head); + } + + return false; +} + +/* Render an array to text */ +static cJSON_bool print_array(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output_pointer = NULL; + size_t length = 0; + cJSON *current_element = item->child; + + if (output_buffer == NULL) + { + return false; + } + + /* Compose the output array. */ + /* opening square bracket */ + output_pointer = ensure(output_buffer, 1); + if (output_pointer == NULL) + { + return false; + } + + *output_pointer = '['; + output_buffer->offset++; + output_buffer->depth++; + + while (current_element != NULL) + { + if (!print_value(current_element, output_buffer)) + { + return false; + } + update_offset(output_buffer); + if (current_element->next) + { + length = (size_t) (output_buffer->format ? 2 : 1); + output_pointer = ensure(output_buffer, length + 1); + if (output_pointer == NULL) + { + return false; + } + *output_pointer++ = ','; + if(output_buffer->format) + { + *output_pointer++ = ' '; + } + *output_pointer = '\0'; + output_buffer->offset += length; + } + current_element = current_element->next; + } + + output_pointer = ensure(output_buffer, 2); + if (output_pointer == NULL) + { + return false; + } + *output_pointer++ = ']'; + *output_pointer = '\0'; + output_buffer->depth--; + + return true; +} + +/* Build an object from the text. */ +static cJSON_bool parse_object(cJSON * const item, parse_buffer * const input_buffer) +{ + cJSON *head = NULL; /* linked list head */ + cJSON *current_item = NULL; + + if (input_buffer->depth >= CJSON_NESTING_LIMIT) + { + return false; /* to deeply nested */ + } + input_buffer->depth++; + + if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '{')) + { + goto fail; /* not an object */ + } + + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == '}')) + { + goto success; /* empty object */ + } + + /* check if we skipped to the end of the buffer */ + if (cannot_access_at_index(input_buffer, 0)) + { + input_buffer->offset--; + goto fail; + } + + /* step back to character in front of the first element */ + input_buffer->offset--; + /* loop through the comma separated array elements */ + do + { + /* allocate next item */ + cJSON *new_item = cJSON_New_Item(&(input_buffer->hooks)); + if (new_item == NULL) + { + goto fail; /* allocation failure */ + } + + /* attach next item to list */ + if (head == NULL) + { + /* start the linked list */ + current_item = head = new_item; + } + else + { + /* add to the end and advance */ + current_item->next = new_item; + new_item->prev = current_item; + current_item = new_item; + } + + if (cannot_access_at_index(input_buffer, 1)) + { + goto fail; /* nothing comes after the comma */ + } + + /* parse the name of the child */ + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (!parse_string(current_item, input_buffer)) + { + goto fail; /* failed to parse name */ + } + buffer_skip_whitespace(input_buffer); + + /* swap valuestring and string, because we parsed the name */ + current_item->string = current_item->valuestring; + current_item->valuestring = NULL; + + if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != ':')) + { + goto fail; /* invalid object */ + } + + /* parse the value */ + input_buffer->offset++; + buffer_skip_whitespace(input_buffer); + if (!parse_value(current_item, input_buffer)) + { + goto fail; /* failed to parse value */ + } + buffer_skip_whitespace(input_buffer); + } + while (can_access_at_index(input_buffer, 0) && (buffer_at_offset(input_buffer)[0] == ',')); + + if (cannot_access_at_index(input_buffer, 0) || (buffer_at_offset(input_buffer)[0] != '}')) + { + goto fail; /* expected end of object */ + } + +success: + input_buffer->depth--; + + if (head != NULL) { + head->prev = current_item; + } + + item->type = cJSON_Object; + item->child = head; + + input_buffer->offset++; + return true; + +fail: + if (head != NULL) + { + cJSON_Delete(head); + } + + return false; +} + +/* Render an object to text. */ +static cJSON_bool print_object(const cJSON * const item, printbuffer * const output_buffer) +{ + unsigned char *output_pointer = NULL; + size_t length = 0; + cJSON *current_item = item->child; + + if (output_buffer == NULL) + { + return false; + } + + /* Compose the output: */ + length = (size_t) (output_buffer->format ? 2 : 1); /* fmt: {\n */ + output_pointer = ensure(output_buffer, length + 1); + if (output_pointer == NULL) + { + return false; + } + + *output_pointer++ = '{'; + output_buffer->depth++; + if (output_buffer->format) + { + *output_pointer++ = '\n'; + } + output_buffer->offset += length; + + while (current_item) + { + if (output_buffer->format) + { + size_t i; + output_pointer = ensure(output_buffer, output_buffer->depth); + if (output_pointer == NULL) + { + return false; + } + for (i = 0; i < output_buffer->depth; i++) + { + *output_pointer++ = '\t'; + } + output_buffer->offset += output_buffer->depth; + } + + /* print key */ + if (!print_string_ptr((unsigned char*)current_item->string, output_buffer)) + { + return false; + } + update_offset(output_buffer); + + length = (size_t) (output_buffer->format ? 2 : 1); + output_pointer = ensure(output_buffer, length); + if (output_pointer == NULL) + { + return false; + } + *output_pointer++ = ':'; + if (output_buffer->format) + { + *output_pointer++ = '\t'; + } + output_buffer->offset += length; + + /* print value */ + if (!print_value(current_item, output_buffer)) + { + return false; + } + update_offset(output_buffer); + + /* print comma if not last */ + length = ((size_t)(output_buffer->format ? 1 : 0) + (size_t)(current_item->next ? 1 : 0)); + output_pointer = ensure(output_buffer, length + 1); + if (output_pointer == NULL) + { + return false; + } + if (current_item->next) + { + *output_pointer++ = ','; + } + + if (output_buffer->format) + { + *output_pointer++ = '\n'; + } + *output_pointer = '\0'; + output_buffer->offset += length; + + current_item = current_item->next; + } + + output_pointer = ensure(output_buffer, output_buffer->format ? (output_buffer->depth + 1) : 2); + if (output_pointer == NULL) + { + return false; + } + if (output_buffer->format) + { + size_t i; + for (i = 0; i < (output_buffer->depth - 1); i++) + { + *output_pointer++ = '\t'; + } + } + *output_pointer++ = '}'; + *output_pointer = '\0'; + output_buffer->depth--; + + return true; +} + +/* Get Array size/item / object item. */ +CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array) +{ + cJSON *child = NULL; + size_t size = 0; + + if (array == NULL) + { + return 0; + } + + child = array->child; + + while(child != NULL) + { + size++; + child = child->next; + } + + /* FIXME: Can overflow here. Cannot be fixed without breaking the API */ + + return (int)size; +} + +static cJSON* get_array_item(const cJSON *array, size_t index) +{ + cJSON *current_child = NULL; + + if (array == NULL) + { + return NULL; + } + + current_child = array->child; + while ((current_child != NULL) && (index > 0)) + { + index--; + current_child = current_child->next; + } + + return current_child; +} + +CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index) +{ + if (index < 0) + { + return NULL; + } + + return get_array_item(array, (size_t)index); +} + +static cJSON *get_object_item(const cJSON * const object, const char * const name, const cJSON_bool case_sensitive) +{ + cJSON *current_element = NULL; + + if ((object == NULL) || (name == NULL)) + { + return NULL; + } + + current_element = object->child; + if (case_sensitive) + { + while ((current_element != NULL) && (current_element->string != NULL) && (strcmp(name, current_element->string) != 0)) + { + current_element = current_element->next; + } + } + else + { + while ((current_element != NULL) && (case_insensitive_strcmp((const unsigned char*)name, (const unsigned char*)(current_element->string)) != 0)) + { + current_element = current_element->next; + } + } + + if ((current_element == NULL) || (current_element->string == NULL)) { + return NULL; + } + + return current_element; +} + +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string) +{ + return get_object_item(object, string, false); +} + +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string) +{ + return get_object_item(object, string, true); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string) +{ + return cJSON_GetObjectItem(object, string) ? 1 : 0; +} + +/* Utility for array list handling. */ +static void suffix_object(cJSON *prev, cJSON *item) +{ + prev->next = item; + item->prev = prev; +} + +/* Utility for handling references. */ +static cJSON *create_reference(const cJSON *item, const internal_hooks * const hooks) +{ + cJSON *reference = NULL; + if (item == NULL) + { + return NULL; + } + + reference = cJSON_New_Item(hooks); + if (reference == NULL) + { + return NULL; + } + + memcpy(reference, item, sizeof(cJSON)); + reference->string = NULL; + reference->type |= cJSON_IsReference; + reference->next = reference->prev = NULL; + return reference; +} + +static cJSON_bool add_item_to_array(cJSON *array, cJSON *item) +{ + cJSON *child = NULL; + + if ((item == NULL) || (array == NULL) || (array == item)) + { + return false; + } + + child = array->child; + /* + * To find the last item in array quickly, we use prev in array + */ + if (child == NULL) + { + /* list is empty, start new one */ + array->child = item; + item->prev = item; + item->next = NULL; + } + else + { + /* append to the end */ + if (child->prev) + { + suffix_object(child->prev, item); + array->child->prev = item; + } + } + + return true; +} + +/* Add item to array/object. */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToArray(cJSON *array, cJSON *item) +{ + return add_item_to_array(array, item); +} + +#if defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))) + #pragma GCC diagnostic push +#endif +#ifdef __GNUC__ +#pragma GCC diagnostic ignored "-Wcast-qual" +#endif +/* helper function to cast away const */ +static void* cast_away_const(const void* string) +{ + return (void*)string; +} +#if defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 5)))) + #pragma GCC diagnostic pop +#endif + + +static cJSON_bool add_item_to_object(cJSON * const object, const char * const string, cJSON * const item, const internal_hooks * const hooks, const cJSON_bool constant_key) +{ + char *new_key = NULL; + int new_type = cJSON_Invalid; + + if ((object == NULL) || (string == NULL) || (item == NULL) || (object == item)) + { + return false; + } + + if (constant_key) + { + new_key = (char*)cast_away_const(string); + new_type = item->type | cJSON_StringIsConst; + } + else + { + new_key = (char*)cJSON_strdup((const unsigned char*)string, hooks); + if (new_key == NULL) + { + return false; + } + + new_type = item->type & ~cJSON_StringIsConst; + } + + if (!(item->type & cJSON_StringIsConst) && (item->string != NULL)) + { + hooks->deallocate(item->string); + } + + item->string = new_key; + item->type = new_type; + + return add_item_to_array(object, item); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item) +{ + return add_item_to_object(object, string, item, &global_hooks, false); +} + +/* Add an item to an object with constant string as key */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item) +{ + return add_item_to_object(object, string, item, &global_hooks, true); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item) +{ + if (array == NULL) + { + return false; + } + + return add_item_to_array(array, create_reference(item, &global_hooks)); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item) +{ + if ((object == NULL) || (string == NULL)) + { + return false; + } + + return add_item_to_object(object, string, create_reference(item, &global_hooks), &global_hooks, false); +} + +CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name) +{ + cJSON *null = cJSON_CreateNull(); + if (add_item_to_object(object, name, null, &global_hooks, false)) + { + return null; + } + + cJSON_Delete(null); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name) +{ + cJSON *true_item = cJSON_CreateTrue(); + if (add_item_to_object(object, name, true_item, &global_hooks, false)) + { + return true_item; + } + + cJSON_Delete(true_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name) +{ + cJSON *false_item = cJSON_CreateFalse(); + if (add_item_to_object(object, name, false_item, &global_hooks, false)) + { + return false_item; + } + + cJSON_Delete(false_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean) +{ + cJSON *bool_item = cJSON_CreateBool(boolean); + if (add_item_to_object(object, name, bool_item, &global_hooks, false)) + { + return bool_item; + } + + cJSON_Delete(bool_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number) +{ + cJSON *number_item = cJSON_CreateNumber(number); + if (add_item_to_object(object, name, number_item, &global_hooks, false)) + { + return number_item; + } + + cJSON_Delete(number_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string) +{ + cJSON *string_item = cJSON_CreateString(string); + if (add_item_to_object(object, name, string_item, &global_hooks, false)) + { + return string_item; + } + + cJSON_Delete(string_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw) +{ + cJSON *raw_item = cJSON_CreateRaw(raw); + if (add_item_to_object(object, name, raw_item, &global_hooks, false)) + { + return raw_item; + } + + cJSON_Delete(raw_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name) +{ + cJSON *object_item = cJSON_CreateObject(); + if (add_item_to_object(object, name, object_item, &global_hooks, false)) + { + return object_item; + } + + cJSON_Delete(object_item); + return NULL; +} + +CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name) +{ + cJSON *array = cJSON_CreateArray(); + if (add_item_to_object(object, name, array, &global_hooks, false)) + { + return array; + } + + cJSON_Delete(array); + return NULL; +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item) +{ + if ((parent == NULL) || (item == NULL)) + { + return NULL; + } + + if (item != parent->child) + { + /* not the first element */ + item->prev->next = item->next; + } + if (item->next != NULL) + { + /* not the last element */ + item->next->prev = item->prev; + } + + if (item == parent->child) + { + /* first element */ + parent->child = item->next; + } + else if (item->next == NULL) + { + /* last element */ + parent->child->prev = item->prev; + } + + /* make sure the detached item doesn't point anywhere anymore */ + item->prev = NULL; + item->next = NULL; + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which) +{ + if (which < 0) + { + return NULL; + } + + return cJSON_DetachItemViaPointer(array, get_array_item(array, (size_t)which)); +} + +CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which) +{ + cJSON_Delete(cJSON_DetachItemFromArray(array, which)); +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string) +{ + cJSON *to_detach = cJSON_GetObjectItem(object, string); + + return cJSON_DetachItemViaPointer(object, to_detach); +} + +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string) +{ + cJSON *to_detach = cJSON_GetObjectItemCaseSensitive(object, string); + + return cJSON_DetachItemViaPointer(object, to_detach); +} + +CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string) +{ + cJSON_Delete(cJSON_DetachItemFromObject(object, string)); +} + +CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string) +{ + cJSON_Delete(cJSON_DetachItemFromObjectCaseSensitive(object, string)); +} + +/* Replace array/object items with new ones. */ +CJSON_PUBLIC(cJSON_bool) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem) +{ + cJSON *after_inserted = NULL; + + if (which < 0 || newitem == NULL) + { + return false; + } + + after_inserted = get_array_item(array, (size_t)which); + if (after_inserted == NULL) + { + return add_item_to_array(array, newitem); + } + + if (after_inserted != array->child && after_inserted->prev == NULL) { + /* return false if after_inserted is a corrupted array item */ + return false; + } + + newitem->next = after_inserted; + newitem->prev = after_inserted->prev; + after_inserted->prev = newitem; + if (after_inserted == array->child) + { + array->child = newitem; + } + else + { + newitem->prev->next = newitem; + } + return true; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement) +{ + if ((parent == NULL) || (parent->child == NULL) || (replacement == NULL) || (item == NULL)) + { + return false; + } + + if (replacement == item) + { + return true; + } + + replacement->next = item->next; + replacement->prev = item->prev; + + if (replacement->next != NULL) + { + replacement->next->prev = replacement; + } + if (parent->child == item) + { + if (parent->child->prev == parent->child) + { + replacement->prev = replacement; + } + parent->child = replacement; + } + else + { /* + * To find the last item in array quickly, we use prev in array. + * We can't modify the last item's next pointer where this item was the parent's child + */ + if (replacement->prev != NULL) + { + replacement->prev->next = replacement; + } + if (replacement->next == NULL) + { + parent->child->prev = replacement; + } + } + + item->next = NULL; + item->prev = NULL; + cJSON_Delete(item); + + return true; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem) +{ + if (which < 0) + { + return false; + } + + return cJSON_ReplaceItemViaPointer(array, get_array_item(array, (size_t)which), newitem); +} + +static cJSON_bool replace_item_in_object(cJSON *object, const char *string, cJSON *replacement, cJSON_bool case_sensitive) +{ + if ((replacement == NULL) || (string == NULL)) + { + return false; + } + + /* replace the name in the replacement */ + if (!(replacement->type & cJSON_StringIsConst) && (replacement->string != NULL)) + { + cJSON_free(replacement->string); + } + replacement->string = (char*)cJSON_strdup((const unsigned char*)string, &global_hooks); + if (replacement->string == NULL) + { + return false; + } + + replacement->type &= ~cJSON_StringIsConst; + + return cJSON_ReplaceItemViaPointer(object, get_object_item(object, string, case_sensitive), replacement); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON *newitem) +{ + return replace_item_in_object(object, string, newitem, false); +} + +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object, const char *string, cJSON *newitem) +{ + return replace_item_in_object(object, string, newitem, true); +} + +/* Create basic types: */ +CJSON_PUBLIC(cJSON *) cJSON_CreateNull(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_NULL; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateTrue(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_True; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateFalse(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_False; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateBool(cJSON_bool boolean) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = boolean ? cJSON_True : cJSON_False; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_Number; + item->valuedouble = num; + + /* use saturation in case of overflow */ + if (num >= INT_MAX) + { + item->valueint = INT_MAX; + } + else if (num <= (double)INT_MIN) + { + item->valueint = INT_MIN; + } + else + { + item->valueint = (int)num; + } + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_String; + item->valuestring = (char*)cJSON_strdup((const unsigned char*)string, &global_hooks); + if(!item->valuestring) + { + cJSON_Delete(item); + return NULL; + } + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if (item != NULL) + { + item->type = cJSON_String | cJSON_IsReference; + item->valuestring = (char*)cast_away_const(string); + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if (item != NULL) { + item->type = cJSON_Object | cJSON_IsReference; + item->child = (cJSON*)cast_away_const(child); + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child) { + cJSON *item = cJSON_New_Item(&global_hooks); + if (item != NULL) { + item->type = cJSON_Array | cJSON_IsReference; + item->child = (cJSON*)cast_away_const(child); + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateRaw(const char *raw) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type = cJSON_Raw; + item->valuestring = (char*)cJSON_strdup((const unsigned char*)raw, &global_hooks); + if(!item->valuestring) + { + cJSON_Delete(item); + return NULL; + } + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if(item) + { + item->type=cJSON_Array; + } + + return item; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void) +{ + cJSON *item = cJSON_New_Item(&global_hooks); + if (item) + { + item->type = cJSON_Object; + } + + return item; +} + +/* Create Arrays: */ +CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (numbers == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for(i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateNumber(numbers[i]); + if (!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p, n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateFloatArray(const float *numbers, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (numbers == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for(i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateNumber((double)numbers[i]); + if(!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p, n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (numbers == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for(i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateNumber(numbers[i]); + if(!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p, n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char *const *strings, int count) +{ + size_t i = 0; + cJSON *n = NULL; + cJSON *p = NULL; + cJSON *a = NULL; + + if ((count < 0) || (strings == NULL)) + { + return NULL; + } + + a = cJSON_CreateArray(); + + for (i = 0; a && (i < (size_t)count); i++) + { + n = cJSON_CreateString(strings[i]); + if(!n) + { + cJSON_Delete(a); + return NULL; + } + if(!i) + { + a->child = n; + } + else + { + suffix_object(p,n); + } + p = n; + } + + if (a && a->child) { + a->child->prev = n; + } + + return a; +} + +/* Duplication */ +CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse) +{ + cJSON *newitem = NULL; + cJSON *child = NULL; + cJSON *next = NULL; + cJSON *newchild = NULL; + + /* Bail on bad ptr */ + if (!item) + { + goto fail; + } + /* Create new item */ + newitem = cJSON_New_Item(&global_hooks); + if (!newitem) + { + goto fail; + } + /* Copy over all vars */ + newitem->type = item->type & (~cJSON_IsReference); + newitem->valueint = item->valueint; + newitem->valuedouble = item->valuedouble; + if (item->valuestring) + { + newitem->valuestring = (char*)cJSON_strdup((unsigned char*)item->valuestring, &global_hooks); + if (!newitem->valuestring) + { + goto fail; + } + } + if (item->string) + { + newitem->string = (item->type&cJSON_StringIsConst) ? item->string : (char*)cJSON_strdup((unsigned char*)item->string, &global_hooks); + if (!newitem->string) + { + goto fail; + } + } + /* If non-recursive, then we're done! */ + if (!recurse) + { + return newitem; + } + /* Walk the ->next chain for the child. */ + child = item->child; + while (child != NULL) + { + newchild = cJSON_Duplicate(child, true); /* Duplicate (with recurse) each item in the ->next chain */ + if (!newchild) + { + goto fail; + } + if (next != NULL) + { + /* If newitem->child already set, then crosswire ->prev and ->next and move on */ + next->next = newchild; + newchild->prev = next; + next = newchild; + } + else + { + /* Set newitem->child and move to it */ + newitem->child = newchild; + next = newchild; + } + child = child->next; + } + if (newitem && newitem->child) + { + newitem->child->prev = newchild; + } + + return newitem; + +fail: + if (newitem != NULL) + { + cJSON_Delete(newitem); + } + + return NULL; +} + +static void skip_oneline_comment(char **input) +{ + *input += static_strlen("//"); + + for (; (*input)[0] != '\0'; ++(*input)) + { + if ((*input)[0] == '\n') { + *input += static_strlen("\n"); + return; + } + } +} + +static void skip_multiline_comment(char **input) +{ + *input += static_strlen("/*"); + + for (; (*input)[0] != '\0'; ++(*input)) + { + if (((*input)[0] == '*') && ((*input)[1] == '/')) + { + *input += static_strlen("*/"); + return; + } + } +} + +static void minify_string(char **input, char **output) { + (*output)[0] = (*input)[0]; + *input += static_strlen("\""); + *output += static_strlen("\""); + + + for (; (*input)[0] != '\0'; (void)++(*input), ++(*output)) { + (*output)[0] = (*input)[0]; + + if ((*input)[0] == '\"') { + (*output)[0] = '\"'; + *input += static_strlen("\""); + *output += static_strlen("\""); + return; + } else if (((*input)[0] == '\\') && ((*input)[1] == '\"')) { + (*output)[1] = (*input)[1]; + *input += static_strlen("\""); + *output += static_strlen("\""); + } + } +} + +CJSON_PUBLIC(void) cJSON_Minify(char *json) +{ + char *into = json; + + if (json == NULL) + { + return; + } + + while (json[0] != '\0') + { + switch (json[0]) + { + case ' ': + case '\t': + case '\r': + case '\n': + json++; + break; + + case '/': + if (json[1] == '/') + { + skip_oneline_comment(&json); + } + else if (json[1] == '*') + { + skip_multiline_comment(&json); + } else { + json++; + } + break; + + case '\"': + minify_string(&json, (char**)&into); + break; + + default: + into[0] = json[0]; + json++; + into++; + } + } + + /* and null-terminate. */ + *into = '\0'; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Invalid; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsFalse(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_False; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsTrue(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xff) == cJSON_True; +} + + +CJSON_PUBLIC(cJSON_bool) cJSON_IsBool(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & (cJSON_True | cJSON_False)) != 0; +} +CJSON_PUBLIC(cJSON_bool) cJSON_IsNull(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_NULL; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsNumber(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Number; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsString(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_String; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsArray(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Array; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsObject(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Object; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_IsRaw(const cJSON * const item) +{ + if (item == NULL) + { + return false; + } + + return (item->type & 0xFF) == cJSON_Raw; +} + +CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive) +{ + if ((a == NULL) || (b == NULL) || ((a->type & 0xFF) != (b->type & 0xFF))) + { + return false; + } + + /* check if type is valid */ + switch (a->type & 0xFF) + { + case cJSON_False: + case cJSON_True: + case cJSON_NULL: + case cJSON_Number: + case cJSON_String: + case cJSON_Raw: + case cJSON_Array: + case cJSON_Object: + break; + + default: + return false; + } + + /* identical objects are equal */ + if (a == b) + { + return true; + } + + switch (a->type & 0xFF) + { + /* in these cases and equal type is enough */ + case cJSON_False: + case cJSON_True: + case cJSON_NULL: + return true; + + case cJSON_Number: + if (compare_double(a->valuedouble, b->valuedouble)) + { + return true; + } + return false; + + case cJSON_String: + case cJSON_Raw: + if ((a->valuestring == NULL) || (b->valuestring == NULL)) + { + return false; + } + if (strcmp(a->valuestring, b->valuestring) == 0) + { + return true; + } + + return false; + + case cJSON_Array: + { + cJSON *a_element = a->child; + cJSON *b_element = b->child; + + for (; (a_element != NULL) && (b_element != NULL);) + { + if (!cJSON_Compare(a_element, b_element, case_sensitive)) + { + return false; + } + + a_element = a_element->next; + b_element = b_element->next; + } + + /* one of the arrays is longer than the other */ + if (a_element != b_element) { + return false; + } + + return true; + } + + case cJSON_Object: + { + cJSON *a_element = NULL; + cJSON *b_element = NULL; + cJSON_ArrayForEach(a_element, a) + { + /* TODO This has O(n^2) runtime, which is horrible! */ + b_element = get_object_item(b, a_element->string, case_sensitive); + if (b_element == NULL) + { + return false; + } + + if (!cJSON_Compare(a_element, b_element, case_sensitive)) + { + return false; + } + } + + /* doing this twice, once on a and b to prevent true comparison if a subset of b + * TODO: Do this the proper way, this is just a fix for now */ + cJSON_ArrayForEach(b_element, b) + { + a_element = get_object_item(a, b_element->string, case_sensitive); + if (a_element == NULL) + { + return false; + } + + if (!cJSON_Compare(b_element, a_element, case_sensitive)) + { + return false; + } + } + + return true; + } + + default: + return false; + } +} + +CJSON_PUBLIC(void *) cJSON_malloc(size_t size) +{ + return global_hooks.allocate(size); +} + +CJSON_PUBLIC(void) cJSON_free(void *object) +{ + global_hooks.deallocate(object); + object = NULL; +} diff --git a/mcm-ddc-ble/src/infra/cJSON.h b/mcm-ddc-ble/src/infra/cJSON.h new file mode 100644 index 0000000..88cf0bc --- /dev/null +++ b/mcm-ddc-ble/src/infra/cJSON.h @@ -0,0 +1,300 @@ +/* + Copyright (c) 2009-2017 Dave Gamble and cJSON contributors + + 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. +*/ + +#ifndef cJSON__h +#define cJSON__h + +#ifdef __cplusplus +extern "C" +{ +#endif + +#if !defined(__WINDOWS__) && (defined(WIN32) || defined(WIN64) || defined(_MSC_VER) || defined(_WIN32)) +#define __WINDOWS__ +#endif + +#ifdef __WINDOWS__ + +/* When compiling for windows, we specify a specific calling convention to avoid issues where we are being called from a project with a different default calling convention. For windows you have 3 define options: + +CJSON_HIDE_SYMBOLS - Define this in the case where you don't want to ever dllexport symbols +CJSON_EXPORT_SYMBOLS - Define this on library build when you want to dllexport symbols (default) +CJSON_IMPORT_SYMBOLS - Define this if you want to dllimport symbol + +For *nix builds that support visibility attribute, you can define similar behavior by + +setting default visibility to hidden by adding +-fvisibility=hidden (for gcc) +or +-xldscope=hidden (for sun cc) +to CFLAGS + +then using the CJSON_API_VISIBILITY flag to "export" the same symbols the way CJSON_EXPORT_SYMBOLS does + +*/ + +#define CJSON_CDECL __cdecl +#define CJSON_STDCALL __stdcall + +/* export symbols by default, this is necessary for copy pasting the C and header file */ +#if !defined(CJSON_HIDE_SYMBOLS) && !defined(CJSON_IMPORT_SYMBOLS) && !defined(CJSON_EXPORT_SYMBOLS) +#define CJSON_EXPORT_SYMBOLS +#endif + +#if defined(CJSON_HIDE_SYMBOLS) +#define CJSON_PUBLIC(type) type CJSON_STDCALL +#elif defined(CJSON_EXPORT_SYMBOLS) +#define CJSON_PUBLIC(type) __declspec(dllexport) type CJSON_STDCALL +#elif defined(CJSON_IMPORT_SYMBOLS) +#define CJSON_PUBLIC(type) __declspec(dllimport) type CJSON_STDCALL +#endif +#else /* !__WINDOWS__ */ +#define CJSON_CDECL +#define CJSON_STDCALL + +#if (defined(__GNUC__) || defined(__SUNPRO_CC) || defined (__SUNPRO_C)) && defined(CJSON_API_VISIBILITY) +#define CJSON_PUBLIC(type) __attribute__((visibility("default"))) type +#else +#define CJSON_PUBLIC(type) type +#endif +#endif + +/* project version */ +#define CJSON_VERSION_MAJOR 1 +#define CJSON_VERSION_MINOR 7 +#define CJSON_VERSION_PATCH 18 + +#include + +/* cJSON Types: */ +#define cJSON_Invalid (0) +#define cJSON_False (1 << 0) +#define cJSON_True (1 << 1) +#define cJSON_NULL (1 << 2) +#define cJSON_Number (1 << 3) +#define cJSON_String (1 << 4) +#define cJSON_Array (1 << 5) +#define cJSON_Object (1 << 6) +#define cJSON_Raw (1 << 7) /* raw json */ + +#define cJSON_IsReference 256 +#define cJSON_StringIsConst 512 + +/* The cJSON structure: */ +typedef struct cJSON +{ + /* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */ + struct cJSON *next; + struct cJSON *prev; + /* An array or object item will have a child pointer pointing to a chain of the items in the array/object. */ + struct cJSON *child; + + /* The type of the item, as above. */ + int type; + + /* The item's string, if type==cJSON_String and type == cJSON_Raw */ + char *valuestring; + /* writing to valueint is DEPRECATED, use cJSON_SetNumberValue instead */ + int valueint; + /* The item's number, if type==cJSON_Number */ + double valuedouble; + + /* The item's name string, if this item is the child of, or is in the list of subitems of an object. */ + char *string; +} cJSON; + +typedef struct cJSON_Hooks +{ + /* malloc/free are CDECL on Windows regardless of the default calling convention of the compiler, so ensure the hooks allow passing those functions directly. */ + void *(CJSON_CDECL *malloc_fn)(size_t sz); + void (CJSON_CDECL *free_fn)(void *ptr); +} cJSON_Hooks; + +typedef int cJSON_bool; + +/* Limits how deeply nested arrays/objects can be before cJSON rejects to parse them. + * This is to prevent stack overflows. */ +#ifndef CJSON_NESTING_LIMIT +#define CJSON_NESTING_LIMIT 1000 +#endif + +/* returns the version of cJSON as a string */ +CJSON_PUBLIC(const char*) cJSON_Version(void); + +/* Supply malloc, realloc and free functions to cJSON */ +CJSON_PUBLIC(void) cJSON_InitHooks(cJSON_Hooks* hooks); + +/* Memory Management: the caller is always responsible to free the results from all variants of cJSON_Parse (with cJSON_Delete) and cJSON_Print (with stdlib free, cJSON_Hooks.free_fn, or cJSON_free as appropriate). The exception is cJSON_PrintPreallocated, where the caller has full responsibility of the buffer. */ +/* Supply a block of JSON, and this returns a cJSON object you can interrogate. */ +CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value); +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t buffer_length); +/* ParseWithOpts allows you to require (and check) that the JSON is null terminated, and to retrieve the pointer to the final byte parsed. */ +/* If you supply a ptr in return_parse_end and parsing fails, then return_parse_end will contain a pointer to the error so will match cJSON_GetErrorPtr(). */ +CJSON_PUBLIC(cJSON *) cJSON_ParseWithOpts(const char *value, const char **return_parse_end, cJSON_bool require_null_terminated); +CJSON_PUBLIC(cJSON *) cJSON_ParseWithLengthOpts(const char *value, size_t buffer_length, const char **return_parse_end, cJSON_bool require_null_terminated); + +/* Render a cJSON entity to text for transfer/storage. */ +CJSON_PUBLIC(char *) cJSON_Print(const cJSON *item); +/* Render a cJSON entity to text for transfer/storage without any formatting. */ +CJSON_PUBLIC(char *) cJSON_PrintUnformatted(const cJSON *item); +/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */ +CJSON_PUBLIC(char *) cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool fmt); +/* Render a cJSON entity to text using a buffer already allocated in memory with given length. Returns 1 on success and 0 on failure. */ +/* NOTE: cJSON is not always 100% accurate in estimating how much memory it will use, so to be safe allocate 5 bytes more than you actually need */ +CJSON_PUBLIC(cJSON_bool) cJSON_PrintPreallocated(cJSON *item, char *buffer, const int length, const cJSON_bool format); +/* Delete a cJSON entity and all subentities. */ +CJSON_PUBLIC(void) cJSON_Delete(cJSON *item); + +/* Returns the number of items in an array (or object). */ +CJSON_PUBLIC(int) cJSON_GetArraySize(const cJSON *array); +/* Retrieve item number "index" from array "array". Returns NULL if unsuccessful. */ +CJSON_PUBLIC(cJSON *) cJSON_GetArrayItem(const cJSON *array, int index); +/* Get item "string" from object. Case insensitive. */ +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItem(const cJSON * const object, const char * const string); +CJSON_PUBLIC(cJSON *) cJSON_GetObjectItemCaseSensitive(const cJSON * const object, const char * const string); +CJSON_PUBLIC(cJSON_bool) cJSON_HasObjectItem(const cJSON *object, const char *string); +/* For analysing failed parses. This returns a pointer to the parse error. You'll probably need to look a few chars back to make sense of it. Defined when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */ +CJSON_PUBLIC(const char *) cJSON_GetErrorPtr(void); + +/* Check item type and return its value */ +CJSON_PUBLIC(char *) cJSON_GetStringValue(const cJSON * const item); +CJSON_PUBLIC(double) cJSON_GetNumberValue(const cJSON * const item); + +/* These functions check the type of an item */ +CJSON_PUBLIC(cJSON_bool) cJSON_IsInvalid(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsFalse(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsTrue(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsBool(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsNull(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsNumber(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsString(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsArray(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsObject(const cJSON * const item); +CJSON_PUBLIC(cJSON_bool) cJSON_IsRaw(const cJSON * const item); + +/* These calls create a cJSON item of the appropriate type. */ +CJSON_PUBLIC(cJSON *) cJSON_CreateNull(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateTrue(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateFalse(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateBool(cJSON_bool boolean); +CJSON_PUBLIC(cJSON *) cJSON_CreateNumber(double num); +CJSON_PUBLIC(cJSON *) cJSON_CreateString(const char *string); +/* raw json */ +CJSON_PUBLIC(cJSON *) cJSON_CreateRaw(const char *raw); +CJSON_PUBLIC(cJSON *) cJSON_CreateArray(void); +CJSON_PUBLIC(cJSON *) cJSON_CreateObject(void); + +/* Create a string where valuestring references a string so + * it will not be freed by cJSON_Delete */ +CJSON_PUBLIC(cJSON *) cJSON_CreateStringReference(const char *string); +/* Create an object/array that only references it's elements so + * they will not be freed by cJSON_Delete */ +CJSON_PUBLIC(cJSON *) cJSON_CreateObjectReference(const cJSON *child); +CJSON_PUBLIC(cJSON *) cJSON_CreateArrayReference(const cJSON *child); + +/* These utilities create an Array of count items. + * The parameter count cannot be greater than the number of elements in the number array, otherwise array access will be out of bounds.*/ +CJSON_PUBLIC(cJSON *) cJSON_CreateIntArray(const int *numbers, int count); +CJSON_PUBLIC(cJSON *) cJSON_CreateFloatArray(const float *numbers, int count); +CJSON_PUBLIC(cJSON *) cJSON_CreateDoubleArray(const double *numbers, int count); +CJSON_PUBLIC(cJSON *) cJSON_CreateStringArray(const char *const *strings, int count); + +/* Append item to the specified array/object. */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToArray(cJSON *array, cJSON *item); +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item); +/* Use this when string is definitely const (i.e. a literal, or as good as), and will definitely survive the cJSON object. + * WARNING: When this function was used, make sure to always check that (item->type & cJSON_StringIsConst) is zero before + * writing to `item->string` */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item); +/* Append reference to item to the specified array/object. Use this when you want to add an existing cJSON to a new cJSON, but don't want to corrupt your existing cJSON. */ +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item); +CJSON_PUBLIC(cJSON_bool) cJSON_AddItemReferenceToObject(cJSON *object, const char *string, cJSON *item); + +/* Remove/Detach items from Arrays/Objects. */ +CJSON_PUBLIC(cJSON *) cJSON_DetachItemViaPointer(cJSON *parent, cJSON * const item); +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromArray(cJSON *array, int which); +CJSON_PUBLIC(void) cJSON_DeleteItemFromArray(cJSON *array, int which); +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObject(cJSON *object, const char *string); +CJSON_PUBLIC(cJSON *) cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char *string); +CJSON_PUBLIC(void) cJSON_DeleteItemFromObject(cJSON *object, const char *string); +CJSON_PUBLIC(void) cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char *string); + +/* Update array items. */ +CJSON_PUBLIC(cJSON_bool) cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem); /* Shifts pre-existing items to the right. */ +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemViaPointer(cJSON * const parent, cJSON * const item, cJSON * replacement); +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem); +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem); +CJSON_PUBLIC(cJSON_bool) cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object,const char *string,cJSON *newitem); + +/* Duplicate a cJSON item */ +CJSON_PUBLIC(cJSON *) cJSON_Duplicate(const cJSON *item, cJSON_bool recurse); +/* Duplicate will create a new, identical cJSON item to the one you pass, in new memory that will + * need to be released. With recurse!=0, it will duplicate any children connected to the item. + * The item->next and ->prev pointers are always zero on return from Duplicate. */ +/* Recursively compare two cJSON items for equality. If either a or b is NULL or invalid, they will be considered unequal. + * case_sensitive determines if object keys are treated case sensitive (1) or case insensitive (0) */ +CJSON_PUBLIC(cJSON_bool) cJSON_Compare(const cJSON * const a, const cJSON * const b, const cJSON_bool case_sensitive); + +/* Minify a strings, remove blank characters(such as ' ', '\t', '\r', '\n') from strings. + * The input pointer json cannot point to a read-only address area, such as a string constant, + * but should point to a readable and writable address area. */ +CJSON_PUBLIC(void) cJSON_Minify(char *json); + +/* Helper functions for creating and adding items to an object at the same time. + * They return the added item or NULL on failure. */ +CJSON_PUBLIC(cJSON*) cJSON_AddNullToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddTrueToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddFalseToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddBoolToObject(cJSON * const object, const char * const name, const cJSON_bool boolean); +CJSON_PUBLIC(cJSON*) cJSON_AddNumberToObject(cJSON * const object, const char * const name, const double number); +CJSON_PUBLIC(cJSON*) cJSON_AddStringToObject(cJSON * const object, const char * const name, const char * const string); +CJSON_PUBLIC(cJSON*) cJSON_AddRawToObject(cJSON * const object, const char * const name, const char * const raw); +CJSON_PUBLIC(cJSON*) cJSON_AddObjectToObject(cJSON * const object, const char * const name); +CJSON_PUBLIC(cJSON*) cJSON_AddArrayToObject(cJSON * const object, const char * const name); + +/* When assigning an integer value, it needs to be propagated to valuedouble too. */ +#define cJSON_SetIntValue(object, number) ((object) ? (object)->valueint = (object)->valuedouble = (number) : (number)) +/* helper for the cJSON_SetNumberValue macro */ +CJSON_PUBLIC(double) cJSON_SetNumberHelper(cJSON *object, double number); +#define cJSON_SetNumberValue(object, number) ((object != NULL) ? cJSON_SetNumberHelper(object, (double)number) : (number)) +/* Change the valuestring of a cJSON_String object, only takes effect when type of object is cJSON_String */ +CJSON_PUBLIC(char*) cJSON_SetValuestring(cJSON *object, const char *valuestring); + +/* If the object is not a boolean type this does nothing and returns cJSON_Invalid else it returns the new type*/ +#define cJSON_SetBoolValue(object, boolValue) ( \ + (object != NULL && ((object)->type & (cJSON_False|cJSON_True))) ? \ + (object)->type=((object)->type &(~(cJSON_False|cJSON_True)))|((boolValue)?cJSON_True:cJSON_False) : \ + cJSON_Invalid\ +) + +/* Macro for iterating over an array or object */ +#define cJSON_ArrayForEach(element, array) for(element = (array != NULL) ? (array)->child : NULL; element != NULL; element = element->next) + +/* malloc/free objects using the malloc/free functions that have been set with cJSON_InitHooks */ +CJSON_PUBLIC(void *) cJSON_malloc(size_t size); +CJSON_PUBLIC(void) cJSON_free(void *object); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/mcm-ddc-ble/src/infra/infra_cjson.c b/mcm-ddc-ble/src/infra/infra_cjson.c new file mode 100644 index 0000000..6726f3d --- /dev/null +++ b/mcm-ddc-ble/src/infra/infra_cjson.c @@ -0,0 +1,21 @@ +/** + * @file infra_cjson.c + * @brief cJSON integration glue: FreeRTOS heap hooks, lazy init. + */ +#include "infra_cjson.h" + +#include "FreeRTOS.h" + +void infra_cjson_init(void) +{ + static uint8_t s_done = 0; + + if (!s_done) + { + cJSON_Hooks hooks; + hooks.malloc_fn = pvPortMalloc; + hooks.free_fn = vPortFree; + cJSON_InitHooks(&hooks); + s_done = 1; + } +} diff --git a/mcm-ddc-ble/src/infra/infra_cjson.h b/mcm-ddc-ble/src/infra/infra_cjson.h new file mode 100644 index 0000000..847b3b8 --- /dev/null +++ b/mcm-ddc-ble/src/infra/infra_cjson.h @@ -0,0 +1,23 @@ +/** + * @file infra_cjson.h + * @brief cJSON integration glue: routes cJSON allocations to the FreeRTOS + * heap (pvPortMalloc/vPortFree) via cJSON_InitHooks(). Call + * infra_cjson_init() before any cJSON use; safe to call repeatedly. + */ +#ifndef __INFRA_CJSON_H__ +#define __INFRA_CJSON_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "cJSON.h" + +/** Install the FreeRTOS heap hooks into cJSON (once, lazy). */ +void infra_cjson_init(void); + +#ifdef __cplusplus +} +#endif + +#endif /* __INFRA_CJSON_H__ */ diff --git a/tools/out/caiic_ble_full.bin b/tools/out/caiic_ble_full.bin index e7bf32d93f53d734390d982c5797c4b9674dd815..8fa50bb249b2b153fbc68f18c851edfacdd0b841 100644 GIT binary patch delta 24101 zcmZ_034Bvk+CP5I&7N*)DbSX*+@uR>DG(N+AYz)zC1Dd>QE*HVG)0u4phdx?2wKD? zcyZc-I<4Xe&Nx%Sy3AND&Nze1j5lQ$)ZjQ)9nqkHn?1kpNsF)ZfB$d$xjFke&w1`S z&-0w;dCv6(mD01S?rfWO(Z_^b^VUq)j{HL9jlGY3dLW>gP zr|D%vcjS*6M#jBDC>i=2gMx{#h_ifmnWrBh^nN5SJ_^THfrjph5C@sF^*o`6UKjg) zcDhF#-ZD<95B)JI3N2+Nd*%>c>F~`_qE>3)fBv_Ik>8MzJ|&iIE~%tK{q*8$a)P&d=BS+Nxmx$42Gv|&k=A9? zdgf54*5#R#5EpMg<;{DQ^gPzB^Jn=D`v^~V^fl=HgwOV?9cnxp|0+SZH?M<)UPTREl8US#HAe^Z<;xnB#ZIHP zIcQ6{$YmZ5Yo#>t5y_El~fPO?Maz+FR!k|MXR@-Z{i_Awb$~M!l57 z_t7m4WPHJ=qJvxpj!Lj@*!Em?J zn7ub|2j|xZFV-S{%G=OtSo=L?Di;~gp=Yb*2Z?r&_Ex(P@bO+{gEpvZx0UHGR_$;b zwJz4dJ!OMXS}os86N9v))vgNgYQ+&BuWY!dtSm^{6`@dsSgNGKK{WgF+7%P;DQmT7 z^^^9z4r`s(lZT1r`FXYGC>ui&jCFV z3zcSDt_pOj79Caagxivt`$eG0`0P)|V!@5GXai}UTK^j}L53F-@M7ZHsfWXWoS*tD zgM)zP?n7<{(A<76Y3BebQIlM)M-kvUXnTuYe{!&iI>Vo7fccI?}w>!*wWL(s~H5$F9oWr{AmFot9UpFykW>FSB@{f>+vgQcyE2 zPYnQ%5QF^J1xYd1G!K@B_I|(g|Qz58P2I|~g=?s)mmqkc@MM$BIkkIAlPNdUv z&*tttfmCr%bD>db;zu2SW%CLn8K;s+=mT-ygC?35?|86-b0tLWmhqe|aiDHXHqB{| zsf29dc0uzY2^|m@Z=KD378l#My135x^RcaztBs3^hrai|7<*@ckfeeTPtQEERI6yn zlID?RIizZ`u+n~@{>aFeOP;UiP7$68p56kLwP)$hYc~d6uvMWyS zDj}i%2p3d37Zm{Oldzp5- zodh=94ZY&6+iS!Vty8==M-9E9p3$#9giVc|^lRF6*_@IT<~L~kWQ_J1 zUAub6EMcag@GIK)?MF$r!mn%}mp#0}(LhX$au-GZUc9#6FeO*8)qZ!XPT+QtP;P|m zqPu-X#D7CQR_G3cmGj#yADtrYS=j#uF@KxeONhfWXWeW{4LwRBEl1MCO>XMb^yM*h zbM9fyi;JkMNbt-t^aNa(a--6jznqxz8`(>F0uy)>wEG1-b~mZfO4Oaz>@h{QJy#2If4e~Vv^+Pa8{$2lo`<^C$m?sMe!>sON+wHpa66R# zNkWsL+?$qO4?EAU?*$E?PTrVNUOU& zy+1RyblS_1Bvw80QV|zA8|8vr=-Vi7cX82bkX^Swqc0AgdgS8|>qW0p5vCQKJtM>Ur0z{Npmr8=lL zUDvVm!qJOvZ3HxWKzZ>{QO^$S2x!R(a=35Ms*KMhgR$0bN z>nz#QeaOrSUTnD9QZ6Y?#vuQT&R%q_bgi^pDOH_bVwo&B9Af;8k~8Mh3O{fjb8N z6x5sNw{e%Ow)a&kY__lAd{5z11MW&U&DSp>NZd_tB_BY(PNNb6lqQ9fO zIfG0FIkD(Ju^BNSYAaB?uOSZvL*E`B_(p?;+Tk?ncT6oJ*dyz{`skyNveVe3=j3$S z)ALx7ve{;QPV;0Q4RDB+=c|Q)0ue<}-JI*O8J)(f%Ax@>cDTefXIDK^GR0;yX4fjD zJ+xrdZlgA+Y_8x6M%j#!fx_l&4{95imPL>5vmX}AAAN?)sS#g$bj8$}DYpB3O~f)> zO3S|i8|6U;cE_sm`-ezcu8phbYUZV7WsI2B2){z!uj1mO$IP4|C9ZqSW=_fWq*D0x zl)NLG_&&15o_{(&SX}Z)v$dpvE^0{0lau1H$7%}hPY{y@=Y@L{G!x#Ic)s9q>Tt)i zyFuh_goZ#bas`D&^T~=%Whgtc3ctF@8b@A`jCs{PL&)043t4R`d1P88WVLtNAze2U z$V#_$DnjSe;*C#Ctv!{}L!JXcY@=;lo1#tGrfO5SY1*`Hy0#^q`Zh)AP9FjZMjSqFXB6+$|t7AH9l{OI@4CAv@`J}5^t%y*Krzae0ZoJDoY;m+ww$t%#EO3HBz z&Of^g3nDZ*ZRpMFGN8lnk_GdJb(*#*LIX)-=NY#m^sl6$ch%i%?j%Hf_Q^>&paq`1 z()&}-Q{BVcb212D<4}a+$u(#kNp9#Y4|==Yz|nck!GICAC?nR@CY~U13^*5@n{OAyZNqWF21?C*$a;D&f&p@4rPljxT02da)n92u2kO z^Sy&Fnvh11=kAs3X7I}!SMc{Vu3o<~M?aLuvnn(A)lGM<?X*=WQs&-|Ces zi09rr{=43tYxvvmTyyW8{Ov0@@D^05@s6S8RU3ahKHMcf4twx!+eCMRm zdzKOYzv|q&y76u|KU9T?b9R=BJ9o|+z9ibRzYf^ED@w+s8>S0vM|>m>?7W_{MMc|F z^SLom@$si>ocYneI5>YwJ`;I(|6lg-SdXV8E&F-Yz7Qc5WL(zCgPj!R0pwDgVg3_Y zVcfI-_x7I-zmci^-caq&Mf&SvZ-2xRe91|0ve}#I_4nv?U#8xRL-h_0_4?aPuTKy4 z`r6OEK9i~KAFBOQgiQD#aGCIwBPBl+*|L8E*m;4!c0dujKjL?g$_Y3nD?)#W4fC4? z-b5F-r{vZMvA6=XLwoJ8jzT}FzVT!s!0wEhg%N(*k&@d{UK}73^Z{<~2&5m5aC=ko zlE~KmIl(*1Uf%zLU461f7%bZy5x@QQq#{LVQG~Wnzlmb6?b&~Bpstvj6d@rZPHC(1 z76Md8rp8C61aE$U5u>c3oXW_sc2Y?!#*?hP4%-;o7mR2H1i67aAt_%-556QrWbunE z{ryl{iB}>f zKN_n1mH1Oz<%p#G=QN`^uI3h61ib`RYQ1=z7JpeJi?1eoTKPhh=>iRe7N}=Yfk_^oEBM+yN&{Jvg*X@(^eTxWx z1%!UGSnO{fKQ$@O!SFgMyUXQH%JqmVB|Y}vbe#GqPeV)7G;}p`sif#4K}8oUdoLT6@ePWQ_TDuVh!Fo|p$fHIqFhK5gDwg2`=eIJR`fCf@l#Pnuv)kTF;7$%;v$<&?~|lFHARIf zCS=|k)rNk=37b`LMI$&kgNT9Y1l3XxMeE;MEM#(V)VD=pkMkni>-$yZqNB zWd*2;Mp|LatqmV8=v)h`vLoW@&E~IYa24C#)i;bllUC%6MEET>1utZq91ZowbKTWT z@{o5QwnT32PiU(MeS&&~Tycf?+3sCcNqKvcSn{O8u1=tIE8@9QK_>1+JV(k$gL@<5 zvrkuX$+Y;lr?1f~LenA)Ha;p=JX3RxHZ(7_$)pt6R3Auif=MuRa-o;g+R%gu6$%l5 z5%K9zY-vN*7$>Mq<$_L;kNn-~Qv9aUV=`M@i*jYO!oe|F;kjoXHwG6H-q52)mA&aR zCMTDL*k$Pv`0Y%K^PhcIZ%CK~4#}@lV))rQ|n~!dl9(@9KT6$ zTyOM%@Z8gse=qvOPlkumrr8s(-kX%)j$XZ&TB*O?Y<9BrGf|P-b1T;r6<6&k$+bd#6i>fcB-(yksLDoPmxwp~_FwvhT$iSN zLcSy|3NJpyWjn-wzBohA$_+hioj+f&mzE{uu9R9>VM@r)q*TmGQU(2YIA z1&9{BQ6SY>IEIra=?>+*Rd~l19P4L9$u1o6JsW$Ud0YJFzNuaE(u@W+DfeOb=Lste zr1sl@vR$#8Sh!uf4lOjWNqK)18rfY*`43T5Fewj<4W{z2v~d(STjnL@YvYO&87+aJ z!HKML9xqG;9r-enlu6uBp$n2){VBbflqY0gQnTASsYF!$?p}knPH&<8G^5^N>*c`4 z-_2Dh6S5dT@WCHeQyLVfb&sJRi8ps&PdmleyI)3GN$i08l{=`n8fO;F7U%i^(~oS< zs8_DSuR_Xq&2{L}8SqM4Z4Qiotn@^=W!mna=lpVa&-8$zhmr1A-Dwi{LMn>Dx z)6wlRxv{!`6BUE|OStB!nAl&-J(Un^4wTfs_YR?h+X9DJu;RsOZH5An(Bs%1oTTbZ z%Zp<&uLymW6g>wjavn^OkT+^GsZn{1*mYnS9V_-6xHk7zus)?k1&Uq!Kuj!p)lzme zlFg*lEk(RzOPYUl%X#aeEqaG`D-&3H6XLI4oi(W|nU-HjlhEW?S{|O(I255-aW#G~ zjVnUuhJ^YB2MIm+4?=tXM(Dl|#ecq9a@EN=2_22tOiak$l&bWQP#=cpq-;l8elY6k z9V}UwDLIfS(V*m>D4R!C($mXkOtjQC4eV@YAEA+V#2G#O97m)KlXqNO=AfY!@lp7F z5$g$u*3eDyx@`nH5mH+qjqD`;gnS)j7PC<7ARP(0HZrs2jb;cR(g>jI60xhNxWW=0 zl%{C^<+Y*1)3*&nNm+)`%x66GTEe%S5I^e~LGKsO_uQuIUO;$OaQ}gouU$r!s*olw z{`U2nvbda`F3kW{3UDm368zo{_Q`-U#l-Jlx0gSNzF1Qq>l05pO^C@r$W==Su^}BT zrsCCaOjE|?Kc>XT-?*w+6>`TE4(R_wM-qhBV4V@-yB>|j=o^b?C_{M>O-3tg`+^eE ztzf4qyprE1LF;<20V9~;ARCC~#z3U!4!*WrVb+*zG%NgczqsYi6~+T#`B{>R5BhFf z>wd)5=zgTLkr(tkKhfk8BalPof+1$rCXor$>7Ke&*&dzq8?(Z z_Y_uK;ZvA5`wsfD=5j4r;ii7Kp!De+)X&zCFNRbLmW!X;s|=k>D%sf>bO?G~0AAEU z>4s03fof~F3Q`~O8$l`6st!ygE$;nO@K?(K!T0CVY4e>s3tv=4-0kGd)LFxUF`wcxVbY7THItPh|q1Od2@@2}m z-_XlIGV~~L$W=Nh^e$9V@=ycfWf0OQzWLVTB?@eY>Q>5=YSZl+i8h#SQJEDchRVkd z=LFN{0&WNLOt-7dPjdO07^|ZQU6W!;a$?|YQ_$a|gz&FG5l;-%M*0ve6qonbarU(M zbnmXR57H2l$~m*a#Oxh^L28)8hBdDYq~u3p;x%tqP2G#k^gv05BPl|oQ)u8Lls!qW zf-J!h48!c06X}^^&UY3#;_|a`vHR_k!apTVx3igF;)(Q50d0xPopJHAw?{Zw?fX6{ z_#iXko+%~`iXH)pP&=uMn(AF?)A@BIjy&K8hTm^o*`5&j4mY zyM@O^zOM-FPQ=8Seao+i%P+)StuGsG#V%jn2DODqv(`Sa7W*fB8Tz}}59@ae9=3hz z@pyV>WO^Kd9?u>Vzv!znXyPi~vR28vGmUePi$w=3R1AhrvHoE3jbFr-#2QeU-sc!+ zI0IFHC17&0_$kEAfzg@xQN)db(oFng#76|GO}b2rLrCQXMrKOhMO+sco{7H|7hgSC zhxw$UV(4H|Zdv%zerD95yegDViX+}#Qm6v^V0w1X97cTwwkoa`H@|zGmt4*E0k)UB z7`s3lfXd!PLVM#~tJumI{u~L8cy5%_*hxZD6Q)j+n}jAMsyZ7Hj!)EdmN$Lj?n2y> znB3XeL_!sbX`SV(zG&(~yeu)kvvCy(l_X|$b|D;*V0$OOFaHCa^_x~;$vYQbci{TJ zsHisy>j5>jDw494=D^CTQ#PLSbG&7NvI5IwpJpdJExnucnKV1O9o#;a`g8IOEUa2T z)5)}MIkZK)wRLMY@7QWwphbB~Zj4fs7WJM;7td$svEvC^ZWcy5IX)>nlho`3JxPH% z5Hp=_vH?@0Qu*_F7sHt{1%b(&3pH>G%0we$ryd3G@KCpknD-=kVo zVw5c<`y*^7WM`}IkWbsv+Jd>Xu>5x;+4CVtLLgL!W<@zjcf`cIRiT$K2TcaV8zO_? ztci#ve=|-|hel_r9V~O9+FESSI=pT}k7m9L-RRIw9?De#QeFa!JFC;36j%MNEPGnQ zcqPYA#{|ENi#z{jnJ^K0P%DzfiRl7En+aM$1}@9X8_IhxuAOf)v6&jh|NO1gYj~A` zs(^H>lCHLp`Ow&zB z@E|q_2Dl4vi%K?7J+_cD^^b{<__8HT;t7m}?lUhNPN6 zti1;30j6AB1d-P7GPv7uPFUpbv=eXODVG(**m?O5qaN4zyBC zemYfe94k!14)BtYk{zxYha>48Qn8I$4R_L=Qykn*#ZKi;)lT(JrE9ow1+4ftN~HR7 zi4(}L>5hQg?=EOk`qfXWcGN&@>`iO@c;6CfUxPt7iEC%bCwxwjwks{VlM1uBi?qjZ z!b53*Ywv@jL7kBH$_Jrr(12N<1%b?!m<6Oza>G*4lNxj}Q1)~1!LTi3kZWK$9G#|c zFKM;w`;|ggkevoHInMHy76lC{|4QaIEufX-+9UdW?(T@0%~{P`US z3*1~{nxzPRj8iwuq)w+>i&Z^{c7x>U$rY4BOxC1q#>sA#&^||9rj%;1x?}Q5Xl)sB z7PWtG=Af6@{P!h_nEY$;)4xw<$yu0mm6n$#Nk;vccV!)Nry>{Vk{2Z}svotWk}J4b~2>E>DXrzVq8CqQP_qj3X{$K4RLvK=D=x24aIKS5to-noW!ZU6zeH2D`IS) zW{y;uUn~~hS4~eohSjUCQH#^wpI#c5i&DDqq2r9aF>4pGgz@_|lnc6WulU&e4;IAb ze&oSlpXqTkz{J79>JpzUkR8qr_VxywWJi-a4*J{ zPLoSvYHTU6vNJs2V(67Fqh1>683_x#0TRk<617YWu*y5)DuHf3g{!XA6> ziRavR7#9_{z+~TE6zMfV4p#<7Ku%Gdgnj2Eg9vJeRb&jQQDLzb2{77|0x267WhrnX8+45aC;0m99>=tvJ$qCX>DmyLpTYGBjvCp36NwISZ769>P@) z_;ONij5A3gDW8R6GAfZf>#%Q@@QdD&5u~Xd%kX_mVC)z>I8Px(S5Cr zo4;x8+FZTu%x1##_pr_P(9yvqZ7^p!S*=eZ{~3TQRW24drpBhrrp2b*`R5$c`4ACrkK?B-T8ZyBWE^rI5zN%^!}yh$2k*M;9bs<0FWo?Am|@+E~y4|Mb% z&ko|4T28zQGv%}n?L=Mp+z}0qwb-hFg`G6ms5%D0Lh)}BuhfMP9}&Nm?kxQ~G}`}y z@@16dx{u;~rGQ4wf<8Y#!i7E;*9XR7?z4}M-ngk(qfGBZHv}=QZ+EaAr#MN%BO-4Sp9ic%Qni0RK4q&ix zfQ`NU;W)kY0TT)=0EQ7xH1!wfeh;PwUpbQkL@aznbo3ibqw;%cbw<48BptH<-j7Dz z*33jd7F+tqdKt2rLu8InfOXU0DD2RM2M!Zxtf|MAvCuA;W;tvd3H&)`LTMG1x50`~ z0F^?$q}-RcW13Sa3+`zd16dp1oTSHgGmJFjvl2>udcgLFepj*519m)l{l+MCIAg47fdDA0DWCG~r0=zM~PJ{6mek6N%aO3pkoze(t9)%t?14j;d*)%V0&gPGf#-4T^@lR*#} zrF79j;>!VpS)D1N$%1)(k#ao_~8n~N;#-Yv4Lv8+;Y4bf?L4OoaofuW}cw$a)?FMI=s#<;G zMM$bvXfo6orz|ZRPP*uS#I+|!HXX$JViIL1*g{ll)yPNBY%0VHnH~FafW0*K@)$`} zf+(<+sp24^XbI_r_NW+ntcy1B(@#o4ryquTK0h!A$X^~;3(E2tf&#iGEvU6g zPd(MG`&+k_)cdsIbH@iybvclk2jv^q#t|21o+_KD4R;)GYOVJ*Hq*7*@W;oyGlW+g ze&86e<6LuE6Aw(r>t7TAF+5ll`LszLATc$Gx@33(FaXxt2I%PZ6 zZ&=5ywIYn6v^*D5oi;2VQ+c#u>v60!jMH~KE2u7K(w;W_?J@DK(-l?P@XpNO9M5D< zHp|s9&Yy8E@o3vMdTXm9pYGWXp%;LS48f_YvPn?+bJpdy!(gW80b4pEp7?Z%_wxvBX60l@ ziJ;ww!%7?+;ZbVRDYUk}hCXHANRwcLzmh(oR!_~H6ae37BO9szg$~o zs`qNJJ70~e_p$o~IoE(jv@(mlCNf=6VLmTJyIOO0Z7bcrp9%)NSIse%@LX$GsjoD; zQtpUO@L|UpXqMhVxcT*2ST3eTnW~;OU7W=` zaEc>UhASbPWoGek?3c56EhaAedMV8Mi8^nrXElV6N8EfS#0!npIHNKbkIH39Q3{q^6OQSFE;QPh?uJGa zTsi16#pDGs-+pN3TF6t}@5};oA|^1`Gqa2`v^2{679vm`!b{Ije=Z-LDOZGMC&gK3 z%rsYQJaf4h62kn=-Rx~@1CYaTb%)tWQu2QyOw8dj){#!&YJDlCm()-k-LkBI(_VlG zTpZ-x-S**!yX{#gZ*f07iZ3N%MBbh5EGD}(t_Bx;r-LrH#l@FKWPh43t->j#vb5Gs zYQMlVm;#JA$OJxJdHxdp!ZmO{I2KoKn^a5sYXu4&U0hz6+yu?s`@{i%rHGtN!EYme z;GbvSra4R^0Qs}o@brlt|C$WdLT8fij6*`J!S6lkiCt3=-j%L{FF_q*ccf=^*%3CS z=i>KP7+X4%3E2-#=wcWLY7#cnB7{|mq`W5vnKr`l@VVoNzg(EtMR(3~C_;ZrQ4n8J z?lU`(<3LVtDkgs#Q-n(6DRJJHE;>d0{g=O=x%Hof&Yyh+Y5a-62u3TurtZ5l+2HbJOAyWR#ElUn2g%pDo*@rte2T|BE1|Kc@h?) zNUsZW0~ZK_5p&3SBo^sS%9Z$4<5-M(8F``_D+s8-87S5#^1W>OE?xq!zDDn;O?^!(U5=Az6?O%$TB~M?as* zk-5^~#59;#N2aX_ZB?1J+VDsJKkc**uG|Mp4CTPd!JHq!Zl<1L5ZASQ_|;4UHh_{z z?XU?A&auXvi#by9g|91zMdY(_y;BdNchissafQ8SmT??2#j@6j1LHJ?JWx5*S-(%wZ z|6FCeFIqp>?o>kX85y%XZ4RwVFVs6#Naw|Db8SuyV)~fPd3mPfa;Fw)E;eiK#%seW8F-WrLV|)|{see<=;xv1R}eqj>q*YNIBsKK2|CIo|m`TVvr% zkNvQIqEL&MRTUSvoON^OU;{r}QLYJ}JsRm{1NLDsc2e!a%CaKP0QwsF-Qp$RS1UE) z?MKDs->N; z`fO>d=H_5&Yr@NqUR>5}Pj!pae<&TL3Fl?%v1P0?HKA6+QBMZYZgK4oS5|AnpB&Ml z9}|-(TU&fxtp|N)TA4+&z6Iup79ij#g&>Qg+Yd~~8A}nk5W_R5*T7&YAS6qGj?Q`U zOk9LBaYVipSD9G3p~nx=f}Nxz@?7|$A5PoK`oL_`@|S7tUf;&fwb@|OiiuJAwWy(+ ziOc^}e-i5d`RDo{p+51VfgTMwG~bOr#k!YRwAGjaCj*e3J1ZZ8{(O0F(n@uy_Blc=X)0%280#isOH@j=_RCW&l^( z*Far)POTf3cBQ{T>*6pBSR(A|Z0U!@tv`-Kqn{-4wIAz>G+`Bl!0XZPOh?*uoxge_ zgZ$f+sQ$^Ul;yWmV(m{wR$1;&!J61S11@BJ#d=|C-E|$Z{M%H81EPYjyD28mPo~Xd zCN&8xzAh=Q`>Ae(EN@H|IQrN@HDG{&ebHW7zB?tp`;*zuX23LfOl!eb4O4Y7ZQeyB zODJcnoXcooh{WtMtPO>)N5(&Bfmju;!7=sggm_JOikkIfSRg(g-e}N-FX?BhjYhaP zX~MVnizVmFu+f4?#F^)73x1D^A6h8gf-o9Nr{A}T_nqIuk;Ic17INx@xadMH_d{HK z;6g=VUnHa3uT^C)lnL>*3wx~(KuWtUu(#AZ=j*o zNlJ5p>GmcVSVG=NLY@~9AD3&n&Xo9;yl_!-=8i#3z5w3L?ie(|G!&Cd(c|D91BQGr z4xu_p^>Z&3k+>X6GdZ0g?{{w2a|!$`xzME%@y5s^@1!J?raV0<`I1CJ{vn|x6Qq&_ zmTjQd5e_#Si@KOMNL%7-cSL?WlT(<IV~X7chgd0XJ;mykbAvb!V+`DlWS z(@D(tB%I3XgsWnT#gD;fNr%+8DYmfoc;OUr(fb_6G3K$Jv0^hX^Fep@#?`CW-14*Q zxTj~>d|K&(V8{g^;l@^a3=S*&OWsT7I&&9lZ?R^CRfeA_W}TCz+`yI^sfmILui*n= zi?Sur3s)=rdfA}N(}K7N{i)}{ZiuWVwcF<=JEj$FGFq3_3TDd#aM`oDHNj;y%D__N zgZ6v-oyHaTe}2@1FuIzX%{Au&&yCt_zrCMtHe1|*;3!*(vIEzGo6tKfB)^hguzUKe zo0q|>4%$JSO-?}SX&gnXukxN+)qHEsa7laGTw|6d)bP@>nlfp5jS$cV@2ts@?yAX? z)9F{5{*cVK5;#Y6k|z$0bOcTj{W!HX{K%5 z)g{+Dx7%s(>EO=b{U=A2pW+UeY`0&2BD;KF>9fKuCF-%BQ(4W+#@-R&FyOxjJi&R* z>&M<2*k*+LqbXOQyLaC-TCiTOn}DIG-+-Y<3-y<)CSd64O2iwzNQ^jfJ&F|LNxzQX zV^og+^6<3s-P}J*D1M){+xnkWZBrFwZOhR&bkM7c6hUJ8en4${T=3O!{j_{|a6*v6 z`{NP2qMs}8Gd(I~Bdt?Df>)y`51N$0O6Mc?(i6(^5Xx>S)2Vg2dTE5<8#AlnoiW~7 zHsKm)*^@e!9S+d3ij$4FmCt#&;9|8imwNh&?iRqO%E{P5>1@#pcG7PgAV9RD-M~C` zVD;2CD%+JE#Lbu3jIFLAyIMO_VJq9~n{YpK4jHFJ95?4mlJY* z3~m<|1eJUUwj5I0iMcSIK{ILF&uI>6Y@o(p)-mCdP+DG|V)ZNCmLl!4DY&4Rb6O>g zy-YXG(m#QCuef|ey7-+dMwE{zDj$JAQU_J5)_eLAT&bMOjN-v{!D&!Es)Eyjy4l#J zE8(TMa~9arSg(%4Eu_p{`^ZKk9jzBzye^uN|GCQ z&V33F3Dbq1Mp@2ED^5J=@HFNHi?Kj=Wb$SCyVONT1uv@zhMDrf!y)7{?7}S_!BC-HVsqUwxaj4mZ@!xGxi0>}x;~&cHXd)2&;!wAvl8 z89QMqO~_wF8<7Xo8rl>ryQ!uQ9<|(ITUn>;x*+@Iy@J8Yd@%oj_ca~&jmssAYqm=z zz?e4F#lh&{4c)WQrPkm?mXP0wlG;k?V#g*7SzE2gyY|~l`b}=_vYX)Dq{K%eE)z}- zkalSx=(d#wU1S2TO}Tjfbr*ZRtatW$y6Xo?e)(slP9JKs5*T?d)5iKUFoW2@wPIjnX9gRaEdIbR zF<|>I49sM6VyNl{s$Li%6CRZ|4BWYX^=g8@TN_v3y%OQNyVkP+fB)^lB4$SqQMY(B zdO3cF$EM+TL2L|;%Ih=nmt)hi)nUU?expfHhkraGhGKT5I-GM005gGLD0KbE~g{|mR|W!EhhqwQJUhYku^LMSC@SQC-XeXjGLI2=5;8a zBK7SbZ5ejb3>)e)%d|jlaE0;AfVpCd2X_wzkMV-+Nrj59_<5XV5WQ=>&=zLbluPQ< z+L}^HS5qPBYt(_#U=C8|ngTH7VNx#Snm5M($ecwcOj_2u+-w?M`?ZqO4Rd1)>&pvlRF%R&B1_ycHY13*; z`tl0l-{B!n)gh+nn~)>9n`GG^n;}dF-5ej!3iNfkg;h;3d!?#^ZzCR+KgU-DOhH!T ztxWnj(%P5)jQ9n)I7LC$SsA*_Eja(o!tTL1GCKVgwN# zH$@^j%ymX) zu57AQVuEU?+a&k^kVWvO<@MS3z<}eVGj33k;2>7tL+js3XyL^jBsO~r68S%~Us|@^9yzh; zzmWc`ul{e&5b{>8Amn0s<;3w5FS(77%GI|K7N3SV)9EvsI84$nv|uM(o!GKJrRVtDCFxUzfPEbU5LZ{K2<`={K(l%^TKA+ak_ zth^vU9~a+FR2Z&HvfCIgS6;BweL>z9Z_^uSnP^BBG|Wtg+<$dLmmYd1WofdNSsK5F zQ1P{kgf30 z+UOy*(9j7SctKY~Gtw){R_rIW=T5V$#P_Zxp*vC}bhG$rs<`~Ep*m$h*O`X$tD(P+ zFemLw651{nr#~)UpKxoabk}Pse8YmFCs>>(A4_M<+g-ed@YhB*Dt%yP)R`2WDK-a3m^Px8J z^cKNlCZnstj`l>AO+bGw_T>f`F9NO&d+phnA}&5cg)#>g9E@>96|8`%;%tDjJ6{2O zR{;)ks_^nrN8xt@5rI{$i&sH?T_bdsa^T;0N88FMeQUfdzZp}7n=+2GaB47->Wlt- zs_?IlczUVn`~dTiV-rwD+q4`ta_1v$RUBPdAj^AW>>OJIPGI3x;jSZX4{>w`v`SaS zOkN&t=-P-CE`O@9)OMJov$^{tZ6yj?GE z;)5BRZA$(YU!U-`HnvtZ+ln6EuWDC?=~0Rk6O){8gnlb6e+D83ms*~gyQqoP;EuL= zlynLf$A}|pVHm`ez39PK)D6>W$Y;&iT(#Eo@^8{s0BJii*h+!}lPY``7x!3ChMt)G zLdKya4ebQ8AE)HU{ueBJj$DK#nPjlE`~sHjwsIAn2q4~uTTj9N3B;TX5MRSZh=Jam z0ph8jffyY4(lkTC^QE>T-~O&vVutrw0?IRNBS$OoXA6(FM&;YV7E7g~@$_U7IMXyZ zoR)Wzj_6ocUaBZ-wwG;MsTUs#`^QPLaQ`1fbaMu=9(@`_e%lD+% z+aC!Df;oXQ(PVpy3%a2ddIs*XCqQHtUhQ0nB|%j9@$`(y_S~_7tRAHsZE}&0M%On3aF_1Lcl~>S z{EFEzp*5!!gkPcIU8?Xif$NQqWk0NA-_&kk-xnYmnxU9@bx- zNn4OsAf44e#!UtZ}b3ZHK))q)Wxm{=4pJBnS+ zUyvV450d&DvS8WnaJ*W?%7!dRE5n%wCYsMJ~uoVYM%vOUlp7pC#17 zDCY&)oNk-1qmyvEwI|uOSx4=)T5N4wC1>-ohd}w)qZc0R22tEWcTjwVf^kG(zg>aL zgKbB2bPC{9t+?(zpJcR+_V&_-@Y6 zX$6#$Y5BS~ubvLiVNCA?RF8~3zS`EMr*J`TGiA|H2rkQ_)A1QM5?TR0sb@~GttE?2 zGf`wTU~AJrTK=3}5kn80^O04Y%h^=#!iBW9ldSpdw)0tZf$qFK03YP@@*8dQvgue| zM1Cg0lFznzvuQDA)R9d`RkAJ&xFV8K8#{IGqKRoa4g)m1e6k)xFm8x$v*{XD2Hv&> zIrMVV3AA!vF@H984%sk@(hMMumfLX|zRKWZAvT0z^-%Prs&jNI~q&8n&-{@K^Fix*0K2*cghkWZf&950{V%YB|~ zTUbD6aqlGC9xtFH=z%sE{%)W%+R_DhfkK;i7+phi+kO~Ehf_tHs*rkTFf_2cn|_k_ zo7`vEhfKowzD=35478kS+($@Nx2QVk4s8e7fy+1@>StdtD|Uq89?Ev)=CrRUm!YDMDZ5DOL=n zM@Lh-4G$}CIZNnpgpJ=5Iuc>Wf6yM`Nra3GUs+D60^xatT7*xTDa}QA2I2~%#``Mi zSjsMp=6{3%Ve>xu89GGx4Zb!o65$R1BD5IcM1;0kuirD89#eSp|4!&0n8lL+#&-b` zPW+0{5`<2S%DjJfAWabVA~YiOBL78%&wNYhUWD6`<^bhd%#K0pL`X5n`ZI*)vBA)9 zKEkIE)*>8^P=W9tUl6L#CAW}mUlM9Xh7JYU2zwFYgB;{ckWl6#twTo?)~o67V<3bl z-$MroOOa+)tvi(X%ATFlscfr|V!{E%Zvw@J21+S5MeP-@kFTJ))H|*cw<>_A;T4o> z5Y7f3`{q#kD4wq066!{{2+!h|2(HCbx=z3);=P1!LA)DZTi#pi&d!L4@6S z*1w2L!Ad@oWsR2=O93 z`2fO!@Jr<90ElKZl<+j}Yr9ZMAK`wwqHS{(-KgQ0GDFWzZK*0+_WGzXR7GE3WT7)@ z8*iZ_jQmFa7he+M?>EC*WS((})w&5^wfd7dy6XR|P;18LidfZ6FebHaucixTvdmug+=`-fO;jR*c#JJU=Y;WmQ_P*y#|fu z1jUI!$yZyCbA-$*niEf|1r@}q^*++^N{h90y6|uLZrtvHM`$|NTrJpnO%^?1D2yss8S!O)Yot+jLNC$f4`1vmdBm*YrTkx>vTnWiYpms->k1 za8-JXy`u20Hyka^+Pw$Y(cpqJqk>$Odi^2OM}^tkk+1LbX;eq6@6Ro?>K}+|_i5KF z_T^;*Krqk|?P`y!c_zNGXg#z1k;2Q`T5D;oiG=nE?Dy?hpwfuWj*?R71S6u}&Ltjl;@B9niyNBobyx-5)(6Zrp)h1<;rd7zEwr)$fp5I0hVbvKt+t=AO z?JdW&SZ{ioH7xF=t~cz`S&=VOk6|ABB+bj`55G_ZM(O`gjNg2g81} z$%G~6thH9oT{uu^<8Zavj#U+6k^nh1S z&CoKfQ`%rV>SID|t(O;3{4Mj=IHk(E2zyv^@!jpa79i+rIYCd|7gVly2MW65o1l*m zh40jL7(LlrJ^Fx+=*4?PZ=LjtO;^X+GV>K#Pxjqc8_#GLxn0~Ot(P1=NH}||5dip_ABpUkt(E=*cv3U+~_F{Q!qs;HE s-If)Im#lb11gPeu^!b##|1U(guc}Q%d!i}_&_Kmn1yFhd*UkX&AI$=d^#A|> delta 16050 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 diff --git a/tools/out/caiic_ble_full.hex b/tools/out/caiic_ble_full.hex index 01799eb..774345b 100644 --- a/tools/out/caiic_ble_full.hex +++ b/tools/out/caiic_ble_full.hex @@ -124,13 +124,13 @@ :1007A000920651611146096A890889001162114651 :1007B000096A012211430322920611627047000068 :1007C000D00700010040002038080000D4040001D8 -:1040000011C011CA010000000080000100B00000D2 -:10401000189346B2000000000000000000000000FD -:0C40200000000000000000006EB5B107B9 -:10800000A8B5002069810001718100013DA2000135 +:1040000011C011CA010000000080000150CF000063 +:1040100054BC3C60000000000000000000000000F4 +:0C40200000000000000000005ABD8DDD13 +:10800000C8B70020698100017181000169AD0001DC :108010000000000000000000000000000000000060 -:1080200000000000000000000000000001A60001A8 -:1080300000000000000000002781000105A60001EB +:108020000000000000000000000000002DB1000171 +:1080300000000000000000002781000131B10001B4 :108040007B8100017B8100017B8100017B8100013C :108050007B8100017B8100017B8100017B8100012C :108060007B8100017B8100017B8100017B8100011C @@ -138,19 +138,19 @@ :108080007B8100017B8100017B8100017B810001FC :108090007B8100017B8100017B8100017B810001EC :1080A0007B8100017B8100017B8100017B810001DC -:1080B0000DA800017B8100017B8100017B81000113 -:1080C0000348854600F064FD00480047C5E3000111 -:1080D000A8B5002040BA7047C0BA70470138FDD13A +:1080B00039B300017B8100017B8100017B810001DC +:1080C0000348854601F076F80048004785F5000131 +:1080D000C8B7002040BA7047C0BA70470138FDD118 :1080E0007047000040BA7047C0BA7047704670478A :1080F000084B19680868203080F30988022080F353 :108100001488BFF36F8F3FBCAE4608BC04BC62B698 -:10811000184700008C470020EFF3108072B67047BC +:1081100018470000A4470020EFF3108072B67047A4 :1081200080F310887047EFF309800E4B1A682038EF :108130001060F0C044464D4656465F46F0C008B554 -:1081400072B608F035FE62B60CBC116808681030D3 +:1081400072B60AF0AFFD62B60CBC11680868103058 :10815000F0C8A046A946B246BB4680F3098820383D -:10816000F0C818478C47002004488047044800475F -:10817000FEE7FEE7FEE7FEE7FEE7FEE75DA600019D +:10816000F0C81847A4470020044880470448004747 +:10817000FEE7FEE7FEE7FEE7FEE7FEE789B1000166 :10818000C180000130B50B460146002020220124A9 :1081900009E00D46D5409D4205D31D469540491B3B :1081A0002546954040191546521E002DF1DC30BD84 @@ -158,2790 +158,3291 @@ :1081C00001DA01254942FFF7DDFFAC4200D0404211 :1081D000002C00D0494270BDF0B51FB40646002007 :1081E00082B005464024019100901BE0019922468F -:1081F0000F46304600F09CFB049A059B801A99417B -:1082000010D310461946224600F082FB361A8F41E1 -:108210000197224601200021009F00F079FB3818C9 +:1081F0000F46304600F02DFE049A059B801A9941E7 +:1082000010D310461946224600F013FE361A8F414D +:108210000197224601200021009F00F00AFE381835 :108220004D4100902046641E0028DFDC019B009831 -:108230002946324607B0F0BD0549064A0868504352 -:10824000054A801808604008704701490860704777 -:10825000E44700206D4EC6413930000003460B4311 -:108260009B0703D009E008C9121F08C0042AFAD2EC -:1082700003E00B780370401C491C521EF9D2704772 -:10828000D2B201E00270401C491EFBD270470022AE -:10829000F6E710B513460A4604461946FFF7F0FF05 -:1082A000204610BD421C0178401C0029FBD1801AD9 -:1082B000704710B5002200E0521C835C8C5CA34226 -:1082C00001D1002BF8D1D8B2E1B2401A10BDC9B229 -:1082D00003E003788B4203D0401C521EF9D20020E9 -:1082E000704730B504460020034600E05B1C934213 -:1082F00003D2E05CCD5C401BF8D030BD03460A7869 -:108300000270401C491C002AF9D11846704730B54C -:1083100005460020034600E05B1C934205D2EC5C5E -:10832000C85C201A01D1002CF6D130BDF7B582B05F -:108330000F460026029C02F063FB0090006801904B -:108340002578641C002D05D000F016FB0068405D08 -:10835000C007F5D12B2D02D02D2D1CD0641E009806 -:108360000021016039462046049A00F009FB0146CD -:10837000002F04D03868A04201D1029838600098DC -:10838000006802280BD00098019A0260700506D59B -:10839000484205B0F0BD012080020643DFE70846F1 -:1083A000F7E7F8B502464A40D40F42004B005208A6 -:1083B0005B089A4202D20246084611464A0023D080 -:1083C000C30D4A00DDB2120EAD1A202D35DA490276 -:1083D0000126490AF6058A19002C00D052422021B4 -:1083E0004F1B1146B9402A411018C20D9A4221D0A4 -:1083F000002C17D0012D08DCDA05801AD20F801965 -:10840000D207DBB200F017FBF8BDDA05801A0123B2 -:1084100040001B06C01880185A428018CA0F10432B -:10842000490007E04908C2071143DA05801A80199C -:108430004008801800F0F7FAF8BD61000122511AD7 -:10844000001BF7E70122D2075140AAE70122D20719 -:108450005040A6E7024670B54A40D30FDB07400004 -:108460002DD04A002AD0010E140E00021202091962 -:10847000400A520A8418E50104465443000A120ACD -:108480002E045043A4194219200CC543AA18120CFB -:108490000125AD03521C521912047F39240400D067 -:1084A000521C104301D44000491EC2B20C06C00940 -:1084B0002018401C4008802A02D003E0002070BD34 -:1084C00040084000002900DA0020184370BD000079 -:1084D000F0B507460846584087B0C00F04904800E2 -:1084E0000E46590040084908BC1A884105D2384652 -:1084F00031461E4617460B460246580040081043B8 -:108500004CD0300D039040055900400D490D0590A9 -:10851000401A0290402872DA18030121000B090565 -:108520000843019004980092002805D00199524216 -:108530000020884100920190029840210A1A019976 -:10854000009800F0E5F905460C466B4607CB00F0B5 -:1085500000FAC0197141039A0E0D0023D717564037 -:108560001A467A40164344D0049A002A2DD0029A23 -:10857000012A039A15DC1205C01A9141012636051D -:10858000001C7141D20F059ED20700930192029602 -:108590002A46234600F095FA07B0F0BD384631462A -:1085A000FAE71605224A0F46B218C01AB741012150 -:1085B0000905001C4F4100187F41114618187941E8 -:1085C000E20F10436D19644113E0E2076D08154393 -:1085D0006408C2071443039A01261205C01A914188 -:1085E0003605001C7141CE07400830434908C018C9 -:1085F00051412A46234600F057FACDE7FFE7049899 -:1086000001224000C117121A00238B410498314601 -:10861000C417381AA141EEE730B40124E4076340DF -:1086200030BC55E730B40124E407614030BC4FE76B -:108630000000E0FFF0B51FB488B00B990998002442 -:1086400048400999C00F490049080991C0070B9992 -:108650000090490049080B9109990898A6460843DB -:108660001CD00B990A98084318D00998012440009F -:10867000420D4800410D099824050003000B2043DA -:1086800009900B980003000B20430B9050181C49D5 -:108690004018002201901446104605E000200146D3 -:1086A0000DB0F0BD032801DA034600E003239C4629 -:1086B000C11A0AAE0AE05F0008ADED5B4F00F75B40 -:1086C0007D430027AA187C41491C5B1E6145F2DDF1 -:1086D000410004AB5A522104120C0A43240C401CE2 -:1086E0000828DFDB01980290009970460191009004 -:1086F000059B049A0799069800F0E3F9D0E700007B -:108700000DFCFFFFF0B50C465C4085B0E40FE407BC -:1087100003944C0000266408590094464908024618 -:108720000296224321D062460A431ED06200570DB2 -:108730004A000E032303550D012402462C4924054B -:10874000781B1B0B360B40182343264361460090D1 -:108750001C46501AB44103D30098401C009002E01C -:10876000921800985B41002803DA0020014605B00A -:10877000F0BD0020012109050746864611E0644648 -:108780001D46141BB54106D36546521BB3417446C2 -:1087900007430C43A646CD074008490828439218D2 -:1087A0005B4105460D43EAD11046184313D060469D -:1087B000194650407140084306D06046101AB34134 -:1087C00006D20122002306E000220123DB0702E09B -:1087D0000122D2435310009874460105381C6141B0 -:1087E000029C039D0019694100F05EF9BFE700009B -:1087F000FD03000010B500229623114600F01BF97E -:1088000010BD00000EB505490291002100910A46F5 -:108810000B46019100F055F903B000BD3304000090 -:108820000EB5054A0292002200921346019200F012 -:1088300048F903B000BD000033040000C20F41003E -:1088400040020123400ADB05D207090EC0187F2928 -:1088500001DA00207047962903DC9623591AC84094 -:1088600001E096398840002AF4D040427047000069 -:108870004A0009030123090B1B0519430A4B10B5D4 -:10888000520D9A4202DA0020014610BD064B3433E5 -:108890009A4203DC9A1A00F04BF810BD034BD21831 -:1088A00000F036F810BD0000FF030000CDFBFFFF15 -:1088B000C20FD207400040080BD0C10D0723DB01D7 -:1088C000C91840020905400A1143C2084007114374 -:1088D0007047002001467047CB0FDB07490010B5F9 -:1088E000490802460A4307D00A0D07240903E40198 -:1088F000090B121B002A01DC002010BDC900440F27 -:108900000C43C100E018D205801800F08CF810BDAF -:1089100010B5202A04DB0146203A9140002010BD0A -:10892000914020239C1A0346E3401943904010BD18 -:1089300010B5202A04DB0846203AD040002110BDA3 -:108940000B46D340D0402024A21A91400843194638 -:1089500010BD10B5202A06DBCB170846203A10417F -:10896000C1170B4306E00B461341D0402024A21A46 -:1089700091400843194610BD004870478026010108 -:10898000F7B582B0029C00272078641C1546019739 -:10899000302802D0002D15D015E020780127641C66 -:1089A000782804D0582802D0002D09D00BE0002DE3 -:1089B00001D0102D07D1002710252078641C02E07B -:1089C000082500E00A250026009610E000990127FE -:1089D00069430818020C294680B2714300908E1832 -:1089E0003804864201D3012001902078641C294676 -:1089F00000F0E0F80028E9DA0398002805D0002FFD -:108A000001D0641E00E0029C04600198002806D09A -:108A100001F0F6FF02210160C81E05B0F0BD00990B -:108A200030040843F9E7002904DA401C490001D169 -:108A300040084000704770B40024050C05D1102494 -:108A4000000402D1002921D01124050E01D1000219 -:108A50000834050F01D10001241D850F01D18000CC -:108A6000A41C002801DB4000641C002908D020253C -:108A70002E1B0D46F540A14000D00121294308439B -:108A800001061B1B000ADB1D02D5002070BC7047CD -:108A9000DB05181880180029F8DA401C4900F5D1C8 -:108AA00070BC40084000704710B5002B08DA002465 -:108AB000401C614192185B411A4301D140084000BB -:108AC00010BDF0B51FB482B005460C0003D00846B7 -:108AD00001F07EFF02E001F07BFF203002460090B3 -:108AE00021462846FFF714FF049B059A04460F46CB -:108AF00018431143084314D0184610431BD0009864 -:108B000040210A1A18460599FFF712FF05460E463E -:108B1000009A05990498FFF7FBFE084305D0012051 -:108B200004E02046394607B0F0BD0020C1170543D8 -:108B30000E432C43374300990E986305401A79057C -:108B4000E40A00220C43FD0A0A3002D50020014647 -:108B5000E9E70105101969410C9C0D9D0019694157 -:108B6000FFF7A2FFDFE7000010B5002904DB0124B6 -:108B7000E40740428C412146002B04DB1C460123C4 -:108B8000DB075242A341994200D1904210BD000040 -:108B9000064C0125064E05E0E36807CC2B430C3C50 -:108BA00098471034B442F7D3FFF78EFAD829010161 -:108BB000F82901013A2800D23038202302469A438E -:108BC000412A01D310463738884201D30020C043E0 -:108BD000704770B58C180578401C6B075B0F01D18E -:108BE0000378401C2A1106D10278401C03E0067865 -:108BF0000E70401C491C5B1EF9D12B0705D40023C5 -:108C0000521E0DD40B70491CFAE70378401CCB1A96 -:108C1000921C03E01D780D70491C5B1C521EF9D597 -:108C2000A142D8D3002070BD03B40148019001BD1A -:108C3000232A000003B40148019001BD6D560000D5 -:108C400003B40148019001BD6560000003B4014810 -:108C5000019001BDAF7F000003B40148019001BD48 -:108C6000B551000003B40148019001BDD37E00005E -:108C700003B40148019001BD697E000003B40148BE -:108C8000019001BDC37F000003B40148019001BD04 -:108C9000E954000003B40148019001BD9957000058 -:108CA00003B40148019001BDED57000003B4014831 -:108CB000019001BD1D7C000003B40148019001BD7D -:108CC000AB52000003B40148019001BDF58F0000D4 -:108CD00003B40148019001BDE1FE000003B4014866 -:108CE000019001BD250E010003B40148019001BDB2 -:108CF000B143000003B40148019001BD8529000083 -:108D0000C943416070470268702392B29A430A4394 -:108D10000260704770B5044601F060FD002818D06D -:108D20008069002815D0FFF765FD05462046FFF74E -:108D300061FD2946FFF78AFBFFF7BAFD064A074B9C -:108D4000FFF7E0FC0022064BFFF7C2FBFFF7C4FD74 -:108D500070BD044DEAE700001F85EB51B81E0140CD -:108D60000000394000803B4470B50D4606460024A3 -:108D700001F034FD002816D0C169002913D0026A21 -:108D8000002A10D08BB290B289B292B2102D0CD0C2 -:108D9000202D0AD0302D17D0402D15D0502D13D0B6 -:108DA000602D11D022E0002070BD891AB01AAF22C8 -:108DB00092005043FFF7FCF9044696340FD47D200F -:108DC000C000844211DC11E0191AAF22301A1201DE -:108DD0005043FFF7EDF94B21C900441801D5002499 -:108DE00004E0E1200001844200DD0446204670BD1D -:108DF00070B5104CA0421BD185140121284601F00A -:108E00009FFB0021284601F09BFB0121284601F031 -:108E10008BFB094860610020206060601F21A16019 -:108E200006492161A06160622062A0620448E0619D -:108E300070BD000000080240080A02000000FC0F9C -:108E40002E6D00000029016802D00122114301E0CB -:108E5000490849000160704704220029816902D055 -:108E60001143816170479143816108480649C1629D -:108E70000749016307494163074981630749C163A2 -:108E8000084907480860704722007800000802403F -:108E9000E700E1009F00BF04190C051670206E2842 -:108EA0006E2B00004008024002220029016801D018 -:108EB000114300E0914301607047C06880B2704781 -:108EC0000246526800200A4200D00120704700008C -:108ED000044A9068C90640094001C90E01439160E7 -:108EE000704700000008024010B50B488CB01EC847 -:108EF00003940293019200911EC807940693059271 -:108F000004914268016880680A9009920891684655 -:108F100003F0E4F90CB010BD00400001F0B58DB0D5 -:108F20000E46032807DA64A003F0ECFC6AA003F005 -:108F3000E9FC6F480FE00027B4683A460BA92046C9 -:108F40000B97FFF7F3F905460B98A04202D0007883 -:108F5000002804D067A003F0D5FC0DB0F0BD6A4C2A -:108F60000FCC03930292019100900FCC07930692CD -:108F700005910490A268616820680A92099163498A -:108F8000009A0890203C68468A4205D1282103F0C7 -:108F9000BBFB0A9988420DD000970197029703976F -:108FA00004970597069707970897099758A00A9777 -:108FB00003F0A8FC64A17068FFF77BF9002804D0D7 -:108FC00070680178622908D02BE0012D03D0022DB2 -:108FD00001D05FA0BFE701953BE04178312902D085 -:108FE000322902D01DE002AF00E006AF60A1801C74 -:108FF000FFF75FF9002816D070685FA1801CFFF7AB -:1090000058F900281AD070685DA1801CFFF751F94B -:1090100000281BD070685BA1801CFFF74AF900286C -:1090200016D059A097E75E48854205D041208004BC -:10903000854201D05BA08EE73D600AE00720C003B7 -:10904000854201D963A086E77D6002E0BD6000E053 -:10905000FD602A4668A0716803F0EEFB6F4E6D4616 -:109060003078002803D101F027FA0120307027481A -:1090700000902821284603F047FB0A90204601F083 -:1090800009FA00280DD12C222946204601F030FA99 -:10909000002806D12C2221462846FFF722F9002875 -:1090A00001D05FA057E763A003F02CFC684603F0F3 -:1090B00015F90DB0F0BD000075736167653A206267 -:1090C00073736574203C6669656C643E203C766110 -:1090D0006C3E0D0A0000000020206669656C643A51 -:1090E00020616374697665203C317C323E0D0A0054 -:1090F0008C29010162737365743A20626164207681 -:10910000616C75650D0A00000040000111C011CAB4 -:1091100062737365743A206578697374696E672049 -:109120007265636F726420696E76616C69642C206D -:1091300072656275696C642066726F6D207363720C -:10914000617463680D0A00006163746976650000EC -:1091500062737365743A20616374697665206D7516 -:1091600073742062652031206F7220320D0A000076 -:10917000616464720000000073697A650000000099 -:10918000637263007665720062737365743A20756A -:109190006E6B6E6F776E206669656C640D0A0000F9 -:1091A0000080000162737365743A20616464722008 -:1091B0006D7573742062652030783031303038300E -:1091C0003030206F722030783031303430303030F1 -:1091D0000D0A000062737365743A2073697A652022 -:1091E00065786365656473203232344B4220626176 -:1091F0006E6B0D0A0000000062737365743A2025DF -:1092000073203D2030782530386C582C20777269D7 -:1092100074696E672E2E2E0D0A0000008A4700200A -:1092200062737365743A20666C6173682066616965 -:109230006C0D0A0062737365743A206F6B20287698 -:1092400065726966696564290D0A000000B583B01E -:10925000002103200B46012201910090920203A1FC -:10926000034808F011F903B000BD0000434C490069 -:10927000C194000110B50A480078002801D009A166 -:1092800000E00AA10EA003F0D7FA114C11A0218929 -:1092900003F0D2FA1AA0E16803F0CEFA10BD000084 -:1092A0008847002076616C6964000000646566612F -:1092B000756C7420286E6F74207361766564290064 -:1092C000706172616D733A2025730D0A0000000011 -:1092D000845C002020206C6564203D2025752020C2 -:1092E000286C65643120626C696E6B2068616C6605 -:1092F00020706572696F642C206D73290D0A00005F -:10930000202070776D203D20256C752020287077F7 -:109310006D20647574792C202525290D0A00000024 -:10932000F8B50D46032807DA24A003F0EBFA2BA0CA -:1093300003F0E8FA35A01EE00020AE680246009077 -:1093400069463046FEF7F2FF04460098B04202D06C -:109350000078002801D034A00DE038A16868FEF73D -:10936000A8FF374E002809D036A16868FEF7A1FF94 -:1093700000280ED034A003F0C5FAF8BD20463949C4 -:109380003238884203D3384A322138A012E034817F -:1093900007E0642C04D9642139A003F04DFAF8BD2C -:1093A000F46006F085FA002801D03AA0E3E72246EF -:1093B0003EA0696803F040FAF8BD0000757361676C -:1093C000653A20617070736574203C6C65647C70D4 -:1093D000776D3E203C76616C3E0D0A0020206C6566 -:1093E00064203D206C65643120626C696E6B20687E -:1093F000616C6620706572696F642035302E2E3185 -:1094000030303030206D730D0A000000202070775E -:109410006D203D2070776D206475747920302E2E7C -:1094200031303020250D0A006170707365743A2068 -:109430006261642076616C75650D0A006C6564007C -:10944000845C002070776D00756E6B6E6F776E2098 -:10945000706172616D20286C65642C2070776D29B5 -:109460000D0A0000DF260000102700006C65642054 -:1094700072616E67652025752E2E25750D0A000018 -:1094800070776D2072616E676520302E2E25750D08 -:109490000A0000006170707365743A20666C617335 -:1094A00068206661696C0D0A000000002573203D8C -:1094B00020256C752C2073617665640D0A00000010 -:1094C000002498B0F4A725461594661E38461294D9 -:1094D000FEF7E8FE81B2384603F0CAF80027FF43E2 -:1094E0003946684603F024F80028F7D0159800287C -:1094F00005D000211591694609788142EED0129875 -:1095000001281FD0022826D0684600781B287DD06D -:1095100009287CD00D287BD00A287AD0082879D059 -:109520007F2877D0014620395F29D7D23F2C72D2CD -:10953000E5490855641CA4B20121684603F098F877 -:109540002546CBE7684600785B2802D000201290C1 -:10955000C4E70220FBE7002012906846007841280B -:1095600016D04228BAD1002EB8DB761E57D4D74881 -:109570004078801BC01DC117490F0918C908C900D0 -:10958000401A8101D24809184038FEF7B7FE49E079 -:10959000CE48711C02789142A0DA4078761C801B7C -:1095A000C01DC117490F0918C908C900401A810117 -:1095B000C74809184038FEF7A1FEC3480290FEF7DD -:1095C00071FE87B2C3A42046FEF76CFE81B220462E -:1095D00003F04EF80024002D0BD9C1A00190FEF736 -:1095E00061FE81B2019803F043F8641CA4B2AC425E -:1095F000F3D3B8A42046FEF755FE81B2204603F00F -:1096000037F8002F34D03946029805E036E038E0CC -:10961000E2E0E3E029E136E103F02AF828E0AA4994 -:1096200000200870A8480290FEF73CFE87B2A9A46B -:109630002046FEF737FE81B2204603F019F80024D9 -:10964000002D0BD9A6A00190FEF72CFE81B2019847 -:1096500003F00EF8641CA4B2AC42F3D39DA42046E0 -:10966000FEF720FE81B2204603F002F8002FCAD197 -:109670003D469548FEF716FE84B22FE70120129072 -:109680002CE702F0D3FF904800252F46019003F00D -:109690006AF81390224620210198FEF718FE002850 -:1096A00060D1019908551399149000295AD914983A -:1096B00003F05CF8224616900199FEF728FE002878 -:1096C00019D1002F0AD102A81699FEF717FE02A899 -:1096D000FEF7E8FD85B20DE06D1EADB2A54206D9DC -:1096E0002A4602A81699FEF712FE0028F4D100209F -:1096F00002A948557F1C14981399401C1490884265 -:10970000D5D3002F64D0012F1AD0A5422BD902AF98 -:109710003F2C5DD2AC425BD23819012102F0A8FF88 -:109720000198395D0155641CA4B2F1E73819012193 -:1097300002F09EFF0198395D0155641CA4B200E05F -:1097400002AF3F2C44D2AC42F0D301982021015506 -:10975000641C63A5A4B22846FEF7A4FD81B2284686 -:1097600002F086FF34E05FA52846FEF79BFD81B23C -:10977000284602F07DFF1398002500281CD92846B2 -:1097800002F0F4FF074622460199FEF7C0FD0028CB -:109790000ED13846FEF786FD81B2384602F068FFEA -:1097A00051A73846FEF77EFD81B2384602F060FFD1 -:1097B00013986D1C8542E2D34AA52846FEF772FD38 -:1097C00081B2284602F054FF2146019803F04AF87E -:1097D000254602F03BFF81E60A2000E00D201590AF -:1097E00002F024FF3FA52846FEF75CFD81B2284623 -:1097F00002F03EFF3449002008550D462878002825 -:109800001FD0324C207800280AD06078C01D400755 -:10981000C10D2F4808182946FEF74BFD002810D02F -:10982000607881012A4808182946FEF767FD6078AC -:10983000401C4007400F60702078082801D2401C6F -:109840002070002003F058F81F4802F09BFF1CA472 -:109850002046FEF727FD81B2204602F009FF02F004 -:10986000F5FE002425463E4638E6002CB3D0641EA3 -:109870001EA5A4B22846FEF715FD81B2284602F0C7 -:10988000F7FE25462AE61AA73846FEF70BFD81B2F9 -:10989000384602F0EDFE21E60D0A434C4920726580 -:1098A0006164792E2054797065202768656C702773 -:1098B00020666F7220636F6D6D616E64732E0D0A8A -:1098C00063616969632D3E00A05000204447002079 -:1098D000E05000200D63616969632D3E00000000C7 -:1098E000200000000D0A00002020000008200800D1 -:1098F0000700000010B50C46022812DB0EA16068BC -:10990000FEF7D7FC002809D00CA16068FEF7D1FC57 -:10991000002804D00AA002F0F5FF10BD012001F0DC -:10992000B3FE01F0ABFE002801D003A100E003A1CB -:109930000AA002F081FF10BD6F6E00006F66660026 -:1099400075736167653A20626C656C6F67205B6F49 -:109950006E7C6F66665D0D0A00000000626C65201B -:109960006C6F673A2025730D0A000000F8B502F00D -:1099700017F9074602F010F90546224A22A125A050 -:1099800002F05AFF2A48874203D12AA002F0BAFF08 -:1099900015E000F023FF044602F056F906460A21BE -:1099A0003846FEF705FC0A460146002C01D0A069A6 -:1099B00000E000200090334626A002F03DFF02F0B8 -:1099C0005FF901462DA002F037FF3048854203D1F0 -:1099D0002FA002F097FF03E0294635A002F02CFFEC -:1099E00007F01EFE7D21C900FEF7CCFB014634A026 -:1099F00002F022FF07F00EFA014635A002F01CFF2C -:109A0000F8BD00000D00010056312E30302E3133EC -:109A1000000000006669726D776172653A202573F7 -:109A2000202830782530386C58290D0A00000000B5 -:109A3000FF7F0000636869702074656D703A204193 -:109A4000444320726561642074696D656F75740D9F -:109A50000A000000636869702074656D703A202503 -:109A6000642E2564204320286164633D257520749D -:109A700072696D3D256C75290D0A00007664643AA3 -:109A8000202575206D560D0A00000000FFFF000024 -:109A900066616E2072706D3A206E2F6120286E6FA5 -:109AA00020746163686F6D65746572290D0A00002A -:109AB00066616E2072706D3A2025750D0A000000F7 -:109AC000757074696D653A20256C7520730D0A00F8 -:109AD0006672656520686561703A20257520420DC3 -:109AE0000A00000002F00CFA00280DD007A002F0D6 -:109AF00009FFC82007F052F8BFF34F8F11491048F3 -:109B0000C860BFF34F8FFEE70FA0F0E76661637494 -:109B10006F72793A20666C61736820777269746538 -:109B2000206661696C65642C207265736574746964 -:109B30006E6720616E797761792E2E2E0D0A0000F6 -:109B40000400FA0500ED00E0666163746F7279202D -:109B500064656661756C747320726573746F726589 -:109B6000642C20726573657474696E672E2E2E0DD9 -:109B70000A00000070B5194D0E46022819DB0024BA -:109B80000C20604329587068FEF793FB002807D02B -:109B9000641C0E2CF4D312A0716802F04DFE70BD4F -:109BA0000C20444360194268295916A002F044FE73 -:109BB00070BD17A002F0A6FE002420460C214843E9 -:109BC00041194A6829580FA002F036FE641C0E2C79 -:109BD000F3D312A002F096FE70BD000050250101E3 -:109BE000756E6B6E6F776E20636F6D6D616E643A2C -:109BF0002025732028747279202768656C702729C6 -:109C00000D0A00002020252D38732025730D0A0031 -:109C1000636F6D6D616E64733A0D0A006B657973E5 -:109C20003A20544142203D20636F6D706C6574652D -:109C30002C2055502F444F574E203D206869737497 -:109C40006F72790D0A00000070B50C46032823DB03 -:109C500060680178312902D0322906D01CE04078B2 -:109C6000002819D1184E012504E04078002813D1AE -:109C7000164E402516A1A068FEF71BFB00280FD04A -:109C800014A1A068FEF715FB00280ED012A1A06851 -:109C9000FEF70FFB00280DD011A002F033FE70BDBF -:109CA0002946304600F050FB08E02946304600F0D7 -:109CB00047FB03E02946304600F018FB11A0A268DC -:109CC000616802F0B9FD70BD000C01400008014060 -:109CD0006F6E00006F666600746F67676C650000EA -:109CE00075736167653A206C6564203C317C323E57 -:109CF000203C6F6E7C6F66667C746F67676C653E38 -:109D00000D0A00006C656420257320257320646FA4 -:109D10006E650D0A0000000006A002F0F3FDC820E9 -:109D200006F03CFFBFF34F8F07490648C860BFF3FA -:109D30004F8FFEE7726573657474696E672E2E2E01 -:109D40000D0A00000400FA0500ED00E010B507F070 -:109D500067FC7D210446C900FEF714FA024621463D -:109D600010A002F069FD06F04BFE014614A002F0BF -:109D700063FD07F055F8044607F04CF8024605214C -:109D80002346090311A002F057FD1DA002F0BAFD01 -:109D9000274900200870084606F020FF244802F0FA -:109DA000B1FD10BD757074696D653A20256C752024 -:109DB0007469636B732028256C752073290D0A0064 -:109DC0007461736B733A2025750D0A0068656170C4 -:109DD0003A20746F74616C20257520422C206672C5 -:109DE000656520257520422C206D696E206576659D -:109DF00072206672656520257520420D0A000000FC -:109E00006E616D6520202020202020202020202031 -:109E100020737461746520207072696F20207374E0 -:109E200061636B28772920206E756D0D0A00000094 -:109E3000C04E002010B506A002F064FDE1214902E9 -:109E40000BA002F0F9FC16A002F05CFD10BD0000B2 -:109E50007573617274313A2054583D504236205225 -:109E6000583D5042372028414634290D0A00000051 -:109E7000626175643A20256C752C20382064617409 -:109E80006120626974732C206E6F20706172697436 -:109E9000792C20312073746F70206269740D0A0070 -:109EA000666C6F7720636F6E74726F6C3A206E6FA2 -:109EB0006E653B2074783A20444D41204348312060 -:109EC00028706F6C6C6564293B2072783A20525878 -:109ED000444E45206972712071756575650D0A00E3 -:109EE00010B5E1246402204602F068FB214602A07E -:109EF00002F0A2FC10BD00007573617274207265DF -:109F00007365743A20256C7520384E312C20727898 -:109F100020717565756520666C75736865640D0ADA -:109F20000000000010B506A108A002F085FC0DA0FD -:109F300002F0E8FC1948016819A002F07DFC10BD90 -:109F400056312E30302E3133000000006669726DBC -:109F5000776172652076657273696F6E3A2025733A -:109F60000D0A00006D636D2D6464632D626C653AAB -:109F700020424C4528726474737329202B2046724A -:109F8000656552544F53202B205541525428444D5F -:109F90004129202B20434C490D0A0000004000209D -:109FA00053797374656D436F7265436C6F636B2097 -:109FB0003D20256C7520487A0D0A000048607047E6 -:109FC00001681A4A1140016000210160416081600E -:109FD000C160174A1749904204D148680F221043C4 -:109FE00048607047144A904204D14868F0221043F8 -:109FF00048607047114A904205D148680F2212020A -:10A000001043486070470E4A904205D148680F22BD -:10A0100012031043486070470A4A9042FBD14868D7 -:10A020000F2212041043486070470000FEFF00003A -:10A0300008000240000002401C00024030000240C4 -:10A0400044000240580002400029016802D0012269 -:10A05000114301E0014A114001607047FEFF00001A -:10A06000024609680020114200D00120704700001C -:10A0700030B403680D4A0C6A13408A684D69224364 -:10A080000C692C4322438C692243CC6922434C6ADD -:10A0900022438C6A22431A430260CA6842600A68FB -:10A0A00082604968C16030BC704700000F80FFFFCC -:10A0B000002B01D010617047002010617047000034 -:10A0C000014948617047000000040140054B00222F -:10A0D00019685B690140034202D0002900D00122C7 -:10A0E000104670470004014010B483791949026892 -:10A0F000002B28D00B6893430B604A6803689A438F -:10A100004A600279521813680468234313608A680E -:10A1100003689A438A60CA6803689A43CA604279AE -:10A12000102A06D051180A68006802430A6010BC61 -:10A1300070478A6803681A438A60CA6800680243E5 -:10A14000CA6010BC704700794018016891430160F3 -:10A1500010BC7047000401400B680022002B56D051 -:10A16000F0B401240B68944023424AD04B68022B80 -:10A1700001D0122B16D113070AD5456A5307DB0EFF -:10A180000F269E40B5434E699E402E43466209E02D -:10A19000056A5307DB0E0F269E40B5434E699E406D -:10A1A0002E4306624B68012B05D0112B03D0022BE6 -:10A1B00001D0122B06D14568DB06DB0FA543934087 -:10A1C0002B4343600568530003279F400E79BD432E -:10A1D000B607B60F9E402E430660C5688E68BD4325 -:10A1E0009E402E43C66085680126A543CC689440F6 -:10A1F0002C438460C46A9E400D69B4439D4025434E -:10A20000C5620B68521CD340ABD1F0BC704770479D -:10A2100005490160002242600F21826041610121F5 -:10A220000261C16070470000FF3F0000816270471B -:10A230008161704742694A404261704782B0EFF3E2 -:10A240000884FDF753FF400701D5EFF309840AA006 -:10A2500000F084FBE06800900CA0A36862682168AD -:10A2600000F07CFBE069009014A0A3696269216999 -:10A2700000F074FBFEE700000A2A2A2A20486172D7 -:10A28000644661756C74202A2A2A0A005230202004 -:10A290003D2530386C5820523120203D2530386C17 -:10A2A0005820523220203D2530386C58205233201F -:10A2B000203D2530386C580A000000005231322011 -:10A2C0003D2530386C58204C5220203D2530386CCC -:10A2D0005820504320203D2530386C58207850536A -:10A2E000523D2530386C580A0000000010B5FFF7C9 -:10A2F000A1FF10BD30B505460E4887B00C4685421B -:10A3000002D10121042004E00B48854210D1012133 -:10A31000082000F021F90948844209D86846FFF76F -:10A3200077FF01200190694600942846FFF714FF4B -:10A3300007B030BD00080140000C0140FF3F0000A5 -:10A3400010B5FFF773FF10BD10B5FFF771FF10BD1B -:10A3500010B400214156FF23CAB29207D40E4278AE -:10A36000A3409207120EA24000290BDA0907090F39 -:10A3700008398C081049A4006118CC699C43144327 -:10A38000CC6107E08C080D49A40061180C689C435F -:10A3900014430C60827801210078002A04D0C006A2 -:10A3A000C00E8140064803E0C006C00E814005484B -:10A3B000016010BC7047000000ED00E000E400E028 -:10A3C00000E100E080E100E0F7B5FFB004460025C1 -:10A3D000A5B00520EFF31087FF210090453102A8BA -:10A3E000FDF755FFEFF31086FF21453153A8FDF728 -:10A3F0004EFF53A8013001909822224953A8FDF73F -:10A400002DFF012080F310880198804786F3108883 -:10A4100001221D49120303265300360388420AD144 -:10A4200094421AD09C4201D1151116E0B44210D1C9 -:10A4300001256D0211E0154988420AD1944201D1EB -:10A4400015460AE09C4201D11D4606E03546AC4265 -:10A4500003D000987FB028B0F0BD06ACFF220134D5 -:10A4600041320B4902A8FDF7F9FE012080F3108864 -:10A470002846A69AA599A04787F310887FB028B0F0 -:10A48000F0BD00004C1A0101C440130085601300A8 -:10A490000C19010110B5EFF31084012181F310882C -:10A4A000FF210906401803490968884784F310888A -:10A4B00010BD00000440002010B5084806490160A6 -:10A4C0000749416007498160C9229200064907484F -:10A4D000FDF7C4FE10BD0000C1480020044000206C -:10A4E0005549002029480020F01A01012048002089 -:10A4F00010B5EFF31084012383F31088FF231B06AC -:10A50000C018034B5B68984784F3108810BD0000A7 -:10A5100004400020034AD16A102399430143D162C9 -:10A520007047000000100240044A0029516901D020 -:10A53000014300E081435161704700000010024078 -:10A54000044A0029916A01D0014300E081439162ED -:10A550007047000000100240044A0029916901D0B0 -:10A56000014300E081439161704700000010024008 -:10A570000122054912060128086802D090430860AC -:10A5800070471043FBE700000010024030B4164A49 -:10A59000516804231940154B01D0042901D00360F0 -:10A5A00001E0134901605168124B8906890F5B5C19 -:10A5B0000168D940416053680F4C5B055B0FE35C59 -:10A5C0000D46DD40856053689B045B0FE35CD9401A -:10A5D000C160D16AC90601D5084901E07D21C903DE -:10A5E000016130BC70470000001002400090D003B1 -:10A5F0000048E801E41A0101E81A010100093D00E0 -:10A600007047000010B5FDF787FD044607F00EF80F -:10A61000002803D001200349000748602046FDF7C9 -:10A620007FFD10BD00ED00E010B50A4C2069411C13 -:10A6300001D000280AD10120064934220003FFF787 -:10A64000C3FE2069411C03D0002801D0024810BD80 -:10A65000002010BDEC47002015480020F0B5564CF6 -:10A6600085B0E06921040843E0618120534D000674 -:10A67000286353486861534828625348032201689D -:10A68000920391430160514934228014FFF79CFEEC -:10A690004E4B4F4E18694F4F411C29D0002827D0F0 -:10A6A000A9691A7849094901D206D20E0A43AA615A -:10A6B0002168EA139143216021687F2212029143AD -:10A6C0000002084320606068304360606068B843FF -:10A6D00060606068211508436060206A3E49084058 -:10A6E0002062206AD96809020843206205B0F0BDE3 -:10A6F00061682046314361606168B94361606168A7 -:10A700000127BF0239436160002104917D21C90006 -:10A710000391002100917F214024002502950191A1 -:10A72000026861028A4302600E11234908687F2291 -:10A7300012029043220202430A600520FDF7CEFC7C -:10A740000120FDF7CBFC1C48406B800704D4284651 -:10A7500003996D1C8842F3D91748C06B80B2B04290 -:10A7600001D9811B00E0311AB94202D2E2B28FB2A4 -:10A770000292B04201D3019400E00094019A009843 -:10A780008018C005000EA04203D004460498814200 -:10A79000CBD8094801687F2212029143029A120223 -:10A7A0000A4302604168490849004160416849071D -:10A7B000FCD405B0F0BD0000001002400070004065 -:10A7C0000F0800001800020000100140EC470020B4 -:10A7D0000000010000070000FF00F8FF10B50A4C60 -:10A7E0002069411C01D000280AD1012006493422E9 -:10A7F0000003FFF7E9FD2069411C03D0002801D0C8 -:10A80000014810BD002010BDEC47002010B501F03C -:10A81000ABFE10BD10B40B06CC065B0FE40E01219D -:10A82000A140012B07D0022B07D01430002A026868 -:10A8300005D00A4304E00C30F8E71030F6E78A430D -:10A84000026010BC704700000029818903D00122FA -:10A850005203114301E0024A114081817047000018 -:10A86000FFDF0000002A828A01D00A4300E08A4309 -:10A87000828270470246128800200A4200D00120DE -:10A88000704770B40A06530FCE060125F60E2A460D -:10A890000024B240012B0FD0022B10D0838A13402A -:10A8A000090A00888D402840002B02D0002800D0E3 -:10A8B0000124204670BC704783891340F0E7038A67 -:10A8C000EDE7000070B50446008A86B00D461B49CE -:10A8D0000840E98801432182A08919492A89084052 -:10A8E000A98811436A8902431143A181A08A1549AD -:10A8F0000840A9890143A1826846FFF747FE124834 -:10A90000844201D1039800E0029829681922890045 -:10A910005043FDF737FC06466421FDF733FC050183 -:10A92000280964214843301A00013230FDF72AFC1F -:10A930000007000F2843208106B070BDFFCF000044 -:10A94000F3E90000FFFC0000003801408088C005EA -:10A95000C00D7047C905C90D818070470FB410B58F -:10A9600003A9044B044A029800F008F910BC08BC83 -:10A9700004B0184705CD0001C40100200FB410B584 -:10A9800004A9074B02AA039800F0F8F8044602A9AC -:10A99000002000F09AFC204610BC08BC04B0184708 -:10A9A000CBB200017CB51546024600201C460029AA -:10A9B0000BD0491E00920191044B6A46214628465D -:10A9C00000F0DCF8009A002111707CBDB5B20001E6 -:10A9D0002021020C01D010211046020A01D010469D -:10A9E0000839020901D01046091F820801D010461B -:10A9F000891E420801D0881E7047081A704700005F -:10AA000000487047E8470020F0B51FB486B00998A9 -:10AA1000089A030D0021024314D05148514A1818D6 -:10AA2000504305141198012810981AD0281A401C78 -:10AA300000264D4F4D49009601910490002812DAEE -:10AA4000444211E01198012449A3012801D1109832 -:10AA5000C1430698119A84600360C26041600BB0E4 -:10AA6000F0BD4042E4E70446210500203F4A001CB7 -:10AA700051410391029012E0E00707D032463B4675 -:10AA800001990098FDF7D6FD0191009032463B46B2 -:10AA900010461946FDF7CEFD06460F466410002C01 -:10AAA000EAD10498039B0028029A0999089806DACB -:10AAB000FDF7C0FD019B009AFDF7BCFD05E0FDF729 -:10AAC00021FE019B009AFDF71DFE04460E46002262 -:10AAD000284BFEF749F803D80020C043014607E0A1 -:10AAE0000022254B20463146FDF7F2FCFDF7C0FE63 -:10AAF000102409E0002C0ADB0A220023FDF76CFB7E -:10AB0000079B30321A55641E02460A43F2D11122C5 -:10AB1000641C079B121B1C19119B012B03D00123E2 -:10AB200008430ED10AE0084304D011201090002001 -:10AB3000119077E71098151A6D1E0BE0109882425D -:10AB400002DD00236D1C03E0824201DA00236D1E4A -:10AB5000002BEED0069811998260C16030C07EE76C -:10AB600001FCFFFF104D0000000014400000F03F0A -:10AB7000300000000000F0430000E03FFFB597B058 -:10AB80000646002518E2252877D100242746FD49EE -:10AB9000049400E00443761C32780120203A90406F -:10ABA0000842F7D130782A280ED0022230780146A8 -:10ABB0003039092916D804990A23594330394018E5 -:10ABC0001443761C0490F1E7189802C80491189079 -:10ABD000002904DA01204003044348420490022083 -:10ABE0000443761C30782E2814D104200443707856 -:10ABF000761C2A2809D11898761C80C8189009E07C -:10AC00000A214F43303FC719761C3078014630394E -:10AC10000929F5D930786C2810D006DC4C281AD0D8 -:10AC200068280ED06A2817D104E0742813D07A2837 -:10AC300012D110E00120400504430CE00121090578 -:10AC400001E0032109050C437178814203D1012001 -:10AC500000052418761C761C3078119066280BD0DD -:10AC600013DC58287DD009DC00287BD04528F6D09D -:10AC70004628F4D047281AD1A5E118E0632835D03A -:10AC8000642870D0652812D19DE170286CD008DC52 -:10AC90006728F1D069287BD06E280DD06F2806D1A7 -:10ACA000BAE073282ED0752871D0782859D01A9A16 -:10ACB000199990476D1C7EE16002400F022809D06F -:10ACC00003280DD00428189801680DD00D60001DD0 -:10ACD000189070E11898EA1701680D604A60F6E76D -:10ACE000189801680D80F2E70D70F0E718986A4631 -:10ACF00001781172001D18900020507202A8009077 -:10AD0000012005E0189802C8189000200091C04367 -:10AD100061070DD5002101E00199491C0191B9425B -:10AD200012DA8142F8DB009A515C0029F4D10BE081 -:10AD3000002101E00199491C01918142FADB019A4D -:10AD40000099895C0029F5D1019904981A9B471A4A -:10AD500021463846199A00F097FA0199401945188A -:10AD60000BE04FE02CE113E04EE0009800990078F2 -:10AD7000491C00911A9A199990470198401E019018 -:10AD8000401CF2D1214638461A9B199A10E137E04F -:10AD90000A200021009001916002410F022907D092 -:10ADA000189A01CA1892C2179446032908D00AE0DB -:10ADB0001898C01DC108C90005C91891944607E03C -:10ADC00000B2C2179446042902D140B2C1178C4682 -:10ADD00000226146944506DA0A460021404291412C -:10ADE0008C462D2102E0210504D52B216A461173E2 -:10ADF000012103E0E10701D02021F7E7029155E0AE -:10AE00000A200AE0102008E0102000900021042011 -:10AE100004430191082703E00820002101910090DC -:10AE20006002410F022907D0189A01CA1892002225 -:10AE30009446032908D008E01898C01DC108C9002D -:10AE400005C91891944603E080B2042900D1C0B22C -:10AE500000210291210729D51199702906D0009A65 -:10AE60001021019B4A401A4305D00EE040216A465A -:10AE70001173012108E06146014306D030216A4682 -:10AE800011731199517302210291009A0821019BBB -:10AE90004A401A430AD16146014301D1610705D5F1 -:10AEA00030216A46117301217F1E029111995829A0 -:10AEB00004D035A10E910DA90D910DE037A1F9E750 -:10AEC0006146019B009AFDF787F90E9B8C469B5CBF -:10AED0000D9A521E0D92137061460143F0D10D98E8 -:10AEE00005A9081A20300190600703D5012000044D -:10AEF000844300E001270198874201DD381A00E011 -:10AF00000020019900904118029809180498401AED -:10AF10000490E00306D421461A9B199A049800F085 -:10AF2000B3F94519002706E003A81A9AC05D1999DC -:10AF300090476D1C7F1C02988742F5DBE0030CD51F -:10AF400021461A9B199A049800F09EF9451904E0CD -:10AF50001A9A3020199990476D1C0099481E00904C -:10AF60000029F5DC08E00D980D990078491C0D9139 -:10AF70001A9A199990476D1C0199481E0190002951 -:10AF8000F1DC63E1092801003031323334353637E2 -:10AF90003839616263646566000000003031323325 -:10AFA00034353637383941424344454600000000C5 -:10AFB00000F05AF94519761C3078002800D0E2E5F7 -:10AFC00028461BB0F0BD600700D406271898C01DA6 -:10AFD000C108C90048680A680831C30FDB07189127 -:10AFE000190001D09CA108E0210501D59BA104E036 -:10AFF000E10701D09AA100E09AA1430011985B08F3 -:10B00000109165280CD006DC452809D046281DD0B3 -:10B01000472841D141E0662818D067283CD13CE060 -:10B020000021112F01DB112000E0781C019100901C -:10B0300008A911A8FFF7E8FC139905910021119ABE -:10B0400015927F1C12980197009150E00120C007D3 -:10B0500003900120019008A9009711A8FFF7D4FCE4 -:10B06000139A149905920022119B0092129815933D -:10B07000059A0192002901D0104602E0791C40187F -:10B080000190381A01D5019804E04042401E00901A -:10B09000781C0190C01B029043E0012F00DA0127C9 -:10B0A0000021112F01DD112000E0384601910090B0 -:10B0B00008A911A8FFF7A8FC13990591119A00217E -:10B0C000129815920091019721070CD40599B94265 -:10B0D00001DB019900E00191012904DD159A491E67 -:10B0E000515C302906D0B84201DA011D05DA012190 -:10B0F000029115E00199491EEDE7002805DC009951 -:10B10000411800910199091A03E0019A411C9142EA -:10B1100000DD01910099401A401C02900120C007F7 -:10B120000390200706D402990198814202DB002097 -:10B13000C043029000206946C87707AF01210398F9 -:10B140000337C907884224D0022011902B20129087 -:10B15000039800280CDA404203902D20129007E05B -:10B160000A210398FDF70EF830317F1E03903970E5 -:10B170001199481E11900029F2DC03980028EFD1A4 -:10B18000791E129808703078202108404530BF1E83 -:10B19000387006A8C01BC01D0390109800780028C6 -:10B1A00000D00120019941180298C017091803988E -:10B1B00009180498401A401E0490E00306D4214662 -:10B1C0001A9B199A049800F05FF8451910980078B6 -:10B1D000002803D01A9A199990476D1CE00324D5D2 -:10B1E00021461A9B199A049800F04EF845191CE064 -:10B1F0000098002807DB00990598884203DD159820 -:10B20000405C199901E0199930201A9A90470098EA -:10B210006D1C401C00900298401E0290002804D132 -:10B220001A9A2E20199990476D1C0199481E019079 -:10B230000029DDDC05E038781A9A7F1C19999047BF -:10B240006D1C0399481E03900029F4DC21461A9BCB -:10B25000199A0498ACE600002D0000002B000000B5 -:10B260002000000000000000F8B5044600251E463E -:10B270001746880404D405E039462020B0476D1CE9 -:10B28000641EF9D52846F8BDFFB50446002581B0F7 -:10B290001E46C80301D5302700E02027880404D5C6 -:10B2A00005E038460399B0476D1C641EF9D5284661 -:10B2B00005B0F0BD4A68002A06D00A68531C0B602E -:10B2C00010704868401E486070470A68531C0B6045 -:10B2D0001070704700B599B060216846FCF7D7FF41 -:10B2E000042008AAD07012A0006801900B2010AAB8 -:10B2F000D070024610A109A8FCF7B0FF002010AAE8 -:10B30000107101215171D071917190731175D082BA -:10B31000A02010839176B42090831920C001D0839F -:10B3200008480090684603F0F3F919B000BD00002A -:10B3300003160A18000000000AFFFFFF4E6174693F -:10B340006F6E730049B300017047000010B54021D3 -:10B350000848FEF7F9FF08490020087000F08EF950 -:10B36000002802D005A0FFF7F9FAF72003F044FB0C -:10B3700010BD000000080140374700205B424C45EB -:10B380005D20636F6E6E65637465640D0A00000076 -:10B3900010B503F0E1F900F07FF940210648FEF70F -:10B3A000CFFF06490020087000F068F9002802D09D -:10B3B00003A0FFF7D3FA10BD000801403747002073 -:10B3C0005B424C455D20646973636F6E6E656374A8 -:10B3D00065642C206164766572746973696E672098 -:10B3E0007265737461727465640D0A0010B58CB077 -:10B3F0000024009401940294039404940594069408 -:10B400000794089409940A94FFF70EF9002804D0D1 -:10B41000014601A8FDF708FC07E012A001886A4672 -:10B4200091804188D180808810816946CC704C81A0 -:10B430000A20887012220A7303A80CA10130FCF7BD -:10B440000DFF0C206946088418204884FF208C8456 -:10B45000F530C8840A480885684603F01BFA0CB02A -:10B4600010BD0000010203040506000043414949E4 -:10B47000432D4D434D2D32303236303930320000BD -:10B480008813000000B583B00D4900910D490020DC -:10B490000191029069460872684603F0FFFAFFF7CF -:10B4A000A5FF00F033FAFFF715FF074803F09CF8FB -:10B4B000064803F099F803F04FF903B000BD00000F -:10B4C000D1B4000145C1000139BA00012DBF00010E -:10B4D0000178012928D070B50025144E144C02299A -:10B4E00012D003290FD103F037F900F0D5F840212D -:10B4F0003046FEF725FF257000F0C0F8002802D086 -:10B500000C48FFF72BFA70BD40213046FEF71CFFB8 -:10B51000257000F0B3F8002802D00748FFF71EFAA4 -:10B52000F72003F069FA70BD704700000008014081 -:10B5300037470020C0B300017CB30001F8B50646D0 -:10B54000244F0020388178810124481E0D463E2872 -:10B5500014D80A4631462048FCF780FE1E490020D8 -:10B5600048551E4801F0C8F91B4801F00BF9044684 -:10B57000002001F0C1F9388900280CD1002C12D02C -:10B5800017A00090FCF78EFE84B22246194800995D -:10B59000FCF764FE3C81B878002819D016A0FFF7AC -:10B5A000DDF900240CE019A0EBE7315D08462038F6 -:10B5B0005F2800D32E2117A0FFF7D0F9641CA4B296 -:10B5C000AC4201D23F2CF0D3398913A0FFF7C6F962 -:10B5D000F8BD00004C470020E0540020CDC8000119 -:10B5E000756E6B6E6F776E20636F6D6D616E640D3F -:10B5F0000A0000005B5800205B424C455D20636CF4 -:10B600006920657865633A20220000006F6B0D0A9F -:10B61000000000002563000022202D3E20257542F9 -:10B62000207273700D0A000030B40C49098E18297D -:10B6300002D3891E8AB200E01422094C094D6389A5 -:10B640002189ED18C91A89B2914200D911465A18B8 -:10B6500062810180284630BC70470000904D002078 -:10B660004C4700205B580020034800210170818076 -:10B67000C1804170704700004C470020014880782D -:10B68000704700004C470020002800D001200149ED -:10B69000887070474C47002010B50549002008709D -:10B6A0008880488100F0EEFD00F05EFB10BD0000D8 -:10B6B0004C470020F3B583B00498002400287AD9C1 -:10B6C0005B4802905B4A03981178005D002904D022 -:10B6D00001290BD002291AD122E0CA286CD156497F -:10B6E0000870012090800521D18017E0524B91888D -:10B6F0005854491C88B2908005285DD10298417841 -:10B7000003780802FF211843E131884203D9002061 -:10B710001070908084E0C01DD080022010707FE007 -:10B72000444A454B91885854491C88B29080D1882E -:10B73000884275D102980022417800780D020543B5 -:10B740003E488446E81C86B23D48002E14D93D4F41 -:10B750006146895C090248400021030402D540008B -:10B76000784000E04000491CC9B280B20829F4D3F7 -:10B77000521C92B2B242EBD32F4E71198A794B7997 -:10B7800011021943884247D17778B078019029484F -:10B79000761D8078002806D03346009539462AA0C9 -:10B7A000019A04F013FA112F2AD006DC012F09D0D8 -:10B7B000102F31D124E039E032E0122F20D0202F99 -:10B7C0002AD124E001273F2D11D82A4631461F48AF -:10B7D000FCF744FD1D49002048551D4801F08CF838 -:10B7E0001A4800F0CFFF0746002001F085F86846B0 -:10B7F000077001236A460320019900F02BF80BE043 -:10B800002B4632463846019900F0BAFA04E02A463F -:10B810003146019800F0F2F906480021017081805C -:10B82000641C0498A4B2844200D24BE705B0F0BD7A -:10B83000635500204C4700206055002061550020D2 -:10B84000FFFF00002110000052580000205500208A -:10B8500095FB0001FFB5D81D80B283B01D46019055 -:10B86000FB2803D90020C04307B0F0BD214CCA20FB -:10B870002070039860700498A070280AE570207109 -:10B88000002D04D02A46601D0599FCF7E7FCE81C52 -:10B8900083B2194F19480024002B13D9184E395D73 -:10B8A000090248400021020402D54000704000E037 -:10B8B0004000491CC9B280B20829F4D3641CA4B268 -:10B8C0009C42ECD30B4949194871000A88710D4814 -:10B8D0008078002806D000950BA0059B049A039958 -:10B8E00004F074F90348019900F0D4FC002007B07B -:10B8F000F0BD00006057002061570020FFFF0000EE -:10B90000211000004C4700205458000000B587B0BB -:10B91000002001900090039004906A4606901073F6 -:10B920000C49029105219170032313701023D370E9 -:10B930005070107101235371907150730648059037 -:10B940007D20917300011082104603F06DFD07B059 -:10B9500000BD000040E2010000B0030110B5024844 -:10B9600003F00AFB002010BD344E00202F48007960 -:10B9700000285AD1F8B56D202C230322072140015D -:10B980000CF4DAD0A0210446017029480027C178C0 -:10B99000617027710321E1806772012666710721BA -:10B9A000244D2177A9796177687B002803D0E7804F -:10B9B000032060710EE0E87900280BD0A8790228F6 -:10B9C00000D166772671E6802046A9792030417043 -:10B9D0008670077015488079022804D0032815D096 -:10B9E00004281BD116E003F011FD00280BD0052020 -:10B9F000E0806771688A6061688AA06120460A30C9 -:10BA000003F032FB0AE0094903208871288B60614A -:10BA1000288B02E0E88B6061E88BA0610348067127 -:10BA2000467120460CF4C4D0F8BD7047904D0020FC -:10BA3000144E0020804E002010B584B00A2303224B -:10BA4000072110480CF478D01B21017000214170AF -:10BA50001424448003228280C1800B4A02810CF4AA -:10BA6000A7D06846048009480190684602F0DEFFCE -:10BA7000684604810648039002A803F0E9FF04B079 -:10BA800010BD00001B0D0000FF0100002424010177 -:10BA900069CA0001FFB585B0054602A800901C46A2 -:10BAA0002846069903F00AFD6846007A002866D009 -:10BAB00006980090280A334A019403900E2826D055 -:10BAC000314800240178002951D92F48E100081895 -:10BAD000828803998A4240D1009A81689646019AE9 -:10BAE000284694460A791206120E36D00968254B6C -:10BAF000D700083FCE1937887668BFB2874201D099 -:10BB00009F4226D1634603227146B04725E01F4974 -:10BB1000681809282BD800981D49844608792E46B4 -:10BB200000062346000E1ED0C4000F68083C3C19D6 -:10BB300027886468BFB2B74201D0974204D103227C -:10BB400061462846A0470EE0401E0006000EEBD1DD -:10BB500009E0521E1206120ECAD10B48641C00786E -:10BB6000E4B2A042B1D86846007A002807D009485C -:10BB7000426C002A02D0284606999047002009B05E -:10BB8000F0BD0000FFFF00003C4D0020EEF1FFFF84 -:10BB9000741F0101904D002000487047FFFF000016 -:10BBA00070B5124D01212846FDF77EF9142004F0EE -:10BBB000F5FF702002F01AFA702002F017FA04461E -:10BBC00000212846FDF770F909484480094884425D -:10BBD00001D1401070BD2046FDF79CF80649FCF7E6 -:10BBE00039FCFCF72BFE00B270BD000000080240DB -:10BBF00084470020FFFF000000002041F0B5074609 -:10BC000000208BB015460E46002A04D0012D04D129 -:10BC10003178FF2901D10B4E06250024002D08D9CB -:10BC20000146325D684602F017FA641CA4B2AC42C9 -:10BC3000F6D303466A4639462120FFF70BFE0BB0C8 -:10BC4000F0BD0000F8250101014840887047000060 -:10BC50008447002070B506460020074D0446014683 -:10BC60002A5D064802F0F8F9641CA4B2062CF6D34B -:10BC70003080024870BD0000F82501015B5C0020A7 -:10BC800010B5602002F0B2F90449884201D10020C9 -:10BC900010BD6021FDF768F880B210BDFFFF000005 -:10BCA00010B503F02FF904480169002901D00420E0 -:10BCB0008847002010BD0000A04E002070B5224C27 -:10BCC000606B224DC00722D0A06B21497E220968FB -:10BCD0005143401A2988491E29804B21C900401828 -:10BCE0001C49884213D300202880206A4008400065 -:10BCF0002062194908680204930F184A01D0904342 -:10BD000000E0104308601648407F02F033FE2988A7 -:10BD100001200029216B07D0014321630522032163 -:10BD200010480CF4CBD10DE0FF22120291432163A5 -:10BD3000216B0522920211432163216B0143216390 -:10BD400003F0B2FB002070BD001002403447002019 -:10BD50008C000020B10400000010014000C0000071 -:10BD6000F04D0020010F00000448002101704161E6 -:10BD70008161C16101628162704700005847002003 -:10BD8000F8B514460D46102809D0112878D012288D -:10BD900004D11A462146284603F0A0FCF8BD0091C4 -:10BDA0000C2B04D0002301221021284664E02278C5 -:10BDB000E17810466278090612021043A278120454 -:10BDC000104308430502E0782D0A00062279054356 -:10BDD00010466279E17912021043A2790906120431 -:10BDE000104308430602E079360A0006064308209D -:10BDF00021180A7810464A78120210438A78C978C6 -:10BE000012041043090608430702E07A3F0A0006BD -:10BE100007431E481E494124A404884202D0A04280 -:10BE20000BD10C461B49281F88420DD30023032247 -:10BE30001021009803F028FDF8BD002302221021F4 -:10BE4000009803F021FDF8BD13484078002804D184 -:10BE5000FEF732FB1049012048700F4801210170A4 -:10BE6000002141618161C16101628162001DF0C0F8 -:10BE70000B460A461021009803F006FDF8BDFFE7C7 -:10BE80001A462146284603F07DFBF8BD00800001DC -:10BE900000800001FD7F03005847002000487047E4 -:10BEA000845C0020F8B5342211491248FCF7D6F919 -:10BEB000104C114F20680125104EB8420BD160681C -:10BEC000012808D12046302100F01EFC216B884259 -:10BED00001D13570F8BD34210648FCF7D8F9FF20B0 -:10BEE0002760F530656020810020E0603070F8BD8B -:10BEF00000600001845C00207ADA12CA88470020C2 -:10BF000010B534210748FCF7C2F90648064901601C -:10BF100001214160FF21F53101810021C16003F061 -:10BF2000C7FC10BD845C00207ADA12CA10B584B058 -:10BF300014230322072112480BF4FED51B210170A4 -:10BF4000002141704724448003228280C1800D4A31 -:10BF5000C2600D4A02610B2202720BF429D66846B8 -:10BF600004800A480190684602F060FD684604813A -:10BF70000748039002A803F06BFD04B010BD000059 -:10BF80001B0D000044240101342401012C24010173 -:10BF90008103010100207047F8B5184D184FE8796A -:10BFA000002801D02E7B00E0FE780322331D0721FC -:10BFB00014480BF4C1D5A921044601701248C17878 -:10BFC000617000216180E8791049002803D02A7B44 -:10BFD000896C201D02E0FA78201D091DFCF73EF94E -:10BFE000608802218019608007480279062A00D003 -:10BFF0000171417120460BF4DBD5F8BD804E002065 -:10C00000604E0020A60D0000904D0020404E002004 -:10C01000F8B51F2623230322072128480BF48CD5CB -:10C020000446AA20264F2070F878264D6070E878E4 -:10C030006080EA782449201DFCF710F96288B01A64 -:10C04000C1B2201D1018214A0326032910D92B79CB -:10C05000002B0DD00670192343705389091F1B0A4A -:10C06000C370937A83706388C9B21B1D6380001DFF -:10C0700002291AD96B79002B17D0137B891E8B42AA -:10C0800000D21946CDB2691C0170117BA94201D1C1 -:10C09000092100E0082141702A460D49801CFCF767 -:10C0A000DDF86088AD1C401960803879062800D022 -:10C0B0003E717E7120460BF47BD5F8BDA60D0000C5 -:10C0C000904D0020804E0020644E0020144E002031 -:10C0D000214E002070B53A230322072116480BF4A5 -:10C0E0002BD5A421154D04460170E8786070A9791C -:10C0F00013480022022910D0032913D0042916D096 -:10C1000062802271807902F065F805202871042090 -:10C11000687120460BF44CD570BD018A64235943E5 -:10C120006180EEE7C18A642359436180E9E7818B2E -:10C13000642359436180E4E7A10D0000904D002085 -:10C14000804E002070470000FFB50F4683B00021ED -:10C150000091019116466946FCF76CFD040030D150 -:10C160000521C9026846FCF76BFD002828D121494A -:10C170006846FCF765FD002822D11F496846FCF798 -:10C180005FFD00281CD11D496846FCF759FD0028B9 -:10C1900016D1292109026846FCF752FD00280FD16B -:10C1A00017496846FCF74CFD002809D11549684637 -:10C1B000FCF746FD002803D100988088C10B03D00E -:10C1C0000624204607B0F0BD00050099000D0D18AB -:10C1D0006888B04200D207242988B819884201D95A -:10C1E0000D24EEE7A8193A46001D0699FCF736F82B -:10C1F0006F80E6E701280000032800000228000005 -:10C2000002290000032900001FF4CAD000F00EF834 -:10C21000012004F0C3FCF7E710B5034900200870C3 -:10C2200000F004F810BD000046470020124800212D -:10C23000007800281FD070B5104D86B028780028EF -:10C2400017D1A8886C88A04213D00D4E6A4680B2E0 -:10C25000A04209D0335C5354401CC005491CC00D9A -:10C2600089B2A8801429F2D301202870104604F066 -:10C270008BF806B070BD7047374700204647002056 -:10C28000E0520020024900204880888008707047F2 -:10C2900046470020F0B484460D480078002814D0AA -:10C2A0000022002911D90B480B4D878843881C4672 -:10C2B0005B1CDB05DB0DBB4207D06646B65C521C3F -:10C2C0002E5592B243808A42F0D3F0BC70470000F2 -:10C2D0003747002046470020E052002010B50446B2 -:10C2E00000681949884208D12046282100F00CFA3C -:10C2F000A16A884201D115A200E016A21B491CA028 -:10C3000000F09AFA21A0216800F096FA26A0616850 -:10C3100000F092FA2AA02369E268A16800F08CFA82 -:10C3200033A0616900F088FA37A0236AE269A16945 -:10C3300000F082FA2EA0616A00F07EFA3EA0A16AA7 -:10C3400000F07AFA10BD000011C011CA76616C6964 -:10C3500064000000494E56414C4944202862616403 -:10C36000206D616769632F637263290000400001DB -:10C37000626F6F7473657474696E672040203078E3 -:10C380002530386C583A2025730D0A0020206D6145 -:10C39000676963202020202020203D203078253030 -:10C3A000386C580D0A0000002020616374697665BE -:10C3B0005F62616E6B203D20256C750D0A000000E8 -:10C3C000202062616E6B313A20616464723D307886 -:10C3D0002530386C582073697A653D256C7520636B -:10C3E00072633D30782530386C580D0A000000002B -:10C3F0002020202020202020207665723D307825C6 -:10C4000030386C580D0A0000202062616E6B323AA1 -:10C4100020616464723D30782530386C582073692F -:10C420007A653D256C75206372633D307825303820 -:10C430006C580D0A00000000202063726333322024 -:10C440002020202020203D2030782530386C580DC9 -:10C450000A00000030B58DB001210820FEF77CF8FD -:10C4600001218803FEF778F802A8FDF7D1FE4020ED -:10C4700002900220284D0424039002A90794284624 -:10C48000FDF76AFE80210794029102A92846FDF774 -:10C4900063FEE12040020890002069468884C88439 -:10C4A000088588850C2048851C4D08A92846FEF77C -:10C4B00009FA01210846FEF737F8194C2046FDF726 -:10C4C0007FFD0123224617490220FDF7F1FD0122DD -:10C4D00080212846FEF7C6F900220121402004F001 -:10C4E000DFFC114C2060012004F0C8FC60600122D8 -:10C4F0000E492846FEF78EF91C2069460870032075 -:10C500004870012088706846FDF722FF0121284607 -:10C51000FEF79AF90DB030BD000C01400038014023 -:10C5200008000240000002403847002025050000B6 -:10C5300070B505460B480468002C0ED0481C0ED080 -:10C5400008467D21C9004843FBF71CFE02462946E8 -:10C55000204604F00CFE012800D0002070BD002011 -:10C56000C043F3E73847002010B582B00020104CDC -:10C5700000900E492046FEF784F9002814D020468A -:10C58000FEF7E4F9694608710A480068002804D0FB -:10C590000A46002301A904F0A3FD0098002803D057 -:10C5A000012005490007486002B010BD25050000C4 -:10C5B000003801403847002000ED00E030B5184D4C -:10C5C00085B0044640212846FEF754F90028F9D0EA -:10C5D00000212846FEF738F900206946009488803B -:10C5E000C880088188810C2048812846FEF76AF9B6 -:10C5F0000C4C2068002807D005F002F8022803D16F -:10C600000021206804F06EFC012207492846FEF74D -:10C6100001F901212846FEF717F905B030BD0000E9 -:10C6200000380140384700202505000010B5064CB1 -:10C630006068002807D004F0E3FF022803D1C11E80 -:10C64000606804F035FE10BD3847002010B5074C77 -:10C650006068002809D004F0D3FF022805D1002328 -:10C660001A461946606804F074FC10BD3847002073 -:10C6700000283FD000293DD0F0B51F4E0C4605469E -:10C680008BB000213046FDF7DFFC1C4F02203946FD -:10C69000FDF794FC1A4800901020029000208021A1 -:10C6A00005910490032101950394090306900790D6 -:10C6B000089009910A9069463046FDF7D9FC01219E -:10C6C0003046FDF7C1FC39460220FDF7C9FC0028C1 -:10C6D000F9D000213046FDF7B7FC39460220FDF7BE -:10C6E0006DFC084C40212046FEF7C4F80028F9D024 -:10C6F0000BB0F0BD7047000008000240000002408F -:10C700000438014000380140002230B4D243491EB1 -:10C710000FD3094C03785A400023401C5508D20718 -:10C7200000D022465B1C6A40DBB2082BF6D3491EC0 -:10C73000F0D230BCD04370472083B8ED02468B88DE -:10C740000020022B01D00D207047C988002A05D097 -:10C750000029F9D00129F7D0812070470029FCD0A9 -:10C760000229F9D170470E20704700000E2804D22C -:10C770000C214843024908587047002070470000C8 -:10C780005025010170B588B000246A46234616E0A2 -:10C79000401C01782029FBD00929F9D00906090E8F -:10C7A00012D0A1005050641C00E0401C0178002908 -:10C7B0000AD0202901D00929F7D10370401C017843 -:10C7C000002901D0082CE4DB002C14D0104E0025E9 -:10C7D00028460C21484331580098FBF76AFD002891 -:10C7E0000CD06D1C0E2DF3D30AA0009900F024F894 -:10C7F000012008B070BD002008B070BD0C2045437A -:10C80000A8198268694620469047002008B070BD8C -:10C8100050250101756E6B6E6F776E20636F6D6DC5 -:10C82000616E643A20257320287472792027686528 -:10C830006C7027290D0A00000FB410B503AB6021FE -:10C840000648029AFEF7AEF805490020C87703486B -:10C8500000F058F810BC08BC04B018474050002045 -:10C8600080500020F3B581B00D460198FBF71AFD0A -:10C87000144C86B22046FBF715FD81B22046FFF727 -:10C88000F7FE0024002D0BD90F4F3846FBF70AFDA9 -:10C8900081B23846FFF7ECFE641CA4B2AC42F3D37D -:10C8A000084C2046FBF7FEFC81B22046FFF7E0FE75 -:10C8B000002E03D031460198FFF7DAFE304603B070 -:10C8C000F0BD0000D4980001E098000130B40125CB -:10C8D000074B084CAD0203E06254491C1981401C0F -:10C8E0000278002A02D01989A942F5D330BC7047DA -:10C8F0004C4700205B580020014908607047000049 -:10C900004047002010B507490968002901D0884731 -:10C9100010BD0446FBF7C6FC81B22046FFF7A8FE17 -:10C9200010BD00004047002002460020802901D9A8 -:10C930008D207047062A06D0072A07D0082AF8D18A -:10C940000729F5D170470829F2D170470629EFD39E -:10C9500070477047704770B5C46805466068002826 -:10C9600003D00020002802D00CE00120FAE7201DAF -:10C97000FCF76CF90AF4D0D76068002808D00020D2 -:10C980000028F4D00020E86020460AF4C5D770BD26 -:10C990000120F5E730B40446A2890920521C93B265 -:10C9A000E48900222546D540ED0707D05D1C8D4265 -:10C9B00002D130BC104670479B1C9BB2521CD2B2B5 -:10C9C000092AEFD330BC7047FFB585B00E9D0446F1 -:10C9D0002F8801201E4600213A46CA40D20704D0C3 -:10C9E0004B0003225B1C9A401043491CC9B2092921 -:10C9F000F2D3049030461E210840218A184A0023B1 -:10CA00000191009302920390132304AA15490698FA -:10CA1000FCF722F9009000281FD1012114200BF40B -:10CA200005D00746E06006980188B9812988F98118 -:10CA3000F00701D00120C003079908433880208AFD -:10CA4000788014206082204600F060F8381DFCF7E2 -:10CA500009F9208A00210BF43FD1009809B0F0BDFC -:10CA6000341E01010A18000000487047CC1E010165 -:10CA7000FFB5087881B00C46092836D2142002F0A0 -:10CA8000B3FF0746217800F0EFF800282BD061783B -:10CA90002078FFF749FF060028D17D68002D0ED0D1 -:10CAA00020782979814207D12946381DFCF7E0F822 -:10CAB00028460AF431D702E02D68002DF1D16078C4 -:10CAC000012108300AF4B2D7054620782871607831 -:10CAD00068716278A11CA81DFBF7C0FB2946381DB0 -:10CAE000FCF7CCF802E0822600E08126022306480B -:10CAF000039A04990BF420D02178017046700BF44E -:10CB000057D0002005B0F0BD0114000010B5044658 -:10CB1000142002F069FF0449216003216181123071 -:10CB200060600120208110BDDC1E0101F8B51746B0 -:10CB30000C4610460BF4BED0012831D1142002F06F -:10CB400053FF0546017C00F08FF80646297C2278C9 -:10CB50001448914214D1697C637809023A46891DD0 -:10CB60009B1D0AF4E9D705460680002028716078ED -:10CB700068806278A11C681DFBF770FB284609E0FD -:10CB8000697C062309023A46891D0AF4D5D7068036 -:10CB9000802101710BF40CD0002138460BF49CD09D -:10CBA0000020F8BD140C0000F8B50F4600240978E9 -:10CBB0001846254609291DD20B007B441B79DB183A -:10CBC0009F440407101313130A160D00052414A51F -:10CBD00010E00A2414A50DE0082416A50AE0072495 -:10CBE00017A507E00A2418A504E0052419A501E00B -:10CBF00006241AA50146A31C1A480AF49DD7064626 -:10CC0000387830707470002C04D022462946B01C4D -:10CC1000FBF724FB30460AF4CBD70020F8BD000018 -:10CC20004E53494E470000004E532D424C452D3186 -:10CC30002E300000123456FFFE9ABCDE00000000C9 -:10CC4000025E044000000300312E302E302E302DC5 -:10CC50004C450000312E302E30000000FFEEDDCCC0 -:10CC6000BBAA00000314000010B48289C489521CBE -:10CC700093B200222046D040C00706D0914202D194 -:10CC80005B1C9BB205E09B1C9BB2521C52B2092A52 -:10CC9000F0DB092A02D010BC1846704710BC0020F7 -:10CCA0007047000070B5050005D0134E306885420E -:10CCB00003D1002070BD72B6FEE703F027FF6C6958 -:10CCC00003F030FF7068844202D0B068844201D122 -:10CCD000022070BD0948844204D1A86A0028F7D117 -:10CCE000032070BD0648844203D0002C01D00120EF -:10CCF00070BD042070BD00008C470020945D0020B2 -:10CD0000805D002070B50D4D04460A2809D10D2123 -:10CD10002846FDF71FFE80212846FDF7ABFD0028C1 -:10CD2000F9D0E1B22846FDF715FE80212846FDF72F -:10CD3000A1FD0028F9D0204670BD00000038014058 -:10CD4000F0B50878324F334D334E801E83B00C4619 -:10CD5000062859D201007944097949188F440225DF -:10CD60005434543A01203070A0786876A078C00717 -:10CD700005D02A492A48FBF757FF387AA874B28AA7 -:10CD8000002A06D0FF20F5307080032125480BF4DF -:10CD900095D1F169002937D000200090019005203D -:10CDA0006A461070684688472EE000246C7601F0D1 -:10CDB0005BFDF169002927D0009406206A460194A2 -:10CDC0001070684688471FE01722A11C1648FBF721 -:10CDD00045FA19E0B8780001C0194030807D00287C -:10CDE00012D11C22A11C1148FBF738FA0F48A18A66 -:10CDF0000182E18A4182218B8182618BC1820B4950 -:10CE0000608A0883207F6874002003B0F0BD0000B2 -:10CE1000904D0020D44C0020F04C0020994D002073 -:10CE2000E74C0020040F0000CE4C0020B44C002042 -:10CE3000F0B518460D46014685B0222303227448FA -:10CE40000AF47AD601210446417028780B286ED264 -:10CE500001007944097949188F4405CDCDCD6F6A19 -:10CE6000BB23CDCD6C0001202070607069488179B2 -:10CE700021710179A170C17961714179E170017A03 -:10CE8000A171417AE171817A2172C16900294ED084 -:10CE90000020009002206A4610706846019488477E -:10CEA000A9E0072020700120607068461EF4D6D3E8 -:10CEB000019F009EFBF7C0F9801960820025FBF7F7 -:10CEC000BBF98119601900908170FBF7B5F9C119A0 -:10CED00000986D1CEDB20175082DF0D30825FBF705 -:10CEE000ABF9B919401861196D1CEDB28870102D9D -:10CEF000F5D3102020774848817809010818403080 -:10CF0000807D012877D11C22A11C4448FBF7A6F99B -:10CF10004248A18A0182E18A4182218B8182618B10 -:10CF2000C1823E49608A08833D48217F417462E0A6 -:10CF3000052000E00A2020705DE00422227068785D -:10CF4000012804D0002802D0022833D053E0012069 -:10CF5000304D6070287C002810D002A81EF47ED3CB -:10CF6000FBF76AF92F49FBF70DF92F4808180299CA -:10CF700040182E49FBF706F9009101E0E86800909F -:10CF8000E969002907D00020029003206A46107248 -:10CF900002A8039288471021A01CFBF778F900989B -:10CFA000A0700098000AE0700098010C2171000E3A -:10CFB000607120E01748C169002905D00020009069 -:10CFC000019068460270884720460C380AF4E6D57E -:10CFD00014E00620164D2070E878012811D01021A9 -:10CFE000A01CFBF754F9A9886182E988A1822989EC -:10CFF000E1820020207620460AF4DAD5002005B030 -:10D00000F0BD10220B49A01CFBF728F9EBE700004C -:10D01000140E0000F04C0020904D0020B44C002075 -:10D02000D44C0020A0BB0D00A08601003F420F00A1 -:10D03000144E00209F4D002000B5084883B0026CBC -:10D04000002A08D000200090029005206B4618703E -:10D05000684601919047002003B000BD904D00202C -:10D0600010B584B0FF2B19D0144C226C002A08D0C4 -:10D0700000200090029006206B46187068460191CF -:10D08000904703200AF416D6032814D1A26F002A71 -:10D0900011D003210A480BF411D00CE009480123F8 -:10D0A000007F03220102084808310AF445D5072110 -:10D0B00001700AF47DD5002004B010BD904D002011 -:10D0C000090E0000F04D0020050E0000FFB5180A03 -:10D0D0004C4E83B00C46B070FF287DD00102342343 -:10D0E0000322494808310AF427D50546B0780027BD -:10D0F0000101891940318872B078218800018019B6 -:10D1000040300181B078617A000180194030C172ED -:10D11000B07862890001811940318A81A289CA816F -:10D12000E0890882207C012802D0002807D00BE08B -:10D13000B1780120090189194031887504E0B0787F -:10D14000000180194030877520883080607A307205 -:10D1500021460A312D48FBF767FD02F057F90028F8 -:10D160001BD0607A012804D10322114628480AF412 -:10D1700033D502F053F905280FD20100794409791B -:10D1800049188F440606060206000120282148554A -:10D1900005E005212820415501E0282047550321BD -:10D1A00005980AF499D517203086B17809018919B4 -:10D1B000403148821748C068002803D00321164830 -:10D1C0000AF4DCD61548028D002A03D00321144846 -:10D1D0000AF474D7306C00E00EE0002808D002207A -:10D1E00069460097087002950194316C684688473B -:10D1F00028460AF4DDD401E001F0AEFA002007B0C1 -:10D20000F0BD0000904D0020020E0000994D00205E -:10D21000150D0000A04E0020030F0000144E00204A -:10D22000020F000030B5180A144D00010C464019D9 -:10D2300083B0FF214030817201F062FB002803D1EE -:10D24000022103200AF448D52A6C002A08D00020C5 -:10D250000090029003206946087068460194904748 -:10D2600010210748FBF713F806480068002802D091 -:10D2700009200AF41BD3002003B030BD904D0020DC -:10D28000AF4D0020100C002000B5084883B0C169E4 -:10D29000002907D000200090019009206A461070F4 -:10D2A00068468847002003B000BD0000F04C002015 -:10D2B000FFB591B00D4612230322434814990AF496 -:10D2C0003BD400210446017040480078002862D019 -:10D2D0003E48407C002833D03C216846FAF7D7FF0F -:10D2E00001F086FE002841D004A90F913749461E5F -:10D2F000F0B23A228969504341186846091DFAF78D -:10D30000ADFF6846008B2988884206D10822A91CF7 -:10D310000F98FAF7E6FF00280BD0207800280BD0F2 -:10D3200008A8407C607410226946601CFAF796FFDA -:10D330001CE001202070F3E73006000ED6D12AE071 -:10D3400023482988008B884225D10822A91C21481E -:10D35000FAF7C7FF002809D1012020701E481022CB -:10D36000407C60741A49601CFAF778FF2078002826 -:10D3700011D01648C169002907D000200090019003 -:10D3800007206A4610706846884720460AF410D481 -:10D39000002015B0F0BD0D48C169002907D000205C -:10D3A0000090019008206A46107068468847022362 -:10D3B00003220A4814990AF4BFD3012101700621FF -:10D3C00041700AF4F5D3E0E7180E0000F04C00209D -:10D3D000B44C0020C44C0020D44C0020040E0000AB -:10D3E00070B50C4609781B481B4D1E46002904D019 -:10D3F000012912D002292BD11AE01C2331460AF44C -:10D400009BD3064620783070287B70802A7B134996 -:10D41000301DFAF723FF304607E00A2331460AF4AD -:10D420008BD321780170698941800AF4C1D30FE060 -:10D430000A2331460AF480D321780170298C418077 -:10D44000698C8180A98CC180E98C01810AF4B0D3F8 -:10D45000002070BD0B0E0000144E0020214E002055 -:10D4600010B5087800F0B6FE002010BD05480A8807 -:10D4700042861A0A12011018098840308182002061 -:10D4800070470000904D002030B5180AC0430006D8 -:10D4900083B00D46000E21D0190A0902E1200623AF -:10D4A0000322000108310AF447D30446012020700A -:10D4B00002206080FF204130A0800B48026C002ACF -:10D4C00008D0002000900420694608706846019545 -:10D4D0000294904720460AF46BD301E001F03CF936 -:10D4E000002003B030BD0000904D002000B508487A -:10D4F00083B0026C002A08D000200090029008201F -:10D500006B461870684601919047002003B000BD3B -:10D51000904D002070B518460C46014602230A487B -:10D520000AF40AD305460949A07808736288211DC8 -:10D530000748FAF793FE0020687020782870284684 -:10D540000AF436D3002070BD0D0E0000144E0020EA -:10D55000214E00204A780B48002A05D02030012AAD -:10D5600008D0022A09D00AE00279012A07D10978F5 -:10D57000C17004E00978017501E009784175002067 -:10D5800070470000904D002070B54878002806D004 -:10D59000FF25124C01280BD0022816D01BE01048A2 -:10D5A0000179062917D10721017101F043F812E032 -:10D5B000207DFF280FD001F03BF90A48257501694D -:10D5C000002908D00020884705E0607DFF2802D0B0 -:10D5D00001F010F96575002070BD0000B04D00200D -:10D5E000904D0020A04E002010B5032B06D0102235 -:10D5F0000548891DFAF732FE002010BD0348017A64 -:10D60000034801F0ABFDF7E7AF4D0020904D00203F -:10D61000994D0020F0B50D460878E34EE1493446B7 -:10D620004978002720348DB0A1287AD012DCDF4958 -:10D630000C911B2876D006DC012819D003287CD059 -:10D6400017286DD14FE128286ED091286DD0A028E1 -:10D6500066D152E10246A23A092A61D213007B4404 -:10D660001B79DB189F44FE5CFDFD5CFDFCFDFD00AD -:10D670006878002854D1012002F01AFA01F0ACFDBC -:10D68000342303220721CA480AF456D20321017029 -:10D69000C84904468A7842700122C276FB2242843D -:10D6A000C54AC284C54A82840A88028487768A88E9 -:10D6B0008280CA88C2800A892281487A8009032828 -:10D6C00005D188780522104201D10120A076A07EE4 -:10D6D00004221043A076BA486080C878012825D07B -:10D6E000204610210A30FAF7D2FD316C002907D00C -:10D6F00001206A4600971070684601950294884799 -:10D70000012000F067FD20460AF452D201230322D3 -:10D710000721AC480AF410D21A2101700AF448D249 -:10D7200033E11EE1CAE008E069E049E0204610224A -:10D730000A300C99FAF792FDD7E700970197029704 -:10D7400003970497059706970797089709970A97ED -:10D750000B9701F05BFE002805D0684601F09CFCA9 -:10D760000AA801F069FC01F051FE00280CD06846BF -:10D770008079002808D108A8807B002804D00121E6 -:10D78000684601F0CFF800E18A4C6946A08808801D -:10D79000E0884880208988808F71102202A80C9927 -:10D7A000FAF75CFDE078012804D006970797089700 -:10D7B0000997E4E7102206A80C99FAF74FFDDEE777 -:10D7C000E07B002813D11123032207217E480AF4AD -:10D7D000B3D10546282028707648C078012808D0A3 -:10D7E0001021681CFAF753FD28460AF4E1D1E773CB -:10D7F000CBE01022681C0C99FAF730FDF4E7012009 -:10D8000002F056F9012103200AF466D26F48012480 -:10D8100044841F20049067480178490601D57F2180 -:10D82000049181780522114204D0FF2204998132AB -:10D83000114304910088C00504D5032104984902CE -:10D8400008430490082162480191029003210B23B0 -:10D8500004AA00970394C9025E48FBF7FDF902E0B1 -:10D8600079E04AE089E0002846D15B4806218786B6 -:10D87000FF200590594801910290082305AA0097BE -:10D88000039457495748FBF7E7F900287DD100F08A -:10D89000BBFE002879D1022103200AF41DD2B07901 -:10D8A000012808D000F080FF3E484078C0076CD0C7 -:10D8B00001F0C2FA69E000F04FFF66E001F0A6FD5A -:10D8C000E77300F0A1FE00285FD1022103200AF4D3 -:10D8D00003D2B0790128EED000F066FF31484078DD -:10D8E000C007E5D151E0687800284ED0F179481E94 -:10D8F000F0713D4801F002FC47E07179491E0529AD -:10D9000006D8A72802D13079002806D100F092FE6F -:10D910002878A42801D0A72837D17079042806D008 -:10D92000062804D0082808D00C282ED10CE02F4857 -:10D930000168002929D0B07904E01A48016900295A -:10D9400023D00120884720E01648016900291CD017 -:10D950000320884719E03771FF20F070207560754B -:10D9600013E0207DFF2802D06878002802D000F064 -:10D970005FFF0AE0C8079BD107E0607DFF2802D067 -:10D980006878002804D000F035FF00200DB0F0BD0D -:10D99000A07D0028F9D08807F7D5E17D144801F073 -:10D9A000B9F9F2E7A04E0020904D00209F4D0020D5 -:10D9B000040D0000144E002005020000480800007D -:10D9C000A08C0000190D0000230D0000B00B0020FA -:10D9D000B0220101D20B0020680B002008230101B6 -:10D9E000011800009C0B0020994D0020404E0020A3 -:10D9F000C84D002070B500250C462846401C06285E -:10DA0000FCDB254E2246307E31461A32C969062893 -:10DA10002AD203007B441B79DB189F44240209109F -:10DA2000171E0622A01CFAF75CFC00281BD01BE086 -:10DA3000237E092001F00EF8002814D114E0237E83 -:10DA4000212001F007F800280DD10DE0237E1620DB -:10DA500001F000F8002806D106E0237E192000F02E -:10DA6000F9FF002800D001250C48807D002811D145 -:10DA70007169002901D020468847002D0AD03169FC -:10DA8000002901D00220884701F058FA217AA01C11 -:10DA900001F040F9002070BDA04E0020B04D0020E4 -:10DAA00010B50A78000A000210434A78FF231B02CF -:10DAB000120298431A4010438A781B0212049843BA -:10DAC0001A401043C9780002000A09060843FAF711 -:10DAD000BCFB002010BD10B510460AF4EBD00020AE -:10DAE00010BD0020401C0628FCDB00207047000011 -:10DAF000F8B51C4617460D4610460AF4DBD0002840 -:10DB000011D1472001F070FF064604233A46032155 -:10DB100006480AF411D0210A01702988B288891AAE -:10DB200041800AF445D00020F8BD00000D470000F8 -:10DB3000F8B517460C46472001F056FF21780646F7 -:10DB4000122901D013291BD1B06805460C351229C2 -:10DB5000C288018916D006230F4809F4EDD76988D9 -:10DB60004180617801710AF423D0B068002803D0A5 -:10DB700009F4D2D60020B060002138460AF4ACD0B7 -:10DB80000020F8BD0423054809F4D6D76988018030 -:10DB900061788170E7E7000009470000074700004F -:10DBA00000B5084883B0026C002A08D0002000901D -:10DBB000029009206B46187068460191904700203A -:10DBC00003B000BD904D002030B5104D83B00888E3 -:10DBD00028861C0A200140190A88403042822A6C9B -:10DBE0000025002A07D0009507206B460295187083 -:10DBF0006846019190470648A1004058002801D08E -:10DC00004030C574002003B030BD0000904D0020AE -:10DC1000580B0020FFB581B0002000900E460398FD -:10DC20000AF448D0002802D001284CD04DE014203E -:10DC300001F0DAFE07463188FEF7ACFE05462448BF -:10DC4000092D36D27C68002C1ED02179A94203D040 -:10DC50002468002CF9D117E0002C15D06379039AC1 -:10DC60009B1D049909F468D7054630882880002058 -:10DC70002871607968806279A11D681DFAF7EEFA53 -:10DC8000284609F495D720E03D740498010A797478 -:10DC9000384601F0A1FE014601230E48039A09F41B -:10DCA0004BD7057009F484D7012103980AF414D0E6 -:10DCB0000BE00623039A049909F43ED731880180CA -:10DCC00080210171DDE702200090009805B0F0BDD1 -:10DCD000140C000002140000FFB585B00E46079832 -:10DCE00009F4E8D7002802D0022009B0F0BD47208F -:10DCF00001F07AFE02900020694608700898070A31 -:10DD0000308802F08AFA0024694605468C80002893 -:10DD10001ED102981622016A6846007803465043D5 -:10DD2000024610328A5A5204920F1FD10A5C401CDC -:10DD3000085C1E4900021018884217D102AA03A9E4 -:10DD4000184602F07DF902986946C05D8880022479 -:10DD5000A31D1748079A089909F4EED6074630889C -:10DD600038803D717C80002D15D019E0394602982D -:10DD700001F032FE014604230E48079A09F4DCD66E -:10DD8000077069460978418009F412D70121079884 -:10DD900009F4A2D707E0224601A9781DFAF75EFA36 -:10DDA000384609F405D7002009B0F0BD022900006B -:10DDB000140C000004470000FFB58BB00C46472050 -:10DDC00001F012FE0025694605900D740E9804A915 -:10DDD000070A208802F021FA060061D10598162270 -:10DDE000016A6846007C5043024610328A5A520447 -:10DDF000920F3AD10A5C401C085C304900021018AE -:10DE0000884232D102950395208800F093F802A948 -:10DE1000002300911A4608A9FAF736FF6846008CDD -:10DE2000012109030840C043C004C0172146401C1B -:10DE3000FEF784FC0606360E32D168460997007C50 -:10DE40000190A57907AA694602F0FAF868460288A7 -:10DE500006A80799FAF702FA06A909980A460D5486 -:10DE600068460188019802F029F93946059801F0C1 -:10DE7000B3FDA1880D9A891D8BB20146104809F4A3 -:10DE80005BD60546A288A11D801DFAF7E7F92F7021 -:10DE90006846007C6880A088A880284609F488D657 -:10DEA000042308480D9A0E9909F446D6218801806A -:10DEB000867009F47DD600200FB0F0BD0229000065 -:10DEC0000A470000160C0000F0B589B00446FAF7C6 -:10DED000E1FE05460026154F1BE006A92046FAF78D -:10DEE000A9FE002302AA01A906A80096FAF7D8FE07 -:10DEF00068460089B84203D169460979022911D0E0 -:10DF00000B49884203D168460079022807D0641C77 -:10DF1000A4B2A888A04202D8E888A042DDD200209E -:10DF200009B0F0BD204609B0F0BD00000229000094 -:10DF300003280000F0B589B00446FAF7ABFE0546A9 -:10DF40000026104F14E006A92046FAF773FE0023BE -:10DF500002AA01A906A80096FAF7A2FE684600895F -:10DF6000B84203D1641CA0B209B0F0BD641EA4B2D3 -:10DF7000A888A04202D8E888A042E4D2002009B0D4 -:10DF8000F0BD00000328000070B5164C2078002872 -:10DF900027D101210803FCF7C7FA0020FCF7BAFAE1 -:10DFA0000120FCF7E5FA104D2846FAF721FF03217E -:10DFB0002846FAF78DFF01212846FAF74DFF012187 -:10DFC00021702846FAF770FF142002F0E7FD702058 -:10DFD00000F00CF8702000F009F800212846FAF74C -:10DFE00063FF70BD844700200008024070B50546FD -:10DFF000164CFFF7C9FF2946154D2846FAF783FE50 -:10E0000001212846FAF71EFF01212846FAF758FF9A -:10E01000002807D1641E13D001212846FAF750FFCB -:10E020000028F7D001212846FAF76AFE2846FAF7B9 -:10E0300044FF044600212846FAF704FF204670BD3D -:10E0400000212846FAF7FEFE024870BDA0860100B6 -:10E0500000080240FFFF0000F7B5042702253F4EED -:10E0600084B01446072A75D210007844007900184D -:10E07000874470030D3A3D5363003948009701907F -:10E0800001AB0599049800F075F807B0F0BD354F65 -:10E0900001213846FAF708FF142002F07FFD7020B6 -:10E0A000FFF7A4FF7020FFF7A1FF044600213846C8 -:10E0B000FAF7FAFE2C48B442448001D12B4808E01C -:10E0C0002046FAF727FE2A49FAF7C4F9FAF7B6FB11 -:10E0D00000B26946888100952A4603AB05990498E9 -:10E0E00000F048F807B0F0BDFDF756FD0AE06020EB -:10E0F000FFF77CFFB04201D1002003E06021FAF776 -:10E1000033FE80B269460881009502AB224605992C -:10E11000049800F02FF807B0F0BD03F081FA7D21DC -:10E12000C900FAF72FF80097019001AB2246059934 -:10E13000049800F01FF807B0F0BD02F06BFE0097E6 -:10E14000019001AB22460599049800F013F807B03E -:10E15000F0BDFFE7059807B0F0BD0000FFFF00002D -:10E160000D0001000008024084470020FF7F0000EE -:10E170000000204130B4029C42540546491C88B23C -:10E180002C54401C002180B2002C07D95A5C2A5420 -:10E19000401C491CC9B280B2A142F7D330BC7047C1 -:10E1A000FF25F5350A4E6F00FDF778FE0489322C05 -:10E1B00000D22C4601213046FCF798F87D212046FC -:10E1C000C90048433946F9F7DDFF02F0E7FCEBE709 -:10E1D000000C014010B5A0230949022809D00022F3 -:10E1E00003280AD0042808D00B704A7000F0A2F867 -:10E1F00010BD0B7080204870F8E7E0200870F4E74D -:10E2000011400020F8B52A49202048602948012102 -:10E21000C163294905228A610021C16327490B2076 -:10E22000086100F087F82748254A026326494163C0 -:10E23000264B8363264CC4632748264D0560274E32 -:10E240004660274981602749C16027490161274904 -:10E250004161274981612749016328482649416076 -:10E26000274FC760274F07610262274A42628362D5 -:10E27000C46205634663254A8263254AC263264811 -:10E28000244A0260184A4260244A82600163244999 -:10E2900081632448244A41688918244A914206D25D -:10E2A000234982680A63C2684A6300698863F8BDCB -:10E2B00000100140C0270240402502404027024094 -:10E2C0000259F80040280240025B8500025A800093 -:10E2D000025D8500025F80508028024002000878BD -:10E2E000020A0800026EAC500259FC000200C8008D -:10E2F0001270131402700314026E2800C02802402A -:10E30000025D0500125B0500025B8400020A060044 -:10E31000026E2C5002C3BF00002902401200AC0064 -:10E32000125D0500104000206F2895FFAF590F00C7 -:10E33000C026024030B415481549037D154AFF2B0D -:10E3400006D1407DFF2803D113484078C0070CD088 -:10E350001248134B04789C604078D86111480861DA -:10E36000114B8B62106030BC7047104B0B61104832 -:10E370004861104C8C61104D8D62C8620F48086373 -:10E3800013600F485060946030BC7047B04D00205F -:10E390000028024040280240A04E002011400020EA -:10E3A00000270240127E0200127E0300027E02005D -:10E3B00002C2A00012C70000027E030012C7800044 -:10E3C00002C2E00082B0224920480863FEF742F80A -:10E3D00020A0FCF7C3FA2AA0FCF7C0FA31A134A0B0 -:10E3E000FCF7BCFA3848016838A0FCF7B7FA3EA140 -:10E3F00042A0FCF7B3FA4AA0FCF7B0FAFDF742F8E6 -:10E40000FDF732F901215148FBF774FF40215048D4 -:10E41000FBF770FFFDF746FD01F03AF802200024FB -:10E420000202009023464BA101944B4803F02CF8C4 -:10E43000012000900023802248A10194484803F065 -:10E4400023F8FAF703FF02F083FCFEE70080008167 -:10E45000007000400A3D3D3D3D3D3D3D3D3D3D3D63 -:10E460003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3DDC -:10E470003D3D3D3D3D3D3D3D3D3D3D3D3D0A000079 -:10E48000206D636D2D6464632D626C653A20424C8F -:10E4900045202B204672656552544F53202B204354 -:10E4A0004C490A0056312E30302E31330000000026 -:10E4B000204669726D776172652076657273696F47 -:10E4C0006E2025730A00000000400020205379735D -:10E4D00074656D436F7265436C6F636B203D2025DF -:10E4E0006C7520487A0A000043414949432D4D4349 -:10E4F0004D2D3230323630393032000020424C451A -:10E5000020656E61626C65642C206164766572744E -:10E510006973696E6720617320222573220A0000E7 -:10E520003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D1B -:10E530003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D0B -:10E540003D3D3D3D3D3D3D3D0A000000000C01408C -:10E5500000080140424C450009C200014C454400FE -:10E56000A1E1000110B50124E4022046FBF7AEFD55 -:10E57000002805D02046FBF7A3FD0D4902200870B6 -:10E58000012424032046FBF7A1FD00280AD02046E1 -:10E59000FBF796FDBFF34F8F07490648C860BFF3EE -:10E5A0004F8FFEE705484068002800D0804710BD27 -:10E5B000800000200400FA0500ED00E0404000204B -:10E5C00006480068002800D08047BFF34F8F0549F8 -:10E5D0000348C860BFF34F8FFEE7000040400020B3 -:10E5E0000400FA0500ED00E0064A11780A2907D276 -:10E5F0008900891848601078401C1070012070470D -:10E6000000207047104D002010B5084C084AE179F1 -:10E6100013780020994207D288008018406880470C -:10E62000E079401CE071012010BD0000904D0020F9 -:10E63000104D0020F8B5324D0526297928468079FD -:10E64000304C08290CD20A007A4412799218974467 -:10E6500003080D1313191C2A052801D0FDF786F9AC -:10E66000F8BD022808D0FDF797FCF8BD607B0028B4 -:10E6700002D1E079002802D0FDF72CFDF8BDFDF7AE -:10E68000C7FCF8BD06202871F8BD0223032207212C -:10E690001D4809F451D2A5210170E9784170072184 -:10E6A00029716E7128E0022303220721174809F41B -:10E6B00043D20746A7203870E97879700620687140 -:10E6C00000202871032009F4F5D2032812D0A8797C -:10E6D000012804D0022802D003280BD104E0207DB9 -:10E6E000002801D0032003E0A07E002802D00420EF -:10E6F000A87100E0AE71384609F45AD2F8BD0000A6 -:10E70000904D0020804E0020A20D0000A30D0000BF -:10E7100010B5002804D0014660220C48F9F79EFD90 -:10E720000B490C48CA781C2A04D9427B002A01D123 -:10E730001C22CA70C1781F2901D91F21C170017B19 -:10E74000E22901D9E221017310BD0000404E0020F2 -:10E75000604E0020804E00201149012208790728D0 -:10E760000CD08879002809D0012801D0052806D1CD -:10E770000C48827B002A03D002200CE08A7170478B -:10E78000027D002A01D0032005E0807E002801D010 -:10E79000042000E00520887110B5FDF7E7F810BDF2 -:10E7A000904D0020804E002070B5104C0525A079BA -:10E7B000062809D201007944097949188F440202D8 -:10E7C00004040403A57170BDA5710223032207216F -:10E7D000074809F4B1D1A5210170E1784170072102 -:10E7E0002171657109F4E4D170BD0000904D0020E5 -:10E7F000A20D000010B50B4C607DFF2810D0022345 -:10E8000003220721084809F497D1A7210170617DEF -:10E810004170064A00215171FF21617509F4C8D188 -:10E8200010BD0000B04D0020A30D0000904D002051 -:10E8300010B50A4C207DFF280ED0022303220721A9 -:10E84000074809F479D1A7210170217D4170054A5B -:10E850000021517109F4ACD110BD0000B04D002071 -:10E86000A30D0000904D002010B5084802238078C9 -:10E87000032201020648083109F45ED1012101702A -:10E880001321417009F494D110BD0000904D002077 -:10E89000040E000010B584B0002804D001462A22DE -:10E8A0000E48F9F7DBFC0EA00FC86C460FC40B4BEB -:10E8B000002069461C180A5C247922430A54401C33 -:10E8C000C0B20628F6D310220A48F9F7C7FC0A4955 -:10E8D0000A48FAF7A9F904B010BD0000144E002050 -:10E8E000501921901F04D5624FA489AB90D0CF233B -:10E8F000000000009F4D0020184E0020FC0000206A -:10E900000020074B01460A01D2184032927AFF2AB2 -:10E9100001D0401CC0B2491CC9B20329F3D37047CF -:10E92000904D0020F8B507460B46282043430D467E -:10E93000032207210E489B1C09F4FED0912101708F -:10E94000002406464570002D0ED920462821484354 -:10E95000C1190022CA7180192822801CF9F77EFC97 -:10E96000641CE4B2AC42F0D3304609F421D1F8BDC6 -:10E97000910D0000F8B57D262025F600184B194CA6 -:10E980001949032812D00A6A01273A430A620A6A1F -:10E990009207FCD50A6AAA430A6201281AD0022803 -:10E9A0001AD01E60FAF782F92060F8BD0F480F27D1 -:10E9B00082683F023A438260086A04221043086278 -:10E9C000086A0007FCD5086A284308623D20000158 -:10E9D0001E60E9E7064800E006481860E2E700002C -:10E9E0008C00002090000020001002400010014028 -:10E9F000D10300005704000010B504460848042362 -:10EA00008078032201020748891D09F495D0064940 -:10EA10004C80012101700021418009F4C9D010BD52 -:10EA2000904D0020010C0000F00B0020084A1178E6 -:10EA30000A290AD2C9004368891800688B604860B7 -:10EA40001078401C107001207047002070470000B3 -:10EA50003C4D0020FFB581B01C00064618D0107850 -:10EA6000411CA14214D8032C12D3401EC5B25078C9 -:10EA7000971CB04206D12A4638460299F9F731FC74 -:10EA8000002808D07A19601B801E0406240EE6D1E7 -:10EA9000002005B0F0BD012005B0F0BDF0B5044682 -:10EAA0006F4E704883B06D4FB168C1626E490163AB -:10EAB000F16A8162F16B4163B16B816331467C2203 -:10EAC00040313846F9F7CAFB00257D60FD607D6264 -:10EAD0006648B8627D64BD64FD643D666448B8669E -:10EAE00064483862644865490570032008706448CA -:10EAF000F91401600904016089140160F06861493A -:10EB00000746401E0088604B884200D01F60366E6A -:10EB1000701E0088884200D05E60012000030090D3 -:10EB2000694601950D710820487101278F7168466B -:10EB3000FBF7DAFA84215548F9F7A9FB2A21544852 -:10EB4000F9F7A5FB60215348F9F7A1FB52484F495B -:10EB5000056145618561C561056245628562C56281 -:10EB6000FF264E48CE7006754675002002015218E9 -:10EB70004032401CC0B296720328F7D32068086464 -:10EB80006068486446486189C187217A45480329FD -:10EB900001D8417700E0457701212020FBF7C4FC34 -:10EBA000414A4249042000F0B1FE42494048086011 -:10EBB0000A464149052000F0A9FE404A4049072085 -:10EBC00000F0A4FE40493F4808600A463F4908203B -:10EBD00000F09CFE3E4A3F49092000F097FE3E4867 -:10EBE00005633E48414907703D4805703D48057042 -:10EBF0003D48086001203E49C00208803D494F2041 -:10EC000008703D49082008703C480721067046708E -:10EC10008670C170057145718571C571114838499B -:10EC2000C1613849016238494162002001F0CAFDE2 -:10EC30003649032009F494D00021032009F44CD074 -:10EC4000002000F035FF012303220721304808F49B -:10EC500073D7077008F4ACD703B0F0BDC00900202B -:10EC600000800001C0000020C1E500010D47002028 -:10EC7000DD08010165E50001C6000020D800002084 -:10EC800000E100E0FEE7000040400020904D002041 -:10EC9000144E0020404E0020904E0020B04D002029 -:10ECA000D04D0020F04D00208040002080800100E9 -:10ECB0007D1F0101C0400020C080010000410020F4 -:10ECC00000DB0100814100204041002040DB0100C9 -:10ECD000C0460020C06102000070004060000020BB -:10ECE000C9000020610000200090D0036C000020CB -:10ECF000680000206300002064000020080100205C -:10ED000051F9000179FA000119FA000110240101FA -:10ED1000020D0000F8B5404D0646687D3F4C0F4699 -:10ED2000FF281CD02046C268002A03D003213C489B -:10ED300009F4C4D13A23032207213A4808F4FCD647 -:10ED4000A4210170697D0446417037480022017892 -:10ED500000291ED00121A170A28002701BE06D204D -:10ED6000022303220721400108F4E6D6A221017004 -:10ED70002E49C978417008F41BD7EF7531462C48ED -:10ED8000F9F752FF0120A8756078022108436070EE -:10ED9000F8BDA270A2800120E07019214901E18034 -:10EDA00022482181038CE381438C2382838C6382FC -:10EDB000C38CA382FF23E2824133184D23836D78F5 -:10EDC0006D070DD50525E5706181A181018CE18478 -:10EDD000418C2185818C6185C08CA085E28523864C -:10EDE00038200755204631463230F9F71DFFE078CC -:10EDF000810703D50220FFF7EDF906E0400701D5B2 -:10EE0000032000E00120FFF7E5F90A490C204871D2 -:10EE1000204608F4CDD6F8BDB04D0020A04E00200D -:10EE2000030F0000A10D0000104E0020144E002022 -:10EE3000C84D0020904D0020F8B52C4E2C4D317D52 -:10EE400001276878FF2941D0C1073ED0B8436870D8 -:10EE50002849002008703A2303220721264808F495 -:10EE60006BD60446A4202070307D60702878A07096 -:10EE700068788006800F20716888E080A8882081EB -:10EE8000E888E08128892082E7700120FFF7A2F955 -:10EE9000687840070AD5E07802210843E070688866 -:10EEA0006081A888A0810320FFF794F968780007A3 -:10EEB00003D5E0780C210843E07010490820487120 -:10EEC0000020B075204608F473D6F8BD384368704A -:10EED0006D20022303220721400108F42DD6A12131 -:10EEE00001700749C9784170EDE70000B04D00207E -:10EEF000A04E0020104E0020A10D0000904D0020DB -:10EF0000144E002010B50A4C607DFF280ED002235D -:10EF100003220721074808F40FD6A5210170617D5F -:10EF20004170054A0D21517108F442D610BD000010 -:10EF3000B04D0020A20D0000904D002070B50B4C8C -:10EF4000207DFF2811D00A4D687909280DD00223B1 -:10EF500003220721074808F4EFD5A5210170217D80 -:10EF600041700921697108F423D670BDB04D0020AD -:10EF7000904D0020A20D000010B504464088A188E5 -:10EF80000246491C19234A43DB019A420FDC06283A -:10EF90000DD3228890420AD3E2887D23DB009A4277 -:10EFA00005D84B00C9184843D100884201DD002034 -:10EFB00010BD0D480E238078032201020B48083152 -:10EFC00008F4BAD5092101702188418061888180C7 -:10EFD000A188C180E188018100214181491E818190 -:10EFE00008F4E6D5012010BD904D00200E0E000063 -:10EFF00010B5084A084B906901888478994206D177 -:10F00000917CA14204D20024FBF744FA00E00024E2 -:10F01000204610BDF04C0020341200000B4610B505 -:10F0200004493A228969504341181846091DF9F7E5 -:10F0300015F910BDF04C002010B590B004463C21ED -:10F040006846F9F724F9FFF7D3FF401EC0B26946BE -:10F05000FFF7E4FF08A8807CA0710CA920460331CB -:10F06000F9F7E2FD10B010BD10B590B004463C2198 -:10F070006846F9F70CF9FFF7BBFF401EC0B26946BE -:10F08000FFF7CCFF08A8007CA0710AA92046023136 -:10F09000F9F7CAFD10B010BD10B590B004463C2180 -:10F0A0006846F9F7F4F8FFF7A3FF401EC0B26946BF -:10F0B000FFF7B4FF0AA920460231F9F7B5FD08A809 -:10F0C000007CA071204606A9102208300231F9F711 -:10F0D000C5F80848C17820461830012904D010210D -:10F0E000F9F7D5F810B010BD10220349F9F7B6F8BA -:10F0F00010B010BD144E00209F4D002070B590B090 -:10F100000D460646FFF774FF002D23D0854221D817 -:10F11000182303220721104808F40ED504461720AF -:10F120002070012060703146A01CF9F77DFD3C2164 -:10F130006846F9F7ACF86D1EE8B26946FFF76EFF56 -:10F14000204606A9102208300231F9F787F8204638 -:10F1500008F42ED510B070BD140D0000F3B58FB0BB -:10F160000C463C216846F9F792F8FFF741FF012C65 -:10F170001AD0002816D0154D0AAE0236441EE0B251 -:10F180003A22A969504341186846091DF9F766F803 -:10F19000062231460F98F9F7A4F800280DD0200672 -:10F1A000000EEBD111B0F0BD0949421ECA710146F3 -:10F1B0000F98FFF7A3FF11B0F0BD06A91022054874 -:10F1C0000231F9F74BF811B0F0BD0000F04C00200F -:10F1D000904D0020AF4D002070B5284C82B02068C3 -:10F1E0008003FCD5264D687FFFF7C4FB606A606A28 -:10F1F000012630436062606AB04360622148C08F7C -:10F200000A2811D9E16932071143E1611E494A68B0 -:10F2100032434A601E491D4A0A6003224A608860E0 -:10F220001C4808601C48086068461CF417D21B493B -:10F2300000980860687FFF252D02032811D000F098 -:10F2400027F9206BA8432063206B3F214902084324 -:10F250002063206B3043206301220321104808F40F -:10F260002DD710480168A94301600F490868FF22A3 -:10F2700012049043086002B070BD0000001002400C -:10F28000F04D0020D04D00204010024055550000A8 -:10F2900000300040AAAA0000CCCC0000484000206A -:10F2A000010F000000E400E008E400E0F0B5D7B092 -:10F2B00054A81CF4D3D14A490024886AC96A5499D5 -:10F2C0000122411A09010909D206914204D954992F -:10F2D000081A000100094142424E40290CDC7088A6 -:10F2E000002809D0401E7080142203213E4808F4F3 -:10F2F000E5D6002057B0F0BD3C48FF21569029319B -:10F300006846F8F7C4FF707CB569002832D0FFF773 -:10F310006FFE69468870B17C6F4688420BD23A21F5 -:10F3200048430246291D381DF8F798FF694688783A -:10F33000401C887008E03A21401E48430246294696 -:10F340003E31381DF8F78AFF694688783A214843EC -:10F35000C0190A4636385699F8F780FF244869469E -:10F360000880B069FBF796F8FF2227326946B0693A -:10F37000FBF7BEF8FF20F53070804A944B944C9414 -:10F380004D944E944F9450945194529417485394E2 -:10F39000418D40AA1185818D5185C08D9085154C78 -:10F3A00048AA257C9573102213494CA8F8F756FFFC -:10F3B0001248C078012804D11022114950A8F8F74A -:10F3C0004DFF01260F48002DC67306D1A07C0028F2 -:10F3D00003D001214AA8FFF7A5FA0B48067088E779 -:10F3E000C0800240F04C0020040F0000B44C00200C -:10F3F00034120000D44C0020CE4C0020144E0020CB -:10F400009F4D0020B04D0020104E00200248007893 -:10F41000002800D001207047F04C002001480079FE -:10F4200070470000F04C002070B517493CC80E46EC -:10F4300084B040363CC64368026880684B65134C14 -:10F440000A658865607C002818D0002569460D7221 -:10F45000FBF732F8FFF7CCFD69460872E169012637 -:10F46000002906D068460095067002A801906846FB -:10F4700088476846007A002802D0267004B070BD24 -:10F48000257004B070BD0000B44C0020F04C00208A -:10F4900004490868401C0860012801D00120704719 -:10F4A000002070472440002003490868002802D04B -:10F4B000401E08600120704724400020F8B50C462B -:10F4C0002849294B4118294F294A0026069D002921 -:10F4D00008D0012922D0274940180A282FD301201B -:10F4E0002870F8BD20780A2838D2214980000958B0 -:10F4F000214A914203D11E490E501E502EE0B942BE -:10F500002CD10322082311461C4808F415D3217876 -:10F5100001706168416008F44BD31FE020780A282D -:10F520001CD280001158B94218D1195811502078B6 -:10F53000134962684018032108F4C0D50EE0C0B238 -:10F540000A280BD284001159002907D0B94205D0EE -:10F55000094FB94202D016511E5188472E70002023 -:10F56000F8BD0000FBF0FFFF8C4C0020D709010123 -:10F57000644C0020F9F0FFFFD5090101060F0000DF -:10F58000070F0000F7B5534F3878002809D0042A38 -:10F5900009D2012211217B69009800F075F903B0AE -:10F5A000F0BD002314E00C784E7820468C783602AB -:10F5B000CB783043240420431B061843CB78000249 -:10F5C000000A1B0618437B690D1D141F984206D0C4 -:10F5D00002221121009800F057F903B0F0BDB8687D -:10F5E0001E19864203D90322112100986DE07E6125 -:10F5F000F869B0420FD2F96978684018FAF74AFF03 -:10F60000002801D0052207E00120F969000308184D -:10F61000F861B042EFD30022002A3CD1B86A00283A -:10F6200022D02D49042808D2002C1BD02B780B5453 -:10F63000401C641E6D1CB862F4E73E46042811D1DC -:10F64000B1697068244B401804221946FAF750FF3C -:10F65000002801D0052203E0B069001D0022B0613E -:10F660000020B062002A16D1042C1DD3BA69786834 -:10F67000A608B600801829463246FAF739FF002856 -:10F6800001D0052203E0B86980190022B861AD19E4 -:10F69000A41B002A08D011217B69009800F0F4F81F -:10F6A000FCF762FB03B0F0BD002C05D022462946D2 -:10F6B0000948F8F7D3FDBC62BB693A6A0098190B98 -:10F6C0009142EFD939620022112100F0DDF803B038 -:10F6D000F0BD0000584700207C470020F7B5634D7F -:10F6E0008CB028780B46002809D0042A09D00122C2 -:10F6F00012216B690C9800F0C7F80FB0F0BD002321 -:10F7000013E01A78D97810465A7809061202104385 -:10F710009A781204104308430402D878240A000699 -:10F7200004436B69A868834206D0022212210C9818 -:10F7300000F0AAF80FB0F0BDA86A0026002815D086 -:10F74000042806D24A4AFF211154401CA86204280A -:10F75000FAD3AB69686846490422C018FAF7C8FEB4 -:10F76000002867D1A869AE62001DA861A968686811 -:10F77000FCF7CAFFA04202D1E968884209D00422FE -:10F7800012216B690C9800F07FF8FCF7EDFA0FB0CE -:10F79000F0BD384C6F460FCC0FC70FCC0FC7A26817 -:10F7A000616820680A920890334F0098203C0991C4 -:10F7B000B84206D128212046FCF7A6FF0A998842C4 -:10F7C0000AD0009601960296039604960596069630 -:10F7D0000796089609960A960097284A6968914202 -:10F7E00001D1012000E0022001909142684601D140 -:10F7F000083000E018300160A9684160E968816064 -:10F800002969C16028216846FCF77EFF0A902046DE -:10F81000FAF740FE00280DD12C2269462046FAF75F -:10F8200067FE002806D12C2221466846F8F759FDCC -:10F83000002809D0052212216B690C9800F024F8E9 -:10F84000FCF792FA0FB0F0BD00221221AB680C98C1 -:10F8500000F01AF8C82001F0A1F9BFF34F8F094951 -:10F860000748C860BFF34F8FFEE7000058470020ED -:10F870007C4700200040000111C011CA0080000137 -:10F880000400FA0500ED00E010B582B06C4621706E -:10F890006270A370190AE170190C2171190E61715F -:10F8A000014606236A461F20FBF7D4FF02B010BDB5 -:10F8B00070B5134C01256078002802D1FAF7FCFDE1 -:10F8C000657010483021FCF71FFF0E490E4E08638B -:10F8D0003046FAF7DFFD00280DD1342209493046C1 -:10F8E000FAF706FE002806D1342231460548F8F71B -:10F8F000F8FC002801D0012070BD2570002070BDEB -:10F9000088470020845C002000600001102819D284 -:10F9100030B40D4C83001B199D6989032D0B2D03F9 -:10F92000090D0D439D619969084D92099205294081 -:10F93000920A114399610122616982401143616118 -:10F9400030BC70477047000000200240FF0FC0FF2E -:10F95000F3B5054681B00026408800F003F90100A8 -:10F960000AD01C4F6A88002014234343DB195B8AAA -:10F97000934203D142262AE0402628E0401CC0B230 -:10F980000A28F1D3002E22D1002414206043C0198C -:10F99000408AFF2806D0641CE4B20A2CF5D30A2C56 -:10F9A00014D014E028460830009014206043C01999 -:10F9B0000E686B78AA880746A91DB0470600EED1ED -:10F9C000688878820298398A0180E8E74B263046B9 -:10F9D00003B0F0BD484B002002885004400CD20B0D -:10F9E00001D009020843704710B40024094A214697 -:10F9F00014234B439B185B8A834204D11420414358 -:10FA00008818C46803E0491CC9B20A29F0D320460B -:10FA100010BC7047484B002030B4FF23040AC5B225 -:10FA20000A490020142242435218128AAA4204D1E1 -:10FA3000142250434018438A03E0401CC0B20A28F5 -:10FA4000F0D3200230BC184370470000484B002020 -:10FA5000084A11780A290AD2C9004368891800683F -:10FA60008B6048601078401C1070012070470020A7 -:10FA700070470000104C002030B4FF23040AC5B2C8 -:10FA80000A490020142242435218528AAA4204D141 -:10FA9000142250434018038A03E0401CC0B20A28D5 -:10FAA000F0D3200230BC184370470000484B0020C0 -:10FAB000F1B582B00299294E0020002900D13070A2 -:10FAC00000250298002804D0012834D002283ED115 -:10FAD0000FE0294614225143214A284609308C1848 -:10FAE0002082C0B208F456D1207C214608F438D1D7 -:10FAF0002DE0284614214843194900234718B87CB3 -:10FB0000009030781C4600280DD9E00080198288CA -:10FB100000998A4202D1806880470346641C30788D -:10FB2000E4B2A042F1D8002B02D059683846884789 -:10FB3000387C08F453D11422094B6A430021D018B1 -:10FB4000FF24C160448299504160018141816D1C54 -:10FB5000EDB20A2DB5D303B0F0BD0000104C00206B -:10FB6000484B002070B50146094DCEB200202978DF -:10FB7000044600290BD9E10049198A88B24201D113 -:10FB800088688047641C2978E4B2A142F3D870BD2C -:10FB9000104C002070B505460078002813D00A4E9E -:10FBA0002846F8F77FFB84B20D2C00D90D2471781C -:10FBB0002346481C70702A460220FBF74BFE2D1985 -:10FBC00028780028ECD170BD4C470020F8B5069E7F -:10FBD0001F46182E01D9182500E0354613460A465F -:10FBE00001460CA00096FAF7B9FE0024002D07D9B3 -:10FBF000395D11A0FAF7B2FE641CA4B2AC42F7D38F -:10FC0000AE4202D90EA0FAF7A9FE0FA0FAF7A6FE9F -:10FC1000F8BD00005B424C452025735D207479706F -:10FC2000653D307825303258207365713D2575204B -:10FC30006C656E3D257500002025303258000000AF -:10FC4000202E2E2E000000000D0A0000F8B5134EE5 -:10FC50000F46756904463068001D00F0BDFE601C4B -:10FC600007D1002F05D031680D48091D00F041FF74 -:10FC7000F8BD30682C1944603168AC4204D2B068D9 -:10FC8000091D00F01DFFF8BD7068091D00F018FF88 -:10FC9000306B8442F7D23463F8BD00008C470020FB -:10FCA000945D0020F8B5856B164604460027026C6B -:10FCB000002A11D0002E19D0E068F8F7CFFA216C95 -:10FCC000E068401AE0602268904202D26068401A00 -:10FCD000E060022E17D019E02068002816D1606875 -:10FCE00001F00EFD0746002060600FE0A068F8F705 -:10FCF000B5FA216CA0684018A0606168884205D3FD -:10FD00002068A06002E0002D00D06D1E6D1CA56370 -:10FD10003846F8BD114D124E124FE868002817D032 -:10FD200000F0F4FEF068C468201D00F055FE28695C -:10FD3000401E2861E868401EE86000F0F3FE206B7A -:10FD400000F0FEFE204600F0FBFEE8680028E7D148 -:10FD500038680128E1D900F015FFDEE78C47002064 -:10FD6000805D0020B85C002030B4124900E01146EC -:10FD70000A688242FBD34B685C18844203D1406816 -:10FD800018184860084643681C1894420CD10A4C65 -:10FD90002468A24206D052689A1842600A68126823 -:10FDA000026002E0046000E00260814200D008606E -:10FDB00030BC7047D8470020C8470020F7B582B054 -:10FDC000039800260068002859D00398416802462D -:10FDD0004968083241600092914201D1496841600E -:10FDE0004068C06801900398416849684160009A82 -:10FDF000914201D149684160CF6824200299704343 -:10FE0000441804983D46002F01D11E490D68256015 -:10FE1000294634316160E96A2161296BE161696CCD -:10FE2000A1600023E96CA3616161052813D0154925 -:10FE30000A68954201D1237311E0207303280ED183 -:10FE4000886B401C8863A86A002801D002202073B8 -:10FE500001F0F8FC03E02846FCF724FF2073286B30 -:10FE600000210278A52A04D14278401C491CA52A09 -:10FE7000FAD0880820840198761C8742B3D1304696 -:10FE800005B0F0BD8C47002003480068401C72B6E6 -:10FE900000D0FEE7FEE70000E0470020F8B5054689 -:10FEA00000F034FE2E46403605243457002C0FDD7A -:10FEB0002F462437686A00280AD0384601F090FCA3 -:10FEC000002801D000F0F2FE641E64B2002CF1DCC8 -:10FED0000027FF43777100F025FE00F017FE042491 -:10FEE0003457002C10DD2846103000902869002877 -:10FEF0000AD0009801F074FC002801D000F0D6FE72 -:10FF0000641E64B2002CF1DC377100F00BFEF8BD0A -:10FF1000F8B50446002500F043FF374E002730684F -:10FF2000364A002801D0F0681BE005213448090357 -:10FF3000430705D0C01DC008314BC000C31AC91A01 -:10FF400041180839C908C9005760106031604F6016 -:10FF50000B1A0F6043600160B3600120C00773603B -:10FF6000F06004423FD1002C3DD0204608304107CC -:10FF700008D04107490F0823591A0818410701D032 -:10FF800072B6FEE700282ED0716888422BD81B4934 -:10FF9000146801E0214614466268824202D2226857 -:10FFA000002AF7D1326894421DD00D6822680A6099 -:10FFB000616808350A1A102A09D921184B0701D09F -:10FFC00072B6FEE74A6060600846FFF7CDFE6168E2 -:10FFD0007068401A7060B268904200D2B060F068F9 -:10FFE00027600143616001F02DFC680701D072B603 -:10FFF000FEE72846F8BD0000C8470020D84700208B +:108230002946324607B0F0BD01464139192900D818 +:10824000203070470549064A08685043054A80189F +:10825000086040087047014908607047FC470020EB +:108260006D4EC6413930000003460B439B0703D0D7 +:1082700009E008C9121F08C0042AFAD203E00B78EB +:108280000370401C491C521EF9D27047D2B201E063 +:108290000270401C491EFBD270470022F6E710B561 +:1082A00013460A4604461946FFF7F0FF204610BD64 +:1082B000421C0178401C0029FBD1801A704710B580 +:1082C000002200E0521C835C8C5CA34201D1002B95 +:1082D000F8D1D8B2E1B2401A10BDC9B203E00378B8 +:1082E0008B4203D0401C521EF9D20020704730B59B +:1082F00004460020034600E05B1C934203D2E05C8E +:10830000CD5C401BF8D030BD03460A780270401C9B +:10831000491C002AF9D11846704730B5054600209F +:10832000034600E05B1C934205D2EC5CC85C201A5B +:1083300001D1002CF6D130BD0FB400B58DB009903D +:108340000B9010A900200091C0430A9000200C90CF +:1083500006480690064807906A4609A80F9900F05B +:10836000B1FD0DB008BC04B018470000E58E000157 +:10837000058F0001FFB5087889B01546FF2805D0A4 +:10838000491C2D2804D00022002407E000240BE023 +:108390000122F9E70A235C430419491C0878FF28E5 +:1083A000F8D1002A00D06442002004902A780146C7 +:1083B0002D2A01D02B2A0FD16D1C2D2A02D000228C +:1083C000049209E00122FBE700260A2233466D1CD5 +:1083D00000F0F2FC381871412F78FF2FF4D10C9A7D +:1083E000A218069202460A4304D0FF23069A91334C +:1083F000DA4205DA002109980A4606C00DB0F0BD40 +:108400000024B74AB54D2646079200F011FC0290B1 +:1084100006980391002801DA474200E00746390533 +:108420000020AF4A001C51410191009012E0F80772 +:1084300007D022462B463046079900F0D9FA064667 +:10844000079122462B461046194600F0D1FA044601 +:108450000D467F10002FEAD10698019B0028009A54 +:108460000399029806DA00F02BFB3246079B00F0D6 +:1084700027FB05E000F0BCFA3246079B00F0B8FA93 +:10848000049A002A02D00122D2075140099A03C25D +:10849000B4E7FFB591B0002009900025ED432E20F0 +:1084A0009E685C681F460190B9696D1C12988847E8 +:1084B0000090396A88470028F6D10098401C0AD0FD +:1084C0000D20C0018443002E12DD00982B2809D016 +:1084D0002D280DD103E00020C04315B0F0BD0120D0 +:1084E00080020443B9696D1C12988847761E00907B +:1084F00003A9600501D52D2000E02B206A461073EA +:10850000491C0CA80F9102900AE0B9696D1C1298E1 +:10851000884700900120400204431398761E0560AE +:10852000002E02DD00983028EFD001990098884293 +:1085300046D18020044308E00998401E099001209C +:10854000400204431399681C0860B9696D1C761ECB +:108550001298884700903028EED031E00199884287 +:1085600005D1200603D480200443761E1EE0009827 +:1085700003F0F0F8002826D001204002044307A9A8 +:108580000F980331761E88420BD200980F9930382D +:1085900008700F98401C0F90200607D50998401EC0 +:1085A00003E0200602D40998401C0990A00502D5DA +:1085B0001399681C0860B9696D1C1298884700906F +:1085C000002ECBDC59E0002E57DD0098652801D045 +:1085D000452852D1A00550D5032000028443B96933 +:1085E0006D1C761E129888470090002E0CDD2B28FB +:1085F00004D02D2808D1FF2001300443B9696D1C37 +:1086000012988847761E0090E00501D52D2100E0E4 +:108610002B21029801700298401C0290019025E0E5 +:108620000120400204430EA902980131761E8842BF +:108630000ED20098029930380006000E087003D15F +:108640000299019881420AD90298401C029006E0E2 +:10865000E00501D5234801E0224840420990B9696C +:108660006D1C12988847009013980560002E04DD59 +:10867000009803F06FF80028D2D1F9691298884762 +:108680000F99FF200870029903AA087000200A9031 +:108690000B900CA90AA8099BFFF76CFEA00502D459 +:1086A0000120C04319E72420044209D0E00713D178 +:1086B00038680B9A0A99031D3B60006806C00BE0FE +:1086C0000B990A9800F05CFB0146E00704D138687A +:1086D000021D3A60006801602846FEE60000144072 +:1086E0000000F03FF1D8FFFFF7B582B00F4600263B +:1086F000029C02F01BFF0090006801902578641C2A +:10870000002D05D000F0CAFB0068405DC007F5D120 +:108710002B2D02D02D2D1CD0641E0098002101604D +:1087200039462046049A00F0FFFB0146002F04D092 +:108730003868A04201D10298386000980068022889 +:108740000BD00098019A0260700506D5484205B02A +:10875000F0BD012080020643DFE70846F7E7F8B5E1 +:1087600002464A40D40F42004B0052085B089A422E +:1087700002D20246084611464A0023D0C30D4A00E1 +:10878000DDB2120EAD1A202D35DA49020126490A52 +:10879000F6058A19002C00D0524220214F1B1146A9 +:1087A000B9402A411018C20D9A4221D0002C17D08E +:1087B000012D08DCDA05801AD20F8019D207DBB24E +:1087C00000F060FCF8BDDA05801A012340001B06AA +:1087D000C01880185A428018CA0F1043490007E099 +:1087E0004908C2071143DA05801A80194008801829 +:1087F00000F040FCF8BD61000122511A001BF7E7B0 +:108800000122D2075140AAE70122D2075040A6E731 +:10881000024670B54A40D30FDB0740002DD04A0016 +:108820002AD0010E140E000212020919400A520A3F +:108830008418E50104465443000A120A2E045043EA +:10884000A4194219200CC543AA18120C0125AD0326 +:10885000521C521912047F39240400D0521C1043B8 +:1088600001D44000491EC2B20C06C0092018401CA9 +:108870004008802A02D003E0002070BD400840007C +:10888000002900DA0020184370BD0000F0B507464B +:108890000846584087B0C00F049048000E46590063 +:1088A00040084908BC1A884105D2384631461E4660 +:1088B00017460B4602465800400810434CD0300D76 +:1088C000039040055900400D490D0590401A029053 +:1088D000402872DA18030121000B090508430190B2 +:1088E00004980092002805D0019952420020884146 +:1088F00000920190029840210A1A0199009800F014 +:1089000098FA05460C466B4607CB00F0B3FAC0193F +:108910007141039A0E0D0023D71756401A467A402C +:10892000164344D0049A002A2DD0029A012A039AB1 +:1089300015DC1205C01A914101263605001C714153 +:10894000D20F059ED2070093019202962A46234633 +:1089500000F0DEFB07B0F0BD38463146FAE71605F9 +:10896000224A0F46B218C01AB74101210905001C5E +:108970004F4100187F41114618187941E20F10430A +:108980006D19644113E0E2076D0815436408C207DE +:108990001443039A01261205C01A91413605001CA2 +:1089A0007141CE07400830434908C01851412A465A +:1089B000234600F0A0FBCDE7FFE70498012240002A +:1089C000C117121A00238B4104983146C417381A74 +:1089D000A141EEE730B40124E407634030BC55E721 +:1089E00030B40124E407614030BC4FE70000E0FFF1 +:1089F000F0B51FB488B00B99099800244840099934 +:108A0000C00F490049080991C0070B99009049001F +:108A100049080B9109990898A64608431CD00B9960 +:108A20000A98084318D0099801244000420D4800D4 +:108A3000410D099824050003000B204309900B9871 +:108A40000003000B20430B9050181C4940180022D3 +:108A500001901446104605E0002001460DB0F0BD1F +:108A6000032801DA034600E003239C46C11A0AAE3C +:108A70000AE05F0008ADED5B4F00F75B7D43002728 +:108A8000AA187C41491C5B1E6145F2DD410004AB24 +:108A90005A522104120C0A43240C401C0828DFDB24 +:108AA000019802900099704601910090059B049AEC +:108AB0000799069800F02CFBD0E700000DFCFFFFA3 +:108AC000F0B50C465C4085B0E40FE40703944C001D +:108AD000002664085900944649080246029622433B +:108AE00021D062460A431ED06200570D4A000E0391 +:108AF0002303550D012402462C492405781B1B0B2A +:108B0000360B401823432643614600901C46501AFA +:108B1000B44103D30098401C009002E092180098E2 +:108B20005B41002803DA0020014605B0F0BD0020BB +:108B3000012109050746864611E064461D46141BBF +:108B4000B54106D36546521BB341744607430C43F7 +:108B5000A646CD0740084908284392185B410546C0 +:108B60000D43EAD11046184313D0604619465040D1 +:108B70007140084306D06046101AB34106D2012264 +:108B8000002306E000220123DB0702E00122D2439A +:108B90005310009874460105381C6141029C039DE6 +:108BA0000019694100F0A7FABFE70000FD030000CB +:108BB00070B54B005B0803430BD04B005C0D0026E7 +:108BC00033466542B341D417AD1AA34102DB0020FE +:108BD000014670BD12053018514170BD10B500221C +:108BE0009623114600F04EFA10BD00000EB5C217D4 +:108BF000C10F5040CA0740180021054B0293019253 +:108C000000910A460B4600F083FA03B000BD000055 +:108C1000330400000EB505490291002100910A4677 +:108C20000B46019100F074FA03B000BD330400005C +:108C30000EB5054A0292002200921346019200F0FE +:108C400067FA03B000BD000033040000C20F41000A +:108C500040020123400ADB05D207090EC0187F2914 +:108C600001DA00207047962903DC9623591AC84080 +:108C700001E096398840002AF4D040427047000055 +:108C800070B5CD0F4A0009030123090B1B051943D9 +:108C90000B4BED070024520D9A4201DA002070BD03 +:108CA000074B34339A4203DC9A1A00F0D2F802E000 +:108CB0000449511888402C43F1D0404270BD000057 +:108CC000FF030000CDFBFFFF4A0009030123090B4E +:108CD0001B0519430A4B10B5520D9A4202DA0020C7 +:108CE000014610BD064B34339A4203DC9A1A00F059 +:108CF000B0F810BD034BD21800F09BF810BD000077 +:108D0000FF030000CDFBFFFFC20FD2074000400869 +:108D10000BD0C10D0723DB01C91840020905400A29 +:108D20001143C208400711437047002001467047B5 +:108D300010B5002904DB0124E40740428C412146A0 +:108D4000002B04DB1C460123DB075242A3418B426C +:108D500000D1824210BD000010B5002904DB0124BF +:108D6000E40740428C412146002B04DB1C460123D2 +:108D7000DB075242A341994200D1904210BD00004E +:108D8000CB0FDB07490010B5490802460A4307D05C +:108D90000A0D07240903E401090B121B002A01DC58 +:108DA000002010BDC900440F0C43C100E018D205DB +:108DB000801800F05FF910BDF0B51FB486B0002038 +:108DC0000090019002900698069980B2049007984E +:108DD000090C02040014114307900027089D09980C +:108DE00006913E463C4603900398A9B20204000C4B +:108DF000039004982D0C154348430021224600F0AF +:108E000018F8C719714110340E46402CECDB384677 +:108E1000029A00F00EF8009A019B801800905941C8 +:108E200002980191103002904028CCDB00980BB0E2 +:108E3000F0BD10B5202A04DB0146203A9140002005 +:108E400010BD914020239C1A0346E34019439040F3 +:108E500010BD10B5202A04DB0846203AD04000217E +:108E600010BD0B46D340D0402024A21A91400843A5 +:108E7000194610BD10B5202A06DBCB170846203A4C +:108E80001041C1170B4306E00B461341D04020248C +:108E9000A21A91400843194610BD000000487047CF +:108EA0007445010110B50446FFF7F8FF0068005D46 +:108EB000C007C00F10BD0000026813785118016090 +:108EC0001846704710B5D1600449516104491162D8 +:108ED00000211161114600F08FF910BDB98E00011B +:108EE000A58E00014268002A08D001680B78491C51 +:108EF000002B03D0521E06C0184670470121C160E6 +:108F0000881E70474268002A0BD0C3680168002B96 +:108F100007D183688B4204D0491E521C06C0002032 +:108F200070470020C0437047F7B582B0029C00270D +:108F30002078641C15460197302802D0002D15D0EA +:108F400015E020780127641C782804D0582802D026 +:108F5000002D09D00BE0002D01D0102D07D10027E6 +:108F600010252078641C02E0082500E00A25002670 +:108F7000009610E00099012769430818020C294661 +:108F800080B2714300908E183804864201D30120CC +:108F900001902078641C294600F01EF90028E9DAC7 +:108FA0000398002805D0002F01D0641E00E0029C29 +:108FB00004600198002806D002F0B8FA022101608E +:108FC000C81E05B0F0BD009930040843F9E7000061 +:108FD0000FB400B589B00CA900910B990023CB60A8 +:108FE000204B214A06930792042201921F4A0292C3 +:108FF0001F4A089202466B460020FFF74AFA09B062 +:1090000008BC04B0184770B586B006460020C043BF +:109010000190002015460C460091029104903246C2 +:10902000694604A8FFF7D4FF024604982118002DD2 +:1090300005D0002801D0084600E0204628600498AA +:1090400000280DD0002A02DD0098884208D0081BB5 +:109050000190009432466946029404A8FFF7B8FFD5 +:1090600006B070BDE58E0001058F0001FFFFFF7F98 +:10907000A58E0001002904DA401C490001D14008F6 +:109080004000704770B40024050C05D11024000482 +:1090900002D1002921D01124050E01D1000208348B +:1090A000050F01D10001241D850F01D18000A41CF2 +:1090B000002801DB4000641C002908D020252E1B5D +:1090C0000D46F540A14000D0012129430843010687 +:1090D0001B1B000ADB1D02D5002070BC7047DB059E +:1090E000181880180029F8DA401C4900F5D170BC26 +:1090F00040084000704710B5002B08DA0024401CDF +:10910000614192185B411A4301D14008400010BDF3 +:10911000F0B51FB482B005460C0003D0084602F03B +:10912000EDF902E002F0EAF9203002460090214613 +:109130002846FFF77EFE049B059A04460F46184317 +:109140001143084314D0184610431BD00098402107 +:109150000A1A18460599FFF77CFE05460E46009A46 +:1091600005990498FFF765FE084305D0012004E047 +:109170002046394607B0F0BD0020C11705430E4315 +:109180002C43374300990E986305401A7905E40A89 +:1091900000220C43FD0A0A3002D500200146E9E70F +:1091A0000105101969410C9C0D9D00196941FFF7DB +:1091B000A2FFDFE7064C0125064E05E0E36807CC79 +:1091C0002B430C3C98471034B442F7D3FEF77CFF96 +:1091D0001C4901013C4901013A2800D230382023C2 +:1091E00002469A43412A01D310463738884201D3B8 +:1091F0000020C04370470000F3B58DB000200A90F6 +:1092000001200B90002608460C300C46099062693C +:10921000012109989047051E2ED0252D2DD0216AB9 +:109220008847002818D06269012109989047216A6F +:1092300088470028F7D1411E62690998904700E0ED +:10924000761CA1690D988847216A88470028F7D1C4 +:10925000E1690D988847DAE7A1690D9888470746C4 +:10926000A84201D1761CD2E7E1690D9888477F1C9E +:1092700002D10A98002877D049E1002762693D466B +:109280003946099890472A280CD16269012109982A +:109290009047012506E00A214F433F18303FEBD4A9 +:1092A0001020054362690121099890470146303931 +:1092B0000A2903D29B498F42DEDCECE7E90600D4A1 +:1092C000994F6C280AD04C2810D0682824D06A28DE +:1092D0002ED074280CD07A280AD00DE062690121C2 +:1092E000099890476C2823D004211CE020200543D6 +:1092F0006269012109989047A760656065284FD091 +:1093000026DC582839D01ADC452849D012DC25281B +:1093100034D04128B0D143E06269012109989047D7 +:10932000682802D008210D43E6E70120C002DEE7ED +:109330000220DCE7462833D047282CD130E05B28D8 +:1093400070D061282CD063286CD0642823D161E0D0 +:109350006F284FD009DC662822D0672820D06928E2 +:1093600026D06E2817D12EE0CDE070284DD073287E +:109370006FD075284ED078280DD154E0A1690D9892 +:1093800088470546252800D16CE7E1690D98884794 +:109390006D1C00D16DE7BAE00A224CE00A2252E0CF +:1093A000012023466A46C0430D99FFF772F8A3E0F7 +:1093B0002846402108436060A807234601D50022C3 +:1093C00039E000223FE0E80700D020E72068011DD7 +:1093D00021600068290501D5067018E7290701D525 +:1093E000068014E7A90703D5F117066041600EE770 +:1093F00006600CE72846402108436060A807234622 +:1094000001D5082217E008221DE0484928460840F7 +:10941000606016E02846402108436060A8072346A4 +:10942000BCD5B9E715E02846402108436060A8078D +:1094300007D5234610220120C0430D99C046C046DF +:109440005AE0234610220120C0430D99C046C04671 +:1094500052E000210C910B460091632802D05B285A +:1094600007D043E0E80601D40120A060012000906D +:109470003CE062690121099890475E2805D10120EE +:109480000C9001466269099890472169002906D12C +:109490000B4601AA8F00491CD3510829FADB00288A +:1094A00035D0216900290ED1C117C90E09184A11FA +:1094B000930001AA9A1849094901411A0120136829 +:1094C00088400343136062690121099890475D2831 +:1094D000E5D10C98002808D0002001AB81005A5833 +:1094E000401CD2435A500828F8DB01AB0120224629 +:1094F000C0430D99C046C04600280ADA401C06D178 +:109500000B98002803D00020C0430FB0F0BD0A988C +:10951000FBE7E90702D10A99491C0A913618002095 +:109520000B9074E6CCCCCC0CFFFFFF7FF1F7FFFF74 +:1095300070B58D180478401CA207920F01D10278F3 +:10954000401C231106D10378401C03E006780E70FE +:10955000401C491C521EF9D1002B15D002780C2654 +:109560008A1A3440401C0C2C03D0A401121B9B1CF3 +:1095700008E004782402121B401CF8E714780C70F1 +:10958000491C521C5B1EF9D5A942D3D3002070BDE3 +:1095900003B40148019001BD232A000003B401482F +:1095A000019001BD6D56000003B40148019001BD5A +:1095B0006560000003B40148019001BDAF7F000069 +:1095C00003B40148019001BDB551000003B4014846 +:1095D000019001BDD37E000003B40148019001BD9C +:1095E000697E000003B40148019001BDC37F000003 +:1095F00003B40148019001BDE954000003B40148DF +:10960000019001BD9957000003B40148019001BDCC +:10961000ED57000003B40148019001BD1D7C00001E +:1096200003B40148019001BD0D2A000003B40148B4 +:10963000019001BDAB52000003B40148019001BD8F +:10964000F58F000003B40148019001BDE1FE000068 +:1096500003B40148019001BD250E010003B4014887 +:10966000019001BDB143000003B40148019001BD68 +:1096700085290000C943416070470268702392B297 +:109680009A430A430260704770B5044601F03CFEFD +:10969000002818D08069002815D0FFF79FFA0546EA +:1096A0002046FFF79BFA2946FFF7AEF8FFF72CFBA1 +:1096B000064A074BFFF704FA0022064BFFF7E6F8CD +:1096C000FFF75EFB70BD044DEAE700001F85EB511C +:1096D000B81E01400000394000803B4470B50D4683 +:1096E0000646002401F010FE002816D0C1690029AA +:1096F00013D0026A002A10D08BB290B289B292B213 +:10970000102D0CD0202D0AD0302D17D0402D15D083 +:10971000502D13D0602D11D022E0002070BD891A89 +:10972000B01AAF2292005043FEF742FD0446963431 +:109730000FD47D20C000844211DC11E0191AAF2241 +:10974000301A12015043FEF733FD4B21C900441873 +:1097500001D5002404E0E1200001844200DD04463C +:10976000204670BD70B5104CA0421BD1851401215C +:10977000284601F07BFC0021284601F077FC0121FE +:10978000284601F067FC09486061002020606060A5 +:109790001F21A16006492161A06160622062A06270 +:1097A0000448E06170BD000000080240080A0200A1 +:1097B0000000FC0F2E6D00000029016802D001227C +:1097C000114301E049084900016070470422002963 +:1097D000816902D0114381617047914381610848DA +:1097E0000649C1620749016307494163074981632B +:1097F0000749C1630849074808607047220078009C +:1098000000080240E700E1009F00BF04190C0516A4 +:1098100070206E286E2B00004008024002220029B2 +:10982000016801D0114300E0914301607047C068B6 +:1098300080B270470246526800200A4200D00120E0 +:1098400070470000044A9068C90640094001C90EEB +:1098500001439160704700000008024010B50B48BA +:109860008CB01EC803940293019200911EC8079405 +:109870000693059204914268016880680A900992F3 +:109880000891684603F068FB0CB010BD0040000171 +:10989000F0B58DB00E46032807DA64A004F00CF88A +:1098A0006AA004F009F86F480FE00027B4683A4650 +:1098B0000BA920460B97FEF717FF05460B98A04211 +:1098C00002D00078002804D067A003F0F5FF0DB0A7 +:1098D000F0BD6A4C0FCC03930292019100900FCC23 +:1098E0000793069205910490A268616820680A9225 +:1098F00009916349009A0890203C68468A4205D144 +:10990000282103F0DBFE0A9988420DD000970197C9 +:109910000297039704970597069707970897099763 +:1099200058A00A9703F0C8FF64A17068FEF7C7FC4F +:10993000002804D070680178622908D02BE0012D3E +:1099400003D0022D01D05FA0BFE701953BE0417835 +:10995000312902D0322902D01DE002AF00E006AF6B +:1099600060A1801CFEF7ABFC002816D070685FA1D8 +:10997000801CFEF7A4FC00281AD070685DA1801C32 +:10998000FEF79DFC00281BD070685BA1801CFEF7D1 +:1099900096FC002816D059A097E75E48854205D06E +:1099A00041208004854201D05BA08EE73D600AE043 +:1099B0000720C003854201D963A086E77D6002E0ED +:1099C000BD6000E0FD602A4668A0716803F00EFFEC +:1099D0006F4E6D463078002803D101F003FB012063 +:1099E0003070274800902821284603F067FE0A902F +:1099F000204601F0E5FA00280DD12C222946204608 +:109A000001F00CFB002806D12C2221462846FEF747 +:109A10006EFC002801D05FA057E763A003F04CFF65 +:109A2000684603F099FA0DB0F0BD000075736167E8 +:109A3000653A206273736574203C6669656C643EA8 +:109A4000203C76616C3E0D0A000000002020666913 +:109A5000656C643A20616374697665203C317C32C0 +:109A60003E0D0A00D048010162737365743A2062AA +:109A700061642076616C75650D0A0000004000018C +:109A800011C011CA62737365743A20657869737482 +:109A9000696E67207265636F726420696E76616CAF +:109AA00069642C2072656275696C642066726F6DE2 +:109AB00020736372617463680D0A000061637469E6 +:109AC0007665000062737365743A20616374697629 +:109AD00065206D7573742062652031206F722032AD +:109AE0000D0A0000616464720000000073697A6509 +:109AF0000000000063726300766572006273736534 +:109B0000743A20756E6B6E6F776E206669656C6453 +:109B10000D0A00000080000162737365743A2061D1 +:109B2000646472206D757374206265203078303102 +:109B3000303038303030206F72203078303130346F +:109B4000303030300D0A000062737365743A207350 +:109B5000697A652065786365656473203232344BB9 +:109B6000422062616E6B0D0A000000006273736533 +:109B7000743A202573203D2030782530386C582CDD +:109B80002077726974696E672E2E2E0D0A00000010 +:109B90008A47002062737365743A20666C6173684B +:109BA000206661696C0D0A0062737365743A206FF8 +:109BB0006B20287665726966696564290D0A000064 +:109BC00000B583B0002103200B46012201910090D3 +:109BD000920203A1034809F0D1FB03B000BD0000CD +:109BE000434C4900ED9F000110B5022805DB486891 +:109BF0000DA1FEF764FB002805D00D480078002871 +:109C000004D00CA103E006F033FF10BD0BA110A09F +:109C100003F0ECFD124C13A0218903F0E7FD1CA01A +:109C2000E16803F0E3FD10BD6A736F6E0000000091 +:109C30008847002076616C69640000006465666195 +:109C4000756C7420286E6F742073617665642900CA +:109C5000706172616D733A2025730D0A0000000077 +:109C6000A45C002020206C6564203D202575202008 +:109C7000286C65643120626C696E6B2068616C666B +:109C800020706572696F642C206D73290D0A0000C5 +:109C9000202070776D203D20256C7520202870775E +:109CA0006D20647574792C202525290D0A0000008B +:109CB000F3B595B015980D46032807DA6F4803F001 +:109CC000FBFD6FA003F0F8FD79A023E07FA1686899 +:109CD000FEF7F5FA002810D00020AE68024600908A +:109CE00069463046FEF700FD04460098B04202D0B7 +:109CF000007800287BD077A00CE000240226B0007A +:109D000014902858FEF7D4FA0746E019801C502812 +:109D100004D975A003F0D0FD17B0F0BD002C03D01E +:109D2000202069460855641C14983A46295868460C +:109D30000019FEF799FA1598E419761C8642DEDBC5 +:109D4000002069460855451E6E462C4605F0C8FAA7 +:109D5000304603F009FC060023D003F0EAFB00289C +:109D60001FD069A1304603F0ADFB074603F0D8FBD6 +:109D7000002800D07D6965A1304603F0A3FB0746AB +:109D800003F0CEFB002800D07C69002D13DA002CF4 +:109D900022DA5FA003F090FD304603F069FB17B0B4 +:109DA000F0BD65A003F088FD002EF8D0304603F02A +:109DB0005FFB17B0F0BD294666483239814209D3AE +:109DC000654A322165A003F011FD304603F050FBD7 +:109DD00017B0F0BD002C0BDB642C09DD642164A0FE +:109DE00003F004FD304603F043FB17B0F0BD14E070 +:109DF000304603F03DFB002D01DB62480581002C5D +:109E000001DB6048C46006F087FE002801D05EA038 +:109E100080E706F02DFE17B0F0BD3BA16868FEF7A5 +:109E20004EFA002807D039A16868FEF748FA0028E2 +:109E30000DD05CA06EE7204646493238884203D3F5 +:109E4000454A322145A015E04E48048109E0642CC2 +:109E500005D9642146A003F0C9FC17B0F0BD4948FC +:109E6000C46006F059FE002801D055A052E72246F2 +:109E700059A0696803F0BAFC17B0F0BD8C48010125 +:109E800020206C6564203D206C65643120626C6923 +:109E90006E6B2068616C6620706572696F64203536 +:109EA000302E2E3130303030206D730D0A0000001E +:109EB000202070776D203D2070776D206475747957 +:109EC00020302E2E31303020250D0A006A736F6E3F +:109ED000000000006170707365743A206261642054 +:109EE00076616C75650D0A00617070736574206A27 +:109EF000736F6E3A206C696E6520746F6F206C6FA3 +:109F00006E670D0A000000006C65640070776D00DC +:109F1000617070736574206A736F6E3A206E6F2083 +:109F20006B6E6F776E206B657920286C65642C20D2 +:109F300070776D290D0A0000617070736574206A76 +:109F4000736F6E3A207061727365206661696C0D83 +:109F50000A000000DF260000102700006C65642066 +:109F600072616E67652025752E2E25750D0A00001D +:109F700070776D2072616E676520302E2E25750D0D +:109F80000A000000A45C0020617070736574206A90 +:109F9000736F6E3A20666C617368206661696C0D40 +:109FA0000A000000756E6B6E6F776E2070617261D3 +:109FB0006D20286C65642C2070776D290D0A0000D7 +:109FC0006170707365743A20666C617368206661B5 +:109FD000696C0D0A000000002573203D20256C757A +:109FE0002C2073617665640D0A000000002498B08F +:109FF000F4A725461594661E38461294FEF758F9C4 +:10A0000081B2384603F072F90027FF4339466846AB +:10A0100003F0CCF80028F7D01598002805D00021CF +:10A020001591694609788142EED0129801281FD017 +:10A03000022826D0684600781B287DD009287CD0CD +:10A040000D287BD00A287AD0082879D07F2877D0AD +:10A05000014620395F29D7D23F2C72D2E5490855F5 +:10A06000641CA4B20121684603F040F92546CBE701 +:10A07000684600785B2802D000201290C4E70220D6 +:10A08000FBE70020129068460078412816D042284D +:10A09000BAD1002EB8DB761E57D4D7484078801B43 +:10A0A000C01DC117490F0918C908C900401A81010C +:10A0B000D24809184038FEF727F949E0CE48711C0C +:10A0C00002789142A0DA4078761C801BC01DC1172F +:10A0D000490F0918C908C900401A8101C748091861 +:10A0E0004038FEF711F9C3480290FEF7E1F887B255 +:10A0F000C3A42046FEF7DCF881B2204603F0F6F850 +:10A100000024002D0BD9C1A00190FEF7D1F881B237 +:10A11000019803F0EBF8641CA4B2AC42F3D3B8A4EA +:10A120002046FEF7C5F881B2204603F0DFF8002F85 +:10A1300034D03946029805E036E038E0E2E0E3E06A +:10A1400029E136E103F0D2F828E0AA49002008709E +:10A15000A8480290FEF7ACF887B2A9A42046FEF703 +:10A16000A7F881B2204603F0C1F80024002D0BD9D6 +:10A17000A6A00190FEF79CF881B2019803F0B6F812 +:10A18000641CA4B2AC42F3D39DA42046FEF790F821 +:10A1900081B2204603F0AAF8002FCAD13D46954867 +:10A1A000FEF786F884B22FE7012012902CE703F027 +:10A1B0007BF8904800252F46019003F0AEFA1390EB +:10A1C000224620210198FEF788F8002860D10199E5 +:10A1D00008551399149000295AD9149803F0A0FA3D +:10A1E000224616900199FEF798F8002819D1002F01 +:10A1F0000AD102A81699FEF787F802A8FEF758F8C8 +:10A2000085B20DE06D1EADB2A54206D92A4602A860 +:10A210001699FEF782F80028F4D1002002A94855CB +:10A220007F1C14981399401C14908842D5D3002F9A +:10A2300064D0012F1AD0A5422BD902AF3F2C5DD29A +:10A24000AC425BD23819012103F050F80198395D16 +:10A250000155641CA4B2F1E73819012103F046F856 +:10A260000198395D0155641CA4B200E002AF3F2C97 +:10A2700044D2AC42F0D3019820210155641C63A55F +:10A28000A4B22846FEF714F881B2284603F02EF84F +:10A2900034E05FA52846FEF70BF881B2284603F0AC +:10A2A00025F81398002500281CD9284603F038FA11 +:10A2B000074622460199FEF730F800280ED13846AD +:10A2C000FDF7F6FF81B2384603F010F851A7384683 +:10A2D000FDF7EEFF81B2384603F008F813986D1CC5 +:10A2E0008542E2D34AA52846FDF7E2FF81B228461F +:10A2F00002F0FCFF2146019803F08EFA254602F099 +:10A30000E3FF81E60A2000E00D20159002F0CCFF6B +:10A310003FA52846FDF7CCFF81B2284602F0E6FFB4 +:10A320003449002008550D46287800281FD0324CAB +:10A33000207800280AD06078C01D4007C10D2F4842 +:10A3400008182946FDF7BBFF002810D0607881016E +:10A350002A4808182946FDF7D7FF6078401C4007B7 +:10A36000400F60702078082801D2401C2070002027 +:10A3700003F09CFA1F4803F0DFF91CA42046FDF708 +:10A3800097FF81B2204602F0B1FF02F09DFF00244A +:10A3900025463E4638E6002CB3D0641E1EA5A4B266 +:10A3A0002846FDF785FF81B2284602F09FFF25462B +:10A3B0002AE61AA73846FDF77BFF81B2384602F03D +:10A3C00095FF21E60D0A434C492072656164792EA0 +:10A3D0002054797065202768656C702720666F723D +:10A3E00020636F6D6D616E64732E0D0A6361696920 +:10A3F000632D3E00C0500020444700200051002043 +:10A400000D63616969632D3E0000000020000000BB +:10A410000D0A0000202000000820080007000000AE +:10A4200010B50C46022812DB0EA16068FDF747FF4D +:10A43000002809D00CA16068FDF741FF002804D076 +:10A440000AA003F039FA10BD012001F05BFF01F012 +:10A4500053FF002801D003A100E003A10AA003F0EC +:10A46000C5F910BD6F6E00006F6666007573616799 +:10A47000653A20626C656C6F67205B6F6E7C6F66FF +:10A48000665D0D0A00000000626C65206C6F673A23 +:10A490002025730D0A000000F8B502F0BFF9074649 +:10A4A00002F0B8F90546224A22A125A003F09EF940 +:10A4B0002A48874203D12AA003F0FEF915E000F0F4 +:10A4C00023FF044602F0FEF906460A213846FDF74E +:10A4D0006FFE0A460146002C01D0A06900E0002072 +:10A4E0000090334626A003F081F902F007FA0146F6 +:10A4F0002DA003F07BF93048854203D12FA003F053 +:10A50000DBF903E0294635A003F070F909F002F801 +:10A510007D21C900FDF736FE014634A003F066F93F +:10A5200008F0F2FB014635A003F060F9F8BD000029 +:10A530000E00010056312E30302E31340000000064 +:10A540006669726D776172653A20257320283078CC +:10A550002530386C58290D0A00000000FF7F0000EC +:10A56000636869702074656D703A204144432072BD +:10A570006561642074696D656F75740D0A00000073 +:10A58000636869702074656D703A2025642E2564B7 +:10A59000204320286164633D2575207472696D3DF8 +:10A5A000256C75290D0A00007664643A2025752013 +:10A5B0006D560D0A00000000FFFF000066616E206E +:10A5C00072706D3A206E2F6120286E6F2074616367 +:10A5D000686F6D65746572290D0A000066616E20F2 +:10A5E00072706D3A2025750D0A000000757074694F +:10A5F0006D653A20256C7520730D0A0066726565DD +:10A6000020686561703A20257520420D0A0000001F +:10A6100002F0B4FA00280DD007A003F04DF9C820CD +:10A6200008F036FABFF34F8F11491048C860BFF3E6 +:10A630004F8FFEE70FA0F0E7666163746F72793A9F +:10A6400020666C6173682077726974652066616941 +:10A650006C65642C20726573657474696E67206123 +:10A660006E797761792E2E2E0D0A00000400FA050E +:10A6700000ED00E0666163746F7279206465666165 +:10A68000756C747320726573746F7265642C2072BC +:10A690006573657474696E672E2E2E0D0A000000B6 +:10A6A00070B5194D0E46022819DB00240C206043BA +:10A6B00029587068FDF703FE002807D0641C0E2C93 +:10A6C000F4D312A0716803F091F870BD0C204443DC +:10A6D00060194268295916A003F088F870BD17A0C8 +:10A6E00003F0EAF8002420460C21484341194A6847 +:10A6F00029580FA003F07AF8641C0E2CF3D312A093 +:10A7000003F0DAF870BD000044440101756E6B6E11 +:10A710006F776E20636F6D6D616E643A20257320D4 +:10A7200028747279202768656C7027290D0A00004B +:10A730002020252D38732025730D0A00636F6D6D61 +:10A74000616E64733A0D0A006B6579733A20544167 +:10A7500042203D20636F6D706C6574652C205550F0 +:10A760002F444F574E203D20686973746F72790DE6 +:10A770000A00000070B50C46032823DB60680178EE +:10A78000312902D0322906D01CE04078002819D1A6 +:10A79000184E012504E04078002813D1164E4025BC +:10A7A00016A1A068FDF78BFD00280FD014A1A068AA +:10A7B000FDF785FD00280ED012A1A068FDF77FFDF2 +:10A7C00000280DD011A003F077F870BD294630465F +:10A7D00000F050FB08E02946304600F047FB03E05C +:10A7E0002946304600F018FB11A0A268616802F00B +:10A7F000FDFF70BD000C0140000801406F6E0000BD +:10A800006F666600746F67676C65000075736167DB +:10A81000653A206C6564203C317C323E203C6F6E92 +:10A820007C6F66667C746F67676C653E0D0A00001E +:10A830006C656420257320257320646F6E650D0A96 +:10A840000000000006A003F037F8C82008F020F947 +:10A85000BFF34F8F07490648C860BFF34F8FFEE72D +:10A86000726573657474696E672E2E2E0D0A000072 +:10A870000400FA0500ED00E010B508F04BFE7D2164 +:10A880000446C900FDF77EFC0246214610A002F0F6 +:10A89000ADFF08F02FF8014614A002F0A7FF08F062 +:10A8A00039FA044608F030FA024605212346090326 +:10A8B00011A002F09BFF1DA002F0FEFF274900201F +:10A8C0000870084608F004F9244802F0F5FF10BDAE +:10A8D000757074696D653A20256C75207469636BB9 +:10A8E000732028256C752073290D0A007461736B21 +:10A8F000733A2025750D0A00686561703A20746FFF +:10A9000074616C20257520422C20667265652025B7 +:10A910007520422C206D696E206576657220667206 +:10A92000656520257520420D0A0000006E616D6589 +:10A93000202020202020202020202020207374612F +:10A94000746520207072696F2020737461636B28B6 +:10A95000772920206E756D0D0A000000E04E002062 +:10A9600010B506A002F0A8FFE12149020BA002F0F9 +:10A970003DFF16A002F0A0FF10BD000075736172CC +:10A9800074313A2054583D5042362052583D50427E +:10A99000372028414634290D0A00000062617564A1 +:10A9A0003A20256C752C203820646174612062691E +:10A9B00074732C206E6F207061726974792C203151 +:10A9C0002073746F70206269740D0A00666C6F7773 +:10A9D00020636F6E74726F6C3A206E6F6E653B20F1 +:10A9E00074783A20444D41204348312028706F6CE0 +:10A9F0006C6564293B2072783A205258444E4520B9 +:10AA00006972712071756575650D0A0010B5E124D4 +:10AA10006402204602F010FC214602A002F0E6FE8D +:10AA200010BD000075736172742072657365743AAD +:10AA300020256C7520384E312C2072782071756578 +:10AA4000756520666C75736865640D0A000000000A +:10AA500010B506A108A002F0C9FE0DA002F02CFF5F +:10AA60001948016819A002F0C1FE10BD56312E3000 +:10AA7000302E3134000000006669726D77617265B6 +:10AA80002076657273696F6E3A2025730D0A000097 +:10AA90006D636D2D6464632D626C653A20424C4594 +:10AAA00028726474737329202B2046726565525492 +:10AAB0004F53202B205541525428444D4129202BDF +:10AAC00020434C490D0A0000004000205379737464 +:10AAD000656D436F7265436C6F636B203D20256C21 +:10AAE0007520487A0D0A00004860704701681A4ACC +:10AAF000114001600021016041608160C160174A1E +:10AB00001749904204D148680F22104348607047AB +:10AB1000144A904204D14868F022104348607047BC +:10AB2000114A904205D148680F2212021043486032 +:10AB300070470E4A904205D148680F221203104315 +:10AB4000486070470A4A9042FBD148680F221204BD +:10AB50001043486070470000FEFF000008000240FC +:10AB6000000002401C00024030000240440002404D +:10AB7000580002400029016802D00122114301E07F +:10AB8000014A114001607047FEFF0000024609685B +:10AB90000020114200D001207047000030B403684B +:10ABA0000D4A0C6A13408A684D6922430C692C4394 +:10ABB00022438C692243CC6922434C6A22438C6A2B +:10ABC00022431A430260CA6842600A688260496888 +:10ABD000C16030BC704700000F80FFFF002B01D028 +:10ABE0001061704700201061704700000149486102 +:10ABF0007047000000040140054B002219685B69A2 +:10AC00000140034202D0002900D0012210467047C3 +:10AC10000004014010B4837919490268002B28D040 +:10AC20000B6893430B604A6803689A434A60027951 +:10AC3000521813680468234313608A6803689A43B0 +:10AC40008A60CA6803689A43CA604279102A06D0AB +:10AC500051180A68006802430A6010BC70478A688D +:10AC600003681A438A60CA6800680243CA6010BC5D +:10AC700070470079401801689143016010BC70472B +:10AC8000000401400B680022002B56D0F0B40124D0 +:10AC90000B68944023424AD04B68022B01D0122B00 +:10ACA00016D113070AD5456A5307DB0E0F269E40BF +:10ACB000B5434E699E402E43466209E0056A53073C +:10ACC000DB0E0F269E40B5434E699E402E43066222 +:10ACD0004B68012B05D0112B03D0022B01D0122B76 +:10ACE00006D14568DB06DB0FA54393402B43436049 +:10ACF0000568530003279F400E79BD43B607B60F82 +:10AD00009E402E430660C5688E68BD439E402E431C +:10AD1000C66085680126A543CC6894402C438460B6 +:10AD2000C46A9E400D69B4439D402543C5620B68CB +:10AD3000521CD340ABD1F0BC70477047054901604D +:10AD4000002242600F218260416101210261C160E5 +:10AD500070470000FF3F00008162704781617047CB +:10AD600042694A404261704782B0EFF30884FDF7C0 +:10AD7000BDF9400701D5EFF309840AA000F084FB78 +:10AD8000E06800900CA0A3686268216800F07CFB7A +:10AD9000E069009014A0A3696269216900F074FB66 +:10ADA000FEE700000A2A2A2A20486172644661757B +:10ADB0006C74202A2A2A0A00523020203D2530387F +:10ADC0006C5820523120203D2530386C58205232AA +:10ADD00020203D2530386C5820523320203D25302E +:10ADE000386C580A00000000523132203D253038BE +:10ADF0006C58204C5220203D2530386C5820504350 +:10AE000020203D2530386C5820785053523D253055 +:10AE1000386C580A0000000010B5FFF7A1FF10BD04 +:10AE200030B505460E4887B00C46854202D1012157 +:10AE3000042004E00B48854210D10121082000F0D5 +:10AE400021F90948844209D86846FFF777FF0120B5 +:10AE50000190694600942846FFF714FF07B030BD03 +:10AE600000080140000C0140FF3F000010B5FFF753 +:10AE700073FF10BD10B5FFF771FF10BD10B40021B6 +:10AE80004156FF23CAB29207D40E4278A3409207DC +:10AE9000120EA24000290BDA0907090F08398C08A5 +:10AEA0001049A4006118CC699C431443CC6107E0AD +:10AEB0008C080D49A40061180C689C4314430C6075 +:10AEC000827801210078002A04D0C006C00E81409B +:10AED000064803E0C006C00E81400548016010BC72 +:10AEE0007047000000ED00E000E400E000E100E059 +:10AEF00080E100E0F7B5FFB004460025A5B00520CD +:10AF0000EFF31087FF210090453102A8FDF7C5F946 +:10AF1000EFF31086FF21453153A8FDF7BEF953A882 +:10AF2000013001909822224953A8FDF79DF9012094 +:10AF300080F310880198804786F3108801221D490C +:10AF4000120303265300360388420AD194421AD0D2 +:10AF50009C4201D1151116E0B44210D101256D02B9 +:10AF600011E0154988420AD1944201D115460AE000 +:10AF70009C4201D11D4606E03546AC4203D0009804 +:10AF80007FB028B0F0BD06ACFF22013441320B493E +:10AF900002A8FDF769F9012080F310882846A69AD7 +:10AFA000A599A04787F310887FB028B0F0BD0000B6 +:10AFB00040390101C44013008560130000380101CD +:10AFC00010B5EFF31084012181F31088FF210906E9 +:10AFD000401803490968884784F3108810BD0000B1 +:10AFE0000440002010B50848064901600749416047 +:10AFF00007498160C922920006490748FDF734F9E4 +:10B0000010BD0000E14800200440002075490020E8 +:10B0100049480020E43901014048002010B5EFF311 +:10B020001084012383F31088FF231B06C018034BF1 +:10B030005B68984784F3108810BD0000044000202E +:10B04000034AD16A102399430143D162704700003B +:10B0500000100240044A0029516901D0014300E078 +:10B06000814351617047000000100240044A0029EA +:10B07000916A01D0014300E0814391627047000072 +:10B0800000100240044A0029916901D0014300E008 +:10B090008143916170470000001002400122054980 +:10B0A00012060128086802D09043086070471043D8 +:10B0B000FBE700000010024030B4164A5168042338 +:10B0C0001940154B01D0042901D0036001E0134958 +:10B0D00001605168124B8906890F5B5C0168D94099 +:10B0E000416053680F4C5B055B0FE35C0D46DD4030 +:10B0F000856053689B045B0FE35CD940C160D16AF3 +:10B10000C90601D5084901E07D21C903016130BCB0 +:10B1100070470000001002400090D0030048E80192 +:10B12000D8390101DC39010100093D0070470000F8 +:10B1300010B5FCF7F1FF044608F0F2F9002803D03F +:10B1400001200349000748602046FCF7E9FF10BDD5 +:10B1500000ED00E010B50A4C2069411C01D0002828 +:10B160000AD10120064934220003FFF7C3FE2069FB +:10B17000411C03D0002801D0024810BD002010BDA2 +:10B180000C48002035480020F0B5564C85B0E069E9 +:10B1900021040843E0618120534D00062863534891 +:10B1A000686153482862534803220168920391431F +:10B1B0000160514934228014FFF79CFE4E4B4F4EE4 +:10B1C00018694F4F411C29D0002827D0A9691A7847 +:10B1D00049094901D206D20E0A43AA612168EA133D +:10B1E0009143216021687F221202914300020843AB +:10B1F00020606068304360606068B8436060606889 +:10B20000211508436060206A3E4908402062206A98 +:10B21000D96809020843206205B0F0BD6168204684 +:10B22000314361606168B943616061680127BF02B1 +:10B2300039436160002104917D21C90003910021FF +:10B2400000917F214024002502950191026861024E +:10B250008A4302600E11234908687F22120290433C +:10B26000220202430A600520FCF738FF0120FCF7A8 +:10B2700035FF1C48406B800704D4284603996D1C99 +:10B280008842F3D91748C06B80B2B04201D9811B04 +:10B2900000E0311AB94202D2E2B28FB20292B04259 +:10B2A00001D3019400E00094019A00988018C00531 +:10B2B000000EA04203D0044604988142CBD809482E +:10B2C00001687F2212029143029A12020A4302602D +:10B2D000416849084900416041684907FCD405B00C +:10B2E000F0BD000000100240007000400F08000098 +:10B2F00018000200001001400C480020000001006E +:10B3000000070000FF00F8FF10B50A4C2069411C3F +:10B3100001D000280AD10120064934220003FFF79A +:10B32000E9FD2069411C03D0002801D0014810BD6F +:10B33000002010BD0C48002010B501F053FF10BDD7 +:10B3400010B40B06CC065B0FE40E0121A140012BCB +:10B3500007D0022B07D01430002A026805D00A4318 +:10B3600004E00C30F8E71030F6E78A43026010BCC6 +:10B37000704700000029818903D001225203114344 +:10B3800001E0024A1140818170470000FFDF0000A8 +:10B39000002A828A01D00A4300E08A4382827047F1 +:10B3A0000246128800200A4200D00120704770B483 +:10B3B0000A06530FCE060125F60E2A460024B24097 +:10B3C000012B0FD0022B10D0838A1340090A00886A +:10B3D0008D402840002B02D0002800D001242046B8 +:10B3E00070BC704783891340F0E7038AEDE70000E3 +:10B3F00070B50446008A86B00D461B490840E988AE +:10B4000001432182A08919492A890840A98811434A +:10B410006A8902431143A181A08A15490840A9897C +:10B420000143A1826846FFF747FE1248844201D1DA +:10B43000039800E002982968192289005043FCF71C +:10B44000A1FE06466421FCF79DFE05012809642142 +:10B450004843301A00013230FCF794FE0007000F19 +:10B460002843208106B070BDFFCF0000F3E9000043 +:10B47000FFFC0000003801408088C005C00D704707 +:10B48000C905C90D818070470FB410B503A9044BDD +:10B49000044A029800F066F910BC08BC04B01847D2 +:10B4A000ADDD0001C40100200FB410B504A9074BA5 +:10B4B00002AA039800F056F9044602A9002000F001 +:10B4C000F8FC204610BC08BC04B01847B3BE00010D +:10B4D0007CB51546024600201C4600290BD0491EAB +:10B4E00000920191044B6A462146284600F03AF941 +:10B4F000009A002111707CBD9DBE00012021020C2C +:10B5000001D010211046020A01D010460839020964 +:10B5100001D01046091F820801D01046891E42083A +:10B5200001D0881E7047081A704700000048704715 +:10B530000848002030B5002805D0164C021F2068AE +:10B540000023014605E0084630BD904203D803467B +:10B5500040680028F9D1002B00D05968002B0AD090 +:10B560001C68D51AA54204D11268A4181A461C609A +:10B5700002E05A6000E02260002807D01468851AB3 +:10B58000A54203D1056864191460406850601846EC +:10B5900030BD000000480020F1B50E4C0F480C4EA5 +:10B5A000001B0D4FC508ED0000221146009803F066 +:10B5B000AFFE002803D13068002801D00020F8BD7C +:10B5C0003C6000202560606001203060ECE70000F6 +:10B5D00004480020CCAD002000480020C8AF002067 +:10B5E000F0B51FB486B00998089A030D00210243F4 +:10B5F00014D05148514A1818504305141198012885 +:10B6000010981AD0281A401C00264D4F4D4900961C +:10B6100001910490002812DA444211E011980124AB +:10B6200049A3012801D11098C1430698119A84605A +:10B630000360C26041600BB0F0BD4042E4E70446E5 +:10B64000210500203F4A001C51410391029012E065 +:10B65000E00707D032463B4601990098FDF7C8F94C +:10B660000191009032463B4610461946FDF7C0F95D +:10B6700006460F466410002CEAD10498039B00286C +:10B68000029A0999089806DAFDF7B2F9019B009A27 +:10B69000FDF7AEF905E0FDF713FA019B009AFDF7FF +:10B6A0000FFA04460E460022284BFDF755FB03D83F +:10B6B0000020C043014607E00022254B20463146CA +:10B6C000FDF7E4F8FDF700FB102409E0002C0ADB8D +:10B6D0000A220023FCF780FD079B30321A55641EB6 +:10B6E00002460A43F2D11122641C079B121B1C194B +:10B6F000119B012B03D0012308430ED10AE008431C +:10B7000004D0112010900020119077E71098151A9E +:10B710006D1E0BE01098824202DD00236D1C03E0D9 +:10B72000824201DA00236D1E002BEED0069811999B +:10B730008260C16030C07EE701FCFFFF104D000059 +:10B74000000014400000F03F300000000000F04313 +:10B750000000E03F30380A2801D201207047002065 +:10B7600070470000FFB597B00646002518E225286F +:10B7700077D100242746FD49049400E00443761C59 +:10B7800032780120203A90400842F7D130782A28B8 +:10B790000ED00222307801463039092916D8049992 +:10B7A0000A235943303940181443761C0490F1E7BA +:10B7B000189802C804911890002904DA0120400367 +:10B7C00004434842049002200443761C30782E281B +:10B7D00014D1042004437078761C2A2809D11898C3 +:10B7E000761C80C8189009E00A214F43303FC719E2 +:10B7F000761C3078014630390929F5D930786C2823 +:10B8000010D006DC4C281AD068280ED06A2817D130 +:10B8100004E0742813D07A2812D110E001204005EA +:10B8200004430CE00121090501E0032109050C4353 +:10B830007178814203D1012000052418761C761C02 +:10B840003078119066280BD013DC58287DD009DCA5 +:10B8500000287BD04528F6D04628F4D047281AD1B6 +:10B86000A5E118E0632835D0642870D0652812D18E +:10B870009DE170286CD008DC6728F1D069287BD066 +:10B880006E280DD06F2806D1BAE073282ED0752807 +:10B8900071D0782859D01A9A199990476D1C7EE179 +:10B8A0006002400F022809D003280DD00428189800 +:10B8B00001680DD00D60001D189070E11898EA170E +:10B8C00001680D604A60F6E7189801680D80F2E79C +:10B8D0000D70F0E718986A4601781172001D1890F3 +:10B8E0000020507202A80090012005E0189802C8BC +:10B8F000189000200091C04361070DD5002101E0A0 +:10B900000199491C0191B94212DA8142F8DB009A8F +:10B91000515C0029F4D10BE0002101E00199491CA0 +:10B9200001918142FADB019A0099895C0029F5D1E5 +:10B93000019904981A9B471A21463846199A00F033 +:10B9400097FA0199401945180BE04FE02CE113E0FC +:10B950004EE0009800990078491C00911A9A1999B4 +:10B9600090470198401E0190401CF2D12146384674 +:10B970001A9B199A10E137E00A20002100900191EA +:10B980006002410F022907D0189A01CA1892C21703 +:10B990009446032908D00AE01898C01DC108C900C0 +:10B9A00005C91891944607E000B2C21794460429CD +:10B9B00002D140B2C1178C4600226146944506DA96 +:10B9C0000A460021404291418C462D2102E021058A +:10B9D00004D52B216A461173012103E0E10701D050 +:10B9E0002021F7E7029155E00A200AE0102008E044 +:10B9F000102000900021042004430191082703E057 +:10BA000008200021019100906002410F022907D017 +:10BA1000189A01CA189200229446032908D008E017 +:10BA20001898C01DC108C90005C91891944603E0C3 +:10BA300080B2042900D1C0B200210291210729D58A +:10BA40001199702906D0009A1021019B4A401A438F +:10BA500005D00EE040216A461173012108E06146DD +:10BA6000014306D030216A461173119951730221A6 +:10BA70000291009A0821019B4A401A430AD161466B +:10BA8000014301D1610705D530216A4611730121B7 +:10BA90007F1E02911199582904D035A10E910DA94C +:10BAA0000D910DE037A1F9E76146019B009AFCF783 +:10BAB00093FB0E9B8C469B5C0D9A521E0D9213704D +:10BAC00061460143F0D10D9805A9081A2030019074 +:10BAD000600703D501200004844300E0012701989A +:10BAE000874201DD381A00E00020019900904118DA +:10BAF000029809180498401A0490E00306D42146DD +:10BB00001A9B199A049800F0B3F94519002706E02A +:10BB100003A81A9AC05D199990476D1C7F1C029862 +:10BB20008742F5DBE0030CD521461A9B199A04984D +:10BB300000F09EF9451904E01A9A302019999047AF +:10BB40006D1C0099481E00900029F5DC08E00D9856 +:10BB50000D990078491C0D911A9A199990476D1CFE +:10BB60000199481E01900029F1DC63E109280100D8 +:10BB70003031323334353637383961626364656663 +:10BB80000000000030313233343536373839414225 +:10BB9000434445460000000000F05AF94519761C60 +:10BBA0003078002800D0E2E528461BB0F0BD6007E1 +:10BBB00000D406271898C01DC108C90048680A6843 +:10BBC0000831C30FDB071891190001D09CA108E0D0 +:10BBD000210501D59BA104E0E10701D09AA100E075 +:10BBE0009AA1430011985B08109165280CD006DCDF +:10BBF000452809D046281DD0472841D141E0662874 +:10BC000018D067283CD13CE00021112F01DB112026 +:10BC100000E0781C0191009008A911A8FFF7E0FC52 +:10BC2000139905910021119A15927F1C1298019782 +:10BC3000009150E00120C00703900120019008A965 +:10BC4000009711A8FFF7CCFC139A149905920022D3 +:10BC5000119B009212981593059A0192002901D028 +:10BC6000104602E0791C40180190381A01D501985D +:10BC700004E04042401E0090781C0190C01B0290DE +:10BC800043E0012F00DA01270021112F01DD1120EF +:10BC900000E038460191009008A911A8FFF7A0FC28 +:10BCA00013990591119A002112981592009101970C +:10BCB00021070CD40599B94201DB019900E00191FB +:10BCC000012904DD159A491E515C302906D0B8427D +:10BCD00001DA011D05DA0121029115E00199491EE1 +:10BCE000EDE7002805DC0099411800910199091A37 +:10BCF00003E0019A411C914200DD01910099401A34 +:10BD0000401C02900120C0070390200706D402992E +:10BD10000198814202DB0020C04302900020694666 +:10BD2000C87707AF012103980337C907884224D099 +:10BD3000022011902B201290039800280CDA404228 +:10BD400003902D20129007E00A210398FCF71AFABD +:10BD500030317F1E039039701199481E11900029CF +:10BD6000F2DC03980028EFD1791E12980870307821 +:10BD7000202108404530BF1E387006A8C01BC01DDA +:10BD8000039010980078002800D0012001994118F4 +:10BD90000298C0170918039809180498401A401E01 +:10BDA0000490E00306D421461A9B199A049800F0E7 +:10BDB0005FF8451910980078002803D01A9A19994D +:10BDC00090476D1CE00324D521461A9B199A0498CC +:10BDD00000F04EF845191CE00098002807DB009998 +:10BDE0000598884203DD1598405C199901E019997E +:10BDF00030201A9A904700986D1C401C00900298C1 +:10BE0000401E0290002804D11A9A2E2019999047BA +:10BE10006D1C0199481E01900029DDDC05E0387891 +:10BE20001A9A7F1C199990476D1C0399481E03901C +:10BE30000029F4DC21461A9B199A0498ACE600000C +:10BE40002D0000002B00000020000000000000007A +:10BE5000F8B5044600251E461746880404D405E0BC +:10BE600039462020B0476D1C641EF9D52846F8BD20 +:10BE7000FFB50446002581B01E46C80301D5302712 +:10BE800000E02027880404D505E038460399B04730 +:10BE90006D1C641EF9D5284605B0F0BD4A68002A1D +:10BEA00006D00A68531C0B6010704868401E48603A +:10BEB00070470A68531C0B6010707047002903D04C +:10BEC000002801D0884201D1002070478268002AF2 +:10BED00008D05268002A03D011604A60806841602F +:10BEE000012070478160496000200860F8E7FFB5D5 +:10BEF00081B007000A9814460D4605D0002D03D0E6 +:10BF0000002C01D0A74202D1002005B0F0BD0126CF +:10BF10007602002802D0E068304307E02846049902 +:10BF200001F0B8FB051EF0D0E068B0430646A089DA +:10BF3000800505D4206A002802D004994968884702 +:10BF4000E660214638462562FFF7B8FF05B0F0BD30 +:10BF500000B599B060216846FCF79FF9042008AA53 +:10BF6000D07012A0006801900B2010AAD070024679 +:10BF700010A109A8FCF778F9002010AA107101217E +:10BF80005171D071917190731175D082A02010837E +:10BF90009176B42090831920C001D0830848009086 +:10BFA000684603F095FC19B000BD000003160A189E +:10BFB000000000000AFFFFFF4E6174696F6E73009E +:10BFC000C5BF00017047000010B540210848FEF7CA +:10BFD00051FF08490020087000F08EF9002802D0B7 +:10BFE00005A0FFF751FAF72003F0E6FD10BD0000B1 +:10BFF00000080140374700205B424C455D20636FDD +:10C000006E6E65637465640D0A00000010B503F080 +:10C0100083FC00F07FF940210648FEF727FF064920 +:10C020000020087000F068F9002802D003A0FFF794 +:10C030002BFA10BD00080140374700205B424C45F9 +:10C040005D20646973636F6E6E65637465642C2034 +:10C050006164766572746973696E67207265737462 +:10C0600061727465640D0A0010B58CB000240094F0 +:10C0700001940294039404940594069407940894FC +:10C0800009940A94FFF766F8002804D0014601A835 +:10C09000FDF77EFA07E012A001886A469180418888 +:10C0A000D180808810816946CC704C810A208870CC +:10C0B00012220A7303A80CA10130FCF7D5F80C205A +:10C0C0006946088418204884FF208C84F530C88491 +:10C0D0000A480885684603F0BDFC0CB010BD00009E +:10C0E000010203040506000043414949432D4D4325 +:10C0F0004D2D323032363039303200008813000096 +:10C1000000B583B00D4900910D49002001910290C6 +:10C1100069460872684603F0A1FDFFF7A5FF00F02D +:10C1200033FAFFF715FF074803F03EFB064803F01C +:10C130003BFB03F0F1FB03B000BD00004DC100016B +:10C14000C1CD0001B5C60001A9CB000101780129CC +:10C1500028D070B50025144E144C022912D00329A2 +:10C160000FD103F0D9FB00F0D5F840213046FEF79F +:10C170007DFE257000F0C0F8002802D00C48FFF7C3 +:10C1800083F970BD40213046FEF774FE257000F043 +:10C19000B3F8002802D00748FFF776F9F72003F03C +:10C1A0000BFD70BD704700000008014037470020BC +:10C1B0003CC00001F8BF0001F8B50646244F00203E +:10C1C000388178810124481E0D463E2814D80A463D +:10C1D00031462048FCF748F81E49002048551E48C3 +:10C1E00001F064FB1B4801F0A7FA0446002001F0AF +:10C1F0005DFB388900280CD1002C12D017A00090CC +:10C20000FCF756F884B2224619480099FCF72CF83E +:10C210003C81B878002819D016A0FFF735F9002422 +:10C220000CE019A0EBE7315D084620385F2800D309 +:10C230002E2117A0FFF728F9641CA4B2AC4201D24A +:10C240003F2CF0D3398913A0FFF71EF9F8BD000089 +:10C250004C4700200055002081D80001756E6B6EA0 +:10C260006F776E20636F6D6D616E640D0A00000064 +:10C270007B5800205B424C455D20636C69206578EB +:10C2800065633A20220000006F6B0D0A0000000079 +:10C290002563000022202D3E2025754220727370F8 +:10C2A0000D0A000030B40C49098E182902D3891EEA +:10C2B0008AB200E01422094C094D63892189ED18E6 +:10C2C000C91A89B2914200D911465A186281018077 +:10C2D000284630BC70470000B04D00204C4700207D +:10C2E0007B5800200348002101708180C18041708B +:10C2F000704700004C4700200148807870470000DC +:10C300004C470020002800D0012001498870704768 +:10C310004C47002010B505490020087088804881EE +:10C3200000F0EEFD00F05EFB10BD00004C47002069 +:10C33000F3B583B00498002400287AD95B480290B2 +:10C340005B4A03981178005D002904D001290BD0C5 +:10C3500002291AD122E0CA286CD15649087001205E +:10C3600090800521D18017E0524B91885854491C88 +:10C3700088B2908005285DD1029841780378080240 +:10C38000FF211843E131884203D9002010709080CA +:10C3900084E0C01DD080022010707FE0444A454BED +:10C3A00091885854491C88B29080D188884275D1B0 +:10C3B00002980022417800780D0205433E488446E9 +:10C3C000E81C86B23D48002E14D93D4F6146895C79 +:10C3D000090248400021030402D54000784000E0F3 +:10C3E0004000491CC9B280B20829F4D3521C92B251 +:10C3F000B242EBD32F4E71198A794B79110219434E +:10C40000884247D17778B07801902948761D8078A6 +:10C41000002806D03346009539462AA0019A05F037 +:10C4200007FB112F2AD006DC012F09D0102F31D1A4 +:10C4300024E039E032E0122F20D0202F2AD124E04E +:10C4400001273F2D11D82A4631461F48FBF70CFF24 +:10C450001D49002048551D4801F028FA1A4801F0EE +:10C460006BF90746002001F021FA684607700123A6 +:10C470006A460320019900F02BF80BE02B46324668 +:10C480003846019900F0BAFA04E02A46314601988C +:10C4900000F0F2F90648002101708180641C0498C4 +:10C4A000A4B2844200D24BE705B0F0BD8355002012 +:10C4B0004C4700208055002081550020FFFF0000E0 +:10C4C000211000005258000040550020F9190101C8 +:10C4D000FFB5D81D80B283B01D460190FB2803D95B +:10C4E0000020C04307B0F0BD214CCA202070039843 +:10C4F00060700498A070280AE5702071002D04D0A7 +:10C500002A46601D0599FBF7AFFEE81C83B2194F60 +:10C5100019480024002B13D9184E395D09024840F0 +:10C520000021020402D54000704000E04000491C98 +:10C53000C9B280B20829F4D3641CA4B29C42ECD3E3 +:10C540000B4949194871000A88710D488078002804 +:10C5500006D000950BA0059B049A039905F068FA94 +:10C560000348019900F0D4FC002007B0F0BD0000A2 +:10C570008057002081570020FFFF0000211000009D +:10C580004C4700205458000000B587B000200190AF +:10C590000090039004906A46069010730C49029133 +:10C5A00005219170032313701023D3705070107104 +:10C5B0000123537190715073064805907D2091734B +:10C5C00000011082104604F00FF807B000BD000013 +:10C5D00040E2010000B0030110B5024803F0ACFDD9 +:10C5E000002010BD544E00202F48007900285AD159 +:10C5F000F8B56D202C230322072140010BF49CD2B7 +:10C60000A0210446017029480027C1786170277174 +:10C610000321E1806772012666710721244D21778D +:10C62000A9796177687B002803D0E78003206071D7 +:10C630000EE0E87900280BD0A879022800D16677AF +:10C640002671E6802046A9792030417086700770F7 +:10C6500015488079022804D0032815D004281BD15E +:10C6600016E003F0B3FF00280BD00520E0806771CF +:10C67000688A6061688AA06120460A3003F0D4FDB0 +:10C680000AE0094903208871288B6061288B02E049 +:10C69000E88B6061E88BA061034806714671204613 +:10C6A0000BF486D2F8BD7047B04D0020344E002008 +:10C6B000A04E002010B584B00A23032207211048A1 +:10C6C0000BF43AD21B2101700021417014244480E4 +:10C6D00003228280C1800B4A02810BF469D2684632 +:10C6E000048009480190684603F080FA6846048196 +:10C6F0000648039002A804F0F1FD04B010BD00004C +:10C700001B0D0000FF0100001843010179DA000150 +:10C71000FFB585B0054602A800901C46284606993C +:10C7200003F0ACFF6846007A002866D006980090B7 +:10C73000280A334A019403900E2826D03148002459 +:10C740000178002951D92F48E100081882880399FF +:10C750008A4240D1009A81689646019A28469446BA +:10C760000A791206120E36D00968254BD700083F09 +:10C77000CE1937887668BFB2874201D09F4226D152 +:10C78000634603227146B04725E01F49681809280F +:10C790002BD800981D49844608792E46000623466A +:10C7A000000E1ED0C4000F68083C3C19278864683E +:10C7B000BFB2B74201D0974204D103226146284656 +:10C7C000A0470EE0401E0006000EEBD109E0521E0D +:10C7D0001206120ECAD10B48641C0078E4B2A042C3 +:10C7E000B1D86846007A002807D00948426C002A70 +:10C7F00002D0284606999047002009B0F0BD0000FD +:10C80000FFFF00005C4D0020EEF1FFFF683E0101DC +:10C81000B04D002000487047FFFF000070B5124D7A +:10C8200001212846FCF7FAFF142006F031F97020A8 +:10C8300002F07CFC702002F079FC044600212846BE +:10C84000FCF7ECFF094844800948844201D14010BC +:10C8500070BD2046FCF718FF0649FBF7D9FFFCF72F +:10C86000F5F900B270BD00000008024084470020C6 +:10C87000FFFF000000002041F0B5074600208BB00C +:10C8800015460E46002A04D0012D04D13178FF2927 +:10C8900001D10B4E06250024002D08D90146325D3A +:10C8A000684602F079FC641CA4B2AC42F6D303469D +:10C8B0006A4639462120FFF70BFE0BB0F0BD0000A1 +:10C8C000EC44010101484088704700008447002083 +:10C8D00070B506460020074D044601462A5D06480D +:10C8E00002F05AFC641CA4B2062CF6D33080024835 +:10C8F00070BD0000EC4401017B5C002010B560209D +:10C9000002F014FC0449884201D1002010BD6021CE +:10C91000FCF7E4FE80B210BDFFFF000010B503F08D +:10C92000D1FB04480169002901D004208847002078 +:10C9300010BD0000C04E002070B5224C606B224D2F +:10C94000C00722D0A06B21497E2209685143401ABA +:10C950002988491E29804B21C90040181C4988425A +:10C9600013D300202880206A400840002062194923 +:10C9700008680204930F184A01D0904300E0104366 +:10C9800008601648407F03F0D5F829880120002967 +:10C99000216B07D0014321630522032110480BF4CA +:10C9A0008DD30DE0FF22120291432163216B0522FA +:10C9B000920211432163216B0143216303F054FE72 +:10C9C000002070BD00100240344700208C00002081 +:10C9D000B10400000010014000C00000104E002013 +:10C9E000010F000004480021017041618161C161B3 +:10C9F000016281627047000058470020F8B5144674 +:10CA00000D46102809D0112878D0122804D11A46D2 +:10CA10002146284603F042FFF8BD00910C2B04D0BC +:10CA2000002301221021284664E02278E178104694 +:10CA30006278090612021043A278120410430843D8 +:10CA40000502E0782D0A0006227905431046627936 +:10CA5000E17912021043A279090612041043084337 +:10CA60000602E079360A00060643082021180A78F3 +:10CA700010464A78120210438A78C978120410438B +:10CA8000090608430702E07A3F0A000607431E48EA +:10CA90001E494124A404884202D0A0420BD10C4676 +:10CAA0001B49281F88420DD3002303221021009820 +:10CAB00003F0CAFFF8BD002302221021009803F002 +:10CAC000C3FFF8BD13484078002804D1FEF78AFA66 +:10CAD0001049012048700F48012101700021416177 +:10CAE0008161C16101628162001DF0C00B460A468E +:10CAF0001021009803F0A8FFF8BDFFE71A46214671 +:10CB0000284603F01FFEF8BD0080000100800001F0 +:10CB1000FD7F03005847002000487047A45C0020B8 +:10CB2000F8B5342211491248FBF79EFB104C114F07 +:10CB300020680125104EB8420BD16068012808D149 +:10CB40002046302100F0BAFD216B884201D13570BA +:10CB5000F8BD34210648FBF7A0FBFF202760F53025 +:10CB6000656020810020E0603070F8BD0060000149 +:10CB7000A45C00207ADA12CA8847002010B534215C +:10CB80000748FBF78AFB064806490160012141601E +:10CB9000FF21F53101810021C16003F0BDFF10BD0F +:10CBA000A45C00207ADA12CA10B584B014230322E0 +:10CBB000072112480AF4C0D71B21017000214170DF +:10CBC0004724448003228280C1800D4AC2600D4AFE +:10CBD00002610B2202720AF4EBD7684604800A480D +:10CBE0000190684603F002F8684604810748039004 +:10CBF00002A804F073FB04B010BD00001B0D000080 +:10CC0000384301012843010120430101E5210101CD +:10CC100000207047F8B5184D184FE879002801D06A +:10CC20002E7B00E0FE780322331D072114480AF40E +:10CC300083D7A921044601701248C1786170002190 +:10CC40006180E8791049002803D02A7B896C201D77 +:10CC500002E0FA78201D091DFBF706FB608802211F +:10CC60008019608007480279062A00D0017141715D +:10CC700020460AF49DD7F8BDA04E0020804E00202B +:10CC8000A60D0000B04D0020604E0020F8B51F2614 +:10CC900023230322072128480AF44ED70446AA205A +:10CCA000264F2070F878264D6070E8786080EA782A +:10CCB0002449201DFBF7D8FA6288B01AC1B2201DA2 +:10CCC0001018214A0326032910D92B79002B0DD0E7 +:10CCD0000670192343705389091F1B0AC370937A86 +:10CCE00083706388C9B21B1D6380001D02291AD995 +:10CCF0006B79002B17D0137B891E8B4200D219460B +:10CD0000CDB2691C0170117BA94201D1092100E05B +:10CD1000082141702A460D49801CFBF7A5FA60885E +:10CD2000AD1C401960803879062800D03E717E71B4 +:10CD300020460AF43DD7F8BDA60D0000B04D0020F6 +:10CD4000A04E0020844E0020344E0020414E002092 +:10CD500070B53A230322072116480AF4EDD6A42120 +:10CD6000154D04460170E8786070A97913480022D7 +:10CD7000022910D0032913D0042916D06280227111 +:10CD8000807902F007FB0520287104206871204695 +:10CD90000AF40ED770BD018A642359436180EEE71F +:10CDA000C18A642359436180E9E7818B6423594335 +:10CDB0006180E4E7A10D0000B04D0020A04E0020EE +:10CDC00070470000FFB50F4683B00021009101912C +:10CDD00016466946FCF7E2FB040030D10521C90282 +:10CDE0006846FCF7E1FB002828D121496846FCF79A +:10CDF000DBFB002822D11F496846FCF7D5FB002841 +:10CE00001CD11D496846FCF7CFFB002816D129210B +:10CE100009026846FCF7C8FB00280FD1174968468D +:10CE2000FCF7C2FB002809D115496846FCF7BCFB9A +:10CE3000002803D100988088C10B03D00624204627 +:10CE400007B0F0BD00050099000D0D186888B042CC +:10CE500000D207242988B819884201D90D24EEE7A9 +:10CE6000A8193A46001D0699FBF7FEF96F80E6E720 +:10CE70000128000003280000022800000229000009 +:10CE8000032900001EF48CD200F00EF8012005F0FA +:10CE9000FFFDF7E710B503490020087000F004F823 +:10CEA00010BD0000464700201248002100780028ED +:10CEB0001FD070B5104D86B02878002817D1A888EB +:10CEC0006C88A04213D00D4E6A4680B2A04209D0B1 +:10CED000335C5354401CC005491CC00D89B2A88066 +:10CEE0001429F2D301202870104605F07FF906B00E +:10CEF00070BD704737470020464700200053002090 +:10CF0000024900204880888008707047464700200A +:10CF1000F0B484460D480078002814D0002200297F +:10CF200011D90B480B4D878843881C465B1CDB05D9 +:10CF3000DB0DBB4207D06646B65C521C2E5592B242 +:10CF400043808A42F0D3F0BC70470000374700208E +:10CF5000464700200053002010B5044600681949D8 +:10CF6000884208D12046282100F0A8FBA16A884207 +:10CF700001D115A200E016A21B491CA000F036FC4E +:10CF800021A0216800F032FC26A0616800F02EFC90 +:10CF90002AA02369E268A16800F028FC33A0616937 +:10CFA00000F024FC37A0236AE269A16900F01EFCAE +:10CFB0002EA0616A00F01AFC3EA0A16A00F016FCE7 +:10CFC00010BD000011C011CA76616C6964000000D8 +:10CFD000494E56414C49442028626164206D616786 +:10CFE00069632F637263290000400001626F6F74F0 +:10CFF00073657474696E6720402030782530386C12 +:10D00000583A2025730D0A0020206D61676963205E +:10D010002020202020203D2030782530386C580DED +:10D020000A00000020206163746976655F62616EAA +:10D030006B203D20256C750D0A00000020206261E8 +:10D040006E6B313A20616464723D30782530386C03 +:10D05000582073697A653D256C75206372633D3095 +:10D06000782530386C580D0A000000002020202060 +:10D0700020202020207665723D30782530386C588D +:10D080000D0A0000202062616E6B323A20616464F8 +:10D09000723D30782530386C582073697A653D25AB +:10D0A0006C75206372633D30782530386C580D0AFA +:10D0B00000000000202063726333322020202020F3 +:10D0C00020203D2030782530386C580D0A000000B3 +:10D0D00030B58DB001210820FDF7D4FF0121880370 +:10D0E000FDF7D0FF02A8FDF729FE402002900220A4 +:10D0F000284D0424039002A907942846FDF7C2FD99 +:10D1000080210794029102A92846FDF7BBFDE1208A +:10D1100040020890002069468884C8840885888574 +:10D120000C2048851C4D08A92846FEF761F901210D +:10D130000846FDF78FFF194C2046FDF7D7FC012369 +:10D14000224617490220FDF749FD01228021284689 +:10D15000FEF71EF900220121402005F01BFE114CB4 +:10D160002060012005F004FE606001220E4928467F +:10D17000FEF7E6F81C20694608700320487001207D +:10D1800088706846FDF77AFE01212846FEF7F2F81E +:10D190000DB030BD000C01400038014008000240D5 +:10D1A00000000240384700202505000070B5054604 +:10D1B0000B480468002C0ED0481C0ED008467D2178 +:10D1C000C9004843FAF7DEFF02462946204605F02B +:10D1D00048FF012800D0002070BD0020C043F3E7C5 +:10D1E0003847002010B582B00020104C00900E4946 +:10D1F0002046FEF7DCF8002814D02046FEF73CF964 +:10D20000694608710A480068002804D00A460023CD +:10D2100001A905F0DFFE0098002803D00120054990 +:10D220000007486002B010BD25050000003801402D +:10D230003847002000ED00E030B5184D85B00446B9 +:10D2400040212846FEF7ACF80028F9D000212846F6 +:10D25000FEF790F80020694600948880C880088115 +:10D2600088810C2048812846FEF7C2F80C4C2068C3 +:10D27000002807D006F03EF9022803D100212068DB +:10D2800005F0AAFD012207492846FEF759F80121B9 +:10D290002846FEF76FF805B030BD000000380140A9 +:10D2A000384700202505000010B5064C60680028AE +:10D2B00007D006F01FF9022803D1C11E606805F0EF +:10D2C00071FF10BD3847002010B5074C606800287A +:10D2D00009D006F00FF9022805D100231A46194695 +:10D2E000606805F0B0FD10BD3847002000283FD031 +:10D2F00000293DD0F0B51F4E0C4605468BB00021ED +:10D300003046FDF737FC1C4F02203946FDF7ECFB99 +:10D310001A4800901020029000208021059104906E +:10D320000321019503940903069007900890099141 +:10D330000A9069463046FDF731FC01213046FDF781 +:10D3400019FC39460220FDF721FC0028F9D0002104 +:10D350003046FDF70FFC39460220FDF7C5FB084CAF +:10D3600040212046FEF71CF80028F9D00BB0F0BD94 +:10D3700070470000080002400000024004380140ED +:10D380000038014010B4002807D00368002B04D0F7 +:10D3900042688168914201D206E0002010BC7047CB +:10D3A000491C8160002804D0914202D25C5C202C90 +:10D3B000F6D99142F2D1491E816010BC704700003D +:10D3C000F8B50C4605461046194600F013F8064617 +:10D3D00000200090064B324621462846FEF787FD86 +:10D3E0000028304602D100F043F80020F8BD0000CC +:10D3F0009447002070B505460E46124800F0A2F88A +:10D4000004001CD0E6610820A561E0600E4A0F4BC5 +:10D4100028463146FBF7A0FC02D80D4860610EE0BB +:10D4200000220C4B28463146FBF782FC02D8012033 +:10D43000C00703E028463146FBF722FC6061204626 +:10D4400070BD0000944700200000C0FFFFFFDF41D7 +:10D45000FFFFFF7F0000E0C110B5044800F072F844 +:10D46000002801D04021C16010BD00009447002079 +:10D47000002824D0F8B5124E04460027A08925685C +:10D48000C0050DD4A068002804D0FFF7F1FFA089E3 +:10D49000C00505D42069002802D07168884727613B +:10D4A000A089800505D4206A002802D071688847C9 +:10D4B00027627168204688472C00DFD1F8BD70478D +:10D4C0009447002010B5002201F088FD10BD000037 +:10D4D00030B4124A0E4D0F4B0F4C0028136013D07E +:10D4E0000168002900D0116054604068002800D015 +:10D4F0005060002090601068984203D15068A042AC +:10D5000000D1956030BC70479560546030BC704766 +:10D510002926010199B5000135B500019447002085 +:10D52000002803D0007B082801D00020704701208C +:10D530007047002803D0007B402801D000207047AE +:10D540000120704710B501682820884700280AD0BC +:10D550000021016041608160C160016141618161C0 +:10D56000C1610162416210BD70B5002604463546B6 +:10D57000002808D0FAF79CFE411C2B463246204674 +:10D5800000F004F870BD002070BD0000FFB500245D +:10D5900089B006460094019434480294039404949C +:10D5A00005940694046015464460002E5AD0002964 +:10D5B0003FD0024600960191D168906812690490AC +:10D5C000069205912A48FFF7BDFF0790002830D04A +:10D5D00000986F46002802D00298002801D0002051 +:10D5E0000DE00198042809D9032222A10098FAF736 +:10D5F00094FE002802D10298C01C02903846FFF722 +:10D60000C1FE0146079803F0EDFB00280ED00C98F0 +:10D61000002814D06846FFF7B5FE029901988142B0 +:10D6200004D202990098405C002808D00798FFF7C0 +:10D630001FFF0199029888420AD204460BE0002D90 +:10D6400003D0029900984018286007980DB0F0BDEB +:10D65000081E00D0441E002D01D030192860034858 +:10D660000660446000200DB0F0BD00008C47002033 +:10D6700094470020EFBBBF0010B5024A002103F021 +:10D68000CFFE10BD944700200149496808470000BB +:10D6900094470020002810D070B50E460446FAF7D3 +:10D6A00007FE401C336805469847061E04D02A46EC +:10D6B0002146FAF7D9FD304670BD7047002230B4DC +:10D6C000D243491E0FD3094C03785A400023401C13 +:10D6D0005508D20700D022465B1C6A40DBB2082BFB +:10D6E000F6D3491EF0D230BCD04370472083B8ED4A +:10D6F00002468B880020022B01D00D207047C9887C +:10D70000002A05D00029F9D00129F7D081207047DF +:10D710000029FCD00229F9D170470E207047000083 +:10D720000E2804D20C2148430249085870470020B3 +:10D73000704700004444010170B588B000246A4677 +:10D74000234616E0401C01782029FBD00929F9D096 +:10D750000906090E12D0A1005050641C00E0401CC4 +:10D76000017800290AD0202901D00929F7D10370B6 +:10D77000401C0178002901D0082CE4DB002C14D0D7 +:10D78000104E002528460C21484331580098FAF7DE +:10D7900096FD00280CD06D1C0E2DF3D30AA0009925 +:10D7A00000F024F8012008B070BD002008B070BD62 +:10D7B0000C204543A81982686946204690470020FE +:10D7C00008B070BD44440101756E6B6E6F776E20BA +:10D7D000636F6D6D616E643A2025732028747279D1 +:10D7E000202768656C7027290D0A00000FB410B55A +:10D7F00003AB60210648029AFDF76AFE0549002046 +:10D80000C877034800F058F810BC08BC04B01847AB +:10D8100060500020A0500020F3B581B00D46019863 +:10D82000FAF746FD144C86B22046FAF741FD81B264 +:10D830002046FFF75BFD0024002D0BD90F4F384623 +:10D84000FAF736FD81B23846FFF750FD641CA4B2EA +:10D85000AC42F3D3084C2046FAF72AFD81B22046A9 +:10D86000FFF744FD002E03D031460198FFF73EFD3F +:10D87000304603B0F0BD000000A400010CA400017C +:10D8800030B40125074B084CAD0203E06254491C3B +:10D890001981401C0278002A02D01989A942F5D3C7 +:10D8A00030BC70474C4700207B580020014908607D +:10D8B000704700004047002010B50749096800295B +:10D8C00001D0884710BD0446FAF7F2FC81B2204629 +:10D8D000FFF70CFD10BD000040470020F0B51FB45D +:10D8E00005460398144646000198760847007F08CD +:10D8F000334628463946FBF72FFA02D228463946E6 +:10D9000001E0204631463322D243FBF751F9064667 +:10D910000F4622462846039B0199FBF75BF8490016 +:10D9200049083B463246FBF703FA02D8012005B00E +:10D93000F0BD002005B0F0BD02460020802901D9CD +:10D940008D207047062A06D0072A07D0082AF8D16A +:10D950000729F5D170470829F2D170470629EFD37E +:10D9600070477047704770B5C46805466068002806 +:10D9700003D00020002802D00CE00120FAE7201D8F +:10D98000FBF718FE09F4C8D76068002808D000200B +:10D990000028F4D00020E860204609F4BDD770BD0F +:10D9A0000120F5E730B40446A2890920521C93B245 +:10D9B000E48900222546D540ED0707D05D1C8D4245 +:10D9C00002D130BC104670479B1C9BB2521CD2B295 +:10D9D000092AEFD330BC7047FFB585B00E9D0446D1 +:10D9E0002F8801201E4600213A46CA40D20704D0A3 +:10D9F0004B0003225B1C9A401043491CC9B2092901 +:10DA0000F2D3049030461E210840218A184A002390 +:10DA10000191009302920390132304AA15490698DA +:10DA2000FBF7CEFD009000281FD10121142009F43E +:10DA3000FDD70746E06006980188B9812988F981F9 +:10DA4000F00701D00120C003079908433880208ADD +:10DA5000788014206082204600F060F8381DFBF7C3 +:10DA6000B5FD208A00210AF437D1009809B0F0BD35 +:10DA7000283D01010A18000000487047C03D01011F +:10DA8000FFB5087881B00C46092836D2142003F07F +:10DA9000F1FB0746217800F0EFF800282BD06178E1 +:10DAA0002078FFF749FF060028D17D68002D0ED0B1 +:10DAB00020782979814207D12946381DFBF78CFD52 +:10DAC000284609F429D702E02D68002DF1D16078AD +:10DAD0000121083009F4AAD705462078287160781A +:10DAE00068716278A11CA81DFAF7BEFB2946381D93 +:10DAF000FBF778FD02E0822600E08126022306483B +:10DB0000039A04990AF418D02178017046700AF437 +:10DB10004FD0002005B0F0BD0114000010B5044640 +:10DB2000142003F0A7FB0449216003216181123016 +:10DB300060600120208110BDD03D0101F8B517467D +:10DB40000C4610460AF4B6D0012831D1142003F057 +:10DB500091FB0546017C00F08FF80646297C22786F +:10DB60001448914214D1697C637809023A46891DB0 +:10DB70009B1D09F4E1D705460680002028716078D6 +:10DB800068806278A11C681DFAF76EFB284609E0E0 +:10DB9000697C062309023A46891D09F4CDD706801F +:10DBA000802101710AF404D0002138460AF494D08F +:10DBB0000020F8BD140C0000F8B50F4600240978C9 +:10DBC0001846254609291DD20B007B441B79DB181A +:10DBD0009F440407101313130A160D00052414A5FF +:10DBE00010E00A2414A50DE0082416A50AE0072475 +:10DBF00017A507E00A2418A504E0052419A501E0EB +:10DC000006241AA50146A31C1A4809F495D706460E +:10DC1000387830707470002C04D022462946B01C2D +:10DC2000FAF722FB304609F4C3D70020F8BD000004 +:10DC30004E53494E470000004E532D424C452D3166 +:10DC40002E300000123456FFFE9ABCDE00000000A9 +:10DC5000025E044000000300312E302E302E302DA5 +:10DC60004C450000312E302E30000000FFEEDDCCA0 +:10DC7000BBAA00000314000010B48289C489521C9E +:10DC800093B200222046D040C00706D0914202D174 +:10DC90005B1C9BB205E09B1C9BB2521C52B2092A32 +:10DCA000F0DB092A02D010BC1846704710BC0020D7 +:10DCB0007047000070B5050005D0134E30688542EE +:10DCC00003D1002070BD72B6FEE704F099FE6C69C6 +:10DCD00004F0A2FE7068844202D0B068844201D190 +:10DCE000022070BD0948844204D1A86A0028F7D1F7 +:10DCF000032070BD0648844203D0002C01D00120CF +:10DD000070BD042070BD0000A4470020B45D002059 +:10DD1000A05D0020002802D00368002B01D1002064 +:10DD20007047F8B50D4641680446002902D0A06846 +:10DD3000884211D21B4EB5420ED8A2686D1C5019F4 +:10DD4000814201D39818F8BD2169002904D11649F0 +:10DD5000884203D9B04202D90020F8BD4600226AA9 +:10DD60000027002A05D0314618469047050012D0FA +:10DD70000CE0A1693046884705000CD0A2682168F4 +:10DD8000521CFAF771FAE1692068884766602560DD +:10DD9000A0684019F8BDE1692068884767600020E5 +:10DDA0002760F8BDFFFFFF7FFFFFFF3F70B50D4D00 +:10DDB00004460A2809D10D212846FDF761FB802180 +:10DDC0002846FDF7EDFA0028F9D0E1B22846FDF724 +:10DDD00057FB80212846FDF7E3FA0028F9D02046BA +:10DDE00070BD000000380140F0B50878324F334D67 +:10DDF000334E801E83B00C46062859D20100794468 +:10DE0000097949188F4402255434543A012030705E +:10DE1000A0786876A078C00705D02A492A48FBF781 +:10DE2000B7FB387AA874B28A002A06D0FF20F530F2 +:10DE30007080032125480AF441D1F169002937D0C7 +:10DE400000200090019005206A46107068468847BF +:10DE50002EE000246C7601F0E7FDF169002927D05F +:10DE6000009406206A4601941070684688471FE0B7 +:10DE70001722A11C1648FAF7F7F919E0B878000143 +:10DE8000C0194030807D002812D11C22A11C1148ED +:10DE9000FAF7EAF90F48A18A0182E18A4182218BCF +:10DEA0008182618BC1820B49608A0883207F6874FC +:10DEB000002003B0F0BD0000B04D0020F44C002065 +:10DEC000104D0020B94D0020074D0020040F000028 +:10DED000EE4C0020D44C0020F0B518460D4601460B +:10DEE00085B022230322744809F426D60121044672 +:10DEF000417028780B286ED20100794409794918BD +:10DF00008F4405CDCDCD6F6ABB23CDCD6C000120F4 +:10DF1000207060706948817921710179A170C1799F +:10DF200061714179E170017AA171417AE171817A7F +:10DF30002172C16900294ED00020009002206A465B +:10DF40001070684601948847A9E0072020700120DE +:10DF5000607068461DF482D3019F009EFAF772F943 +:10DF6000801960820025FAF76DF981196019009017 +:10DF70008170FAF767F9C11900986D1CEDB201754F +:10DF8000082DF0D30825FAF75DF9B9194018611981 +:10DF90006D1CEDB28870102DF5D310202077484805 +:10DFA0008178090108184030807D012877D11C2232 +:10DFB000A11C4448FAF758F94248A18A0182E18A33 +:10DFC0004182218B8182618BC1823E49608A0883B4 +:10DFD0003D48217F417462E0052000E00A20207066 +:10DFE0005DE0042222706878012804D0002802D065 +:10DFF000022833D053E00120304D6070287C002887 +:10E0000010D002A81DF42AD3FAF71CF92F49FAF709 +:10E01000B9F82F480818029940182E49FAF7B2F8B3 +:10E02000009101E0E8680090E969002907D000202C +:10E03000029003206A46107202A8039288471021BA +:10E04000A01CFAF72AF90098A0700098000AE07066 +:10E050000098010C2171000E607120E01748C16921 +:10E06000002905D000200090019068460270884782 +:10E0700020460C3809F492D514E00620164D207085 +:10E08000E878012811D01021A01CFAF706F9A98818 +:10E090006182E988A1822989E182002020762046D8 +:10E0A00009F486D5002005B0F0BD10220B49A01C54 +:10E0B000FAF7DAF8EBE70000140E0000104D00202C +:10E0C000B04D0020D44C0020F44C0020A0BB0D002B +:10E0D000A08601003F420F00344E0020BF4D0020BB +:10E0E00000B5084883B0026C002A08D000200090D8 +:10E0F000029005206B4618706846019190470020F9 +:10E1000003B000BDB04D002010B584B0FF2B19D076 +:10E11000144C226C002A08D00020009002900620A7 +:10E120006B461870684601919047032009F4C2D5E8 +:10E13000032814D1A26F002A11D003210A4809F440 +:10E14000BDD70CE009480123007F032201020848E3 +:10E15000083109F4F1D40721017009F429D5002010 +:10E1600004B010BDB04D0020090E0000104E00207C +:10E17000050E0000FFB5180A4C4E83B00C46B07077 +:10E18000FF287DD00102342303224948083109F4D5 +:10E19000D3D40546B078002701018919403188722F +:10E1A000B07821880001801940300181B078617A0F +:10E1B000000180194030C172B07862890001811974 +:10E1C00040318A81A289CA81E0890882207C0128A5 +:10E1D00002D0002807D00BE0B1780120090189198D +:10E1E0004031887504E0B0780001801940308775AF +:10E1F00020883080607A307221460A312D48FBF742 +:10E20000C7F902F0E3F900281BD0607A012804D195 +:10E2100003221146284809F4DFD402F0DFF905286B +:10E220000FD201007944097949188F440606060285 +:10E23000060001202821485505E0052128204155E8 +:10E2400001E0282047550321059809F445D51720FA +:10E250003086B17809018919403148821748C06871 +:10E26000002803D00321164809F488D61548028DEA +:10E27000002A03D00321144809F420D7306C00E0B1 +:10E280000EE0002808D00220694600970870029529 +:10E290000194316C68468847284609F489D401E026 +:10E2A00001F03AFB002007B0F0BD0000B04D0020A7 +:10E2B000020E0000B94D0020150D0000C04E0020D8 +:10E2C000030F0000344E0020020F000030B5180A82 +:10E2D000144D00010C46401983B0FF21403081727B +:10E2E00001F0EEFB002803D10221032009F4F4D44D +:10E2F0002A6C002A08D00020009002900320694672 +:10E30000087068460194904710210748F9F7C5FF47 +:10E3100006480068002802D0092009F4C7D200206E +:10E3200003B030BDB04D0020CF4D0020100C0020B8 +:10E3300000B5084883B0C169002907D000200090CB +:10E34000019009206A46107068468847002003B093 +:10E3500000BD0000104D0020FFB591B00D46122306 +:10E3600003224348149909F4E7D3002104460170BD +:10E3700040480078002862D03E48407C002833D0D6 +:10E380003C216846F9F789FF01F012FF002841D0CF +:10E3900004A90F913749461EF0B23A2289695043C9 +:10E3A00041186846091DF9F75FFF6846008B298808 +:10E3B000884206D10822A91C0F98F9F798FF002877 +:10E3C0000BD0207800280BD008A8407C6074102265 +:10E3D0006946601CF9F748FF1CE001202070F3E754 +:10E3E0003006000ED6D12AE023482988008B8842C7 +:10E3F00025D10822A91C2148F9F779FF002809D165 +:10E40000012020701E481022407C60741A49601C54 +:10E41000F9F72AFF2078002811D01648C169002991 +:10E4200007D000200090019007206A4610706846CF +:10E430008847204609F4BCD3002015B0F0BD0D4834 +:10E44000C169002907D000200090019008206A4689 +:10E45000107068468847022303220A48149909F479 +:10E460006BD3012101700621417009F4A1D3E0E7CB +:10E47000180E0000104D0020D44C0020E44C002069 +:10E48000F44C0020040E000070B50C4609781B48BF +:10E490001B4D1E46002904D0012912D002292BD180 +:10E4A0001AE01C23314609F447D306462078307021 +:10E4B000287B70802A7B1349301DF9F7D5FE304642 +:10E4C00007E00A23314609F437D3217801706989BE +:10E4D000418009F46DD30FE00A23314609F42CD3AF +:10E4E00021780170298C4180698C8180A98CC18040 +:10E4F000E98C018109F45CD3002070BD0B0E000093 +:10E50000344E0020414E002010B5087800F042FF44 +:10E51000002010BD05480A8842861A0A1201101808 +:10E52000098840308182002070470000B04D0020F3 +:10E5300030B5180AC043000683B00D46000E21D046 +:10E54000190A0902E120062303220001083109F417 +:10E55000F3D204460120207002206080FF20413069 +:10E56000A0800B48026C002A08D0002000900420F4 +:10E57000694608706846019502949047204609F460 +:10E5800017D301E001F0C8F9002003B030BD00004E +:10E59000B04D002000B5084883B0026C002A08D0B6 +:10E5A00000200090029008206B4618706846019188 +:10E5B0009047002003B000BDB04D002070B5184654 +:10E5C0000C46014602230A4809F4B6D20546094919 +:10E5D000A07808736288211D0748F9F745FE0020DE +:10E5E000687020782870284609F4E2D2002070BDB7 +:10E5F0000D0E0000344E0020414E00204A780B489A +:10E60000002A05D02030012A08D0022A09D00AE0C9 +:10E610000279012A07D10978C17004E009780175EF +:10E6200001E009784175002070470000B04D0020DE +:10E6300070B54878002806D0FF25124C01280BD071 +:10E64000022816D01BE010480179062917D10721AE +:10E65000017101F0CFF812E0207DFF280FD001F00A +:10E66000C7F90A4825750169002908D000208847A4 +:10E6700005E0607DFF2802D001F09CF9657500205F +:10E6800070BD0000D04D0020B04D0020C04E0020D5 +:10E6900010B5032B06D010220548891DF9F7E4FDBB +:10E6A000002010BD0348017A034801F037FEF7E768 +:10E6B000CF4D0020B04D0020B94D0020F0B50D46E3 +:10E6C0000878E34EE14934464978002720348DB07C +:10E6D000A1287AD012DCDF490C911B2876D006DC09 +:10E6E000012819D003287CD017286DD14FE12828A4 +:10E6F0006ED091286DD0A02866D152E10246A23A90 +:10E70000092A61D213007B441B79DB189F44FE5C0D +:10E71000FDFD5CFDFCFDFD006878002854D1012062 +:10E7200002F00CFE01F038FE342303220721CA4810 +:10E7300009F402D203210170C84904468A78427064 +:10E740000122C276FB224284C54AC284C54A828421 +:10E750000A88028487768A888280CA88C2800A8969 +:10E760002281487A8009032805D188780522104241 +:10E7700001D10120A076A07E04221043A076BA48E1 +:10E780006080C878012825D0204610210A30F9F78A +:10E7900084FD316C002907D001206A460097107073 +:10E7A0006846019502948847012000F0F3FD204659 +:10E7B00009F4FED1012303220721AC4809F4BCD19E +:10E7C0001A21017009F4F4D133E11EE1CAE008E036 +:10E7D00069E049E0204610220A300C99F9F744FD1F +:10E7E000D7E7009701970297039704970597069735 +:10E7F0000797089709970A970B9701F0E7FE0028FB +:10E8000005D0684601F028FD0AA801F0F5FC01F0EA +:10E81000DDFE00280CD068468079002808D108A8C1 +:10E82000807B002804D00121684601F05BF900E1FB +:10E830008A4C6946A0880880E088488020898880C2 +:10E840008F71102202A80C99F9F70EFDE0780128CB +:10E8500004D00697079708970997E4E7102206A8BF +:10E860000C99F9F701FDDEE7E07B002813D11123B5 +:10E87000032207217E4809F45FD10546282028702D +:10E880007648C078012808D01021681CF9F705FDEA +:10E89000284609F48DD1E773CBE01022681C0C994F +:10E8A000F9F7E2FCF4E7012002F048FD0121032022 +:10E8B00009F412D26F48012444841F200490674851 +:10E8C0000178490601D57F21049181780522114202 +:10E8D00004D0FF2204998132114304910088C005BD +:10E8E00004D5032104984902084304900821624892 +:10E8F0000191029003210B2304AA00970394C902FB +:10E900005E48FAF75DFE02E079E04AE089E000281F +:10E9100046D15B4806218786FF2005905948019122 +:10E920000290082305AA0097039457495748FAF71D +:10E9300047FE00287DD100F047FF002879D1022151 +:10E94000032009F4C9D1B079012808D001F00CF8EE +:10E950003E484078C0076CD001F04EFB69E000F003 +:10E96000DBFF66E001F032FEE77300F02DFF0028C8 +:10E970005FD10221032009F4AFD1B0790128EED094 +:10E9800000F0F2FF31484078C007E5D151E06878E7 +:10E9900000284ED0F179481EF0713D4801F08EFC00 +:10E9A00047E07179491E052906D8A72802D1307998 +:10E9B000002806D100F01EFF2878A42801D0A7283F +:10E9C00037D17079042806D0062804D0082808D04A +:10E9D0000C282ED10CE02F480168002929D0B079ED +:10E9E00004E01A480169002923D00120884720E06B +:10E9F0001648016900291CD00320884719E03771A7 +:10EA0000FF20F0702075607513E0207DFF2802D094 +:10EA10006878002802D000F0EBFF0AE0C8079BD11D +:10EA200007E0607DFF2802D06878002804D000F05D +:10EA3000C1FF00200DB0F0BDA07D0028F9D08807EF +:10EA4000F7D5E17D144801F045FAF2E7C04E002009 +:10EA5000B04D0020BF4D0020040D0000344E0020BA +:10EA60000502000048080000A08C0000190D0000FD +:10EA7000230D0000B00B0020A4410101D20B0020A7 +:10EA8000680B0020FC410101011800009C0B0020D4 +:10EA9000B94D0020604E0020E84D002070B50025E3 +:10EAA0000C462846401C0628FCDB254E2246307EBC +:10EAB00031461A32C96906282AD203007B441B79E1 +:10EAC000DB189F4424020910171E0622A01CF9F728 +:10EAD0000EFC00281BD01BE0237E092001F09AF8D1 +:10EAE000002814D114E0237E212001F093F800289F +:10EAF0000DD10DE0237E162001F08CF8002806D100 +:10EB000006E0237E192001F085F8002800D00125B9 +:10EB10000C48807D002811D17169002901D0204660 +:10EB20008847002D0AD03169002901D0022088478A +:10EB300001F0E4FA217AA01C01F0CCF9002070BDAC +:10EB4000C04E0020D04D002010B50A78000A000207 +:10EB500010434A78FF231B02120298431A401043C5 +:10EB60008A781B02120498431A401043C9780002A5 +:10EB7000000A09060843F9F76EFB002010BD10B526 +:10EB8000104609F497D0002010BD0020401C062834 +:10EB9000FCDB002070470000F8B51C4617460D4608 +:10EBA000104609F487D0002811D1472002F062FBFB +:10EBB000064604233A460321064808F4BDD7210A35 +:10EBC00001702988B288891A418008F4F1D70020A1 +:10EBD000F8BD00000D470000F8B517460C46472069 +:10EBE00002F048FB21780646122901D013291BD1D7 +:10EBF000B06805460C351229C288018916D0062353 +:10EC00000F4808F499D7698841806178017108F448 +:10EC1000CFD7B068002803D008F47ED60020B060BB +:10EC20000021384609F458D00020F8BD04230548D7 +:10EC300008F482D76988018061788170E7E7000075 +:10EC4000094700000747000000B5084883B0026C80 +:10EC5000002A08D000200090029009206B4618700E +:10EC6000684601919047002003B000BDB04D0020E0 +:10EC700030B5104D83B0088828861C0A2001401941 +:10EC80000A88403042822A6C0025002A07D000956D +:10EC900007206B4602951870684601919047064818 +:10ECA000A1004058002801D04030C574002003B0B6 +:10ECB00030BD0000B04D0020580B0020FFB581B0E2 +:10ECC000002000900E46039808F4F4D7002802D0E4 +:10ECD00001284CD04DE0142002F0CCFA07463188D0 +:10ECE000FEF760FE05462448092D36D27C68002CCC +:10ECF0001ED02179A94203D02468002CF9D117E055 +:10ED0000002C15D06379039A9B1D049908F414D73D +:10ED100005463088288000202871607968806279F3 +:10ED2000A11D681DF9F7A0FA284608F441D720E094 +:10ED30003D740498010A7974384602F093FA01464A +:10ED400001230E48039A08F4F7D6057008F430D76B +:10ED50000121039808F4C0D70BE00623039A049915 +:10ED600008F4EAD63188018080210171DDE70220B4 +:10ED70000090009805B0F0BD140C000002140000D3 +:10ED8000FFB585B00E46079808F494D7002802D046 +:10ED9000022009B0F0BD472002F06CFA029000207A +:10EDA000694608700898070A308803F068F900245B +:10EDB000694605468C8000281ED102981622016AF9 +:10EDC0006846007803465043024610328A5A52047D +:10EDD000920F1FD10A5C401C085C1E4900021018EB +:10EDE000884217D102AA03A9184603F05BF80298DB +:10EDF0006946C05D88800224A31D1748079A0899B8 +:10EE000008F49AD60746308838803D717C80002D02 +:10EE100015D019E03946029802F024FA014604237D +:10EE20000E48079A08F488D6077069460978418029 +:10EE300008F4BED60121079808F44ED707E0224611 +:10EE400001A9781DF9F710FA384608F4B1D6002068 +:10EE500009B0F0BD02290000140C000004470000B6 +:10EE6000FFB58BB00C46472002F004FA0025694636 +:10EE700005900D740E9804A9070A208803F0FFF886 +:10EE8000060061D105981622016A6846007C50434D +:10EE9000024610328A5A5204920F3AD10A5C401C40 +:10EEA000085C304900021018884232D1029503955F +:10EEB000208800F0DFF802A9002300911A4608A973 +:10EEC000FAF796FB6846008C012109030840C0430D +:10EED000C004C0172146401CFEF70AFC0606360E89 +:10EEE00032D168460997007C0190A57907AA694646 +:10EEF00002F0D8FF6846028806A80799F9F7B4F926 +:10EF000006A909980A460D5468460188019803F03D +:10EF100007F83946059802F0A5F9A1880D9A891DD0 +:10EF20008BB20146104808F407D60546A288A11DF9 +:10EF3000801DF9F799F92F706846007C6880A088D9 +:10EF4000A880284608F434D6042308480D9A0E9960 +:10EF500008F4F2D521880180867008F429D60020B3 +:10EF60000FB0F0BD022900000A470000160C000097 +:10EF7000F0B589B00446FAF741FB05460026154F67 +:10EF80001BE006A92046FAF709FB002302AA01A903 +:10EF900006A80096FAF738FB68460089B84203D104 +:10EFA00069460979022911D00B49884203D1684684 +:10EFB0000079022807D0641CA4B2A888A04202D815 +:10EFC000E888A042DDD2002009B0F0BD204609B09B +:10EFD000F0BD00000229000003280000F7B500285A +:10EFE00045D00199002942D08668002A01D10CE061 +:10EFF0003668002E3BD0316A002938D00198F9F7E5 +:10F000005EF90028F4D12CE03668002E2FD0019C48 +:10F01000356A002CF8D0002DF6D0AC4224D02078F0 +:10F02000F9F70AF907462878F9F706F987420DD16A +:10F030002078002813D06078641C6D1CF9F7FCF868 +:10F0400007462878F9F7F8F88742F1D02078F9F7E1 +:10F05000F3F804462878F9F7EFF88442D4D1002E6B +:10F0600005D0306A002802D0304603B0F0BD002041 +:10F0700003B0F0BDF0B589B00446FAF7BFFA054613 +:10F080000026104F14E006A92046FAF787FA00235D +:10F0900002AA01A906A80096FAF7B6FA68460089FE +:10F0A000B84203D1641CA0B209B0F0BD641EA4B282 +:10F0B000A888A04202D8E888A042E4D2002009B083 +:10F0C000F0BD00000328000070B5164C2078002821 +:10F0D00027D101210803FBF7BDFF0020FBF7B0FF9C +:10F0E0000120FBF7DBFF104D2846FAF73BFB03211D +:10F0F0002846FAF7A7FB01212846FAF767FB01210A +:10F1000021702846FAF78AFB142003F0C1FC702016 +:10F1100000F00CF8702000F009F800212846FAF7FA +:10F120007DFB70BD844700200008024070B5054695 +:10F13000164CFFF7C9FF2946154D2846FAF79DFAE8 +:10F1400001212846FAF738FB01212846FAF772FB1D +:10F15000002807D1641E13D001212846FAF76AFB64 +:10F160000028F7D001212846FAF784FA2846FAF752 +:10F170005EFB044600212846FAF71EFB204670BDC0 +:10F1800000212846FAF718FB024870BDA08601004E +:10F1900000080240FFFF0000F7B5042702253F4E9C +:10F1A00084B01446072A75D21000784400790018FC +:10F1B000874470030D3A3D5363003948009701902E +:10F1C00001AB0599049800F075F807B0F0BD354F14 +:10F1D00001213846FAF722FB142003F059FC702075 +:10F1E000FFF7A4FF7020FFF7A1FF04460021384677 +:10F1F000FAF714FB2C48B442448001D12B4808E0B4 +:10F200002046FAF741FA2A49F9F702FBF9F71EFD01 +:10F2100000B26946888100952A4603AB0599049897 +:10F2200000F048F807B0F0BDFDF7F4FA0AE06020FE +:10F23000FFF77CFFB04201D1002003E06021FAF724 +:10F240004DFA80B269460881009502AB22460599C5 +:10F25000049800F02FF807B0F0BD04F05BF97D21B1 +:10F26000C900F8F78FFF0097019001AB224605997E +:10F27000049800F01FF807B0F0BD03F045FD0097BB +:10F28000019001AB22460599049800F013F807B0ED +:10F29000F0BDFFE7059807B0F0BD0000FFFF0000DC +:10F2A0000E0001000008024084470020FF7F00009C +:10F2B0000000204130B4029C42540546491C88B2EB +:10F2C0002C54401C002180B2002C07D95A5C2A54CF +:10F2D000401C491CC9B280B2A142F7D330BC704770 +:10F2E00010B5084C82B02078002808D1064800905C +:10F2F000064801906846FEF7EBF80120207002B046 +:10F3000010BD0000A0470020751D0101352A010134 +:10F31000F8B50B30C608F600104D19E02068B04271 +:10F3200015D3B0420BD96368871B201D0093F8F7F3 +:10F330009BFFA019009B07604360286004E06068A1 +:10F340002860201DF8F790FF201D2660F8BD251DC0 +:10F350002C68002CE2D10020F8BD000000480020FD +:10F36000FF25F5350A4E6F00FDF7D6FB0489322CD8 +:10F3700000D22C4601213046FBF74EFD7D21204670 +:10F38000C90048433946F8F7FDFE03F081FBEBE77F +:10F39000000C014010B5A0230949022809D0002221 +:10F3A00003280AD0042808D00B704A7000F0A2F895 +:10F3B00010BD0B7080204870F8E7E0200870F4E77B +:10F3C00011400020F8B52A49202048602948012131 +:10F3D000C163294905228A610021C16327490B20A5 +:10F3E000086100F087F82748254A026326494163EF +:10F3F000264B8363264CC4632748264D0560274E61 +:10F400004660274981602749C16027490161274932 +:10F4100041612749816127490163284826494160A4 +:10F42000274FC760274F07610262274A4262836203 +:10F43000C46205634663254A8263254AC26326483F +:10F44000244A0260184A4260244A826001632449C7 +:10F4500081632448244A41688918244A914206D28B +:10F46000234982680A63C2684A6300698863F8BDF9 +:10F4700000100140C02702404025024040270240C2 +:10F480000259F80040280240025B8500025A8000C1 +:10F49000025D8500025F80508028024002000878EB +:10F4A000020A0800026EAC500259FC000200C800BB +:10F4B0001270131402700314026E2800C028024058 +:10F4C000025D0500125B0500025B8400020A060073 +:10F4D000026E2C5002C3BF00002902401200AC0093 +:10F4E000125D0500104000206F2895FFAF590F00F6 +:10F4F000C026024030B415481549037D154AFF2B3C +:10F5000006D1407DFF2803D113484078C0070CD0B6 +:10F510001248134B04789C604078D8611148086108 +:10F52000114B8B62106030BC7047104B0B61104860 +:10F530004861104C8C61104D8D62C8620F480863A1 +:10F5400013600F485060946030BC7047D04D00206D +:10F550000028024040280240C04E002011400020F8 +:10F5600000270240127E0200127E0300027E02008B +:10F5700002C2A00012C70000027E030012C7800072 +:10F5800002C2E00082B0224920480863FDF7A0FDD6 +:10F5900020A0FBF779FF2AA0FBF776FF31A134A06A +:10F5A000FBF772FF3848016838A0FBF76DFF3EA1FA +:10F5B00042A0FBF769FF4AA0FBF766FFFCF7A0FD3E +:10F5C000FCF790FE01215148FBF72AFC40215048EE +:10F5D000FBF726FCFDF7A4FA01F03AF8022000241C +:10F5E0000202009023464BA101944B4803F0C6FE53 +:10F5F000012000900023802248A10194484803F094 +:10F60000BDFEFAF7DDFA03F01DFBFEE70080008186 +:10F61000007000400A3D3D3D3D3D3D3D3D3D3D3D91 +:10F620003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D0A +:10F630003D3D3D3D3D3D3D3D3D3D3D3D3D0A0000A7 +:10F64000206D636D2D6464632D626C653A20424CBD +:10F6500045202B204672656552544F53202B204382 +:10F660004C490A0056312E30302E31340000000053 +:10F67000204669726D776172652076657273696F75 +:10F680006E2025730A00000000400020205379738B +:10F6900074656D436F7265436C6F636B203D20250D +:10F6A0006C7520487A0A000043414949432D4D4377 +:10F6B0004D2D3230323630393032000020424C4548 +:10F6C00020656E61626C65642C206164766572747D +:10F6D0006973696E6720617320222573220A000016 +:10F6E0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D4A +:10F6F0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3A +:10F700003D3D3D3D3D3D3D3D0A000000000C0140BA +:10F7100000080140424C450085CE00014C454400A4 +:10F7200061F3000110B50124E4022046FBF764FAFE +:10F73000002805D02046FBF759FA0D490220087031 +:10F74000012424032046FBF757FA00280AD020465C +:10F75000FBF74CFABFF34F8F07490648C860BFF369 +:10F760004F8FFEE705484068002800D0804710BD55 +:10F77000800000200400FA0500ED00E04040002079 +:10F7800006480068002800D08047BFF34F8F054926 +:10F790000348C860BFF34F8FFEE7000040400020E1 +:10F7A0000400FA0500ED00E0064A11780A2907D2A4 +:10F7B0008900891848601078401C1070012070473B +:10F7C00000207047304D002010B5084C084AE17900 +:10F7D00013780020994207D288008018406880473B +:10F7E000E079401CE071012010BD0000B04D002008 +:10F7F000304D0020F8B5324D05262979284680790C +:10F80000304C08290CD20A007A4412799218974495 +:10F8100003080D1313191C2A052801D0FCF7E4FE78 +:10F82000F8BD022808D0FDF7F5F9F8BD607B002887 +:10F8300002D1E079002802D0FDF78AFAF8BDFDF781 +:10F8400025FAF8BD06202871F8BD022303220721FE +:10F850001D4808F471D1A5210170E9784170072194 +:10F8600029716E7128E0022303220721174808F44A +:10F8700063D10746A7203870E9787970062068714F +:10F8800000202871032008F415D2032812D0A8798B +:10F89000012804D0022802D003280BD104E0207DE7 +:10F8A000002801D0032003E0A07E002802D004201D +:10F8B000A87100E0AE71384608F47AD1F8BD0000B6 +:10F8C000B04D0020A04E0020A20D0000A30D0000AE +:10F8D00010B5002804D0014660220C48F8F7C4FC9B +:10F8E0000B490C48CA781C2A04D9427B002A01D152 +:10F8F0001C22CA70C1781F2901D91F21C170017B48 +:10F90000E22901D9E221017310BD0000604E002000 +:10F91000804E0020A04E00201149012208790728BE +:10F920000CD08879002809D0012801D0052806D1FB +:10F930000C48827B002A03D002200CE08A717047B9 +:10F94000027D002A01D0032005E0807E002801D03E +:10F95000042000E00520887110B5FCF745FE10BDBD +:10F96000B04D0020A04E002070B5104C0525A079A8 +:10F97000062809D201007944097949188F44020206 +:10F9800004040403A57170BDA5710223032207219D +:10F99000074808F4D1D0A5210170E1784170072112 +:10F9A0002171657108F404D170BD0000B04D0020D4 +:10F9B000A20D000010B50B4C607DFF2810D0022373 +:10F9C00003220721084808F4B7D0A7210170617D00 +:10F9D0004170064A00215171FF21617508F4E8D099 +:10F9E00010BD0000D04D0020A30D0000B04D002040 +:10F9F00010B50A4C207DFF280ED0022303220721D8 +:10FA0000074808F499D0A7210170217D4170054A6B +:10FA10000021517108F4CCD010BD0000D04D002061 +:10FA2000A30D0000B04D002010B5084802238078D7 +:10FA3000032201020648083108F47ED0012101703A +:10FA40001321417008F4B4D010BD0000B04D002067 +:10FA5000040E000010B584B0002804D001462A220C +:10FA60000E48F8F701FC0EA00FC86C460FC40B4BF4 +:10FA7000002069461C180A5C247922430A54401C61 +:10FA8000C0B20628F6D310220A48F8F7EDFB0A495F +:10FA90000A48F9F77DFD04B010BD0000344E002087 +:10FAA000501921901F04D5624FA489AB90D0CF2369 +:10FAB00000000000BF4D0020384E0020FC00002058 +:10FAC0000020074B01460A01D2184032927AFF2AE1 +:10FAD00001D0401CC0B2491CC9B20329F3D37047FE +:10FAE000B04D0020F8B507460B46282043430D468D +:10FAF000032207210E489B1C08F41ED0912101709F +:10FB0000002406464570002D0ED920462821484382 +:10FB1000C1190022CA7180192822801CF8F7A4FBA1 +:10FB2000641CE4B2AC42F0D3304608F441D0F8BDD6 +:10FB3000910D0000F8B57D262025F600184B194CD4 +:10FB40001949032812D00A6A01273A430A620A6A4D +:10FB50009207FCD50A6AAA430A6201281AD0022831 +:10FB60001AD01E60F9F756FD2060F8BD0F480F2728 +:10FB700082683F023A438260086A042210430862A6 +:10FB8000086A0007FCD5086A284308623D20000186 +:10FB90001E60E9E7064800E006481860E2E700005A +:10FBA0008C00002090000020001002400010014056 +:10FBB000D10300005704000010B504460848042390 +:10FBC0008078032201020748891D07F4B5D706494A +:10FBD0004C80012101700021418007F4E9D710BD5C +:10FBE000B04D0020010C0000F00B0020084A1178F5 +:10FBF0000A290AD2C9004368891800688B604860E6 +:10FC00001078401C107001207047002070470000E1 +:10FC10005C4D0020FFB581B01C00064618D010785E +:10FC2000411CA14214D8032C12D3401EC5B25078F7 +:10FC3000971CB04206D12A4638460299F8F757FB7E +:10FC4000002808D07A19601B801E0406240EE6D115 +:10FC5000002005B0F0BD012005B0F0BDF0B50446B0 +:10FC60006F4E704883B06D4FB168C1626E490163D9 +:10FC7000F16A8162F16B4163B16B816331467C2231 +:10FC800040313846F8F7F0FA00257D60FD607D626E +:10FC90006648B8627D64BD64FD643D666448B866CC +:10FCA00064483862644865490570032008706448F8 +:10FCB000F91401600904016089140160F068614968 +:10FCC0000746401E0088604B884200D01F60366E99 +:10FCD000701E0088884200D05E6001200003009002 +:10FCE000694601950D710820487101278F7168469A +:10FCF000FAF790FF84215548F8F7CFFA2A215448A3 +:10FD0000F8F7CBFA60215348F8F7C7FA52484F4941 +:10FD1000056145618561C561056245628562C562AF +:10FD2000FF264E48CE700675467500200201521817 +:10FD30004032401CC0B296720328F7D32068086492 +:10FD40006068486446486189C187217A454803292B +:10FD500001D8417700E0457701212020FBF77AF9AF +:10FD6000414A4249042001F017FA424940480860DC +:10FD70000A464149052001F00FFA404A4049072050 +:10FD800001F00AFA40493F4808600A463F49082006 +:10FD900001F002FA3E4A3F49092001F0FDF93E48D0 +:10FDA00005633E48414907703D4805703D48057070 +:10FDB0003D48086001203E49C00208803D494F206F +:10FDC00008703D49082008703C48072106704670BD +:10FDD0008670C170057145718571C57111483849CA +:10FDE000C1613849016238494162002002F056FC85 +:10FDF0003649032007F4B4D70021032007F46CD759 +:10FE0000002001F09BFA012303220721304807F468 +:10FE100093D6077007F4CCD603B0F0BDC00900201C +:10FE200000800001C000002081F700010D47002084 +:10FE3000B527010125F70001C6000020D8000020E9 +:10FE400000E100E0FEE7000040400020B04D00204F +:10FE5000344E0020604E0020B04E0020D04D0020D7 +:10FE6000F04D0020104E00208040002080800100D6 +:10FE7000713E0101C0400020C0800100004100200F +:10FE800000DB0100814100204041002040DB0100F7 +:10FE9000C0460020C06102000070004060000020E9 +:10FEA000C9000020610000200090D0036C000020F9 +:10FEB000680000206300002064000020080100208A +:10FEC000DD11010105130101A51201010443010126 +:10FED000020D0000F8B5404D0646687D3F4C0F46C8 +:10FEE000FF281CD02046C268002A03D003213C48CA +:10FEF00008F4E4D03A23032207213A4807F41CD639 +:10FF0000A4210170697D04464170374800220178C0 +:10FF100000291ED00121A170A28002701BE06D207B +:10FF2000022303220721400107F406D6A221017013 +:10FF30002E49C978417007F43BD6EF7531462C48FD +:10FF4000F9F726FB0120A87560780221084360704C +:10FF5000F8BDA270A2800120E07019214901E18062 +:10FF600022482181038CE381438C2382838C63822A +:10FF7000C38CA382FF23E2824133184D23836D7823 +:10FF80006D070DD50525E5706181A181018CE184A6 +:10FF9000418C2185818C6185C08CA085E28523867A +:10FFA00038200755204631463230F9F7F1FAE0782B +:10FFB000810703D50220FFF7EDF906E0400701D5E0 +:10FFC000032000E00120FFF7E5F90A490C20487101 +:10FFD000204607F4EDD5F8BDD04D0020C04E0020DE +:10FFE000030F0000A10D0000304E0020344E002011 +:10FFF000E84D0020B04D0020F8B52C4E2C4D317D41 :020000040101F8 -:10000000A85D002004490868002803D00868026D34 -:10001000521C0265086870478C47002010B4012408 -:10002000031F24061C601B1F1960191F034B0B6064 -:1000300014390A6010BC40387047000089FE000186 -:1000400070B5064614460D464720FFF7CDFC036900 -:10005000002B0DD01879B04207D158792880981D0F -:100060002060002B04D0002070BD1B68002BF1D154 -:100070000020288020600A2070BD000070B5164660 -:100080000C46104607F416D6002813D14720FFF778 -:10009000ABFC0546062332461946074807F44CD503 -:1000A000A988628889180180A1884180A17901719D -:1000B00007F47ED5002070BD180C0000F7B5064689 -:1000C0000D464720FFF790FC04690746002C14D02A -:1000D0002079B0420BD16079A8420CD03846214635 -:1000E0001030F8F7C5FD204607F416D405E0246863 -:1000F000002CEDD101E0002C0AD128460121083066 -:1001000007F494D40446014638461030F8F7B6FD9B -:10011000267165712A46A01D0299F8F79FF8002004 -:1001200003B0F0BDF8B5C5680124287F0F4601284B -:100130001ADD0E4E2046162250430246296A10321E -:100140008A5A5204920F0BD10A5C401C085C0002D0 -:100150001018B04204D1E1B20022384600F03EF956 -:10016000287F641CA042E5DCF8BD000002290000E5 -:10017000F8B5C5680124287F0F4601281ADD0E4E08 -:100180002046162250430246296A10328A5A5204E7 -:10019000920F0BD10A5C401C085C00021018B042A0 -:1001A00004D1E1B20022384600F018F9287F641C1F -:1001B000A042E5DCF8BD00000229000070B5C4686B -:1001C00005462069002803D00020002802D00EE058 -:1001D0000120FAE7264610363046F8F737FD07F4D7 -:1001E0009BD32069002808D000210029F4D00020EA -:1001F000E860204607F490D370BD0121F5E710B503 -:1002000004464720FFF7F0FB82790021A24202D981 -:100210008088001981B2084610BD70B504460D46AD -:100220004720FFF7E1FB014680888022A04206D8E4 -:1002300089794118A14202D9201A2870002210465B -:1002400070BDFFB585B00E9D064629780120884017 -:10025000401E049018460E210840328A69681F46E5 -:100260004030019200230390009302912B7804AA5E -:10027000A9680698F8F720FD009000282AD10121EE -:10028000282007F4D3D30446AA6869682868626204 -:100290002162E061F46006980188A180217FA1714C -:1002A000F80701D00120C003079908432080308A55 -:1002B000608047207082304600F0AAF82046103057 -:1002C000F8F7D0FC217F206A00F008F8308A00217E -:1002D00007F402D5009809B0F0BD0000F3B583B073 -:1002E0000020019004980125012845DD1621039A7C -:1002F00069438818028A5204920F39D1039A4078D0 -:10030000515C000209181D48814231D101A80290B8 -:10031000EFB204264720FFF767FB00900469002C2A -:1003200014D02079B8420BD16079B0420CD000983B -:1003300021461030F8F79CFC204607F4EDD205E08A -:100340002468002CEDD101E0002C0AD130460121B7 -:10035000083007F46BD30446014600981030F8F7D4 -:100360008DFC277166713246A01D0299F7F776FF62 -:1003700004986D1C8542B9DB05B0F0BD0229000070 -:1003800000487047F41E010170B5064610480D463E -:10039000007800281AD04720FFF76EFBA91D8BB20A -:1003A000014603220B4807F4C7D304460A482A46ED -:1003B000807820700120607005206080A580314623 -:1003C000A01DF7F74BFF204607F4F2D370BD0000E5 -:1003D0003747002006470000904D002070B584B0DC -:1003E0000E461446054601AA69463046FFF728FE28 -:1003F0006846028802A80199F7F730FF02A8445521 -:100400000246684601883046FFF758FE04B070BDCA -:1004100010B504464720FFF7E7FA04492160092197 -:100420006181183060600120208110BD041F01012E -:10043000FFB583B00C464720FFF7D6FA0546808803 -:1004400061882678401887B2059807F433D40128CC -:1004500007D03846FDF738FD6946FFF7DEFE002875 -:1004600002D0022007B0F0BD0121059807F434D472 -:100470000C3C0020AC60287368460078687301AAC1 -:1004800002A9FFF7DDFDA86801990446895D0C34D7 -:10049000890720D5A188C28808318BB23102C120DA -:1004A0000001891D07F448D3064613203070A88840 -:1004B00061884018B080A088F0803046A288A11DD5 -:1004C0000830F7F7CBFE304607F472D301210598C8 -:1004D00007F402D401E007F41FD2012007B0F0BDF9 -:1004E00010B5FBF799FE002010BDFFB583B00C4698 -:1004F0004720FFF779FA05468088618826784018FA -:1005000087B2059807F4D6D3012807D03846FDF7FF -:10051000DBFC6946FFF781FE002802D0022007B00D -:10052000F0BD0C3CAC602E7368460078687301AA7D -:1005300002A9FFF785FDA86801990446895D0C347E -:10054000890720D0A188C28808318BB23102C1202E -:100550000001891D07F4F0D2064612203070A888E9 -:1005600061884018B080A088F0803046A288A11D24 -:100570000830F7F773FE304607F41AD301210598C7 -:1005800007F4AAD301E007F4C7D1012007B0F0BDFA -:1005900010B50C464720FFF727FA80886188A31D15 -:1005A000401880B2A1880022FBF7CEFD002010BDCC -:1005B000F8B5488800900C468E88FBF75FF8002855 -:1005C0001DD0182E01D9182700E03746324623A047 -:1005D0000099FAF7C3F90025002F08D9601981792D -:1005E00027A0FAF7BBF96D1CADB2BD42F6D3BE42EF -:1005F00002D925A0FAF7B2F925A0FAF7AFF90098C9 -:1006000002281FD0062802D0082824D11FE0022E7D -:1006100021D1E0881F49012802D0002808D01AE023 -:1006200001200870FBF72AF8002814D01AA006E071 -:1006300000200870FBF722F800280CD01CA0FAF765 -:100640008DF908E0A188A01DFBF734F803E0A1882C -:10065000A01DFAF773FF0020F8BD00005B424C4577 -:100660005D20777269746520696E643A20617474E4 -:100670005F6964783D2575206C656E3D25750000C9 -:100680002025303258000000202E2E2E00000000C1 -:100690000D0A0000374700205B424C455D206E6F1D -:1006A0007469667920656E61626C65640D0A00008C -:1006B0005B424C455D206E6F746966792064697396 -:1006C00061626C65640D0A00FFB581B00027684661 -:1006D000078048881C460D46082823D00A2825D0C4 -:1006E00005206946088014A668460088214608301F -:1006F00083B21348039A07F41FD2877129780446FE -:10070000017068460288A28069886180002A03D04F -:100710003146E01DF7F7A2FD204607F449D200203C -:1007200005B0F0BD6846FAF77FFF02E06846FBF7C8 -:1007300091FA0646D8E700004E53494E47000000A4 -:100740000547000070B516460C46104607F4B2D2B5 -:10075000012818D1A1791A48002916D0217806233A -:1007600009023246891D07F4E7D10546A078FFF754 -:1007700046FD288080202871284607F419D20021E0 -:10078000304607F4A9D2002070BDA1883246891DE9 -:100790008BB221780902891D07F4CED10546A078D5 -:1007A000FFF72DFD288000202871A0886880A2888E -:1007B000E11D681DF7F752FD284607F4F9D1DEE781 -:1007C000140C000010B5012400206407206007F419 -:1007D00009D12E4802882E480168002007F48ED1E6 -:1007E0002C4802882C480168012007F487D12B4847 -:1007F000008882B22A480168022007F47FD1294884 -:10080000008882B228480168032007F477D127487E -:10081000416AF0221143416225481AF461D1264809 -:100820002449016025494161254981602549C1600C -:10083000254981612549C161264925488863FDF71D -:10084000E1FC2068C0B2F8F73DFA234800780028A0 -:1008500006D000201AF48AD401460020F8F738FAAE -:100860002068C0B2F8F73AFAF8F73EFA2068C0B24A -:100870001AF408D22068C0B21AF412D22068C0B2AA -:100880001AF4D0D30120206010BD00001C0100200C -:100890001801002024010020200100203401002044 -:1008A000300100202C0100202801002040250240BA -:1008B00074020020500250008080024000080F00A7 -:1008C00058086A00420500000F0505060F000F03D7 -:1008D0004000D0004080024062000020F0B5314C62 -:1008E00083B0E06980075AD502202062A56B0820FA -:1008F0001AF4E0D401201AF4EBD42B49002708693C -:1009000040194608B219801A086128480068F7F7AC -:1009100079FF0022264BF7F7F5FE019100903E216A -:100920002846F8F7E7F980197941F7F779FF019B35 -:10093000009AF7F77FFEF7F79BFF05461D4A002355 -:10094000F7F74AFC06461B49F8F7D4F91A49281A62 -:10095000081A81B222041948324342600160206BB8 -:100960000821884308432063A069072109078843B9 -:10097000A061A169012081430143A1612062FDF7CB -:1009800041FC0F48104A0078410041180D480818F2 -:100990004178D1610D498078C8600D48077003B077 -:1009A000F0BD000000800240A8020020900000205E -:1009B00000408F4071020000700200004080024041 -:1009C00010400020141E01014025024080250240F5 -:1009D00080000020704770474368826801699A6010 -:1009E000836842685A604A68824201D182684A60DC -:1009F000002202610868401E086008687047000015 -:100A000001480069704700008C470020F8B5174680 -:100A1000204A06460024906B0725401C906310690D -:100A2000814232D314206D1E1B4968434118242093 -:100A3000604380190122FFF7C1F90419002DF1D19B -:100A40002420144D6043801902226968FFF7B6F92B -:100A500004192420604380190222A968FFF7AEF927 -:100A6000041924206043801904220C49FFF7A6F9D9 -:100A7000041924206043801903220949FFF79EF9D5 -:100A80000419002F01D00020386000F0DBFE204662 -:100A9000F8BD00008C470020B85C0020805D00207D -:100AA000945D00200146083100224160D243C160BC -:100AB000826001610021016070470021016170477F -:100AC00030B40C68621C02D00246083202E00269AF -:100AD00004E01A4653681D68A542FAD953684B6072 -:100AE00099608A60516008610168491C016030BCEE -:100AF000704742684A6093688B6093685960916060 -:100B000008610168491C01607047000072B6044822 -:100B10000168491C0160BFF34F8FBFF36F8F7047AF -:100B2000E047002005490868002804D0401E0860FE -:100B300000D162B6704772B6FEE70000E0470020C1 -:100B400000281CD070B504460D4D083C6068E9686B -:100B5000084201D172B6FEE72268002A01D072B6BF -:100B6000FEE78843606000F01BF960686968401820 -:100B700068602046FFF7F8F800F064FE70BD70472B -:100B8000C84700200120044900074860BFF34F8F89 -:100B9000BFF36F8F7047000000ED00E010B5002834 -:100BA0000FD009498A6B002A01D072B6FEE78A6B22 -:100BB000521C8A630021FFF749F800F043FE002829 -:100BC00001D1FFF7DFFF10BD8C47002002498A6A80 -:100BD00002604969416070478C470020F0B585B0DC -:100BE0000027054607702C480169029100692421FD -:100BF0004843FFF78DF906004CD000220299FFF719 -:100C000005FF03970290002841D903982421484307 -:100C10008019017B052911D20A007A4412799218B1 -:100C20009744020406080A00582408E0522406E00B -:100C3000422404E0532402E0442400E000244168FC -:100C40002846F7F75BFB2846F7F72CFB0F2804D262 -:100C500020212954401C0F28FBD32F542D18039812 -:100C6000242148438019018C826801920091036914 -:100C700022460AA12846F9F781FE2846F7F712FB1B -:100C8000451903980299401C03908842BDD3304611 -:100C9000FFF756FF05B0F0BD8C470020092563091A -:100CA00025750925750925750D0A000001490120E2 -:100CB000486270478C47002010B50C46002809D0C8 -:100CC000054909681831FFF7FBFE01212046FEF7B0 -:100CD000BDFF10BD72B6FEE78C47002070B50B4615 -:100CE00004002FD0226D002A0ED0E16C994200D270 -:100CF0001946E06A884225D0012A23D1124D2A687C -:100D0000944203D172B6FEE772B6FEE7E162A269D1 -:100D1000002A02DB0722511AA16114220B4E504314 -:100D20006169801981420DD1201DFFF755FEE06AEF -:100D3000A969884200D9A861142148438019211D5E -:100D4000FFF7D7FE70BD00008C470020B85C002084 -:100D500010B582B00D4800240190234680220CA1DA -:100D600000940D4800F090FB012803D0401C0BD1EB -:100D700072B6FEE772B600210848C943016301213B -:100D8000C161446100F052F802B010BDC0470020BC -:100D900049444C450000000015FD00018C4700202F -:100DA0000248816B491C8163704700008C4700201A -:100DB000164B986B002802D0012058627047002023 -:100DC00058629869142102464A4311498A58002AF8 -:100DD0000AD1002806D01422401E42438A58002A15 -:100DE000F7D001E072B6FEE7142210B44243511866 -:100DF0004A680C46526808344A60A24201D15268DF -:100E00004A60D1681960986110BC70478C47002017 -:100E1000B85C00200148406870470000C8470020C7 -:100E20000148806870470000C847002070B50F482F -:100E3000016AFF22120411430162016A1202114386 -:100E400001620B4C00252561A5610A487D21C9007E -:100E50000068F7F797F9401E606107202061064897 -:100E60000560F7F745F9002070BD000000ED00E0D7 -:100E700000E000E000400020E047002010B50246FE -:100E80000021012000F00CF8041E07D00021416071 -:100E900001600B460A46C16000F05BF8204610BDB9 -:100EA000F8B517460E46050016D0002E16D0704332 -:100EB0005030FFF72DF804000CD020465030002EA3 -:100EC0000ED02060266420460121E56300F00AF878 -:100ED0004C2007552046F8BD72B6FEE70020E7E734 -:100EE0002460EFE770B50D46040026D0FFF70EFE34 -:100EF000216CE06B48432168411861600021A163C7 -:100F00002168A160E06B216C401E484321682246A5 -:100F100041180020C0434032E160107150712046FA -:100F20001030002D0BD0FFF7BDFD20462430FFF719 -:100F3000B9FDFFF7F7FD012070BD72B6FEE721692C -:100F40000029F6D000F04CFC0028F2D0FFF71AFE82 -:100F5000EFE7FFB5002783B00446002803D00498CC -:100F6000002802D006E072B6FEE7206C002801D00F -:100F700072B6FEE70698022804D1E06B012801D082 -:100F800072B6FEE700F03CFB002804D1059800286B -:100F900001D072B6FEE7204625461030403502905B -:100FA000FFF7B4FDA06BE16B884208D306980228D6 -:100FB00005D0059800284AD0002F4BD04EE0069E61 -:100FC0000499A56B0027226C002A11D0002E19D09D -:100FD000E068F7F743F9E168206C091AE1602268DC -:100FE000914202D26168081AE060022E17D019E01F -:100FF0002068002816D1606800F082FB07460020B8 -:1010000060600FE0A068F7F729F9216CA06840182C -:10101000A0606168884205D32068A06002E0002DCE -:1010200000D06D1E6D1CA563606A002806D02046A6 -:10103000243000F0D5FB002802D103E0002F01D0BE -:10104000FFF7A0FDFFF76EFD012007B0F0BDFFF731 -:1010500069FD20E06846FFF7B9FD0127FFF762FD53 -:10106000FFF79EFEFFF752FD04202856401C00D1DA -:10107000287105202856401C00D16871FFF752FDE9 -:1010800005A9684600F0CEF9002807D02046FEF7F3 -:1010900005FF00F0D7FB002007B0F0BDFFF736FDDD -:1010A000A06BE16B884201D1012600E00026FFF72A -:1010B00039FD002E0ED005990298FFF7FDFD204660 -:1010C000FEF7ECFE00F0BEFB002800D068E7FFF75B -:1010D00059FD65E72046FEF7E1FE00F0B3FB5FE750 -:1010E000FFB583B01E461746040003D004980028BD -:1010F00002D006E072B6FEE7206C002801D072B67E -:10110000FEE7022E04D1E06B012801D072B6FEE7A3 -:10111000F7F702F80190A06BE16B884208D3022E2A -:1011200006D000240198F6F7FBFF204607B0F0BD7B -:101130002046403005250090455732462046049908 -:10114000FEF7B0FD681C04D000986D1C45710124A9 -:10115000E8E7606A0028FAD02046243000F040FB1F -:101160000028F4D0002FF2D001203860EFE7F7B567 -:10117000002784B00446002803D00598002802D038 -:1011800006E072B6FEE7206C002801D072B6FEE7DA -:1011900000F036FA002804D10698002801D072B673 -:1011A000FEE720462546243040350290FFF7AEFC8E -:1011B000A66B002E21D0226C059B002A0BD0E06884 -:1011C0008018E0606168884201D32068E0600146D1 -:1011D0001846F7F743F8761EA6632069002807D063 -:1011E0002046103000F0FCFA002801D0FFF7CAFCBE -:1011F000FFF798FC012007B0F0BD0698002802D048 -:10120000002F05D008E0FFF78DFC002007B0F0BDEF -:101210006846FFF7DBFC0127FFF784FCFFF7C0FD02 -:10122000FFF774FC04202856401C00D128710520CB -:101230002856401C00D16871FFF774FC06A9684667 -:1012400000F0F0F8002811D02046FEF727FE00F04D -:10125000F9FAFFF75BFCA06B002827D00026FFF708 -:1012600061FC002EA2D0002007B0F0BDFFF74EFCBD -:10127000A06B002812D00026FFF754FC002E0FD0E0 -:1012800006990298FFF718FD2046FEF707FE00F0CA -:10129000D9FA00288AD1FFF775FC87E70126EBE72A -:1012A0002046FEF7FBFD00F0CDFA7FE70126D6E7EA -:1012B000F3B5002785B004460097002804D0206CC1 -:1012C000002803D072B6FEE772B6FEE700F098F988 -:1012D000002804D10698002801D072B6FEE7204607 -:1012E0002546243040350190FFF710FCA06B002804 -:1012F00017D0401EA0632068002802D1FEF782FEAE -:1013000060602069002807D02046103000F068FA9D -:10131000002801D0FFF736FCFFF704FC012007B0DE -:10132000F0BD0698002802D0002F0AD00DE00098EA -:10133000002801D072B6FEE7FFF7F4FB002007B0EB -:10134000F0BD02A8FFF742FC0127FFF7EBFBFFF718 -:1013500027FDFFF7DBFB04202856401C00D1287135 -:1013600005202856401C00D16871FFF7DBFB06A959 -:1013700002A800F057F800281BD02046FEF78EFD8B -:1013800000F060FAFFF7C2FBA06B00283ED00026F9 -:10139000FFF7C8FB002EA7D0009800283ED0FFF72B -:1013A000B5FB606A002833D0206B07210068091A5A -:1013B0002FE0FFF7ABFBA06B002808D00026FFF75B -:1013C000B1FB002E1CD02068002802D009E00126C5 -:1013D000F5E7FFF79BFB606800F0C6F90090FFF7A8 -:1013E000A1FB06990198FFF767FC2046FEF756FD22 -:1013F00000F028FA002800D076E7FFF7C3FB73E778 -:101400002046FEF74BFD00F01DFA6DE70126BFE711 -:1014100000216068FFF762FCFFF784FB002007B043 -:10142000F0BD0000F8B50D46040012D0002D12D01A -:10143000FFF76CFB134E726963682868D11A471C6A -:101440000BD02768B66AB74209D0934207D8012467 -:1014500013E072B6FEE772B6FEE700240DE08842A4 -:1014600008D9401A28600748816A21604069606095 -:10147000002402E0002001242860FFF753FB2046EF -:10148000F8BD00008C470020FFB585B090000F9F8D -:101490000E9D0290FEF73CFD06001ED05C20FEF77C -:1014A00037FD040016D02663059901910899009133 -:1014B00030460299069EA5220391F6F7E1FE0399B4 -:1014C000206B091F4018C008C0000290400708D0D8 -:1014D00072B6FEE73046FFF733FB0020C04309B089 -:1014E000F0BD2118325C20310A75315C002902D030 -:1014F000401C1028F5D3264600204036F070072DFA -:1015000000D30625E5620020E5642065201DFFF775 -:10151000D4FA20461830FFF7D0FA24610720411B87 -:101520006462A161002161653176009A0199029897 -:10153000FEF774FD2060002F00D03C602546FFF7C9 -:10154000E5FA284E3069401C30613068264F00288B -:1015500003D0F069002821D026E0356030690128E9 -:1015600022D1002414206043C019FFF79BFA641CA9 -:10157000072CF7D31D48FFF795FA1D48FFF792FA9D -:101580001C48FFF78FFA1C48FFF78CFA1B48FFF73F -:1015900089FA164870601430B06005E03068E96A76 -:1015A000C06A884200D83560F06A401CF062686406 -:1015B000E86AB169884200D9B06114214843C01972 -:1015C000291DFFF796FAFFF7ADFAF069002806D05B -:1015D0003068E96AC06A884201D2FFF7D3FA012075 -:1015E00009B0F0BD8C470020B85C0020445D0020AD -:1015F000585D00206C5D0020805D0020945D00201F -:101600000648C169002904D0806B002803D000205F -:101610007047012070470220704700008C4700206F -:1016200001484069704700008C470020F8B5324FF0 -:101630000026B86B002808D0386A401C3862786AE7 -:10164000002800D001263046F8BD7D696D1C7D6103 -:1016500015D178680068002801D072B6FEE7786876 -:10166000B9687960B860B86A401CB8627868006888 -:10167000002813D07868C068C06840683863386B49 -:10168000854211D37868006800280AD07868C0685D -:10169000C4686068854211D2386305E00020C04309 -:1016A000ECE70020C043386338681421C06A48431F -:1016B000124908580128C2D90126C0E7201DFFF7AA -:1016C0008BF9A06A002803D020461830FFF784F970 -:1016D000E06AB969884200D9B861142148430749D2 -:1016E0004018211DFFF705FAE06A3968C96A884287 -:1016F000C8D30126C6E700008C470020B85C002054 -:1017000070B500210446002828D0154D2868844271 -:1017100001D072B6FEE7206D002808D0401E20657B -:10172000E36CE26A9A4219D0002802D016E072B641 -:10173000FEE7201DFFF750F9E06C0721E062081A70 -:10174000A061E06AA969884200D9A86114214843D0 -:1017500004494018211DFFF7CCF90121084670BD4E -:101760008C470020B85C002070B504460020002C97 -:101770002AD0194DE16A2A68D26A914225D2A0691D -:10178000002804DB28680721C06A081AA061E06A03 -:101790001422124E504361698019814210D1201DDC -:1017A000FFF71AF92868C06AE062A969884200D97F -:1017B000A861142148438019211DFFF79AF902E01E -:1017C0002868C06AE062012070BDE16C2A68D26AB4 -:1017D0009142F8D370BD00008C470020B85C002017 -:1017E00070B5C068C468002C0BD02046183006467F -:1017F000FFF7F2F8104DA86B002804D031460F48CF -:101800000EE072B6FEE7201DFFF7E6F8E06AA96970 -:10181000884200D9A8611421484309494018211D74 -:10182000FFF767F9E06A2968C96A884202D901208E -:10183000686270BD002070BD8C4700206C5D002088 -:10184000B85C0020F8B52E4D0027A86B002808D002 -:10185000FFF75CF9A86B401EA863A86B002802D0B4 -:1018600046E072B6FEE72869002841D0254E306870 -:1018700000282AD0F068C46820461830FFF7ACF87A -:10188000201DFFF7A9F8E06AA969884200D9A8617C -:10189000142148431C494018211DFFF72AF9E06A2A -:1018A0002968C96A884201D301206862306800282B -:1018B000E0D1002C09D068682946006800281BD0B8 -:1018C0004868C068C068406808632C6A002C09D06A -:1018D0000126FFF7ABFE002800D06E62641EF8D12F -:1018E00000202862686A002802D00127FFF74AF921 -:1018F000FFF718F93846F8BD0020C043E4E70000C0 -:101900008C4700206C5D0020B85C002040BA704716 -:10191000C0BA70470138FDD170470000F7B5032504 -:10192000AD06286A82B016460C4640084000286280 -:10193000286A022108432862286A8007FCD46620AE -:10194000686001272F61A86AC005FCD599206860EE -:101950002F61A86AC005FCD5FF209130FFF7DAFFA0 -:10196000FF230133AB626846EF60352169602F6168 -:10197000A96AC905FCD5AB62A969EF60C9B20522A5 -:101980006A602F61AA6AD205FCD5AB62AA69090216 -:10199000D2B211430180C80702D0032005B0F0BDC8 -:1019A000AB626869FF210831884368616869C91EB4 -:1019B0000843686102980002483068600820A86007 -:1019C000EE602F61A86AC005FCD5FF200130A86237 -:1019D0000023F61CB0080ED0B20811480068990028 -:1019E0006054060A09194E70060C000E8E705B1CBE -:1019F000C8709A42F1D8FF200130A8626869FF21BF -:101A0000083188436861686938436861286A8008DA -:101A100080002862286A38432862002005B0F0BDA3 -:101A20008000000C032080064169FF2208329143A8 -:101A30004161426901210A434261026A92089200AF -:101A40000262026A0A43026270470000002003211A -:101A50008906096A49084900032292061162114663 -:101A6000096A0222114303229206116200BF032178 -:101A70008906096A022211400229F8D0D101032205 -:101A8000920691620321D1609F2151600121116171 -:101A900000BF03218906896AFF2201321140914269 -:101AA000F7D1032292069162114688694969FF22A3 -:101AB000083291430322920651611146496901227D -:101AC00011430322920651611146096A890889006F -:101AD00011621146096A0122114303229206116222 -:101AE0007047000000000102000000000102030432 -:101AF0000138FDD170470000F0B40324A406236A26 -:101B00005B085B002362236A02252B432362236A5E -:101B10009B07FCD4FF230133A3626569DE1DB54337 -:101B2000656165691E1D3543656100026B3060604B -:101B30000820A060E26001262661A06AC005FCD5ED -:101B4000A3620023D21C90080ED095080F480068AD -:101B50009A008854070A52185770070C000E9770A5 -:101B60005B1CD0709D42F1D86069FF210831884329 -:101B70006061606930436061206A80088000206293 -:101B8000206A30432062F0BC002070478000000CC7 -:101B9000F8B5064601200025C004864201D905207B -:101BA000F8BD0324A406206A400840002062206A91 -:101BB000022108432062206A8007FCD4FF270137F6 -:101BC000A76200F0BBF8002801D0032515E006202D -:101BD000606001212161A06AC005FCD5A7623002C6 -:101BE000203060602161A06AC005FCD5A7620C4866 -:101BF00000F0C8F8002800D102256069FF210831F3 -:101C0000884360616069012108436061206A80083F -:101C100080002062206A084320622846F8BD000048 -:101C2000E6960100F7B506460120C00482B01546CD -:101C3000864202D9052005B0F0BD03208006016A66 -:101C4000490849000162016A022211430162016AE6 -:101C50008907FCD4FF2101318162F2B28C1AA542BE -:101C600000D8ACB20398009000F068F8002840D18A -:101C700006214806416001210161816AC905FCD540 -:101C8000FF2101310320800681624169FF22083271 -:101C90009143416141690422114341613102323172 -:101CA0004160C4600022002C16D9009887183B7848 -:101CB000F87819467B7800061B021943BB781B0491 -:101CC000194301430802F978000A09060843194933 -:101CD0000860121DA242E8D30121032080060161A1 -:101CE000816AC905FCD5FF2101318162124800F0EB -:101CF00049F8A54209D00398361900192D1BFF2475 -:101D000001340390A542ADD8ABE7032080064169BA -:101D1000FF2208329143416141690122114341612F -:101D2000016A890889000162016A11430162002089 -:101D300005B0F0BD8000000C1A06000038B4012583 -:101D4000032080066A46C560352141600561816ACD -:101D5000C905FCD5FF24013484628169C560CBB21A -:101D6000052141600561816AC905FCD584628069ED -:101D70001902C0B2014388B21180C00700D001200F -:101D800038BC7047F8B400210125032292066B4647 -:101D9000D560352454601561946AE405FCD5FF27AD -:101DA000013797629469D560E4B2052656601561E3 -:101DB000966AF605FCD5976296692402F6B234431A -:101DC0001C80E30722D0814202D9F8BC0020704772 -:101DD000032292066B46D560352454601561491C78 -:101DE000946AE405FCD597629469D560E4B205264F -:101DF00056601561966AF605FCD5976292692402D1 -:101E0000D2B21443A2B21C80D207DCD1F8BC0120AC -:101E10007047000000171300171000170E00170975 -:101E200000170400170000171801171401171501F7 -:101E3000171900000028000200000000032800021B -:101E400000000000292A0002008080000328000210 -:101E500000000000242A0002008080000328000205 -:101E600000000000252A00020080800003280002F4 -:101E700000000000272A00020080800003280002E2 -:101E800000000000262A00020080800003280002D3 -:101E900000000000282A00020080800003280002C1 -:101EA00000000000232A000200800800032800022E -:101EB000000000002A2A0002008008000328000217 -:101EC00000000000502A000200800700C9C900017C -:101ED00057C9000155C9000153C900010014000091 -:101EE00071CA0001130C000015DC0001031400008E -:101EF0002DCB000143020101BD010101710101016E -:101F000025010101130C0000D9DC0001150C0000B3 -:101F1000B9DD0001170C0000F1DA0001000C00002F -:101F200031DB000106470000EB040101034700001C -:101F30009105010108470000310401010E4700002E -:101F40007D0001010547000045070101FFFF00007A -:101F500095BF0001130E000031CE0001150E0000E8 -:101F600041CD0001170E0000B1D20001190E000092 -:101F700089D200014C1F010105000000F7B586B0B1 -:101F8000002002905C48154604695C480E46824277 -:101F900001D9054602E0002D00D10125002C08D012 -:101FA000A1880698814204D1E088B04201D1012085 -:101FB0000290534803908446069801043143002060 -:101FC000002C1CD00A0CA7888BB2974207D1E78857 -:101FD0009F4204D1002807D02168016007E0204615 -:101FE0002468002CEFD10AE0614622680A6021686B -:101FF000002902D00020206001E061464860002CEA -:1020000007D10221102000F095F80699818004463E -:10201000C6802801052100F077F807467D200E468E -:102020004643EFF31085012080F31088684600F0E6 -:1020300087F885F3108800980490C019050101996C -:1020400027202D098E1900010591864203D96D1CA8 -:102050002D012D09361AE660A5600398294F8646A2 -:102060000020844670460068002813D0A268E1680A -:102070000091C36881680193531A1B011B09BB427D -:102080000AD2914203D1019A0099914204D984461F -:102090000068E9E77246546020606046002801D07D -:1020A000046001E071460C60134802990069002940 -:1020B00001D1A04203D1C168806800F047F8EFF376 -:1020C0001084012080F3108802A800F039F884F30E -:1020D0001088039902980191291A090109090090B1 -:1020E000B94204D2A84205D10198864202D8032001 -:1020F00000F032F809B0F0BDC8010020FFFF7F02F8 -:10210000D8010020FFFFFF0730B50B460146002035 -:102110002022012409E00D46D5409D4205D31D46ED -:102120009540491B2546954040191546521E002DE5 -:10213000F1DC30BD03B40148019001BD2D7A0100EE -:1021400003B40148019001BD5DB6020003B401482B -:10215000019001BD9DB6020003B40148019001BD8C -:10216000AD78010030B4C36882688868084D141ADD -:102170002401C9682409AC4203D2904204D18B42A5 -:1021800002D830BC0120704730BC002070470000EE -:10219000FFFFFF070A0C838889B2934204D1C088ED -:1021A000884201D1012070470020704770B4054675 -:1021B00000680022002810D00B0C86888CB29E424A -:1021C00007D1C688A64204D10168002A07D0116051 -:1021D00006E0024600680028EFD170BC7047296015 -:1021E0000168002903D00021016070BC70476A605B -:1021F00070BC7047F0B5104F026886460025002A73 -:1022000010D0C8688C6893688446E01A0001000901 -:10221000D668B84208D2A34201D1B44504D91546C4 -:102220001268ECE7704641600A60002D01D0296019 -:10223000F0BD70460160F0BDFFFFFF0770B584B0D0 -:1022400004460E46EFF31085012080F3108802A8A3 -:10225000FFF776FF85F310880298039902460090F5 -:102260000191A01A000107490009884204D2A24244 -:1022700005D10198864202D8012004B070BD00202B -:1022800004B070BDFFFFFF0730B583B00446EFF325 -:102290001085012080F310886846FFF751FF85F311 -:1022A0001088019900986160206003B030BD000083 -:1022B00000280002000000000328000200000000C7 -:1022C000002A000A0080200003280002000000000D -:1022D000012A000200800200032800020000000022 -:1022E000042A000200800800032800020000000009 -:1022F000A62A00020080010003280002000000005E -:10230000C92A00020080010000280002000000002D -:102310000328000200000000052A002000800400BD -:102320000229000A00000200032800020000000049 -:10233000292B000A00801000032800020000000082 -:102340002A2B000200801000FFFF000095BA000158 -:10235000A40D000055D50001A50D000089D5000190 -:102360001A0D0000A1DA0001150D0000E9D50001E9 -:10237000000D000015D600011C0D0000D7DA000189 -:10238000A70D0000F5D90001A80D0000E3DA000157 -:10239000020C0000C9DB0001000C0000A1DB000101 -:1023A000010E0000CDD000010F0E000089D4000105 -:1023B000110E0000EDD400012C0E00006DD40001C0 -:1023C000030E000025D200010A0E0000E1D3000137 -:1023D000300E000061D400010C0E000015D5000184 -:1023E000000E000039D00001090E000061D000018C -:1023F000010F0000BDBC0001020F00005DB900012B -:10240000030F0000A1BC0001040F0000ADF20001A9 -:102410004823010136470020010019000214000082 -:10242000A9CB00011C240101010000003825010195 -:102430000300000001102EC78A0E7390E111C2083C -:1024400060270000002800000000000000000000DD -:10245000000000000002000000000328000000004F -:1024600000000000000000000000000A0000000062 -:1024700001002EC78A0E7390E111C2086027000088 -:10248000000400C00002012900000000000000005C -:10249000000000000000000A008014000328000073 -:1024A000000000000000000000000000000A000022 -:1024B000000002002EC78A0E7390E111C208602747 -:1024C0000000001000C0000202290000000000000F -:1024D0000000000000000000000A00801400032833 -:1024E0000000000000000000000000000000000AE2 -:1024F0000000000003002EC78A0E7390E111C2088D -:1025000060270000000A00C000020328000000004D -:1025100000000000000000000000000A00000000B1 -:1025200004002EC78A0E7390E111C20860270000D4 -:10253000000200C00002000004470000C9060101BB -:102540000A470000B105010107470000E10401014D -:10255000F4280101C0280101759B00019C2801019C -:1025600084280101259F0001A42801017827010189 -:102570004D9D0001B8280101BC2601016D990001A3 -:10258000502801011C270101F5980001E4270101F1 -:10259000B4270101499C00012C290101F826010101 -:1025A000759200013C2901012028010121930001BD -:1025B000FC28010158280101E98E0001442901018C -:1025C000842601011D8F00013429010158270101D2 -:1025D000199D0001842901014C290101E59A00019E -:1025E0007C290101E8270101E19E0001AC280101DD -:1025F00004290101359E0001010203040506004083 -:1026000040404040404040404141414141404040C5 -:1026100040404040404040404040404040404005F5 -:10262000020202020202020202020202020202206C -:10263000202020202020202020020202020202026C -:10264000909090909090101010101010101010108A -:1026500010101010101010101010020202020202CE -:1026600088888888888808080808080808080808EA -:1026700008080808080808080808020202024000C2 -:10268000FF2501016273736574203C6669656C64A3 -:102690003E203C76616C3E3A207772697465206218 -:1026A0006F6F7473657474696E67206669656C64B6 -:1026B00020286361726566756C21290073686F77E5 -:1026C0002064657669636520696E666F202874658D -:1026D0006D702F7664642F66616E2C2073616D655A -:1026E00020617320424C4520494E464F5F5155456D -:1026F000525920616C6C29006170706765743A20D2 -:1027000073686F772061707020706172616D7320E3 -:10271000286C65642F70776D29000000626C656C11 -:102720006F67205B6F6E7C6F66665D3A20424C453A -:102730002074726166666963206C6F672028657615 -:10274000656E7473202B206672616D6520686578F4 -:102750002064756D7029000072657365743A20738A -:10276000797374656D207265736574202872656273 -:102770006F6F74290000000073686F7720467265E0 -:102780006552544F532072756E74696D6520696E81 -:10279000666F2028757074696D652F7461736B7333 -:1027A0002F686561702F7461736B206C6973742975 -:1027B000000000006C6564203C317C323E203C6FA0 -:1027C0006E7C6F66667C746F67676C653E3A2063EB -:1027D0006F6E74726F6C20626F617264204C45443E -:1027E000000000006C656400756172747273743A65 -:1027F0002072652D696E6974205553415254312001 -:102800002831313532303020384E31292C20666C59 -:102810007573682072782071756575650000000019 -:10282000617070736574203C6C65647C70776D3E7C -:10283000203C76616C3E3A20736574206170702094 -:10284000706172616D20616E642073617665000055 -:10285000626C656C6F670000627364756D703A201E -:1028600073686F7720626F6F7473657474696E67D5 -:10287000207265636F7264202B206372632063682B -:1028800065636B0073686F77206669726D7761723C -:10289000652076657273696F6E00000076657273ED -:1028A000696F6E00737973696E666F00756172741B -:1028B000696E666F00000000646576696E666F0081 -:1028C00068656C70205B636D645D3A206C6973743D -:1028D00020636F6D6D616E6473202F2073686F7756 -:1028E000206F6E6520636F6D6D616E642773206865 -:1028F000656C700068656C70000000006273647540 -:102900006D70000075617274696E666F3A2073684D -:102910006F77205553415254312070696E732F6286 -:102920006175642F666F726D61740000617070670D -:1029300065740000726573657400000061707073E7 -:1029400065740000627373657400000066616374EF -:102950006F72793A20726573746F7265207061725C -:10296000616D7320746F2064656661756C7473208B -:10297000616E64207265626F6F74000075617274BD -:1029800072737400666163746F7279002020202076 -:1029900020202020206231616464727C6232616494 -:1029A00064727C623173697A657C623273697A65BC -:1029B0007C62316372637C62326372637C62317603 -:1029C00065727C6232766572203C6865787C6465ED -:1029D000633E0D0A00000000F829010100400020BC -:1029E000EC070000D28B000100300101EC47002011 -:1029F000BC6D0000F02A000011D490D00322A01A70 -:102A0000FF01011013C202025420382B11D80D49C6 -:102A10000868496813F008FB0498EFF78EFF044636 -:102A2000C1888088FF22FFF79DFD2046FFF73AFC12 -:102A3000B3E705B0F0BD981407D8011B20C80424E3 -:102A400030D702100E4B1847FBFD064605203070AC -:102A50007580281699B181301D3946E5F773FD3030 -:102A600046F9F70EFF0E222946422C45FD07403855 -:102A7000112E0CD0534B052203212846FDF733FEBF -:102A8000121E134B75162D05D0398F142902D01440 -:102A900099897912E01010211176FAF74BF8044D5C -:102AA0002859F9F7FBFE4C202851801112041B20F5 -:102AB00007771538B5049C103294014CA04738BDF7 -:102AC0005143F84A26468F1839462036FD6D707DF1 -:102AD00080311191C97FA0370E9122463978153285 -:102AE0000F92F14A109203292BD0100C2873D0F1C9 -:102AF0007D0F980CF00DF81014286FD06888694687 -:102B00000883F0B597B008780C460F901018201481 -:102B1000900F9848214843FE4922464018064680B7 -:102B2000361090F17F180991C56DA0301690014EB6 -:102B3000180A274612922037F74A1552100F2AD04A -:102B400061783C2949D0432947D0787D1008287DF9 -:102B5000D0F97D129814F0FCF9100E2878D069880D -:102B600068468184687A297A10220409020843E9B8 -:102B70007908430690A97A08A84172E97A817229F6 -:102B80007BC17229460D310E380E91100AF02FFAD2 -:102B9000A878400733D5100E2132E0907E01280638 -:102BA000D0507E401E120610080E507603D006E06C -:102BB0003D21DB480106111012F0D2F9169A0121CD -:102BC0001170A978D448C9075CD0100899482359D6 -:102BD000430818101822A0300270FF20F07752E04E -:102BE00001220270A878CC49C0074CD09F98482396 -:102BF00058434020181442E0E97C08A80173297D5D -:102C00004173697D8173A97DC108180D0174297E06 -:102C10004174697E8174B189BC101E81F189C181C2 -:102C2000318A0182109940318A8F8283C98F018451 -:102C3000B188C183F18841841C21C184421014727F -:102C4000B848817808A8C17401E04DE11BE0022674 -:102C500006752C2902D0CC100D02D4E87A80070525 -:102C6000D5297B0E98380BF07EF908A9087503A9C1 -:102C70000F0C1110402801D11698067060783C287E -:102C800070D030E1628869460A82A2884A82A279BD -:102C90000A75E2794A75207A8875E07EC875A08B3E -:102CA0000883E08B4883208C8883608CC88321460E -:102CB000243108A81018F0A4F9787A08A94871B846 -:102CC0007A8871A08D69460885206B0B901E200CB8 -:102CD00090012018103E75387D0875B87D8875A85C -:102CE00078C006C017401CC8758E486946028A0A1B -:102CF00087428A4A87827D08A90A77C27D4A77027D -:102D00007E8A77428B10A90A80828B4A80807F0856 -:102D10007104A919A41332F9101098482148437C72 -:102D200049401803907C301299101AF05DF903980D -:102D3000F97D8030817003990922A0310A70012148 -:102D4000C170039817218166E18B49100F41660518 -:102D500021C166016715996030C97E180E2904D01B -:102D600072498161012102E02AE024146181751F0A -:102D7000998182F97D12601009F6F8022802D201C9 -:102D8000214CF003F912281B05F906280CD20A2160 -:102D90005F4A41438918FF318131497F890703D553 -:102DA000FA7D7C2BFCF8961DFFF81699E0100C704C -:102DB000FF20F077012014900920100AF0FBF82181 -:102DC000460F3105911008284ED020233E222C2199 -:102DD000564860100906460A2030701498142801DD -:102DE000D01220100AE03C207070012030712C9825 -:102DF0007080162D2CD0B01D5A1015F2F8F87D7089 -:102E000071E87A800706D52146304609310C302812 -:102E100008F0E7F803E030460A1ADD20180A8007B8 -:102E200005D53046123005303ADA1A1A121A101542 -:102E3000D0F8E08B3083208C7083608CB083B87ABC -:102E4000B07730461010F0BFF83AE0287B70712957 -:102E5000460D31B01D2CF0C2F8163EB4F83DE0141A -:102E60009E1A2E9E3808A7F801210646019E1A0DCB -:102E70009E3C70703198280BF87D820709D57171DE -:102E8000B01D6A3CA5F80AB6180A30461DE0C00716 -:102E9000C00F701829B21A9978180BB081208CF0E5 -:102EA00081608C3082782A74623C83F806601A163E -:102EB000601777F8142101701008994180B97D01DD -:102EC000713815F075F81598807E022826D1607843 -:102ED0001499084322D0082C1A0B2C1C61F8122CD0 -:102EE000100D61784170297881700FE04004142042 -:102EF000C00624200A201A39041A400C111904149F -:102F0000B1A2013304111F998180397E8156134A81 -:102F1000F81E2017B0F0BD241DBA7047C004100C75 -:102F200003B40148019001BD919B02690C8BE198AB -:102F30000C8B7D9F0C7C49FA010C8B09D30C8B6D9B -:102F40005B249B3D99488A900C8B5507308BD59C10 -:102F5000188B397B1824796D01182221018041805A -:102F6000818070470A7802704B7843708A7882704B -:102F7000CA78C2700B7903714A7942711A2C6802BF -:102F8000600E033670472017497B41700570F1F7DA -:102F9000F3FC2068F1F7A4FB256003B0F0BD222408 -:102FA0001220200A80024080C1024006021017F859 -:102FB000B54E784821F0B248432349214D41180CC1 -:102FC00046AA7EA0346A27B014EDC3021710B507D5 -:102FD0004CE069100A0408D5FFF7F3FF05481278A2 -:102FE000180B2802D10120C0032062105429501A66 -:102FF000C6581AF4DB014E0358FFFF1AAA018100DC +:1000000001276878FF2941D0C1073ED0B843687006 +:100010002849002008703A2303220721264807F4C4 +:100020008BD50446A4202070307D60702878A070A5 +:1000300068788006800F20716888E080A888208119 +:10004000E888E08128892082E7700120FFF7A2F983 +:10005000687840070AD5E07802210843E070688894 +:100060006081A888A0810320FFF794F968780007D1 +:1000700003D5E0780C210843E0701049082048714E +:100080000020B075204607F493D5F8BD384368705A +:100090006D20022303220721400107F44DD5A12141 +:1000A00001700749C9784170EDE70000D04D00208C +:1000B000C04E0020304E0020A10D0000B04D0020A9 +:1000C000344E002010B50A4C607DFF280ED002236C +:1000D00003220721074807F42FD5A5210170617D70 +:1000E0004170054A0D21517107F462D510BD000021 +:1000F000D04D0020A20D0000B04D002070B50B4C7B +:10010000207DFF2811D00A4D687909280DD00223DF +:1001100003220721074807F40FD5A5210170217D8F +:1001200041700921697107F443D570BDD04D00209D +:10013000B04D0020A20D000010B504464088A188F3 +:100140000246491C19234A43DB019A420FDC062868 +:100150000DD3228890420AD3E2887D23DB009A42A5 +:1001600005D84B00C9184843D100884201DD002062 +:1001700010BD0D480E238078032201020B48083180 +:1001800007F4DAD4092101702188418061888180D7 +:10019000A188C180E188018100214181491E8181BE +:1001A00007F406D5012010BDB04D00200E0E000052 +:1001B00010B5084A084B906901888478994206D1A5 +:1001C000917CA14204D20024FAF7FAFE00E0002458 +:1001D000204610BD104D0020341200000B4610B513 +:1001E00004493A228969504341181846091DF8F715 +:1001F0003BF810BD104D002010B590B004463C21D6 +:100200006846F8F74AF8FFF7D3FF401EC0B26946C8 +:10021000FFF7E4FF08A8807CA0710CA920460331F9 +:10022000F9F7B6F910B010BD10B590B004463C21F6 +:100230006846F8F732F8FFF7BBFF401EC0B26946C8 +:10024000FFF7CCFF08A8007CA0710AA92046023164 +:10025000F9F79EF910B010BD10B590B004463C21DE +:100260006846F8F71AF8FFF7A3FF401EC0B26946C8 +:10027000FFF7B4FF0AA920460231F9F789F908A867 +:10028000007CA071204606A9102208300231F7F741 +:10029000EBFF0848C17820461830012904D010210E +:1002A000F7F7FBFF10B010BD10220349F7F7DCFF92 +:1002B00010B010BD344E0020BF4D002070B590B07E +:1002C0000D460646FFF774FF002D23D0854221D846 +:1002D000182303220721104807F42ED404461720C0 +:1002E0002070012060703146A01CF9F751F93C21C3 +:1002F0006846F7F7D2FF6D1EE8B26946FFF76EFF5A +:10030000204606A9102208300231F7F7ADFF20463B +:1003100007F44ED410B070BD140D0000F3B58FB0CB +:100320000C463C216846F7F7B8FFFFF741FF012C68 +:100330001AD0002816D0154D0AAE0236441EE0B27F +:100340003A22A969504341186846091DF7F78CFF06 +:10035000062231460F98F7F7CAFF00280DD0200675 +:10036000000EEBD111B0F0BD0949421ECA71014621 +:100370000F98FFF7A3FF11B0F0BD06A910220548A2 +:100380000231F7F771FF11B0F0BD0000104D0020F1 +:10039000B04D0020CF4D002070B5284C82B02068B1 +:1003A0008003FCD5264D687FFFF7C4FB606A606A56 +:1003B000012630436062606AB04360622148C08FAA +:1003C0000A2811D9E16932071143E1611E494A68DF +:1003D00032434A601E491D4A0A6003224A6088600F +:1003E0001C4808601C48086068461BF437D11B494C +:1003F00000980860687FFF252D02032811D000F0C7 +:1004000027F9206BA8432063206B3F214902084352 +:100410002063206B3043206301220321104807F43E +:100420004DD610480168A94301600F490868FF22B2 +:1004300012049043086002B070BD0000001002403A +:10044000104E0020F04D0020401002405555000095 +:1004500000300040AAAA0000CCCC00004840002098 +:10046000010F000000E400E008E400E0F0B5D7B0C0 +:1004700054A81BF4F3D04A490024886AC96A5499E5 +:100480000122411A09010909D206914204D954995D +:10049000081A000100094142424E40290CDC7088D4 +:1004A000002809D0401E7080142203213E4807F422 +:1004B00005D6002057B0F0BD3C48FF2156902931A9 +:1004C0006846F7F7EAFE707CB569002832D0FFF77E +:1004D0006FFE69468870B17C6F4688420BD23A2124 +:1004E00048430246291D381DF7F7BEFE6946887845 +:1004F000401C887008E03A21401E484302462946C5 +:100500003E31381DF7F7B0FE694688783A214843F6 +:10051000C0190A4636385699F7F7A6FE24486946A8 +:100520000880B069FAF74CFDFF2227326946B069AE +:10053000FAF774FDFF20F53070804A944B944C9488 +:100540004D944E944F945094519452941748539410 +:10055000418D40AA1185818D5185C08D9085154CA6 +:1005600048AA257C9573102213494CA8F7F77CFE06 +:100570001248C078012804D11022114950A8F7F779 +:1005800073FE01260F48002DC67306D1A07C0028FB +:1005900003D001214AA8FFF7A5FA0B48067088E7A7 +:1005A000C0800240104D0020040F0000D44C0020F9 +:1005B00034120000F44C0020EE4C0020344E002099 +:1005C000BF4D0020D04D0020304E00200248007862 +:1005D000002800D001207047104D0020014800790C +:1005E00070470000104D002070B517493CC80E46FA +:1005F00084B040363CC64368026880684B65134C43 +:100600000A658865607C002818D0002569460D724F +:10061000FAF7E8FCFFF7CCFD69460872E1690126AC +:10062000002906D068460095067002A80190684629 +:1006300088476846007A002802D0267004B070BD52 +:10064000257004B070BD0000D44C0020104D002077 +:1006500004490868401C0860012801D00120704747 +:10066000002070472440002003490868002802D079 +:10067000401E08600120704724400020F8B50C4659 +:100680002849294B4118294F294A0026069D00294F +:1006900008D0012922D0274940180A282FD3012049 +:1006A0002870F8BD20780A2838D2214980000958DE +:1006B000214A914203D11E490E501E502EE0B942EC +:1006C0002CD10322082311461C4807F435D2217887 +:1006D00001706168416007F46BD21FE020780A283E +:1006E0001CD280001158B94218D1195811502078E5 +:1006F000134962684018032107F4E0D40EE0C0B249 +:100700000A280BD284001159002907D0B94205D01C +:10071000094FB94202D016511E5188472E70002051 +:10072000F8BD0000FBF0FFFFAC4C0020CB2801011E +:10073000844C0020F9F0FFFFC9280101060F0000DA +:10074000070F0000F7B5534F3878002809D0042A66 +:1007500009D2012211217B69009800F075F903B0DC +:10076000F0BD002314E00C784E7820468C783602D9 +:10077000CB783043240420431B061843CB78000277 +:10078000000A1B0618437B690D1D141F984206D0F2 +:1007900002221121009800F057F903B0F0BDB868AB +:1007A0001E19864203D90322112100986DE07E6153 +:1007B000F869B0420FD2F96978684018FAF700FC7E +:1007C000002801D0052207E00120F969000308187C +:1007D000F861B042EFD30022002A3CD1B86A002869 +:1007E00022D02D49042808D2002C1BD02B780B5482 +:1007F000401C641E6D1CB862F4E73E46042811D10B +:10080000B1697068244B401804221946FAF706FCB7 +:10081000002801D0052203E0B069001D0022B0616C +:100820000020B062002A16D1042C1DD3BA69786862 +:10083000A608B600801829463246FAF7EFFB0028D2 +:1008400001D0052203E0B86980190022B861AD1912 +:10085000A41B002A08D011217B69009800F0F4F84D +:10086000FCF7C0F803B0F0BD002C05D022462946A5 +:100870000948F7F7F9FCBC62BB693A6A0098190BA2 +:100880009142EFD939620022112100F0DDF803B066 +:10089000F0BD0000584700207C470020F7B5634DAD +:1008A0008CB028780B46002809D0042A09D00122F0 +:1008B00012216B690C9800F0C7F80FB0F0BD00234F +:1008C00013E01A78D97810465A78090612021043B4 +:1008D0009A781204104308430402D878240A0006C8 +:1008E00004436B69A868834206D0022212210C9847 +:1008F00000F0AAF80FB0F0BDA86A0026002815D0B5 +:10090000042806D24A4AFF211154401CA862042838 +:10091000FAD3AB69686846490422C018FAF77EFB2F +:10092000002867D1A869AE62001DA861A96868683F +:10093000FCF7C4FEA04202D1E968884209D0042233 +:1009400012216B690C9800F07FF8FCF74BF80FB0A0 +:10095000F0BD384C6F460FCC0FC70FCC0FC7A26845 +:10096000616820680A920890334F0098203C0991F2 +:10097000B84206D128212046FCF7A0FE0A998842F9 +:100980000AD000960196029603960496059606965E +:100990000796089609960A960097284A6968914230 +:1009A00001D1012000E0022001909142684601D16E +:1009B000083000E018300160A9684160E968816092 +:1009C0002969C16028216846FCF778FE0A90204614 +:1009D000FAF7F6FA00280DD12C2269462046FAF7DC +:1009E0001DFB002806D12C2221466846F7F77FFC24 +:1009F000002809D0052212216B690C9800F024F818 +:100A0000FBF7F0FF0FB0F0BD00221221AB680C988D +:100A100000F01AF8C82002F03BF8BFF34F8F0949E5 +:100A20000748C860BFF34F8FFEE70000584700201B +:100A30007C4700200040000111C011CA0080000165 +:100A40000400FA0500ED00E010B582B06C4621709C +:100A50006270A370190AE170190C2171190E61718D +:100A6000014606236A461F20FBF732FD02B010BD87 +:100A700070B5FEF735FCFCF7EFFC04002FD01A4DE3 +:100A80002889F8F7C7F802460B4618A12046FCF75C +:100A900097FCE868F8F7BEF802460B4614A120461A +:100AA000FCF78EFC13480078F8F7B4F802460B46C2 +:100AB00011A12046FCF784FC2046FCF7DDFD05462D +:100AC0002046FCF7D5FC002D09D02846FCF7F4FEA3 +:100AD0000BA0FCF7F1FE2846FCF7D6FD70BD09A07F +:100AE000FCF7EAFE70BD0000A45C00206C656400A9 +:100AF00070776D008847002076616C6964000000A3 +:100B00000D0A00006A736F6E3A20616C6C6F63208F +:100B10006661696C0D0A000070B5134C01256078A0 +:100B2000002802D1FAF75EFA657010483021FCF710 +:100B3000C5FD0E490E4E08633046FAF741FA00280B +:100B40000DD1342209493046FAF768FA002806D157 +:100B5000342231460548F7F7CAFB002801D00120AE +:100B600070BD2570002070BD88470020A45C002067 +:100B700000600001F3B583B0049800210668806826 +:100B8000009137187D1C305C2C4622287ED10498B9 +:100B9000406807E05C2A04D15B1C834277D2491C81 +:100BA000641C641CA31B834202D22278222AF1D146 +:100BB000A21B82426BD22078222868D1E01B401A07 +:100BC0000499401C09698847009000285ED0A5421E +:100BD00070D229785C2903D00170401C6D1CD8E0CC +:100BE0000223611B012952DB6A78662A15D008DCD2 +:100BF000222A22D02F2A20D05C2A1ED0622A46D157 +:100C000008E06E2A0DD0722A0FD0742A11D0752AEE +:100C10003DD115E00821017010E00C210170401C4D +:100C2000B6E00A210170401CB2E00D210170401CA9 +:100C3000AEE009210170401CAAE00270401CA7E050 +:100C40000022944606296FDBAF1C1346F95C0E4662 +:100C5000303E092E02D8303A8A180BE00E46413E4B +:100C6000052E01D8373A04E00E46613E052E1FD806 +:100C7000573A8A18032B00D212015B1C042BE5D3D0 +:100C800037218902531A55498B4201E09CE094E0D8 +:100C90007BD91B23DB02D31A8B423FD80C23A91D1F +:100CA0009E46631A062B70DB0B785C2B6DD102E03D +:100CB0000022E5E770E04B78752B66D1891C019125 +:100CC00000210E46019B9B5D1F46303F092F02D835 +:100CD000303959180BE01F46413F052F01D83739ED +:100CE00004E01F46613F052F16D857395918032EC7 +:100CF00000D20901761C042EE4D337239B02CE1ABE +:100D000001239B029E4240D292058905120B890D58 +:100D10000A439901521803E00021EEE706218E46AE +:100D2000802A02D2012315E02FE00121C9028A4264 +:100D300003D20223C0218C460CE0012109048A421F +:100D400002D20323E02104E025498A421DD804236E +:100D5000F0218C46591E0906090E0AD01646802736 +:100D60003E43BF273E404654491E92090906090EDC +:100D7000F4D1012B03D961460A43027002E0510607 +:100D8000490E0170C018734600E00023002B14D0F8 +:100D9000ED18A54200D21CE7002101700398102134 +:100DA000C160039900980861049804990068201AAA +:100DB000401C8860012005B0F0BD0098002803D0D9 +:100DC0000498416900988847002D04D00498006871 +:100DD000291A04988160002005B0F0BDFF030000CF +:100DE000FFFF1000F0B591B00C0006467ED02168E0 +:100DF00000297BD0A0686368021D9A4206D80818B3 +:100E00000422DBA1F7F789FA002833D0A0686268D2 +:100E1000411D914207D8216805220818D6A1F7F78D +:100E20007CFA00282ED0A0686268011D914207D884 +:100E3000216804220818D2A1F7F76FFA002829D0F8 +:100E40006268A168914203D22068405C22282BD0BE +:100E500091427AD22068405C2D2802D0303809288F +:100E600073D800200146109020682E22002807D059 +:100E70006B464DE00420F060A068001DA0600120DA +:100E800011B0F0BD0120F060A068401DA0600120FD +:100E900011B0F0BD0220F06001207061A068001D5B +:100EA000A060012011B0F0BD21463046FFF762FE80 +:100EB00011B0F0BD25682818085C342820D00DDC5E +:100EC00005462B3D092D28D22F007F443F79FF197D +:100ED000BF441623161823161616160038280FD0EE +:100EE00008DC35280CD036280AD000E074E037281A +:100EF00013D105E0392803D0452801D065280CD14D +:100F0000585400E05A54491C3F2906D2002C04D002 +:100F1000A06867684518BD42CCD30020585410A97A +:100F2000184601F0C3FC0F460546109968468842F2 +:100F300052D0F761944A954B28463946B561F7F788 +:100F40000BFF03D8924870610FE019E00022914B2B +:100F500028463946F7F7ECFE02D80120C00703E027 +:100F600028463946F7F78CFE70610820F060109A29 +:100F7000A1686846101A0818A060012011B0F0BDE1 +:100F80007D20C000914203D223685B5C5B2B06D0BE +:100F9000914279D22268515C7B2967D074E00027A6 +:100FA000E1683D4681426FD2491CE1602168A0683A +:100FB000095C5B2968D1401CA0602046FCF7E2F97F +:100FC0006168A068884203D22268125C5D2A38D02A +:100FD000884202D3401EA06056E0401EA06020461A +:100FE00010300090FCF7AEFA002839D0002F23D043 +:100FF000286045600546A068401CA0602046FCF7BC +:10100000C1F921462846FFF7EDFE00282AD02046E8 +:10101000FCF7B8F9002C25D06168A068884203D29B +:101020002168095C2C290AD0626890421AD2216892 +:10103000085C5D2816D104E007463D46DBE70098D2 +:10104000D0E7E068401EE060002F00D07D602020E7 +:10105000B760F060A068401CA060012011B0F0BD36 +:10106000002F11D03846FCF703FA0DE00027E168A5 +:101070003D46814208D2491CE1606168A06888420F +:1010800002D2115C7B2902D0002011B0F0BD401CBF +:10109000A0602046FCF776F96168A068884203D218 +:1010A0002268125C7D2A4CD0884293D2401EA060F8 +:1010B000204610300090FCF745FA002855D0002F4C +:1010C0004ED0286045600546002CCBD0A0686168F2 +:1010D000401C8842C6D2A0602046FCF753F9214646 +:1010E0002846FFF747FD0028BCD02046FCF74AF908 +:1010F00028692862002028616168A0688842B1D20E +:101100002168095C3A29ADD1401CA0602046FCF75B +:1011100039F921462846FFF765FE0028A2D020466F +:10112000FCF730F96168A068884203D22168095C45 +:101130002C2918D06268904294D22168085C7D28DE +:1011400090D1E068401EE060002F00D07D6040201C +:10115000B760F060A068401CA060012011B0F0BD35 +:1011600007463D46B0E70098A5E7002F8CD079E709 +:101170006E756C6C0000000066616C7365000000A9 +:1011800074727565000000000000C0FFFFFFDF41C2 +:10119000FFFFFF7F0000E0C1102819D230B40D4CD2 +:1011A00083001B199D6989032D0B2D03090D0D4328 +:1011B0009D619969084D920992052940920A11434F +:1011C00099610122616982401143616130BC7047BD +:1011D0007047000000200240FF0FC0FFF3B5054636 +:1011E00081B00026408800F003F901000AD01C4FAE +:1011F0006A88002014234343DB195B8A934203D19E +:1012000042262AE0402628E0401CC0B20A28F1D33A +:10121000002E22D1002414206043C019408AFF28E8 +:1012200006D0641CE4B20A2CF5D30A2C14D014E0C6 +:1012300028460830009014206043C0190E686B786F +:10124000AA880746A91DB0470600EED168887882B3 +:101250000298398A0180E8E74B26304603B0F0BD9A +:10126000684B002002885004400CD20B01D00902C8 +:101270000843704710B40024094A214614234B4305 +:101280009B185B8A834204D1142041438818C468A8 +:1012900003E0491CC9B20A29F0D3204610BC7047AC +:1012A000684B002030B4FF23040AC5B20A4900206D +:1012B000142242435218128AAA4204D114225043E3 +:1012C0004018438A03E0401CC0B20A28F0D3200231 +:1012D00030BC184370470000684B0020084A117862 +:1012E0000A290AD2C9004368891800688B604860DF +:1012F0001078401C107001207047002070470000DB +:10130000304C002030B4FF23040AC5B20A49002043 +:10131000142242435218528AAA4204D11422504342 +:101320004018038A03E0401CC0B20A28F0D3200210 +:1013300030BC184370470000684B0020F1B582B004 +:101340000299294E0020002900D130700025029812 +:10135000002804D0012834D002283ED10FE02946CD +:1013600014225143214A284609308C182082C0B2E9 +:1013700006F410D5207C214606F4F2D42DE0284650 +:1013800014214843194900234718B87C009030784D +:101390001C4600280DD9E0008019828800998A42F5 +:1013A00002D1806880470346641C3078E4B2A042D2 +:1013B000F1D8002B02D0596838468847387C06F4AB +:1013C0000DD51422094B6A430021D018FF24C160B7 +:1013D000448299504160018141816D1CEDB20A2D1A +:1013E000B5D303B0F0BD0000304C0020684B0020A6 +:1013F00070B50146094DCEB2002029780446002977 +:101400000BD9E10049198A88B24201D18868804726 +:10141000641C2978E4B2A142F3D870BD304C00209E +:10142000F7B500248AB000940194029403940E4608 +:1014300004940594069407940894FF2701371168D3 +:10144000154638468847059601970090AA6869684E +:101450002868069000980892079100283CD06946B9 +:101460000A9800F0CDF8002830D00098002806D067 +:1014700002994018F6F71CFF029940180290AA68DA +:10148000002A07D002990098491C904706001DD0F9 +:10149000009418E002982968401C8847060015D07F +:1014A00002980199401C814201D20A4601E0029A49 +:1014B000521C30460099F6F7D7FE029834546968FA +:1014C00000988847009430460DB0F0BD0098002881 +:1014D00002D069688847009400200DB0F0BD00007C +:1014E000F8B500240A460546002910D0002D10D07A +:1014F00001460078002826D008780C283BD015DC5F +:10150000082838D0092836D00A2815D133E0002021 +:10151000F8BD03211046FCF7FDFB0028F8D022217E +:1015200001704170002181700120F8BD0D2822D08A +:10153000222820D05C281ED0202800D2641D4878A4 +:10154000491C0028D8D1481B0719F91C1046FCF784 +:10155000E1FB061EE9D0002C0FD022203070287845 +:10156000741C002834D0C0B21F2813D9222811D0EF +:101570005C2837D10EE0641CE1E7222434703A463F +:101580002946701CF6F770FEF01944700021817036 +:101590000120F8BD5C2020702A78641C0C2A23D01E +:1015A00006DC082A1DD0092A24D00A2A06D11DE00B +:1015B0000D2A1DD0222A12D05C2A13D00EA120465B +:1015C000F9F772FF241D6878641C6D1C0028CAD1CD +:1015D0002221F0194170002181700120F8BD2220E4 +:1015E00000E062202070EEE76620FBE76E20F9E75E +:1015F0007220F7E77420F5E7752530347800000095 +:10160000002801D0002901D100207047F0B505461F +:10161000007B8BB00C4610287ED008DC012819D046 +:10162000022821D0042809D0082876D128E02028D3 +:1016300074D0402873D080287DD19BE005212046BE +:10164000FCF768FB002803D0DCA1F7F7E9FF0120D5 +:101650000BB0F0BD06212046FCF75CFB0028F7D05C +:10166000D8A1F7F795FF08E005212046FCF752FBCB +:101670000028EDD0D5A1F7F7D3FF01200BB0F0BDC6 +:1016800007910024AF69EE6900942E200194039421 +:1016900004940594029406940894314609940A909F +:1016A000002F01D0012000E0002001434800C9497B +:1016B0004008081AC00F14D1012170004905C84222 +:1016C00001D1002F0DD06869F7F790FA3A463346FA +:1016D000F7F72EFB0BD1C0A168466A69F9F7E4FE63 +:1016E00026E0BEA16846F9F7DFFE054621E03A464E +:1016F0003346BCA16846F9F7D7FE054608AABBA148 +:101700006846F6F719FE01280CD13A463346099986 +:101710000898FCF7E3F803E03EE00CE041E094E0D9 +:10172000002806D13A463346B1A16846F9F7BCFE17 +:1017300005461A2D02D300200BB0F0BD691C079896 +:10174000FCF7E8FA0028F7D0002D0BD92E236A46C3 +:10175000115D0A9EB14201D1035500E00155641CA0 +:10176000AC42F5D3002101550798806841190798CC +:10177000816082E728690028DED0F6F799FD401CD9 +:10178000064601462046FCF7C5FA0028D4D032466A +:101790002969F6F769FD70E72869FFF7A1FE0BB02C +:1017A000F0BDAD6801212046FCF7B4FA0028F6D060 +:1017B0005B210170A068401CA060E068401CE060F4 +:1017C000002D34D0002621462846FFF719FF0028B7 +:1017D00013D0002C09D02068002806D0A16840183A +:1017E000F6F766FDA1684118A160286800281BD0A3 +:1017F0006069002804D0022703E030460BB0F0BD3A +:101800000127791C2046FCF785FA0028F5D02C2109 +:1018100001706169401C002902D020210170401C28 +:101820000670A068C019A0602D68002DCBD10221E0 +:101830002046FCF76FFA0028E0D05D2101700021FE +:101840004170E068401EE06017E76069AD680028FD +:1018500001D0022700E00127791C2046FCF75AFA44 +:101860000028CBD07B210170E168401C491CE1605D +:1018700062690A21002A00D00170A068C019A06026 +:10188000002D78D000276069002814D02046E16838 +:10189000FCF740FA002825D0E2680021002A06D98A +:1018A00009220270E368401C491C8B42F9D8E168A8 +:1018B000A0684018A0602146286AFFF711FE0028A2 +:1018C00010D0002C09D02068002806D0A16840184C +:1018D000F6F7EEFCA1684118A1606069002804D009 +:1018E000022603E038460BB0F0BD01263146204603 +:1018F000FCF710FA0028F5D03A2101706169401C0C +:10190000002901D009210170A06821468019A0603A +:101910002846FFF775FE0028E4D0002C09D0206887 +:10192000002806D0A1684018F6F7C2FCA16841184B +:10193000A1606069002800D001202968002900D03A +:1019400001214618711C2046FCF7E4F90028C9D093 +:101950002968002902D02C210170401C61690029EE +:1019600002D00A210170401C0770A0688019A06095 +:101970002D68002D87D16069002802D0E168491CDC +:1019800000E002212046FCF7C5F90028ABD06169D0 +:1019900000290BD0E2680021012A07D00922027039 +:1019A000E368401C491C5B1E8B42F8D87D21017006 +:1019B00000214170E068401EE0605EE66E756C6C70 +:1019C0000000000066616C7365000000747275654C +:1019D000000000000000F07F256400006E756C6C54 +:1019E0000000000025312E3135670000256C6700AE +:1019F00025312E313767000070B505460078002884 +:101A000013D00A4E2846F6F753FC84B20D2C00D9A9 +:101A10000D2471782346481C70702A460220FAF77C +:101A200057FD2D1928780028ECD170BD4C470020B7 +:101A3000F8B5069E1F46182E01D9182500E0354638 +:101A400013460A4601460CA00096F9F71DFD002436 +:101A5000002D07D9395D11A0F9F716FD641CA4B259 +:101A6000AC42F7D3AE4202D90EA0F9F70DFD0FA09C +:101A7000F9F70AFDF8BD00005B424C452025735D77 +:101A800020747970653D3078253032582073657147 +:101A90003D2575206C656E3D257500002025303292 +:101AA00058000000202E2E2E000000000D0A00001D +:101AB000F8B5134E0F46756904463068001D00F0F6 +:101AC00005FF601C07D1002F05D031680D48091DA6 +:101AD00000F089FFF8BD30682C1944603168AC42D1 +:101AE00004D2B068091D00F065FFF8BD7068091DDB +:101AF00000F060FF306B8442F7D23463F8BD000021 +:101B0000A4470020B45D0020F8B5856B1646044656 +:101B10000027026C002A11D0002E19D0E068F6F7D9 +:101B2000A3FB216CE068401AE0602268904202D278 +:101B30006068401AE060022E17D019E02068002883 +:101B400016D1606801F056FD0746002060600FE086 +:101B5000A068F6F789FB216CA0684018A060616856 +:101B6000884205D32068A06002E0002D00D06D1EE1 +:101B70006D1CA5633846F8BD114D124E124FE86832 +:101B8000002817D000F03CFFF068C468201D00F06A +:101B90009DFE2869401E2861E868401EE86000F04C +:101BA0003BFF206B00F046FF204600F043FFE86853 +:101BB0000028E7D138680128E1D900F05DFFDEE7B1 +:101BC000A4470020A05D0020D85C002030B412495A +:101BD00000E011460A688242FBD34B685C188442DD +:101BE00003D1406818184860084643681C1894429E +:101BF0000CD10A4C2468A24206D052689A1842605E +:101C00000A681268026002E0046000E0026081423B +:101C100000D0086030BC7047F0470020E04700204B +:101C2000F7B582B0039800260068002859D00398C1 +:101C3000416802464968083241600092914201D1F0 +:101C4000496841604068C0680190039841684968EC +:101C50004160009A914201D149684160CF682420D7 +:101C600002997043441804983D46002F01D11E4943 +:101C70000D682560294634316160E96A2161296B6C +:101C8000E161696CA1600023E96CA36161610528D1 +:101C900013D015490A68954201D1237311E02073CE +:101CA00003280ED1886B401C8863A86A002801D0E5 +:101CB0000220207301F040FD03E02846FBF7FAFF05 +:101CC0002073286B00210278A52A04D14278401C99 +:101CD000491CA52AFAD0880820840198761C8742DE +:101CE000B3D1304605B0F0BDA447002003480068DA +:101CF000401C72B600D0FEE7FEE70000F847002067 +:101D0000F8B5054600F07CFE2E46403605243457D3 +:101D1000002C0FDD2F462437686A00280AD0384689 +:101D200001F0D8FC002801D000F03AFF641E64B234 +:101D3000002CF1DC0027FF43777100F06DFE00F00E +:101D40005FFE04243457002C10DD2846103000902C +:101D5000286900280AD0009801F0BCFC002801D0B6 +:101D600000F01EFF641E64B2002CF1DC377100F03D +:101D700053FEF8BDF8B50446002500F08BFF374E42 +:101D800000273068364A002801D0F0681BE00521A2 +:101D900034480903430705D0C01DC008314BC000BB +:101DA000C31AC91A41180839C908C9005760106018 +:101DB00031604F600B1A0F6043600160B360012017 +:101DC000C0077360F06004423FD1002C3DD0204634 +:101DD0000830410708D04107490F0823591A08184D +:101DE000410701D072B6FEE700282ED07168884204 +:101DF0002BD81B49146801E02146144662688242D0 +:101E000002D22268002AF7D1326894421DD00D68B0 +:101E100022680A60616808350A1A102A09D921184F +:101E20004B0701D072B6FEE74A6060600846FFF7D4 +:101E3000CDFE61687068401A7060B268904200D24E +:101E4000B060F06827600143616001F075FC6807CD +:101E500001D072B6FEE72846F8BD0000E04700203A +:101E6000F0470020C85D002004490868002803D01E +:101E70000868026D521C026508687047A44700207C +:101E800010B40124031F24061C601B1F1960191FB6 +:101E9000034B0B6014390A6010BC403870470000D7 +:101EA000ED1C010170B5064614460D464720FFF7AC +:101EB000E1F90369002B0DD01879B04207D15879A8 +:101EC0002880981D2060002B04D0002070BD1B6866 +:101ED000002BF1D10020288020600A2070BD000076 +:101EE00070B516460C46104605F4E4D6002813D10A +:101EF0004720FFF7BFF90546062332461946074833 +:101F000005F41AD6A988628889180180A1884180C1 +:101F1000A179017105F44CD6002070BD180C0000A9 +:101F2000F7B506460D464720FFF7A4F904690746B2 +:101F3000002C14D02079B0420BD16079A8420CD08B +:101F4000384621461030F7F747FB204605F4E4D425 +:101F500005E02468002CEDD101E0002C0AD12846D0 +:101F60000121083005F462D5044601463846103098 +:101F7000F7F738FB267165712A46A01D0299F6F71E +:101F800073F9002003B0F0BDF8B5C5680124287FBF +:101F90000F4601281ADD0E4E2046162250430246F7 +:101FA000296A10328A5A5204920F0BD10A5C401CE3 +:101FB000085C00021018B04204D1E1B20022384699 +:101FC00000F03EF9287F641CA042E5DCF8BD00006B +:101FD00002290000F8B5C5680124287F0F460128B2 +:101FE0001ADD0E4E2046162250430246296A103250 +:101FF0008A5A5204920F0BD10A5C401C085C000202 +:102000001018B04204D1E1B20022384600F018F9AD +:10201000287F641CA042E5DCF8BD00000229000016 +:1020200070B5C46805462069002803D00020002848 +:1020300002D00EE00120FAE7264610363046F7F7C8 +:10204000B9FA05F469D42069002808D000210029D4 +:10205000F4D00020E860204605F45ED470BD012174 +:10206000F5E710B504464720FFF704F9827900210F +:10207000A24202D98088001981B2084610BD70B50D +:1020800004460D464720FFF7F5F801468088802278 +:10209000A04206D889794118A14202D9201A287095 +:1020A0000022104670BDFFB585B00E9D064629780A +:1020B00001208840401E049018460E210840328AB4 +:1020C00069681F46403001920023039000930291FB +:1020D0002B7804AAA9680698F7F7A8FA00900028B8 +:1020E0002AD10121282005F4A1D40446AA686968F0 +:1020F000286862622162E061F46006980188A1802C +:10210000217FA171F80701D00120C003079908437E +:102110002080308A608047207082304600F0AAF824 +:1021200020461030F7F752FA217F206A00F008F8B5 +:10213000308A002105F4D0D5009809B0F0BD000028 +:10214000F3B583B00020019004980125012845DDF6 +:102150001621039A69438818028A5204920F39D1D2 +:10216000039A4078515C000209181D48814231D120 +:1021700001A80290EFB204264720FFF77BF80090F9 +:102180000469002C14D02079B8420BD16079B04298 +:102190000CD0009821461030F7F71EFA204605F4BF +:1021A000BBD305E02468002CEDD101E0002C0AD15E +:1021B00030460121083005F439D404460146009820 +:1021C0001030F7F70FFA277166713246A01D029999 +:1021D000F6F74AF804986D1C8542B9DB05B0F0BDEE +:1021E0000229000000487047E83D010170B506462D +:1021F00010480D46007800281AD04720FFF782F8D3 +:10220000A91D8BB2014603220B4805F495D4044660 +:102210000A482A468078207001206070052060807E +:10222000A5803146A01DF6F71FF8204605F4C0D45E +:1022300070BD00003747002006470000B04D002069 +:1022400070B584B00E461446054601AA694630466C +:10225000FFF728FE6846028802A80199F6F704F8FD +:1022600002A844550246684601883046FFF758FEEA +:1022700004B070BD10B504464720FEF7FBFF0449CB +:10228000216009216181183060600120208110BD2A +:10229000F83D0101FFB583B00C464720FEF7EAFF89 +:1022A0000546808861882678401887B2059805F42D +:1022B00001D5012807D03846FCF75AFE6946FFF7DA +:1022C000DEFE002802D0022007B0F0BD01210598F3 +:1022D00005F402D50C3C0020AC60287368460078F9 +:1022E000687301AA02A9FFF7DDFDA86801990446F9 +:1022F000895D0C34890720D5A188C28808318BB24A +:102300003102C1200001891D05F416D406461320B0 +:102310003070A88861884018B080A088F08030466E +:10232000A288A11D0830F5F79FFF304605F440D480 +:102330000121059805F4D0D401E005F4EDD2012087 +:1023400007B0F0BD10B5FAF7A5FD002010BDFFB530 +:1023500083B00C464720FEF78DFF054680886188D4 +:102360002678401887B2059805F4A4D4012807D030 +:102370003846FCF7FDFD6946FFF781FE002802D0D4 +:10238000022007B0F0BD0C3CAC602E7368460078AC +:10239000687301AA02A9FFF785FDA86801990446A0 +:1023A000895D0C34890720D0A188C28808318BB29E +:1023B0003102C1200001891D05F4BED3064612205A +:1023C0003070A88861884018B080A088F0803046BE +:1023D000A288A11D0830F5F747FF304605F4E8D381 +:1023E0000121059805F478D401E005F495D2012087 +:1023F00007B0F0BD10B50C464720FEF73BFF8088C4 +:102400006188A31D401880B2A1880022FAF7DAFC87 +:10241000002010BDF8B5488800900C468E88F9F76A +:102420006BFF00281DD0182E01D9182700E0374671 +:10243000324623A00099F9F727F80025002F08D984 +:102440006019817927A0F9F71FF86D1CADB2BD4264 +:10245000F6D3BE4202D925A0F9F716F825A0F9F760 +:1024600013F8009802281FD0062802D0082824D18B +:102470001FE0022E21D1E0881F49012802D0002848 +:1024800008D01AE001200870F9F736FF002814D0B0 +:102490001AA006E000200870F9F72EFF00280CD0E3 +:1024A0001CA0F8F7F1FF08E0A188A01DF9F740FF94 +:1024B00003E0A188A01DF9F77FFE0020F8BD000011 +:1024C0005B424C455D20777269746520696E643AA1 +:1024D000206174745F6964783D2575206C656E3D7C +:1024E000257500002025303258000000202E2E2EA9 +:1024F000000000000D0A0000374700205B424C45F9 +:102500005D206E6F7469667920656E61626C6564CA +:102510000D0A00005B424C455D206E6F7469667960 +:102520002064697361626C65640D0A00FFB581B057 +:1025300000276846078048881C460D46082823D097 +:102540000A2825D005206946088014A66846008818 +:102550002146083083B21348039A05F4EDD28771FF +:1025600029780446017068460288A28069886180E3 +:10257000002A03D03146E01DF5F776FE204605F42B +:1025800017D3002005B0F0BD6846F9F78BFE02E0D6 +:102590006846FAF79DF90646D8E700004E53494EC3 +:1025A000470000000547000070B516460C4610466F +:1025B00005F480D3012818D1A1791A48002916D032 +:1025C0002178062309023246891D05F4B5D2054655 +:1025D000A078FFF746FD288080202871284605F462 +:1025E000E7D20021304605F477D3002070BDA188E2 +:1025F0003246891D8BB221780902891D05F49CD2CF +:102600000546A078FFF72DFD288000202871A088BE +:102610006880A288E11D681DF5F726FE284605F4AE +:10262000C7D2DEE7140C0000F3B583B005001AD062 +:1026300028680190284680380290C76F04983E1F92 +:10264000864200D906462846F8F774FF04460091F2 +:10265000324629460498FCF75BFE0199002806D013 +:10266000016005B0F0BD0498F8F796FFF9E729601E +:102670000299002CCF670AD021686218291F8A426C +:1026800002D9291B091F216000996160E9E7024A0C +:1026900000991160E5E700000048002010B5012412 +:1026A00000206407206005F49DD12E4802882E4842 +:1026B0000168002005F422D22C4802882C480168C9 +:1026C000012005F41BD22B48008882B22A480168F9 +:1026D000022005F413D22948008882B228480168F4 +:1026E000032005F40BD22748416AF02211434162CE +:1026F000254818F4F5D1264824490160254941614F +:10270000254981602549C160254981612549C1610B +:10271000264925488863FCF755FE2068C0B2F6F7C5 +:102720008BFF23480078002806D0002018F41ED51F +:1027300001460020F6F786FF2068C0B2F6F788FF52 +:10274000F6F78CFF2068C0B218F49CD22068C0B2A3 +:1027500018F4A6D22068C0B218F464D40120206016 +:1027600010BD00001C0100201801002024010020E1 +:102770002001002034010020300100202C01002025 +:102780002801002040250240740200205002500021 +:102790008080024000080F0058086A0042050000CF +:1027A0000F0505060F000F034000D00040800240D7 +:1027B00062000020F0B5314C83B0E06980075AD543 +:1027C00002202062A56B082018F474D5012018F4AB +:1027D0007FD52B490027086940194608B219801A8D +:1027E000086128480068F6F715FA0022264BF6F72C +:1027F00067F9019100903E212846F6F735FF8019D0 +:102800007941F6F715FA019B009AF6F7F1F8F6F719 +:102810005BFA05461D4A0023F5F7DEFC06461B4918 +:10282000F6F722FF1A49281A081A81B22204194819 +:10283000324342600160206B0821884308432063D3 +:10284000A069072109078843A061A169012081438C +:102850000143A1612062FCF7B5FD0F48104A0078E2 +:10286000410041180D4808184178D1610D49807820 +:10287000C8600D48077003B0F0BD00000080024042 +:10288000A80200209000002000408F40710200004C +:10289000700200004080024010400020083D01010D +:1028A00040250240802502408000002000B50A46F5 +:1028B00083B000210091019101466846F6F7A3FB21 +:1028C0000199009803B000BD704770474368826863 +:1028D00001699A60836842685A604A68824201D1FD +:1028E00082684A60002202610868401E0860086829 +:1028F000704700000148006970470000A4470020AD +:10290000F8B51746204A06460024906B0725401C60 +:1029100090631069814232D314206D1E1B496843B5 +:1029200041182420604380190122FFF779F9041926 +:10293000002DF1D12420144D6043801902226968D2 +:10294000FFF76EF904192420604380190222A96858 +:10295000FFF766F9041924206043801904220C490A +:10296000FFF75EF904192420604380190322094906 +:10297000FFF756F90419002F01D00020386000F04D +:10298000DBFE2046F8BD0000A4470020D85C0020F4 +:10299000A05D0020B45D00200146083100224160A6 +:1029A000D243C16082600161002101607047002153 +:1029B0000161704730B40C68621C02D002460832D4 +:1029C00002E0026904E01A4653681D68A542FAD97C +:1029D00053684B6099608A60516008610168491CC6 +:1029E000016030BC704742684A6093688B609368AE +:1029F0005960916008610168491C016070470000DE +:102A000072B604480168491C0160BFF34F8FBFF3E1 +:102A10006F8F7047F847002005490868002804D0E8 +:102A2000401E086000D162B6704772B6FEE7000033 +:102A3000F847002000281CD070B504460D4D083C16 +:102A40006068E968084201D172B6FEE72268002A90 +:102A500001D072B6FEE78843606000F01BF9606841 +:102A60006968401868602046FFF7B0F800F064FE1F +:102A700070BD7047E047002001200449000748600E +:102A8000BFF34F8FBFF36F8F7047000000ED00E082 +:102A900010B500280FD009498A6B002A01D072B600 +:102AA000FEE78A6B521C8A630021FFF701F800F0F1 +:102AB00043FE002801D1FFF7DFFF10BDA44700202F +:102AC00002498A6A0260496941607047A447002050 +:102AD000F0B585B00027054607702C4801690291C2 +:102AE000006924214843FFF745F906004CD0002235 +:102AF0000299FFF705FF03970290002841D9039838 +:102B0000242148438019017B052911D20A007A4407 +:102B1000127992189744020406080A00582408E023 +:102B2000522406E0422404E0532402E0442400E05E +:102B3000002441682846F5F7E7FB2846F5F7B8FB7F +:102B40000F2804D220212954401C0F28FBD32F54D6 +:102B50002D180398242148438019018C8268019222 +:102B60000091036922460AA12846F8F79DFC2846F1 +:102B7000F5F79EFB451903980299401C0390884283 +:102B8000BDD33046FFF756FF05B0F0BDA447002087 +:102B90000925630925750925750925750D0A0000A4 +:102BA0000149012048627047A447002010B50C4637 +:102BB000002809D0054909681831FFF7FBFE0121FB +:102BC0002046FEF775FF10BD72B6FEE7A447002051 +:102BD00070B50B4604002FD0226D002A0ED0E16C98 +:102BE000994200D21946E06A884225D0012A23D1B1 +:102BF000124D2A68944203D172B6FEE772B6FEE720 +:102C0000E162A269002A02DB0722511AA1611422A3 +:102C10000B4E50436169801981420DD1201DFFF791 +:102C200055FEE06AA969884200D9A8611421484389 +:102C30008019211DFFF7D7FE70BD0000A4470020BA +:102C4000D85C002010B582B00D48002401902346C6 +:102C500080220CA100940D4800F090FB012803D0C5 +:102C6000401C0BD172B6FEE772B600210848C9437A +:102C700001630121C161446100F052F802B010BD4E +:102C8000D847002049444C4500000000791B010151 +:102C9000A44700200248816B491C816370470000F3 +:102CA000A4470020164B986B002802D001205862E0 +:102CB0007047002058629869142102464A4311491E +:102CC0008A58002A0AD1002806D01422401E424306 +:102CD0008A58002AF7D001E072B6FEE7142210B439 +:102CE000424351184A680C46526808344A60A2426E +:102CF00001D152684A60D1681960986110BC704770 +:102D0000A4470020D85C00200148406870470000BC +:102D1000E04700200148806870470000E04700203D +:102D200070B50F48016AFF22120411430162016A63 +:102D30001202114301620B4C00252561A5610A486E +:102D40007D21C9000068F5F71DFA401E606107206B +:102D5000206106480560F5F7CBF9002070BD000042 +:102D600000ED00E000E000E000400020F847002017 +:102D700010B502460021012000F00CF8041E07D017 +:102D80000021416001600B460A46C16000F05BF81B +:102D9000204610BDF8B517460E46050016D0002E89 +:102DA00016D070435030FEF7E5FF04000CD02046EB +:102DB0005030002E0ED02060266420460121E563AD +:102DC00000F00AF84C2007552046F8BD72B6FEE721 +:102DD0000020E7E72460EFE770B50D46040026D039 +:102DE000FFF70EFE216CE06B4843216841186160DB +:102DF0000021A1632168A160E06B216C401E484363 +:102E00002168224641180020C0434032E160107121 +:102E1000507120461030002D0BD0FFF7BDFD20462D +:102E20002430FFF7B9FDFFF7F7FD012070BD72B642 +:102E3000FEE721690029F6D000F04CFC0028F2D012 +:102E4000FFF71AFEEFE7FFB5002783B0044600281E +:102E500003D00498002802D006E072B6FEE7206C8A +:102E6000002801D072B6FEE70698022804D1E06B74 +:102E7000012801D072B6FEE700F03CFB002804D127 +:102E80000598002801D072B6FEE72046254610308E +:102E900040350290FFF7B4FDA06BE16B884208D388 +:102EA0000698022805D0059800284AD0002F4BD05C +:102EB0004EE0069E0499A56B0027226C002A11D0D3 +:102EC000002E19D0E068F5F7CFF9E168206C091AF7 +:102ED000E1602268914202D26168081AE060022E25 +:102EE00017D019E02068002816D1606800F082FB36 +:102EF0000746002060600FE0A068F5F7B5F9216C87 +:102F0000A0684018A0606168884205D32068A0606E +:102F100002E0002D00D06D1E6D1CA563606A0028C4 +:102F200006D02046243000F0D5FB002802D103E073 +:102F3000002F01D0FFF7A0FDFFF76EFD012007B0C5 +:102F4000F0BDFFF769FD20E06846FFF7B9FD0127F6 +:102F5000FFF762FDFFF79EFEFFF752FD04202856A3 +:102F6000401C00D1287105202856401C00D16871F2 +:102F7000FFF752FD05A9684600F0CEF9002807D0FA +:102F80002046FEF7BDFE00F0D7FB002007B0F0BDE5 +:102F9000FFF736FDA06BE16B884201D1012600E00E +:102FA0000026FFF739FD002E0ED005990298FFF795 +:102FB000FDFD2046FEF7A4FE00F0BEFB002800D079 +:102FC00068E7FFF759FD65E72046FEF799FE00F038 +:102FD000B3FB5FE7FFB583B01E461746040003D07E +:102FE0000498002802D006E072B6FEE7206C0028A4 +:102FF00001D072B6FEE7022E04D1E06B012801D0A9 +:1030000072B6FEE7F5F788F80190A06BE16B884295 +:1030100008D3022E06D000240198F5F781F8204647 +:1030200007B0F0BD20464030052500904557324698 +:1030300020460499FEF768FD681C04D000986D1CBA +:1030400045710124E8E7606A0028FAD02046243060 +:1030500000F040FB0028F4D0002FF2D001203860AF +:10306000EFE7F7B5002784B00446002803D00598A1 +:10307000002802D006E072B6FEE7206C002801D0DE +:1030800072B6FEE700F036FA002804D10698002850 +:1030900001D072B6FEE72046254624304035029026 +:1030A000FFF7AEFCA66B002E21D0226C059B002AF8 +:1030B0000BD0E0688018E0606168884201D3206826 +:1030C000E06001461846F5F7CFF8761EA663206942 +:1030D000002807D02046103000F0FCFA002801D06C +:1030E000FFF7CAFCFFF798FC012007B0F0BD069877 +:1030F000002802D0002F05D008E0FFF78DFC00204B +:1031000007B0F0BD6846FFF7DBFC0127FFF784FC42 +:10311000FFF7C0FDFFF774FC04202856401C00D1C7 +:10312000287105202856401C00D16871FFF774FCF7 +:1031300006A9684600F0F0F8002811D02046FEF7F6 +:10314000DFFD00F0F9FAFFF75BFCA06B002827D049 +:103150000026FFF761FC002EA2D0002007B0F0BDD2 +:10316000FFF74EFCA06B002812D00026FFF754FC9E +:10317000002E0FD006990298FFF718FD2046FEF7A3 +:10318000BFFD00F0D9FA00288AD1FFF775FC87E768 +:103190000126EBE72046FEF7B3FD00F0CDFA7FE70E +:1031A0000126D6E7F3B5002785B00446009700282E +:1031B00004D0206C002803D072B6FEE772B6FEE79A +:1031C00000F098F9002804D10698002801D072B6C2 +:1031D000FEE720462546243040350190FFF710FCDD +:1031E000A06B002817D0401EA0632068002802D1E1 +:1031F000FEF73AFE60602069002807D020461030B4 +:1032000000F068FA002801D0FFF736FCFFF704FC55 +:10321000012007B0F0BD0698002802D0002F0AD088 +:103220000DE00098002801D072B6FEE7FFF7F4FB2E +:10323000002007B0F0BD02A8FFF742FC0127FFF70E +:10324000EBFBFFF727FDFFF7DBFB04202856401CB4 +:1032500000D1287105202856401C00D16871FFF765 +:10326000DBFB06A902A800F057F800281BD0204677 +:10327000FEF746FD00F060FAFFF7C2FBA06B0028E6 +:103280003ED00026FFF7C8FB002EA7D000980028EC +:103290003ED0FFF7B5FB606A002833D0206B0721D2 +:1032A0000068091A2FE0FFF7ABFBA06B002808D0DD +:1032B0000026FFF7B1FB002E1CD02068002802D0AA +:1032C00009E00126F5E7FFF79BFB606800F0C6F90F +:1032D0000090FFF7A1FB06990198FFF767FC2046D5 +:1032E000FEF70EFD00F028FA002800D076E7FFF781 +:1032F000C3FB73E72046FEF703FD00F01DFA6DE700 +:103300000126BFE700216068FFF762FCFFF784FB3E +:10331000002007B0F0BD0000F8B50D46040012D043 +:10332000002D12D0FFF76CFB134E7269636828689A +:10333000D11A471C0BD02768B66AB74209D093420E +:1033400007D8012413E072B6FEE772B6FEE7002448 +:103350000DE0884208D9401A28600748816A216038 +:1033600040696060002402E0002001242860FFF72B +:1033700053FB2046F8BD0000A4470020FFB585B0F0 +:1033800090000F9F0E9D0290FEF7F4FC06001ED0E9 +:103390005C20FEF7EFFC040016D02663059901912E +:1033A0000899009130460299069EA5220391F4F7F0 +:1033B0006DFF0399206B091F4018C008C0000290E0 +:1033C000400708D072B6FEE73046FFF733FB002017 +:1033D000C04309B0F0BD2118325C20310A75315C60 +:1033E000002902D0401C1028F5D326460020403684 +:1033F000F070072D00D30625E5620020E564206506 +:10340000201DFFF7D4FA20461830FFF7D0FA2461C8 +:103410000720411B6462A161002161653176009A39 +:1034200001990298FEF72CFD2060002F00D03C602F +:103430002546FFF7E5FA284E3069401C30613068B8 +:10344000264F002803D0F069002821D026E03560FF +:103450003069012822D1002414206043C019FFF7ED +:103460009BFA641C072CF7D31D48FFF795FA1D48FB +:10347000FFF792FA1C48FFF78FFA1C48FFF78CFA07 +:103480001B48FFF789FA164870601430B06005E0F9 +:103490003068E96AC06A884200D83560F06A401C2A +:1034A000F0626864E86AB169884200D9B0611421A9 +:1034B0004843C019291DFFF796FAFFF7ADFAF069E6 +:1034C000002806D03068E96AC06A884201D2FFF756 +:1034D000D3FA012009B0F0BDA4470020D85C002039 +:1034E000645D0020785D00208C5D0020A05D0020E0 +:1034F000B45D00200648C169002904D0806B002813 +:1035000003D0002070470120704702207047000060 +:10351000A44700200148406970470000A4470020EC +:10352000F8B5324F0026B86B002808D0386A401C26 +:103530003862786A002800D001263046F8BD7D69DF +:103540006D1C7D6115D178680068002801D072B6C5 +:10355000FEE77868B9687960B860B86A401CB862FC +:1035600078680068002813D07868C068C068406830 +:103570003863386B854211D37868006800280AD018 +:103580007868C068C4686068854211D2386305E015 +:103590000020C043ECE70020C043386338681421A2 +:1035A000C06A4843124908580128C2D90126C0E719 +:1035B000201DFFF78BF9A06A002803D020461830A1 +:1035C000FFF784F9E06AB969884200D9B86114212B +:1035D000484307494018211DFFF705FAE06A39689A +:1035E000C96A8842C8D30126C6E70000A447002064 +:1035F000D85C002070B500210446002828D0154D65 +:103600002868844201D072B6FEE7206D002808D0F9 +:10361000401E2065E36CE26A9A4219D0002802D06D +:1036200016E072B6FEE7201DFFF750F9E06C0721A7 +:10363000E062081AA061E06AA969884200D9A8611D +:103640001421484304494018211DFFF7CCF90121FA +:10365000084670BDA4470020D85C002070B5044621 +:103660000020002C2AD0194DE16A2A68D26A9142C2 +:1036700025D2A069002804DB28680721C06A081A3F +:10368000A061E06A1422124E5043616980198142A0 +:1036900010D1201DFFF71AF92868C06AE062A969F5 +:1036A000884200D9A861142148438019211DFFF7E1 +:1036B0009AF902E02868C06AE062012070BDE16CFE +:1036C0002A68D26A9142F8D370BD0000A447002056 +:1036D000D85C002070B5C068C468002C0BD02046B0 +:1036E00018300646FFF7F2F8104DA86B002804D0FA +:1036F00031460F480EE072B6FEE7201DFFF7E6F8F0 +:10370000E06AA969884200D9A8611421484309499F +:103710004018211DFFF767F9E06A2968C96A8842E5 +:1037200002D90120686270BD002070BDA44700204E +:103730008C5D0020D85C0020F8B52E4D0027A86BCA +:10374000002808D0FFF75CF9A86B401EA863A86B9F +:10375000002802D046E072B6FEE72869002841D072 +:10376000254E306800282AD0F068C46820461830FA +:10377000FFF7ACF8201DFFF7A9F8E06AA9698842B5 +:1037800000D9A861142148431C494018211DFFF7A6 +:103790002AF9E06A2968C96A884201D3012068626F +:1037A00030680028E0D1002C09D0686829460068FC +:1037B00000281BD04868C068C068406808632C6A4D +:1037C000002C09D00126FFF7ABFE002800D06E6266 +:1037D000641EF8D100202862686A002802D0012700 +:1037E000FFF74AF9FFF718F93846F8BD0020C04343 +:1037F000E4E70000A44700208C5D0020D85C002096 +:1038000040BA7047C0BA70470138FDD17047000018 +:10381000F7B50325AD06286A82B016460C46400867 +:1038200040002862286A022108432862286A80072B +:10383000FCD46620686001272F61A86AC005FCD50A +:10384000992068602F61A86AC005FCD5FF209130DF +:10385000FFF7DAFFFF230133AB626846EF603521E3 +:1038600069602F61A96AC905FCD5AB62A969EF60DF +:10387000C9B205226A602F61AA6AD205FCD5AB6283 +:10388000AA690902D2B211430180C80702D00320FD +:1038900005B0F0BDAB626869FF21083188436861FB +:1038A0006869C91E08436861029800024830686070 +:1038B0000820A860EE602F61A86AC005FCD5FF2033 +:1038C0000130A8620023F61CB0080ED0B2081148DF +:1038D000006899006054060A09194E70060C000E23 +:1038E0008E705B1CC8709A42F1D8FF200130A8622C +:1038F0006869FF21083188436861686938436861F5 +:10390000286A800880002862286A384328620020DC +:1039100005B0F0BD8000000C032080064169FF2245 +:10392000083291434161426901210A434261026ABE +:10393000920892000262026A0A4302627047000023 +:10394000002003218906096A4908490003229206DA +:1039500011621146096A0222114303229206116282 +:1039600000BF03218906096A022211400229F8D00A +:10397000D1010322920691620321D1609F215160FF +:103980000121116100BF03218906896AFF220132EA +:1039900011409142F7D10322920691621146886943 +:1039A0004969FF2208329143032292065161114670 +:1039B0004969012211430322920651611146096AA5 +:1039C0008908890011621146096A01221143032204 +:1039D0009206116270470000000001020000000022 +:1039E000010203040138FDD170470000F0B4032444 +:1039F000A406236A5B085B002362236A02252B432B +:103A00002362236A9B07FCD4FF230133A362656909 +:103A1000DE1DB543656165691E1D354365610002A4 +:103A20006B3060600820A060E26001262661A06A19 +:103A3000C005FCD5A3620023D21C90080ED09508C7 +:103A40000F4800689A008854070A52185770070CEC +:103A5000000E97705B1CD0709D42F1D86069FF2109 +:103A6000083188436061606930436061206A800882 +:103A700080002062206A30432062F0BC0020704742 +:103A80008000000CF8B5064601200025C0048642DF +:103A900001D90520F8BD0324A406206A400840008F +:103AA0002062206A022108432062206A8007FCD439 +:103AB000FF270137A76200F0BBF8002801D00325DB +:103AC00015E00620606001212161A06AC005FCD5D7 +:103AD000A7623002203060602161A06AC005FCD579 +:103AE000A7620C4800F0C8F8002800D102256069E0 +:103AF000FF210831884360616069012108436061EA +:103B0000206A800880002062206A084320622846DC +:103B1000F8BD0000E6960100F7B506460120C00496 +:103B200082B01546864202D9052005B0F0BD0320BB +:103B30008006016A490849000162016A02221143B4 +:103B40000162016A8907FCD4FF2101318162F2B26E +:103B50008C1AA54200D8ACB20398009000F068F827 +:103B6000002840D106214806416001210161816A97 +:103B7000C905FCD5FF21013103208006816241691E +:103B8000FF2208329143416141690422114341619E +:103B9000310232314160C4600022002C16D90098F5 +:103BA00087183B78F87819467B7800061B02194382 +:103BB000BB781B04194301430802F978000A09067F +:103BC000084319490860121DA242E8D301210320CD +:103BD00080060161816AC905FCD5FF21013181623E +:103BE000124800F049F8A54209D003983619001987 +:103BF0002D1BFF2401340390A542ADD8ABE7032071 +:103C000080064169FF2208329143416141690122E6 +:103C100011434161016A890889000162016A114307 +:103C20000162002005B0F0BD8000000C1A06000003 +:103C300038B40125032080066A46C56035214160FD +:103C40000561816AC905FCD5FF240134846281695C +:103C5000C560CBB2052141600561816AC905FCD50B +:103C6000846280691902C0B2014388B21180C00722 +:103C700000D0012038BC7047F8B400210125032290 +:103C800092066B46D560352454601561946AE4054C +:103C9000FCD5FF27013797629469D560E4B2052609 +:103CA00056601561966AF605FCD5976296692402FE +:103CB000F6B234431C80E30722D0814202D9F8BC1B +:103CC00000207047032292066B46D560352454606D +:103CD0001561491C946AE405FCD597629469D56026 +:103CE000E4B2052656601561966AF605FCD5976222 +:103CF00092692402D2B21443A2B21C80D207DCD152 +:103D0000F8BC0120704700000017130017100017BF +:103D10000E001709001704001700001718011714E8 +:103D2000011715011719000000280002000000000B +:103D30000328000200000000292A00020080800001 +:103D40000328000200000000242A000200808000F6 +:103D50000328000200000000252A000200808000E5 +:103D60000328000200000000272A000200808000D3 +:103D70000328000200000000262A000200808000C4 +:103D80000328000200000000282A000200808000B2 +:103D90000328000200000000232A0002008008001F +:103DA00003280002000000002A2A00020080080008 +:103DB0000328000200000000502A000200800700D3 +:103DC000D9D9000167D9000165D9000163D9000183 +:103DD0000014000081DA0001130C0000BDEC0001AA +:103DE000031400003DDB0001A72001012120010197 +:103DF000D51F0101891F0101130C000081ED000195 +:103E0000150C000061EE0001170C000099EB000199 +:103E1000000C0000D9EB0001064700004F23010110 +:103E200003470000F5230101084700009522010126 +:103E30000E470000E11E010105470000A925010110 +:103E4000FFFF000011CC0001130E0000D9DE0001BD +:103E5000150E0000E9DD0001170E000059E3000116 +:103E6000190E000031E30001403E01010500000091 +:103E7000F7B586B0002002905C48154604695C489E +:103E80000E46824201D9054602E0002D00D10125EF +:103E9000002C08D0A1880698814204D1E088B04265 +:103EA00001D10120029053480390844606980104F2 +:103EB00031430020002C1CD00A0CA7888BB29742FB +:103EC00007D1E7889F4204D1002807D0216801600C +:103ED00007E020462468002CEFD10AE06146226802 +:103EE0000A602168002902D00020206001E06146BC +:103EF0004860002C07D10221102000F095F80699A7 +:103F000081800446C6802801052100F077F8074625 +:103F10007D200E464643EFF31085012080F3108884 +:103F2000684600F087F885F3108800980490C0195F +:103F30000501019927202D098E190001059186425E +:103F400003D96D1C2D012D09361AE660A560039872 +:103F5000294F86460020844670460068002813D00A +:103F6000A268E1680091C36881680193531A1B013C +:103F70001B09BB420AD2914203D1019A0099914296 +:103F800004D984460068E9E77246546020606046C0 +:103F9000002801D0046001E071460C6013480299CA +:103FA0000069002901D1A04203D1C168806800F0F6 +:103FB00047F8EFF31084012080F3108802A800F086 +:103FC00039F884F31088039902980191291A09019C +:103FD00009090090B94204D2A84205D1019886424D +:103FE00002D8032000F032F809B0F0BDC80100206B +:103FF000FFFF7F02D8010020FFFFFF0730B50B460F +:10400000014600202022012409E00D46D5409D42B2 +:1040100005D31D469540491B254695404019154638 +:10402000521E002DF1DC30BD03B40148019001BDEA +:104030002D7A010003B40148019001BD5DB6020074 +:1040400003B40148019001BD9DB6020003B40148CC +:10405000019001BDAD78010030B4C3688268886802 +:10406000084D141A2401C9682409AC4203D29042B5 +:1040700004D18B4202D830BC0120704730BC0020F4 +:1040800070470000FFFFFF070A0C838889B2934244 +:1040900004D1C088884201D10120704700207047B8 +:1040A00070B4054600680022002810D00B0C8688EA +:1040B0008CB29E4207D1C688A64204D10168002A6C +:1040C00007D0116006E0024600680028EFD170BCFE +:1040D000704729600168002903D00021016070BC8D +:1040E00070476A6070BC7047F0B5104F0268864632 +:1040F0000025002A10D0C8688C6893688446E01AAE +:1041000000010009D668B84208D2A34201D1B445E3 +:1041100004D915461268ECE7704641600A60002D2C +:1041200001D02960F0BD70460160F0BDFFFFFF07C0 +:1041300070B584B004460E46EFF31085012080F37D +:10414000108802A8FFF776FF85F31088029803997C +:10415000024600900191A01A000107490009884217 +:1041600004D2A24205D10198864202D8012004B0AF +:1041700070BD002004B070BDFFFFFF0730B583B0F5 +:104180000446EFF31085012080F310886846FFF79E +:1041900051FF85F31088019900986160206003B099 +:1041A00030BD0000002800020000000003280002CB +:1041B00000000000002A000A0080200003280002FE +:1041C00000000000012A0002008002000328000213 +:1041D00000000000042A00020080080003280002FA +:1041E00000000000A62A000200800100032800024F +:1041F00000000000C92A000200800100002800021F +:10420000000000000328000200000000052A002032 +:10421000008004000229000A0000020003280002B6 +:1042200000000000292B000A008010000328000273 +:10423000000000002A2B000200801000FFFF000099 +:1042400011C70001A40D0000FDE50001A50D00004F +:1042500031E600011A0D000049EB0001150D0000C8 +:1042600091E60001000D0000BDE600011C0D0000FC +:104270007FEB0001A70D00009DEA0001A80D0000E2 +:104280008BEB0001020C000071EC0001000C00003F +:1042900049EC0001010E000075E100010F0E000065 +:1042A00031E50001110E000095E500012C0E000023 +:1042B00015E50001030E0000CDE200010A0E00002A +:1042C00089E40001300E000009E500010C0E000039 +:1042D000BDE50001000E0000E1E00001090E000054 +:1042E00009E10001010F000039C90001020F0000BF +:1042F000D9C50001030F00001DC90001040F000013 +:104300006D0401013C420101364700200100190003 +:1043100002140000B9DB000110430101010000009C +:104320002C4401010300000001102EC78A0E739077 +:10433000E111C20860270000002800000000000012 +:104340000000000000000000000200000000032840 +:104350000000000000000000000000000000000A53 +:104360000000000001002EC78A0E7390E111C20800 +:1043700060270000000400C00002012900000000C6 +:1043800000000000000000000000000A008014008F +:1043900003280000000000000000000000000000F2 +:1043A000000A0000000002002EC78A0E7390E1117F +:1043B000C20860270000001000C0000202290000AF +:1043C000000000000000000000000000000A008063 +:1043D000140003280000000000000000000000009E +:1043E0000000000A0000000003002EC78A0E739030 +:1043F000E111C20860270000000A00C00002032883 +:104400000000000000000000000000000000000AA2 +:104410000000000004002EC78A0E7390E111C2084C +:1044200060270000000200C00002000004470000F6 +:104430002D2501010A47000015240101074700004E +:1044400045230101C04701018C470101A1A60001DC +:10445000684701015047010151AA0001704701015D +:104460007446010179A8000184470101B0450101AA +:1044700099A400011C4701011846010121A4000173 +:10448000E0460101B046010175A70001F8470101AE +:10449000EC450101E99B0001084801015848010170 +:1044A000B19C0001C8470101244701015D9800014A +:1044B000104801017845010191980001004801016F +:1044C0005446010145A80001504801011848010166 +:1044D00011A6000148480101E44601010DAA0001AE +:1044E00078470101D047010161A9000101020304DD +:1044F000050600404040404040404040414141416D +:1045000041404040404040404040404040404040AA +:1045100040404005020202020202020202020202BE +:10452000020202202020202020202020200202023F +:1045300002020202909090909090101010101010B3 +:104540001010101010101010101010101010020287 +:1045500002020202888888888888080808080808F3 +:1045600008080808080808080808080808080202D7 +:1045700002024000F34401016273736574203C66DB +:1045800069656C643E203C76616C3E3A20777269C6 +:10459000746520626F6F7473657474696E672066EA +:1045A00069656C6420286361726566756C212900F9 +:1045B00073686F772064657669636520696E666FDE +:1045C000202874656D702F7664642F66616E2C20D0 +:1045D00073616D6520617320424C4520494E464F02 +:1045E0005F515545525920616C6C290061707067AC +:1045F0006574205B6A736F6E5D3A2073686F772015 +:1046000061707020706172616D7320286C65642F19 +:1046100070776D2900000000626C656C6F67205B2D +:104620006F6E7C6F66665D3A20424C452074726105 +:1046300066666963206C6F6720286576656E7473A3 +:10464000202B206672616D65206865782064756D29 +:104650007029000072657365743A2073797374650C +:104660006D20726573657420287265626F6F74299E +:104670000000000073686F77204672656552544FE2 +:10468000532072756E74696D6520696E666F20289F +:10469000757074696D652F7461736B732F686561D4 +:1046A000702F7461736B206C6973742900000000B3 +:1046B0006C6564203C317C323E203C6F6E7C6F66C2 +:1046C000667C746F67676C653E3A20636F6E7472C8 +:1046D0006F6C20626F617264204C454400000000E2 +:1046E0006C656400756172747273743A2072652D22 +:1046F000696E697420555341525431202831313547 +:1047000032303020384E31292C20666C7573682089 +:10471000727820717565756500000000626C656CCB +:104720006F670000627364756D703A2073686F770D +:1047300020626F6F7473657474696E67207265634D +:104740006F7264202B2063726320636865636B0063 +:1047500073686F77206669726D7761726520766520 +:104760007273696F6E00000076657273696F6E0018 +:10477000737973696E666F0075617274696E666FC6 +:1047800000000000646576696E666F0068656C7095 +:10479000205B636D645D3A206C69737420636F6D98 +:1047A0006D616E6473202F2073686F77206F6E6564 +:1047B00020636F6D6D616E6427732068656C700097 +:1047C00068656C7000000000627364756D700000B5 +:1047D00075617274696E666F3A2073686F772055E1 +:1047E00053415254312070696E732F626175642F8A +:1047F000666F726D617400006170706765740000AF +:1048000072657365740000006170707365740000F8 +:104810006273736574000000666163746F72793A45 +:1048200020726573746F726520706172616D7320A0 +:10483000746F2064656661756C747320616E6420AA +:104840007265626F6F7400007561727472737400C8 +:10485000666163746F727900617070736574203C77 +:104860006C65647C70776D3E203C76616C3E207C8C +:1048700020617070736574206A736F6E207B226C88 +:104880006564223A3530307D000000007573616741 +:10489000653A20617070736574203C6C65647C704F +:1048A000776D3E203C76616C3E207C206170707399 +:1048B0006574206A736F6E207B226C6564223A35C2 +:1048C00030302C2270776D223A35307D0D0A000091 +:1048D0002020202020202020206231616464727C0E +:1048E0006232616464727C623173697A657C6232BF +:1048F00073697A657C62316372637C62326372636E +:104900007C62317665727C6232766572203C6865C5 +:10491000787C6465633E0D0A000000003C4901019B +:10492000004000200C08000030950001504F0101AC +:104930000C480020BC6F0000F02A0000A006009088 +:10494000D00300011005A00000FF01D20001000605 +:1049500051C20200200001302B11D80D49086849CE +:104960006813F008FB0498EFF78EFF0446C18880B7 +:1049700088FF22FFF79DFD2046FFF73AFCB3E705CD +:10498000B0F0BD98100707D8010020C804202930D6 +:10499000D70200004B1847FBFD0646052030707516 +:1049A000800099B181301D3946E5F773FD3046F935 +:1049B000F70EFF0E22294642200445FD0740301124 +:1049C0002E0CD0534B052203212846FDF733FE124F +:1049D0001E40274B75002D05D0398F002902D000CD +:1049E00099897900E000211176FAF74BF8044D28F7 +:1049F00059F9F7FBFE002028518010060004002022 +:104A00000777107838B5049C0094014CA04738BD56 +:104A10005143F84A26468F1839462036FD6D707D81 +:104A200080311191C97FA0370E9122463978153215 +:104A30000F92F14A109203292BD0002873D0F17DF8 +:104A40000F980CF00DF800286FD06888694608832D +:104A5000F0B597B008780C460F90002014900F988E +:104A600048214843FE4922464018064680361090A9 +:104A7000F17F0091C56DA0301690014E100A2746B7 +:104A800012922037F74A1552146C2AD061783C29CB +:104A900049D0432947D0787D00287DD0F97D1298F0 +:104AA00000F0FCF9002878D0698868468184687A2B +:104AB000297A000409020843E97908430690A97A93 +:104AC00008A84172E97A8172297BC17229460D31A9 +:104AD0000E380E9100F02FFAA878400733D5002148 +:104AE00032E0907E012806D0507E401E0006000E67 +:104AF000507603D006143004DB480106141200F08F +:104B0000D2F9169A01211170A978D448C9075C36E8 +:104B100090264823594308180022A0300270FF2035 +:104B2000F07752E001220270A878CC49C0074CD03F +:104B30000098482358434020101442E0E97C08A81C +:104B40000173297D4173697D8173A97DC108100DB1 +:104B50000174297E4174697E8174B189BC102281FF +:104B6000F189C181318A0182109940318A8F828313 +:104B7000C98F0184B188C183F18841840021C18437 +:104B800042241472B848817808A8C17401E04DE14C +:104B90001BE002260675C821CC140C02D4E87A80EA +:104BA0000705D5297B0E14300A7EF908A90875037C +:104BB000A90F0C1412002801D11698067060783CD9 +:104BC0002870D030E1628A143D0A82A2884A82A20B +:104BD000790A75E2794A75207A8875E07EC875A0F1 +:104BE0008B0883E08B4883208C8883608CC883216A +:104BF00046243108A800F0A4F9787A08A94871B8C9 +:104C00007A8871A08DC8140585206B0BC210050C25 +:104C100090012018103F75387D0875B87D8875A8FB +:104C200078C006C017401CC8758E486946028A0ABB +:104C300087428A4A87827D08A90A77C27D4A77021D +:104C40007E8A77428B10A90A80828B4A80807F08F7 +:104C50007104A900A4380432F9000A14487C4940C0 +:104C60001803907C30129900F05DF90398F97D806B +:104C700030817003990922A0310A700121C17003AB +:104C80009800218166E18B490041660521C16601DA +:104C90006715996030C97E002904D072498161018D +:104CA0002102E02ABA480981618175009981822434 +:104CB000400DF6F8022802D2012100F003F912207B +:104CC0001B05F906280CD20A215F4A41438918FFC7 +:104CD000318131497F890703D5FA7D7C23FCF89621 +:104CE0001005FFF81699E035C41A01AE181809200E +:104CF00000F0FBF821460F31059100284ED020230B +:104D00003E22002156241C06F6F806460A96031792 +:104D100014986C1ED03A04200EE03C2070700120E4 +:104D20003071009870801620052CD0B01D5A2407D1 +:104D3000F2F8F87D7071AC201306D5214630460993 +:104D4000310C3000F0E7F803E030460A12DD202590 +:104D5000C8100630461230053032DA1A12121A1410 +:104D600006D0F8E08B309A16709A2813B083B87A80 +:104D7000B077304600F0BFF83AE0287B7071DC2055 +:104D800007B01D00F0C2F8163006B4F83DE0149EDE +:104D90001A2EC23008A7F801210646019E120D9E68 +:104DA000300470703198200BF87D820709D571713D +:104DB000B01D6A3004A5F80AB6400B30461DE0C0AD +:104DC00007C00F7071B2129978100BB081208CF06F +:104DD00081608C308278227462300483F80660121D +:104DE0001660302477F81421017000994180B97D54 +:104DF000017100F075F81598807E022826D1607840 +:104E00001499084322D0082C120B2C100461F812BC +:104E10002C1C0C61784170297881700FE04064048B +:104E20001C06C00600200A6E0512390412400C1D33 +:104E300088031C0820B1A201000411A005100799E5 +:104E40008180397E81563C064AF8002017180510EB +:104E50000640BA7047C004600D03B40148019001D8 +:104E6000BD919B02000C83E1980C837D9F0C700424 +:104E700049FA010C8309D30C836D5B24933D994857 +:104E80008290488355073083D59C3083397B181036 +:104E900027796D0100002101804180818070470ADF +:104EA0007802704B7843708A788270CA78C2700B2F +:104EB0007903714A7942711A20046802600E0F3436 +:104EC000704740063414497B41700570F1F7F3FCDC +:104ED0002068F1F7A4FB256003141B2400761C094D +:104EE00080024080C10240062B066419F8B54E7856 +:104EF0004821F0B248432349214D41180C46AA7E6F +:104F0000A0340027282C22EDC3020010B5074CE086 +:104F100069000408D5FFF7F3FF0548007800280270 +:104F2000D10120C0032062100006115012C6580F94 +:104F30004EF4010607CD7007100699B5000135043F +:104F400000065529260101000112AA01E15C0000BA :00000001FF diff --git a/tools/out/caiic_ble_full_ota.bin b/tools/out/caiic_ble_full_ota.bin index 698c59c4a9525d17fdfc19c8364a1d0854d5e765..0cf2bdb7e3c3e361eb90659d0eb267c3a325c26b 100644 GIT binary patch delta 23989 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 diff --git a/tools/out/caiic_ble_full_ota.json b/tools/out/caiic_ble_full_ota.json index 7494198..01aeb65 100644 --- a/tools/out/caiic_ble_full_ota.json +++ b/tools/out/caiic_ble_full_ota.json @@ -1,6 +1,6 @@ { "file": "caiic_ble_full_ota.bin", - "size": 45056, - "crc32": "0xB2469318", - "version": 65549 + "size": 53072, + "crc32": "0x603CBC54", + "version": 65550 } \ No newline at end of file