diff --git a/FreeRTOS/source/FreeRTOS_IP_Utils.c b/FreeRTOS/source/FreeRTOS_IP_Utils.c
index 2283c67..002d8b0 100644
--- a/FreeRTOS/source/FreeRTOS_IP_Utils.c
+++ b/FreeRTOS/source/FreeRTOS_IP_Utils.c
@@ -364,7 +364,7 @@ void prvProcessNetworkDownEvent( void )
else
{
/* Set remaining time to 0 so it will become active immediately. */
- #if ipconfigUSE_DHCP == 1
+ #if (ipconfigUSE_DHCP == 1)
{
/* The network is not up until DHCP has completed. */
vDHCPProcess( pdTRUE, eInitialWait );
diff --git a/FreeRTOS/source/portable/NetworkInterface/board_family/NetworkInterface.c b/FreeRTOS/source/portable/NetworkInterface/board_family/NetworkInterface.c
index a593efc..faa73fb 100644
--- a/FreeRTOS/source/portable/NetworkInterface/board_family/NetworkInterface.c
+++ b/FreeRTOS/source/portable/NetworkInterface/board_family/NetworkInterface.c
@@ -1439,10 +1439,14 @@
#include "NetworkBufferManagement.h"
#include "NetworkInterface.h"
-//#include "Driver_ETH.h"
+#include "Driver_ETH.h"
#include "Driver_ETH_MAC.h"
#include "Driver_ETH_PHY.h"
#include "gd32f10x_enet.h"
+//#include "RTE_Components.h"
+//#ifdef RTE_Drivers_PHY_DP83848C /* Driver PHY DP83848C */
+
+//#endif
static void receiveHandlerTask( void *pvParameters );
static TaskHandle_t receiveHandler = NULL;
@@ -1453,6 +1457,9 @@ static ARM_ETH_MAC_CAPABILITIES capabilities;
//#define Driver_ETH_MAC0 ARM_Driver_ETH_MAC_(0)
//extern ARM_DRIVER_ETH_MAC Driver_ETH_MAC0;
+extern ARM_DRIVER_ETH_PHY ARM_Driver_ETH_PHY_(0);
+#define Driver_ETH_PHY0 ARM_Driver_ETH_PHY_(0)
+
/**
\fn ARM_DRIVER_VERSION ARM_ETH_MAC_GetVersion (void)
\brief Get driver version.
@@ -1482,7 +1489,7 @@ ARM_ETH_MAC_CAPABILITIES ARM_ETH_MAC_GetCapabilities (void)
1, ///< 1 = UDP payload checksum generated on transmit
1, ///< 1 = TCP payload checksum generated on transmit
1, ///< 1 = ICMP payload checksum generated on transmit
- 0, ///< 0, 1, 2, 3, Ethernet Media Interface type
+ ARM_ETH_INTERFACE_RMII, ///< 0, 1, 2, 3, Ethernet Media Interface type
1, ///< 1 = driver provides initial valid MAC address
1, ///< 1 = callback event \ref ARM_ETH_MAC_EVENT_RX_FRAME generated
1, ///< 1 = callback event \ref ARM_ETH_MAC_EVENT_TX_FRAME generated
@@ -1502,7 +1509,9 @@ ARM_ETH_MAC_CAPABILITIES ARM_ETH_MAC_GetCapabilities (void)
int32_t ARM_ETH_MAC_Initialize (ARM_ETH_MAC_SignalEvent_t cb_event)
{
- ErrStatus xResult = enet_init(ENET_AUTO_NEGOTIATION, ENET_AUTOCHECKSUM_DROP_FAILFRAMES, ENET_RECEIVEALL);
+ ErrStatus xResult = ARM_DRIVER_ERROR;
+ if (SUCCESS == enet_init(ENET_AUTO_NEGOTIATION, ENET_AUTOCHECKSUM_DROP_FAILFRAMES, ENET_RECEIVEALL))
+ xResult = ARM_DRIVER_OK;
//enet_ptp_start(int32_t updatemethod, uint32_t init_sec, uint32_t init_subsec, uint32_t carry_cfg, uint32_t accuracy_cfg)
return xResult;
@@ -1520,7 +1529,7 @@ int32_t ARM_ETH_MAC_Initialize (ARM_ETH_MAC_SignalEvent_t cb_event)
int32_t ARM_ETH_MAC_Uninitialize (void)
{
enet_deinit();
- return pdTRUE;
+ return ARM_DRIVER_OK;
}
/**
@@ -1530,8 +1539,9 @@ int32_t ARM_ETH_MAC_Uninitialize (void)
\return \ref execution_status
*/
int32_t ARM_ETH_MAC_PowerControl (ARM_POWER_STATE state)
-{
- return pdTRUE;
+{
+
+ return ARM_DRIVER_OK;
}
/**
\fn int32_t ARM_ETH_MAC_GetMacAddress (ARM_ETH_MAC_ADDR *ptr_addr)
@@ -1544,9 +1554,9 @@ int32_t ARM_ETH_MAC_GetMacAddress (ARM_ETH_MAC_ADDR *ptr_addr)
if (ptr_addr != NULL)
{
enet_mac_address_get(ENET_MAC_ADDRESS0, (uint8_t*)ptr_addr->b);
- return pdPASS;
+ return ARM_DRIVER_OK;
}
- else return pdFAIL;
+ else return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1560,9 +1570,9 @@ int32_t ARM_ETH_MAC_SetMacAddress (const ARM_ETH_MAC_ADDR *ptr_addr)
if (ptr_addr != NULL)
{
enet_mac_address_set(ENET_MAC_ADDRESS0, (uint8_t*)ptr_addr->b);
- return pdPASS;
+ return ARM_DRIVER_OK;
}
- else return pdFAIL;
+ else return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1575,14 +1585,17 @@ int32_t ARM_ETH_MAC_SetMacAddress (const ARM_ETH_MAC_ADDR *ptr_addr)
*/
int32_t ARM_ETH_MAC_SetAddressFilter (const ARM_ETH_MAC_ADDR *ptr_addr, uint32_t num_addr)
{
-
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_SetAddressFilter\n");
+ __asm volatile("BKPT #0\n") ;
+#endif
enet_address_filter_config(ENET_MAC_ADDRESS0, ENET_ADDRESS_MASK_BYTE0, ENET_ADDRESS_FILTER_SA);
enet_address_filter_config(ENET_MAC_ADDRESS0, ENET_ADDRESS_MASK_BYTE1, ENET_ADDRESS_FILTER_SA);
enet_address_filter_config(ENET_MAC_ADDRESS0, ENET_ADDRESS_MASK_BYTE2, ENET_ADDRESS_FILTER_SA);
enet_address_filter_config(ENET_MAC_ADDRESS0, ENET_ADDRESS_MASK_BYTE3, ENET_ADDRESS_FILTER_SA);
enet_address_filter_config(ENET_MAC_ADDRESS0, ENET_ADDRESS_MASK_BYTE4, ENET_ADDRESS_FILTER_SA);
enet_address_filter_config(ENET_MAC_ADDRESS0, ENET_ADDRESS_MASK_BYTE5, ENET_ADDRESS_FILTER_SA);
- return pdTRUE;
+ return ARM_DRIVER_OK;
}
/**
@@ -1595,10 +1608,18 @@ int32_t ARM_ETH_MAC_SetAddressFilter (const ARM_ETH_MAC_ADDR *ptr_addr, uint32_t
*/
int32_t ARM_ETH_MAC_SendFrame (const uint8_t *frame, uint32_t len, uint32_t flags)
{
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_SendFrame\n");
+// __asm volatile("BKPT #0\n") ;
+#endif
if (frame != NULL & len > 0)
- return enet_frame_transmit((uint8_t*)frame, len);
- else
- return pdFAIL;
+ {
+ if (SUCCESS == enet_frame_transmit((uint8_t*)frame, len))
+ return ARM_DRIVER_OK;
+ else
+ return ARM_DRIVER_ERROR;
+ }else
+ return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1612,10 +1633,18 @@ int32_t ARM_ETH_MAC_SendFrame (const uint8_t *frame, uint32_t len, uint32_t flag
*/
int32_t ARM_ETH_MAC_ReadFrame (uint8_t *frame, uint32_t len)
{
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_ReadFrame\n");
+// __asm volatile("BKPT #0\n") ;
+#endif
if (frame != NULL & len > 0)
- return enet_frame_receive(frame, len);
- else
- return pdFAIL;
+ {
+ if (SUCCESS == enet_frame_receive(frame, len))
+ return ARM_DRIVER_OK;
+ else
+ return ARM_DRIVER_ERROR;
+ }else
+ return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1636,12 +1665,16 @@ uint32_t ARM_ETH_MAC_GetRxFrameSize (void)
*/
int32_t ARM_ETH_MAC_GetRxFrameTime (ARM_ETH_MAC_TIME *time)
{
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_GetRxFrameTime\n");
+// __asm volatile("BKPT #0\n") ;
+#endif
//if ENET_RXTX_TIMESTAMP bit set in ENET_PTP_TSCTL register (enet_ptp_start(int32_t updatemethod, uint32_t init_sec, uint32_t init_subsec, uint32_t carry_cfg, uint32_t accuracy_cfg);)
enet_ptp_systime_struct systime_struct;
enet_ptp_system_time_get(&systime_struct);
time->sec = systime_struct.second;
time->ns = systime_struct.nanosecond;
- return pdPASS;
+ return ARM_DRIVER_OK;
}
/**
@@ -1652,12 +1685,16 @@ int32_t ARM_ETH_MAC_GetRxFrameTime (ARM_ETH_MAC_TIME *time)
*/
int32_t ARM_ETH_MAC_GetTxFrameTime (ARM_ETH_MAC_TIME *time)
{
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_GetTxFrameTime\n");
+// __asm volatile("BKPT #0\n") ;
+#endif
//if ENET_RXTX_TIMESTAMP bit set in ENET_PTP_TSCTL register (enet_ptp_timestamp_function_config(ENET_PTP_SYSTIME_INIT);)
enet_ptp_systime_struct systime_struct;
enet_ptp_system_time_get(&systime_struct);
time->sec = systime_struct.second;
time->ns = systime_struct.nanosecond;
- return pdPASS;
+ return ARM_DRIVER_OK;
}
/**
@@ -1669,7 +1706,18 @@ int32_t ARM_ETH_MAC_GetTxFrameTime (ARM_ETH_MAC_TIME *time)
*/
int32_t ARM_ETH_MAC_Control (uint32_t control, uint32_t arg)
{
- return pdPASS;
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_Control\n");
+// __asm volatile("BKPT #0\n") ;
+#endif
+ if((control >= 0) & (arg >= 0))
+ {
+ if(SUCCESS == enet_phy_write_read(ENET_PHY_WRITE, PHY_ADDRESS, control, (uint16_t*)&arg))
+ return ARM_DRIVER_OK;
+ else
+ return ARM_DRIVER_ERROR;
+ }else
+ return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1681,7 +1729,18 @@ int32_t ARM_ETH_MAC_Control (uint32_t control, uint32_t arg)
*/
int32_t ARM_ETH_MAC_ControlTimer (uint32_t control, ARM_ETH_MAC_TIME *time)
{
- return pdPASS;
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_ControlTimer\n");
+// __asm volatile("BKPT #0\n") ;
+#endif
+ if((control >= 0) & (time != NULL))
+ {
+ if(SUCCESS == enet_phy_write_read(ENET_PHY_WRITE, PHY_ADDRESS, control, (uint16_t*)time))
+ return ARM_DRIVER_OK;
+ else
+ return ARM_DRIVER_ERROR;
+ }else
+ return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1694,7 +1753,22 @@ int32_t ARM_ETH_MAC_ControlTimer (uint32_t control, ARM_ETH_MAC_TIME *time)
*/
int32_t ARM_ETH_MAC_PHY_Read (uint8_t phy_addr, uint8_t reg_addr, uint16_t *data)
{
- return pdPASS;
+ if((phy_addr >= 0) & (reg_addr >= 0x00) & data >= 0x0000)
+ {
+ if(SUCCESS == enet_phy_write_read(ENET_PHY_READ, phy_addr, reg_addr, data))
+ return ARM_DRIVER_OK;
+ else
+ {
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_PHY_Read_ERROR\n");
+#endif
+ return ARM_DRIVER_ERROR;
+ }
+ }else
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_PHY_Read_ERROR_PARAMETER\n");
+#endif
+ return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1707,7 +1781,22 @@ int32_t ARM_ETH_MAC_PHY_Read (uint8_t phy_addr, uint8_t reg_addr, uint16_t *data
*/
int32_t ARM_ETH_MAC_PHY_Write (uint8_t phy_addr, uint8_t reg_addr, uint16_t data)
{
- return pdPASS;
+ if((phy_addr >= 0) & (reg_addr >= 0x00) & data >= 0x0000)
+ {
+ if(SUCCESS == enet_phy_write_read(ENET_PHY_WRITE, phy_addr, reg_addr, &data))
+ return ARM_DRIVER_OK;
+ else
+ {
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_PHY_Write_ERROR\n");
+#endif
+ return ARM_DRIVER_ERROR;
+ }
+ }else
+#ifdef DEBUG
+ printf("ARM_ETH_MAC_PHY_Write_ERROR_PARAMETER\n");
+#endif
+ return ARM_DRIVER_ERROR_PARAMETER;
}
/**
@@ -1715,7 +1804,9 @@ int32_t ARM_ETH_MAC_PHY_Write (uint8_t phy_addr, uint8_t reg_addr, uint16_t data
\brief Callback function that signals a Ethernet Event.
\param[in] event event notification mask
\return none
-*/
+*/
+
+
ARM_DRIVER_ETH_MAC Driver_ETH_MAC0 = {ARM_ETH_MAC_GetVersion,
ARM_ETH_MAC_GetCapabilities,
ARM_ETH_MAC_Initialize,
@@ -1733,12 +1824,10 @@ ARM_DRIVER_ETH_MAC Driver_ETH_MAC0 = {ARM_ETH_MAC_GetVersion,
ARM_ETH_MAC_Control,
ARM_ETH_MAC_PHY_Read,
ARM_ETH_MAC_PHY_Write};
+
-
-
-extern ARM_DRIVER_ETH_PHY ARM_Driver_ETH_PHY_(0);
-#define Driver_ETH_PHY0 ARM_Driver_ETH_PHY_(0)
+
/*callback function for ARM_ETH_MAC_SignalEvent_t*/
void ethernet_mac_notify (uint32_t event) {
diff --git a/PHY/PHY_DP83848C.c b/PHY/PHY_DP83848C.c
new file mode 100644
index 0000000..c49c9ac
--- /dev/null
+++ b/PHY/PHY_DP83848C.c
@@ -0,0 +1,305 @@
+/*
+ * Copyright (c) 2013-2018 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------
+ *
+ * $Date: 25. May 2018
+ * $Revision: V6.2
+ *
+ * Driver: Driver_ETH_PHYn (default: Driver_ETH_PHY0)
+ * Project: Ethernet Physical Layer Transceiver (PHY)
+ * Driver for DP83848C
+ * -----------------------------------------------------------------------
+ * Use the following configuration settings in the middleware component
+ * to connect to this driver.
+ *
+ * Configuration Setting Value
+ * --------------------- -----
+ * Connect to hardware via Driver_ETH_PHY# = n (default: 0)
+ * -------------------------------------------------------------------- */
+
+/* History:
+ * Version 6.2
+ * Updated for ARM compiler 6
+ * Version 6.1
+ * Added driver flow control flags
+ * Version 6.0
+ * Based on API V2.00
+ * Version 5.1
+ * Based on API V1.10 (namespace prefix ARM_ added)
+ * Version 5.0
+ * Initial release
+ */
+
+#include "PHY_DP83848C.h"
+
+#define ARM_ETH_PHY_DRV_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(6,2) /* driver version */
+
+
+#ifndef ETH_PHY_NUM
+#define ETH_PHY_NUM 0 /* Default driver number */
+#endif
+
+#ifndef ETH_PHY_ADDR
+#define ETH_PHY_ADDR 0x01 /* Default device address */
+#endif
+
+
+/* Driver Version */
+static const ARM_DRIVER_VERSION DriverVersion = {
+ ARM_ETH_PHY_API_VERSION,
+ ARM_ETH_PHY_DRV_VERSION
+};
+
+/* Ethernet PHY control structure */
+static PHY_CTRL PHY = { NULL, NULL, 0, 0, 0 };
+
+
+/**
+ \fn ARM_DRIVER_VERSION GetVersion (void)
+ \brief Get driver version.
+ \return \ref ARM_DRIVER_VERSION
+*/
+static ARM_DRIVER_VERSION GetVersion (void) {
+ return DriverVersion;
+}
+
+
+/**
+ \fn int32_t Initialize (ARM_ETH_PHY_Read_t fn_read,
+ ARM_ETH_PHY_Write_t fn_write)
+ \brief Initialize Ethernet PHY Device.
+ \param[in] fn_read Pointer to \ref ARM_ETH_MAC_PHY_Read
+ \param[in] fn_write Pointer to \ref ARM_ETH_MAC_PHY_Write
+ \return \ref execution_status
+*/
+static int32_t Initialize (ARM_ETH_PHY_Read_t fn_read, ARM_ETH_PHY_Write_t fn_write) {
+
+ if ((fn_read == NULL) || (fn_write == NULL)) { return ARM_DRIVER_ERROR_PARAMETER; }
+
+ if ((PHY.flags & PHY_INIT) == 0U) {
+ /* Register PHY read/write functions. */
+ PHY.reg_rd = fn_read;
+ PHY.reg_wr = fn_write;
+
+ PHY.bmcr = 0U;
+ PHY.flags = PHY_INIT;
+ }
+
+ return ARM_DRIVER_OK;
+}
+
+/**
+ \fn int32_t Uninitialize (void)
+ \brief De-initialize Ethernet PHY Device.
+ \return \ref execution_status
+*/
+static int32_t Uninitialize (void) {
+
+ PHY.reg_rd = NULL;
+ PHY.reg_wr = NULL;
+ PHY.bmcr = 0U;
+ PHY.flags = 0U;
+
+ return ARM_DRIVER_OK;
+}
+
+/**
+ \fn int32_t PowerControl (ARM_POWER_STATE state)
+ \brief Control Ethernet PHY Device Power.
+ \param[in] state Power state
+ \return \ref execution_status
+*/
+static int32_t PowerControl (ARM_POWER_STATE state) {
+ uint16_t val;
+
+ switch ((int32_t)state) {
+ case ARM_POWER_OFF:
+ if ((PHY.flags & PHY_INIT) == 0U) {
+ /* Initialize must provide register access function pointers */
+ return ARM_DRIVER_ERROR;
+ }
+
+ PHY.flags &= ~PHY_POWER;
+ PHY.bmcr = BMCR_POWER_DOWN;
+
+ return (PHY.reg_wr(ETH_PHY_ADDR, REG_BMCR, PHY.bmcr));
+
+ case ARM_POWER_FULL:
+ if ((PHY.flags & PHY_INIT) == 0U) {
+ return ARM_DRIVER_ERROR;
+ }
+ if (PHY.flags & PHY_POWER) {
+ return ARM_DRIVER_OK;
+ }
+
+ /* Check Device Identification. */
+ PHY.reg_rd(ETH_PHY_ADDR, REG_PHYIDR1, &val);
+
+ if (val != PHY_ID1) {
+ /* Invalid PHY ID */
+ return ARM_DRIVER_ERROR_UNSUPPORTED;
+ }
+
+ PHY.reg_rd(ETH_PHY_ADDR, REG_PHYIDR2, &val);
+
+ if ((val & 0xFFF0) != PHY_ID2) {
+ /* Invalid PHY ID */
+ return ARM_DRIVER_ERROR_UNSUPPORTED;
+ }
+
+ PHY.bmcr = 0U;
+
+ if (PHY.reg_wr(ETH_PHY_ADDR, REG_BMCR, PHY.bmcr) != ARM_DRIVER_OK) {
+ return ARM_DRIVER_ERROR;
+ }
+
+ PHY.flags |= PHY_POWER;
+
+ return ARM_DRIVER_OK;
+
+ case ARM_POWER_LOW:
+ default:
+ return ARM_DRIVER_ERROR_UNSUPPORTED;
+ }
+}
+
+/**
+ \fn int32_t SetInterface (uint32_t interface)
+ \brief Set Ethernet Media Interface.
+ \param[in] interface Media Interface type
+ \return \ref execution_status
+*/
+static int32_t SetInterface (uint32_t interface) {
+ uint16_t val;
+
+ if ((PHY.flags & PHY_POWER) == 0U) { return ARM_DRIVER_ERROR; }
+
+ switch (interface) {
+ case ARM_ETH_INTERFACE_MII:
+ val = 0x0001;
+ break;
+ case ARM_ETH_INTERFACE_RMII:
+ val = RBR_RMII_MODE | 0x0001;
+ break;
+ default:
+ return ARM_DRIVER_ERROR_UNSUPPORTED;
+ }
+
+ return (PHY.reg_wr(ETH_PHY_ADDR, REG_RBR, val));
+}
+
+/**
+ \fn int32_t SetMode (uint32_t mode)
+ \brief Set Ethernet PHY Device Operation mode.
+ \param[in] mode Operation Mode
+ \return \ref execution_status
+*/
+static int32_t SetMode (uint32_t mode) {
+ uint16_t val;
+
+ if ((PHY.flags & PHY_POWER) == 0U) { return ARM_DRIVER_ERROR; }
+
+ val = PHY.bmcr & BMCR_POWER_DOWN;
+
+ switch (mode & ARM_ETH_PHY_SPEED_Msk) {
+ case ARM_ETH_PHY_SPEED_10M:
+ break;
+ case ARM_ETH_PHY_SPEED_100M:
+ val |= BMCR_SPEED_SEL;
+ break;
+ default:
+ return ARM_DRIVER_ERROR_UNSUPPORTED;
+ }
+
+ switch (mode & ARM_ETH_PHY_DUPLEX_Msk) {
+ case ARM_ETH_PHY_DUPLEX_HALF:
+ break;
+ case ARM_ETH_PHY_DUPLEX_FULL:
+ val |= BMCR_DUPLEX;
+ break;
+ default:
+ return ARM_DRIVER_ERROR_UNSUPPORTED;
+ }
+
+ if (mode & ARM_ETH_PHY_AUTO_NEGOTIATE) {
+ val |= BMCR_ANEG_EN;
+ }
+
+ if (mode & ARM_ETH_PHY_LOOPBACK) {
+ val |= BMCR_LOOPBACK;
+ }
+
+ if (mode & ARM_ETH_PHY_ISOLATE) {
+ val |= BMCR_ISOLATE;
+ }
+
+ PHY.bmcr = val;
+
+ return (PHY.reg_wr(ETH_PHY_ADDR, REG_BMCR, PHY.bmcr));
+}
+
+/**
+ \fn ARM_ETH_LINK_STATE GetLinkState (void)
+ \brief Get Ethernet PHY Device Link state.
+ \return current link status \ref ARM_ETH_LINK_STATE
+*/
+static ARM_ETH_LINK_STATE GetLinkState (void) {
+ ARM_ETH_LINK_STATE state;
+ uint16_t val = 0U;
+
+ if (PHY.flags & PHY_POWER) {
+ PHY.reg_rd(ETH_PHY_ADDR, REG_BMSR, &val);
+ }
+ state = (val & BMSR_LINK_STAT) ? ARM_ETH_LINK_UP : ARM_ETH_LINK_DOWN;
+
+ return (state);
+}
+
+/**
+ \fn ARM_ETH_LINK_INFO GetLinkInfo (void)
+ \brief Get Ethernet PHY Device Link information.
+ \return current link parameters \ref ARM_ETH_LINK_INFO
+*/
+static ARM_ETH_LINK_INFO GetLinkInfo (void) {
+ ARM_ETH_LINK_INFO info;
+ uint16_t val = 0U;
+
+ if (PHY.flags & PHY_POWER) {
+ PHY.reg_rd(ETH_PHY_ADDR, REG_PHYSTS, &val);
+ }
+
+ info.speed = (val & PHYSTS_SPEED) ? ARM_ETH_SPEED_10M : ARM_ETH_SPEED_100M;
+ info.duplex = (val & PHYSTS_DUPLEX) ? ARM_ETH_DUPLEX_FULL : ARM_ETH_DUPLEX_HALF;
+
+ return (info);
+}
+
+
+/* PHY Driver Control Block */
+extern
+ARM_DRIVER_ETH_PHY ARM_Driver_ETH_PHY_(ETH_PHY_NUM);
+ARM_DRIVER_ETH_PHY ARM_Driver_ETH_PHY_(ETH_PHY_NUM) = {
+ GetVersion,
+ Initialize,
+ Uninitialize,
+ PowerControl,
+ SetInterface,
+ SetMode,
+ GetLinkState,
+ GetLinkInfo
+};
diff --git a/PHY/PHY_DP83848C.h b/PHY/PHY_DP83848C.h
new file mode 100644
index 0000000..b8680f2
--- /dev/null
+++ b/PHY/PHY_DP83848C.h
@@ -0,0 +1,201 @@
+/*
+ * Copyright (c) 2013-2018 Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+ * not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * -----------------------------------------------------------------------
+ *
+ * $Date: 25. May 2018
+ * $Revision: V6.2
+ *
+ * Project: Ethernet Physical Layer Transceiver (PHY)
+ * Definitions for DP83848C
+ * -------------------------------------------------------------------- */
+
+#ifndef __PHY_DP83848C_H
+#define __PHY_DP83848C_H
+
+#include "Driver_ETH_PHY.h"
+
+/* Basic Registers */
+#define REG_BMCR 0x00 /* Basic Mode Control Register */
+#define REG_BMSR 0x01 /* Basic Mode Status Register */
+#define REG_PHYIDR1 0x02 /* PHY Identifier 1 */
+#define REG_PHYIDR2 0x03 /* PHY Identifier 2 */
+#define REG_ANAR 0x04 /* Auto-Negotiation Advertisement */
+#define REG_ANLPAR 0x05 /* Auto-Neg. Link Partner Abitily */
+#define REG_ANER 0x06 /* Auto-Neg. Expansion Register */
+#define REG_ANNPTR 0x07 /* Auto-Neg. Next Page TX */
+
+/* Extended Registers */
+#define REG_PHYSTS 0x10 /* Status Register */
+#define REG_MICR 0x11 /* MII Interrupt Control Register */
+#define REG_MISR 0x12 /* MII Interrupt Status Register */
+#define REG_FCSCR 0x14 /* False Carrier Sense Counter */
+#define REG_RECR 0x15 /* Receive Error Counter */
+#define REG_PCSR 0x16 /* PCS Sublayer Config. and Status */
+#define REG_RBR 0x17 /* RMII and Bypass Register */
+#define REG_LEDCR 0x18 /* LED Direct Control Register */
+#define REG_PHYCR 0x19 /* PHY Control Register */
+#define REG_BTSCR 0x1A /* 10Base-T Status/Control Register */
+#define REG_CDBR1 0x1B /* CD Test Control and BIST Extens. */
+#define REG_EDCR 0x1D /* Energy Detect Control Register */
+
+/* Basic Mode Control Register */
+#define BMCR_RESET 0x8000 /* Software Reset */
+#define BMCR_LOOPBACK 0x4000 /* Loopback mode */
+#define BMCR_SPEED_SEL 0x2000 /* Speed Select (1=100Mb/s) */
+#define BMCR_ANEG_EN 0x1000 /* Auto Negotiation Enable */
+#define BMCR_POWER_DOWN 0x0800 /* Power Down */
+#define BMCR_ISOLATE 0x0400 /* Isolate Media interface */
+#define BMCR_REST_ANEG 0x0200 /* Restart Auto Negotiation */
+#define BMCR_DUPLEX 0x0100 /* Duplex Mode (1=Full duplex) */
+#define BMCR_COL_TEST 0x0080 /* Collision Test */
+
+/* Basic Mode Status Register */
+#define BMSR_100B_T4 0x8000 /* 100BASE-T4 Capable */
+#define BMSR_100B_TX_FD 0x4000 /* 100BASE-TX Full Duplex Capable */
+#define BMSR_100B_TX_HD 0x2000 /* 100BASE-TX Half Duplex Capable */
+#define BMSR_10B_T_FD 0x1000 /* 10BASE-T Full Duplex Capable */
+#define BMSR_10B_T_HD 0x0800 /* 10BASE-T Half Duplex Capable */
+#define BMSR_MF_PRE_SUP 0x0040 /* Preamble suppression Capable */
+#define BMSR_ANEG_COMPL 0x0020 /* Auto Negotiation Complete */
+#define BMSR_REM_FAULT 0x0010 /* Remote Fault */
+#define BMSR_ANEG_ABIL 0x0008 /* Auto Negotiation Ability */
+#define BMSR_LINK_STAT 0x0004 /* Link Status (1=established) */
+#define BMSR_JABBER_DET 0x0002 /* Jaber Detect */
+#define BMSR_EXT_CAPAB 0x0001 /* Extended Capability */
+
+/* PHY Identifier Registers */
+#define PHY_ID1 0x2000 /* DP83848C Device Identifier MSB */
+#define PHY_ID2 0x5C90 /* DP83848C Device Identifier LSB */
+
+/* PHY Status Register */
+#define PHYSTS_MDI_X 0x4000 /* MDI-X mode enabled by Auto-Negot. */
+#define PHYSTS_REC_ERR 0x2000 /* Receive Error Latch */
+#define PHYSTS_POL_STAT 0x1000 /* Polarity Status */
+#define PHYSTS_FC_SENSE 0x0800 /* False Carrier Sense Latch */
+#define PHYSTS_SIG_DET 0x0400 /* 100Base-TX Signal Detect */
+#define PHYSTS_DES_LOCK 0x0200 /* 100Base-TX Descrambler Lock */
+#define PHYSTS_PAGE_REC 0x0100 /* Link Code Word Page Received */
+#define PHYSTS_MII_INT 0x0080 /* MII Interrupt Pending */
+#define PHYSTS_REM_FAULT 0x0040 /* Remote Fault */
+#define PHYSTS_JABBER_DET 0x0020 /* Jabber Detect */
+#define PHYSTS_ANEG_COMPL 0x0010 /* Auto Negotiation Complete */
+#define PHYSTS_LOOPBACK 0x0008 /* Loopback Status */
+#define PHYSTS_DUPLEX 0x0004 /* Duplex Status (1=Full duplex) */
+#define PHYSTS_SPEED 0x0002 /* Speed10 Status (1=10MBit/s) */
+#define PHYSTS_LINK_STAT 0x0001 /* Link Status (1=established) */
+
+/* MII Interrupt Control Register */
+#define MICR_TINT 0x0004 /* Test Interrupt */
+#define MICR_INTEN 0x0002 /* Interrupt Enable */
+#define MICR_INT_OE 0x0001 /* Interrupt Output Enable */
+
+/* MII Interrupt Status Register */
+#define MISR_ED_INT 0x4000 /* Energy Detect Interrupt */
+#define MISR_LINK_INT 0x2000 /* Link Status Change Interrupt */
+#define MISR_SPD_INT 0x1000 /* Speed Status Change Interrupt */
+#define MISR_DUP_INT 0x0800 /* Duplex Status Change Interrupt */
+#define MISR_ANC_INT 0x0400 /* Auto Negotiation Complete Interr. */
+#define MISR_FHF_INT 0x0200 /* False Carrier Counter HF Interrupt*/
+#define MISR_RHF_INT 0x0100 /* Receive Error Counter HF Interrupt*/
+#define MISR_ED_INT_EN 0x0040 /* Endrgy Detect Int.Enable */
+#define MISR_LINK_INT_EN 0x0020 /* Link Status Change Int.Enable */
+#define MISR_SPD_INT_EN 0x0010 /* Speed Status Change Int.Enable */
+#define MISR_DUP_INT_EN 0x0008 /* Duplex Status Change Int.Enable */
+#define MISR_ANC_INT_EN 0x0004 /* Auto Negotiation Complete Int.Ena.*/
+#define MISR_FHF_INT_EN 0x0002 /* False Carrier Count.HF Int.Enable */
+#define MISR_RHF_INT_EN 0x0001 /* Receive Error Count.HF Int.Enable */
+
+/* 100Mb/s PCS Configuration and Status Register */
+#define PCSR_TQ_EN 0x0400 /* 100Mbs True Quiet Mode Enable */
+#define PCSR_SD_FORCE_PMA 0x0200 /* Signal Detect Force PMA */
+#define PCSR_SD_OPTION 0x0100 /* Signal Detect Option */
+#define PCSR_DESC_TIME 0x0080 /* Descrambler Timeout */
+#define PCSR_FORCE_100_OK 0x0020 /* Force 100Mb/s Good Link */
+#define PCSR_NRZI_BYPASS 0x0004 /* NRZI Bypass Enable */
+
+/* RMII and Bypass Register */
+#define RBR_RMII_MODE 0x0020 /* Reduced MII Mode */
+#define RBR_RMII_REV1_0 0x0010 /* Reduced MII Revision 1.0 */
+#define RBR_RX_OVF_STS 0x0008 /* RX FIFO Overflow Status */
+#define RBR_RX_UNF_STS 0x0004 /* RX FIFO Underflow Status */
+#define RBR_ELAST_BUF 0x0003 /* Receive Elasticity Buffer */
+
+/* LED Direct Control Register */
+#define LEDCR_DRV_SPDLED 0x0020 /* Drive SPDLED bit to LED_SPD output*/
+#define LEDCR_DRV_LNKLED 0x0010 /* Drive LNKLED bit to LED_LNK output*/
+#define LEDCR_DRV_ACTLED 0x0008 /* Drive ACTLED bit to LED_ACT output*/
+#define LEDCR_SPDLED 0x0004 /* Value to force on LED_SPD output */
+#define LEDCR_LNKLED 0x0002 /* Value to force on LED_LNK output */
+#define LEDCR_ACTLED 0x0001 /* Value to force on LED_ACT output */
+
+/* PHY Control Register */
+#define PHYCR_MDIX_EN 0x8000 /* Auto MDIX Enable */
+#define PHYCR_FORCE_MDIX 0x4000 /* Force MDIX */
+#define PHYCR_PAUSE_RX 0x2000 /* Pause Receive Negotiated */
+#define PHYCR_PAUSE_TX 0x1000 /* Pause Transmit Negotiated */
+#define PHYCR_BIST_FE 0x0800 /* BIST Force Error */
+#define PHYCR_PSR_15 0x0400 /* BIST Sequence select */
+#define PHYCR_BIST_STATUS 0x0200 /* BIST Test Status */
+#define PHYCR_BIST_START 0x0100 /* BIST Start */
+#define PHYCR_BP_STRETCH 0x0080 /* Bypass LED Stretching */
+#define PHYCR_LED_CNFG 0x0060 /* LEDs Configuration */
+#define PHYCR_PHYADDR 0x001F /* PHY Address for port */
+
+/* 10Base-T Status/Control Register */
+#define BTSCR_10BT_SER 0x8000 /* 10Base-T Serial Mode */
+#define BTSCR_SQUELCH 0x0E00 /* Squelch Configuration */
+#define BTSCR_LOOPB10_DIS 0x0100 /* Loopback 10Base-T Disable */
+#define BTSCR_LP_DIS 0x0080 /* Normal Link Pulse Disable */
+#define BTSCR_FORCE_LNK10 0x0040 /* Force 10Mbs Good Link */
+#define BTSCR_POLARITY 0x0010 /* 10Mbs Polarity Status */
+#define BTSCR_HEARTB_DIS 0x0002 /* Heartbeat Disable */
+#define BTSCR_JABBER_DIS 0x0001 /* Jabber Disable */
+
+/* CD Test and BIST Extensions Register */
+#define CDBR1_BIST_ERR_CNTR 0xFF00 /* BIST ERROR Counter */
+#define CDBR1_BIST_CONT_MD 0x0020 /* Packet BIST Continuous Mode */
+#define CDBR1_CDPATEN10 0x0010 /* CD Pattern Enable for 10Mbs */
+#define CDBR1_10MEG_PAT_GAP 0x0004 /* Defines gap between data or NLP */
+#define CDBR1_CDPATTSEL 0x0003 /* CD Pattern Select */
+
+/* Energy Detect Control */
+#define EDCR_ED_EN 0x8000 /* Energy Detect Enable */
+#define EDCR_ED_AUTO_UP 0x4000 /* Energy Detect Automatic Power Up */
+#define EDCR_ED_AUTO_DOWN 0x2000 /* Energy Detect Automatic Power Down*/
+#define EDCR_ED_MAN 0x1000 /* Energy Detect Manual Power Up/Down*/
+#define EDCR_ED_BURST_DIS 0x0800 /* Energy Detect Burst Disable */
+#define EDCR_ED_PWR_STATE 0x0400 /* Energy Detect Power State */
+#define EDCR_ED_ERR_MET 0x0200 /* Energy Detect Error Threshold Met */
+#define EDCR_ED_DATA_MET 0x0100 /* Energy Detect Data Threshold Met */
+#define EDCR_ED_ERR_CNT 0x00F0 /* Energy Detect Error Threshold */
+#define EDCR_ED_DATA_CNT 0x000F /* Energy Detect Data Threshold */
+
+/* PHY Driver State Flags */
+#define PHY_INIT 0x01U /* Driver initialized */
+#define PHY_POWER 0x02U /* Driver power is on */
+
+/* PHY Driver Control Structure */
+typedef struct phy_ctrl {
+ ARM_ETH_PHY_Read_t reg_rd; /* PHY register read function */
+ ARM_ETH_PHY_Write_t reg_wr; /* PHY register write function */
+ uint16_t bmcr; /* BMCR register value */
+ uint8_t flags; /* Control flags */
+ uint8_t rsvd; /* Reserved */
+} PHY_CTRL;
+
+#endif /* __PHY_DP83848C_H */
diff --git a/RTE/_Target_1/RTE_Components.h b/RTE/_Target_1/RTE_Components.h
index b0ae4b4..8b4d588 100644
--- a/RTE/_Target_1/RTE_Components.h
+++ b/RTE/_Target_1/RTE_Components.h
@@ -46,8 +46,6 @@
/* Keil.ARM Compiler::Compiler:I/O:STDOUT:User:1.2.0 */
#define RTE_Compiler_IO_STDOUT /* Compiler I/O: STDOUT */
#define RTE_Compiler_IO_STDOUT_User /* Compiler I/O: STDOUT User */
-/* Keil::CMSIS Driver:Ethernet PHY:DP83848C:6.2.0 */
-#define RTE_Drivers_PHY_DP83848C /* Driver PHY DP83848C */
#endif /* RTE_COMPONENTS_H */
diff --git a/Test_project_for_GD32107C-EVAL.uvguix.right b/Test_project_for_GD32107C-EVAL.uvguix.right
index 2d3881e..033137f 100644
--- a/Test_project_for_GD32107C-EVAL.uvguix.right
+++ b/Test_project_for_GD32107C-EVAL.uvguix.right
@@ -15,17 +15,17 @@
38003
Registers
- 194 116
+ 263 155
346
Code Coverage
- 1404 266
+ 1404 158
204
Performance Analyzer
- 1564 234 234 100
+ 994 234 234 100
@@ -58,7 +58,7 @@
1935
Call Stack + Locals
- 200 133 133
+ 360 133 133
2506
@@ -110,8 +110,8 @@
0
- 1000
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000600000000000000010000004C443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C6D61696E2E6300000000066D61696E2E6300000000EAD6A300FFFFFFFF71443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C5254455C4465766963655C474433324631303756435C737461727475705F67643332663130785F636C2E730000000015737461727475705F67643332663130785F636C2E7300000000BECEA100FFFFFFFF6D443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C5254455C4465766963655C474433324631303756435C73797374656D5F67643332663130782E63000000001173797374656D5F67643332663130782E6300000000F0A0A100FFFFFFFF6A443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C5254455C4465766963655C474433324631303756435C67643332663130785F7263752E63000000000E67643332663130785F7263752E6300000000BCA8E100FFFFFFFF73433A5C55736572735C557365725C417070446174615C4C6F63616C5C41726D5C5061636B735C476967614465766963655C47443332463130785F4446505C322E302E335C4465766963655C4669726D776172655C5065726970686572616C735C696E635C67643332663130785F6770696F2E68000000000F67643332663130785F6770696F2E68000000009CC1B600FFFFFFFF72433A5C55736572735C557365725C417070446174615C4C6F63616C5C41726D5C5061636B735C476967614465766963655C47443332463130785F4446505C322E302E335C4465766963655C4669726D776172655C5065726970686572616C735C696E635C67643332663130785F7263752E68000000000E67643332663130785F7263752E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000008B01000081000000000A000021040000
+ 1669
+ 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000B00000006000000010000004C443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C6D61696E2E6300000000066D61696E2E6300000000EAD6A300FFFFFFFF71443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C5254455C4465766963655C474433324631303756435C737461727475705F67643332663130785F636C2E730000000015737461727475705F67643332663130785F636C2E7300000000BCA8E100FFFFFFFF65443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C44656D6F5461736B735C53696D706C655443504563686F5365727665722E63000000001553696D706C655443504563686F5365727665722E6300000000F7B88600FFFFFFFF68443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C4672656552544F535F536F636B6574732E6300000000124672656552544F535F536F636B6574732E6300000000A5C2D700FFFFFFFF63443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C4672656552544F535F49502E63000000000D4672656552544F535F49502E6300000000A5C2D700FFFFFFFF65443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C4672656552544F535F444843502E63000000000F4672656552544F535F444843502E6300000000B3A6BE00FFFFFFFF69443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C4672656552544F535F49505F5574696C732E6300000000134672656552544F535F49505F5574696C732E6300000000B3A6BE00FFFFFFFF78443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C696E636C7564655C4672656552544F534950436F6E66696744656661756C74732E68000000001A4672656552544F534950436F6E66696744656661756C74732E6800000000D9ADC200FFFFFFFF71443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C696E636C7564655C4672656552544F535F49505F5574696C732E6800000000134672656552544F535F49505F5574696C732E6800000000A5C2D700FFFFFFFF6D443A5C55736572735C72696768745C446F63756D656E74735C4B65696C5C50726F6A656374735C546573745F70726F6A6563745F666F725F47443332313037432D4556414C5C4672656552544F535C736F757263655C696E636C7564655C4672656552544F535F444843502E68000000000F4672656552544F535F444843502E6800000000B3A6BE00FFFFFFFF4E433A5C55736572735C557365725C417070446174615C4C6F63616C5C41726D5C5061636B735C41524D5C434D5349532D4672656552544F535C31302E352E315C536F757263655C7461736B732E6300000000077461736B732E6300000000EAD6A300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007001000081000000000A000021040000
@@ -130,11 +130,11 @@
0
16
- 000000005F00000087010000FF030000
+ 000000005F0000006C010000FF030000
16
- 00000000810000008701000021040000
+ 00000000810000006C01000021040000
@@ -150,7 +150,7 @@
0
16
- 030000008300000084010000DC030000
+ 030000008300000069010000DC030000
16
@@ -170,7 +170,7 @@
0
16
- 030000008300000084010000DC030000
+ 030000008300000069010000DC030000
16
@@ -450,7 +450,7 @@
0
16
- 030000008300000084010000DC030000
+ 030000008300000069010000DC030000
16
@@ -470,7 +470,7 @@
0
16
- 030000008300000084010000DC030000
+ 030000008300000069010000DC030000
16
@@ -1150,7 +1150,7 @@
0
16
- 030000008300000084010000DC030000
+ 030000008300000069010000DC030000
16
@@ -1710,7 +1710,7 @@
0
16
- 0000000000000000E003000020000000
+ 0100000000000000E103000020000000
16
@@ -1798,15 +1798,15 @@
- 3369
- 000000000B000000000000000010000001000000FFFFFFFFFFFFFFFF870100005F0000008B010000FF03000001000000020000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E65001000000100000000000000810000008701000021040000000000005F00000087010000FF0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0200000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000020000000000000FFFFFFFFFFFFFFFF440100001D0100006A07000021010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D6010000458900000180002000000000000044010000810000006A0700003F010000440100005F0000006A0700001D0100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF260600005F0000002A060000D7020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002A060000810000006A070000F90200002A0600005F0000006A070000D702000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF00000000B60200006A070000BA02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000DC0200006A070000BB03000000000000BA0200006A0700009903000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB5030000BA020000B90300009903000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000FF030000000A0000030400000100000001000010040000000100000008FDFFFFC301000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000025040000000A0000470500000000000003040000000A0000250500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF1F416C6C205265666572656E636573206F6620275243555F454E45545253542701000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 3370
+ 000000000B000000000000000010000001000000FFFFFFFFFFFFFFFF6C0100005F00000070010000FF03000001000000020000100400000001000000F3FCFFFFE806000000000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E65001000000100000000000000810000006C01000021040000000000005F0000006C010000FF0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0200000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000020000000000000FFFFFFFFFFFFFFFF440100001D0100006A07000021010000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D6010000458900000180002000000000000044010000810000006A0700003F010000440100005F0000006A0700001D0100000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF260600005F0000002A060000D7020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002A060000810000006A070000F90200002A0600005F0000006A070000D702000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000000000000FFFFFFFFFFFFFFFF00000000B60200006A070000BA02000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000DC0200006A070000BB03000000000000BA0200006A0700009903000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFB5030000BA020000B90300009903000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000FF030000000A0000030400000100000001000010040000000100000008FDFFFFC301000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000025040000000A0000470500000000000003040000000A0000250500000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF20416C6C205265666572656E636573206F662027764448435050726F636573732701000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0400000000000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 3000
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001773797374656D5F636C6F636B5F3130386D5F687874616C960000000000000014001773797374656D5F636C6F636B5F3130386D5F687874616C105243555F464C41475F504C4C32535442065243555F41460F4750494F5F4D4F44455F41465F50500366726D001641524D5F4554485F4D41435F47657456657273696F6E0F4765744361706162696C69746965731241524D5F4452495645525F4554485F4D41430F4472697665725F4554485F4D4143302E42617365547970655F7420784E6574776F726B496E74657266616365496E697469616C6973652820766F6964202905737461746517656E65745F64657363726970746F72735F7374727563741448414C5F4554485F5374617465547970654465661B23646566696E65204554485F5479706544656620202020766F69640B4554485F547970654465660478455448114554485F48616E646C655479706544656611784765745068794C696E6B53746174757325764E6574776F726B496E74657266616365416C6C6F6361746552414D546F427566666572730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65F1010000
+ 2984
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000106970636F6E6669675553455F4448435096000000000000001400106970636F6E6669675553455F444843501E6970636F6E6669675553455F4E4554574F524B5F4556454E545F484F4F4B104652454552544F535F41465F494E45541773797374656D5F636C6F636B5F3130386D5F687874616C105243555F464C41475F504C4C32535442065243555F41460F4750494F5F4D4F44455F41465F50500366726D001641524D5F4554485F4D41435F47657456657273696F6E0F4765744361706162696C69746965731241524D5F4452495645525F4554485F4D41430F4472697665725F4554485F4D4143302E42617365547970655F7420784E6574776F726B496E74657266616365496E697469616C6973652820766F6964202905737461746517656E65745F64657363726970746F72735F7374727563741448414C5F4554485F5374617465547970654465661B23646566696E65204554485F5479706544656620202020766F69640B4554485F5479706544656604784554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65F1010000
1423
@@ -1822,7 +1822,7 @@
Build
976
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C642F010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000008546172676574203196000000000000000100085461726765742031000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C642F010000
583
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756747010000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756747010000
898
@@ -1871,11 +1871,11 @@
0
16
- 440100005F000000D407000026010000
+ B00100005F000000D40700001F020000
16
- 4401000081000000D407000048010000
+ B001000081000000D407000000010000
@@ -1891,7 +1891,7 @@
0
16
- 03000000830000003D01000050040000
+ 0300000083000000A90100001F040000
16
@@ -1911,7 +1911,7 @@
0
16
- 03000000830000003D01000050040000
+ 0300000083000000A90100001F040000
16
@@ -1927,7 +1927,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -1947,7 +1947,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -1967,7 +1967,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -1987,7 +1987,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2031,7 +2031,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -2047,7 +2047,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2067,7 +2067,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2087,7 +2087,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2107,7 +2107,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2127,7 +2127,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2147,7 +2147,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2167,7 +2167,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2191,7 +2191,7 @@
0
16
- 03000000830000003D01000050040000
+ 0300000083000000A90100001F040000
16
@@ -2211,7 +2211,7 @@
0
16
- 03000000830000003D01000050040000
+ 0300000083000000A90100001F040000
16
@@ -2231,7 +2231,7 @@
0
16
- 030000009B040000D107000002050000
+ 030000006A040000D107000002050000
16
@@ -2271,7 +2271,7 @@
0
16
- 030000009B040000D107000002050000
+ 030000006A040000D107000002050000
16
@@ -2291,7 +2291,7 @@
0
16
- 4401000080000000D407000026010000
+ B001000080000000D40700001F020000
16
@@ -2311,7 +2311,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -2367,7 +2367,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2391,7 +2391,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -2411,7 +2411,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -2431,7 +2431,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -2451,7 +2451,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -2891,7 +2891,7 @@
0
16
- 03000000830000003D01000050040000
+ 0300000083000000A90100001F040000
16
@@ -2911,7 +2911,7 @@
0
16
- 030000009B040000D107000002050000
+ 030000006A040000D107000002050000
16
@@ -2931,7 +2931,7 @@
0
16
- 030000009B040000D107000002050000
+ 030000006A040000D107000002050000
16
@@ -2947,7 +2947,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2967,7 +2967,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -2991,7 +2991,7 @@
0
16
- 0000000098040000D407000025050000
+ 0000000067040000D407000025050000
16
@@ -3011,7 +3011,7 @@
0
16
- 030000009B040000D107000002050000
+ 030000006A040000D107000002050000
16
@@ -3031,7 +3031,7 @@
0
16
- 4701000083000000D107000003010000
+ B301000083000000D1070000BB000000
16
@@ -3511,7 +3511,7 @@
2
16
- 00000000200000009202000040000000
+ 05000000200000009702000040000000
16
@@ -3527,7 +3527,7 @@
0
32767
0
- 32768
+ 16384
0
16
@@ -3539,15 +3539,15 @@
- 3363
- 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFF4401000026010000D40700002A010000010000000100001004000000010000000CFFFFFFA8020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000004401000081000000D407000048010000440100005F000000D4070000260100000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF260600005F0000002A060000D7020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002A060000810000006A070000F90200002A0600005F0000006A070000D702000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF400100005F0000004401000073040000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000810000004001000095040000000000005F00000040010000730400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000073040000D4070000770400000100000001000010040000000100000029FDFFFF1901000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000099040000D4070000470500000000000077040000D4070000250500000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF2E416C6C205265666572656E636573206F66202770727650726F636573734E6574776F726B446F776E4576656E742701000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF0400000000000000C600000002000000000000000000000002000000FFFFFFFF0000000082040000D40700008604000000000000010000000400000000000000000000000000000000000000000000000000000002000000FFFFFFFFC5000000C600000001000000C600000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFD40700005F000000D807000025050000010000000200001004000000010000006AFAFFFF1B03000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000D807000081000000000A000047050000D80700005F000000000A00002505000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203201000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0A00000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+ 3353
+ 000000000B000000000000000020000001000000FFFFFFFFFFFFFFFFB00100001F020000D4070000230200000100000001000010040000000100000083FFFFFF5B030000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000001000000B001000081000000D407000000010000B00100005F000000D40700001F0200000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF260600005F0000002A060000D7020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002A060000810000006A070000F90200002A0600005F0000006A070000D702000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFAC0100005F000000B00100004204000001000000020000100400000001000000EAFDFFFFB3050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000081000000AC01000064040000000000005F000000AC010000420400000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000042040000D40700004604000001000000010000100400000001000000C0FDFFFFB001000000000000000000000000000001000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000068040000D4070000470500000000000046040000D4070000250500000000000040820056060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF24416C6C205265666572656E636573206F6620276970636F6E6669675553455F444843502701000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF0400000000000000C600000002000000000000000000000002000000FFFFFFFF0000000082040000D40700008604000000000000010000000400000000000000000000000000000000000000000000000000000002000000FFFFFFFFC5000000C600000001000000C600000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFD40700005F000000D807000025050000010000000200001004000000010000006AFAFFFF1B03000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800040000001000000D807000081000000000A000047050000D80700005F000000000A00002505000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203201000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
59392
File
- 3000
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001773797374656D5F636C6F636B5F3130386D5F687874616C960000000000000014001773797374656D5F636C6F636B5F3130386D5F687874616C105243555F464C41475F504C4C32535442065243555F41460F4750494F5F4D4F44455F41465F50500366726D001641524D5F4554485F4D41435F47657456657273696F6E0F4765744361706162696C69746965731241524D5F4452495645525F4554485F4D41430F4472697665725F4554485F4D4143302E42617365547970655F7420784E6574776F726B496E74657266616365496E697469616C6973652820766F6964202905737461746517656E65745F64657363726970746F72735F7374727563741448414C5F4554485F5374617465547970654465661B23646566696E65204554485F5479706544656620202020766F69640B4554485F547970654465660478455448114554485F48616E646C655479706544656611784765745068794C696E6B53746174757325764E6574776F726B496E74657266616365416C6C6F6361746552414D546F427566666572730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65D5030000
+ 2984
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000106970636F6E6669675553455F4448435096000000000000001400106970636F6E6669675553455F444843501E6970636F6E6669675553455F4E4554574F524B5F4556454E545F484F4F4B104652454552544F535F41465F494E45541773797374656D5F636C6F636B5F3130386D5F687874616C105243555F464C41475F504C4C32535442065243555F41460F4750494F5F4D4F44455F41465F50500366726D001641524D5F4554485F4D41435F47657456657273696F6E0F4765744361706162696C69746965731241524D5F4452495645525F4554485F4D41430F4472697665725F4554485F4D4143302E42617365547970655F7420784E6574776F726B496E74657266616365496E697469616C6973652820766F6964202905737461746517656E65745F64657363726970746F72735F7374727563741448414C5F4554485F5374617465547970654465661B23646566696E65204554485F5479706544656620202020766F69640B4554485F5479706544656604784554480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000000180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65D5030000
1423
@@ -3563,7 +3563,7 @@
Build
955
- 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64E1010000
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64E1010000
583
@@ -3579,7 +3579,7 @@
Debug
2362
- 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756787020000
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756787020000
898
@@ -3603,12 +3603,12 @@
0
100
- 0
+ 6
.\main.c
- 53
- 198
- 214
+ 0
+ 284
+ 295
1
0
@@ -3623,37 +3623,82 @@
0
- RTE/Device/GD32F107VC/system_gd32f10x.c
- 41
- 859
- 791
+ .\DemoTasks\SimpleTCPEchoServer.c
+ 31
+ 129
+ 142
1
0
- RTE/Device/GD32F107VC/gd32f10x_rcu.c
- 9
- 93
- 123
+ .\FreeRTOS\source\FreeRTOS_Sockets.c
+ 28
+ 1276
+ 1288
1
0
- C:\Users\User\AppData\Local\Arm\Packs\GigaDevice\GD32F10x_DFP\2.0.3\Device\Firmware\Peripherals\inc\gd32f10x_gpio.h
+ .\FreeRTOS\source\FreeRTOS_IP.c
+ 0
+ 365
+ 393
+ 1
+
+ 0
+
+
+ .\FreeRTOS\source\FreeRTOS_DHCP.c
+ 0
+ 576
+ 587
+ 1
+
+ 0
+
+
+ .\FreeRTOS\source\FreeRTOS_IP_Utils.c
+ 23
+ 344
+ 370
+ 1
+
+ 0
+
+
+ FreeRTOS\source\include\FreeRTOSIPConfigDefaults.h
12
- 41
- 73
+ 531
+ 559
1
0
- C:\Users\User\AppData\Local\Arm\Packs\GigaDevice\GD32F10x_DFP\2.0.3\Device\Firmware\Peripherals\inc\gd32f10x_rcu.h
- 8
- 66
- 351
+ FreeRTOS\source\include\FreeRTOS_IP_Utils.h
+ 6
+ 43
+ 64
+ 1
+
+ 0
+
+
+ FreeRTOS\source\include\FreeRTOS_DHCP.h
+ 6
+ 30
+ 44
+ 1
+
+ 0
+
+
+ C:/Users/User/AppData/Local/Arm/Packs/ARM/CMSIS-FreeRTOS/10.5.1/Source/tasks.c
+ 0
+ 1205
+ 1216
1
0
@@ -3676,7 +3721,6 @@
.\FreeRTOS\source\FreeRTOS_Sockets.c 907
.\FreeRTOS\source\FreeRTOS_Sockets.c 909
.\FreeRTOS\source\FreeRTOS_Sockets.c 919
- .\FreeRTOS\source\FreeRTOS_Sockets.c 1287
.\FreeRTOS\source\FreeRTOS_Sockets.c 1613
.\FreeRTOS\source\FreeRTOS_Sockets.c 1615
.\FreeRTOS\source\FreeRTOS_Sockets.c 2891
@@ -3702,8 +3746,8 @@
.\FreeRTOS\source\FreeRTOS_DHCP.c 1245
.\FreeRTOS\source\FreeRTOS_DHCP.c 1246
.\FreeRTOS\source\FreeRTOS_DHCP.c 1271
- RTE/Device/GD32F107VC/gd32f10x_enet.c 3070
- .\main.c 199
+ .\PHY\PHY_DP83848C.c 166
+ .\PHY\PHY_DP83848C.c 193
diff --git a/Test_project_for_GD32107C-EVAL.uvoptx b/Test_project_for_GD32107C-EVAL.uvoptx
index d68e007..d9e743a 100644
--- a/Test_project_for_GD32107C-EVAL.uvoptx
+++ b/Test_project_for_GD32107C-EVAL.uvoptx
@@ -153,7 +153,40 @@
UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0GD32F10x_CL -FS08000000 -FL040000 -FP0($$Device:GD32F107VC$Flash\GD32F10x_CL.FLM))
-
+
+
+ 0
+ 0
+ 391
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\FreeRTOS\source\FreeRTOS_IP.c
+
+
+
+
+ 1
+ 0
+ 406
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\FreeRTOS\source\FreeRTOS_IP.c
+
+
+
+
0
@@ -170,15 +203,41 @@
1
mac
+
+ 3
+ 1
+ PHY
+
1
0
- 0x40011000
+ 0x40028014
0
+
+
+ 2
+ 0
+ 0x20001FCC
+ 0
+
+
+
+
+ 3
+ 0
+ reg
+ 0
+
+
+
+ C:\Users\User\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.5.1\CMSIS\RTOS2\FreeRTOS\FreeRTOS.scvd
+ ARM.CMSIS-FreeRTOS.10.5.1
+ 1
+
0
@@ -278,6 +337,18 @@
0
0
+
+ 1
+ 5
+ 1
+ 1
+ 0
+ 0
+ .\PHY\PHY_DP83848C.c
+ PHY_DP83848C.c
+ 0
+ 0
+
@@ -288,7 +359,7 @@
0
2
- 5
+ 6
1
0
0
@@ -300,7 +371,7 @@
2
- 6
+ 7
1
0
0
@@ -312,7 +383,7 @@
2
- 7
+ 8
1
0
0
@@ -324,7 +395,7 @@
2
- 8
+ 9
1
0
0
@@ -336,7 +407,7 @@
2
- 9
+ 10
1
0
0
@@ -348,7 +419,7 @@
2
- 10
+ 11
1
0
0
@@ -360,7 +431,7 @@
2
- 11
+ 12
1
0
0
@@ -372,7 +443,7 @@
2
- 12
+ 13
1
0
0
@@ -384,7 +455,7 @@
2
- 13
+ 14
1
0
0
@@ -396,7 +467,7 @@
2
- 14
+ 15
1
0
0
@@ -408,7 +479,7 @@
2
- 15
+ 16
1
0
0
@@ -420,7 +491,7 @@
2
- 16
+ 17
1
0
0
@@ -432,7 +503,7 @@
2
- 17
+ 18
1
0
0
@@ -444,7 +515,7 @@
2
- 18
+ 19
1
0
0
@@ -456,7 +527,7 @@
2
- 19
+ 20
1
0
0
@@ -468,7 +539,7 @@
2
- 20
+ 21
1
0
0
@@ -480,7 +551,7 @@
2
- 21
+ 22
1
0
0
@@ -492,7 +563,7 @@
2
- 22
+ 23
1
0
0
@@ -504,7 +575,7 @@
2
- 23
+ 24
1
0
0
@@ -516,7 +587,7 @@
2
- 24
+ 25
1
0
0
@@ -528,7 +599,7 @@
2
- 25
+ 26
1
0
0
@@ -540,7 +611,7 @@
2
- 26
+ 27
1
0
0
@@ -552,7 +623,7 @@
2
- 27
+ 28
1
0
0
@@ -564,7 +635,7 @@
2
- 28
+ 29
1
0
0
@@ -602,22 +673,6 @@
::Device
- 0
- 0
- 0
- 1
-
-
-
- ::FreeRTOS
- 0
- 0
- 0
- 1
-
-
-
- ::RTOS
1
0
0
@@ -625,7 +680,7 @@
- ::Security
+ ::RTOS
0
0
0
diff --git a/Test_project_for_GD32107C-EVAL.uvprojx b/Test_project_for_GD32107C-EVAL.uvprojx
index 257c5f2..a88460f 100644
--- a/Test_project_for_GD32107C-EVAL.uvprojx
+++ b/Test_project_for_GD32107C-EVAL.uvprojx
@@ -341,7 +341,7 @@
-D DEBUG -Wno-pragma-pack -Wno-macro-redefined
- .\FreeRTOS\source\portable\NetworkInterface\include;.\FreeRTOS\source\include;.\FreeRTOS\source\portable\Compiler\Keil;C:\Users\User\AppData\Local\Arm\Packs\Arm-Packs\PKCS11\1.0.0\include;.\DemoTasks\include
+ .\FreeRTOS\source\portable\NetworkInterface\include;.\FreeRTOS\source\include;.\FreeRTOS\source\portable\Compiler\Keil;.\DemoTasks\include
@@ -405,6 +405,11 @@
1
.\DemoTasks\TCPEchoClient_SingleTasks.c
+
+ PHY_DP83848C.c
+ 1
+ .\PHY\PHY_DP83848C.c
+
@@ -613,78 +618,6 @@
::Device
-
- ::FreeRTOS
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 0
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 0
- 2
- 2
- 2
- 2
- 2
- 0
- 0
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 0
-
-
-
-
-
-
-
-
-
-
::RTOS
@@ -757,78 +690,6 @@
-
- ::Security
-
-
- 0
- 0
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 11
-
-
- 1
-
-
-
- 2
- 0
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 0
- 2
- 2
- 2
- 2
- 2
- 0
- 0
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 0
-
-
-
-
-
-
-
-
-
-
@@ -930,6 +791,12 @@
+
+
+
+
+
+
@@ -942,30 +809,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -1044,12 +887,6 @@
-
-
-
-
-
-
diff --git a/main.c b/main.c
index 695dfb3..e530990 100644
--- a/main.c
+++ b/main.c
@@ -55,9 +55,9 @@
#define TEST_RUNNER_TASK_STACK_SIZE 512
-#define mainCREATE_SIMPLE_UDP_CLIENT_SERVER_TASKS 1
+#define mainCREATE_SIMPLE_UDP_CLIENT_SERVER_TASKS 0
#define mainCREATE_TCP_ECHO_TASKS_SINGLE 0
-#define mainCREATE_TCP_ECHO_SERVER_TASK 0
+#define mainCREATE_TCP_ECHO_SERVER_TASK 1
/* Simple UDP client and server task parameters. */
#define mainSIMPLE_UDP_CLIENT_SERVER_TASK_PRIORITY ( tskIDLE_PRIORITY )
@@ -219,7 +219,7 @@ static void vInitMCU(void)
gpio_init(RMII_MDC_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, RMII_MDC);
gpio_init(RMII_MDIO_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, RMII_MDIO);
- gpio_init(RMII_INT_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, RMII_INT);
+ gpio_init(RMII_INT_PORT, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, RMII_INT);
gpio_init(RMII_REF_CLK_PORT, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, RMII_MCO);
@@ -300,7 +300,7 @@ int main(void)
xTaskCreate( vTaskToggleLed, "ToggleLed", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY+1, NULL);
xTaskCreate( vTaskHelloWorld, "HelloWorld", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY+1, NULL);
FreeRTOS_IPInit( ucIPAddress, ucNetMask, ucGatewayAddress, ucDNSServerAddress, ucMACAddress );
- vStartSimpleTCPServerTasks( configMINIMAL_STACK_SIZE*2, tskIDLE_PRIORITY+1 );
+// vStartSimpleTCPServerTasks( configMINIMAL_STACK_SIZE*2, tskIDLE_PRIORITY+1 );
vTaskStartScheduler();
while(1);
}