From f040e2b48ddc660a79d9513be2167b39a9bd01bd Mon Sep 17 00:00:00 2001 From: Jan Michel <j.michel@gsi.de> Date: Tue, 26 Oct 2021 13:05:36 +0200 Subject: [PATCH] add Serdes configurations for ECP5 --- .gitignore | 3 + .../ecp5/chan1_0/serdes_sync_2.vhd | 435 ++++ .../ecp5/dual_serdes/dual_serdes.vhd | 472 ++++ .../ecp5/dual_serdes/serdes0/serdes0.lpc | 97 + .../ecp5/dual_serdes/serdes0/serdes0.ngd | Bin 0 -> 389501 bytes .../ecp5/dual_serdes/serdes0/serdes0.ngo | Bin 0 -> 201409 bytes .../ecp5/dual_serdes/serdes0/serdes0.vhd | 435 ++++ .../ecp5/dual_serdes/serdes0/serdes0_ngd.asd | 1 + .../dual_serdes/serdes0/serdes0_softlogic.v | 2003 +++++++++++++++++ .../ecp5/dual_serdes/serdes1/serdes1.ipx | 7 + .../ecp5/dual_serdes/serdes1/serdes1.lpc | 97 + .../ecp5/dual_serdes/serdes1/serdes1.ngd | Bin 0 -> 252668 bytes .../ecp5/dual_serdes/serdes1/serdes1.ngo | Bin 0 -> 132921 bytes .../ecp5/dual_serdes/serdes1/serdes1.vhd | 396 ++++ .../ecp5/dual_serdes/serdes1/serdes1_ngd.asd | 1 + .../dual_serdes/serdes1/serdes1_softlogic.v | 943 ++++++++ media_interfaces/med_ecp5_sfp_sync_2.vhd | 11 +- 17 files changed, 4897 insertions(+), 4 deletions(-) create mode 100644 media_interfaces/ecp5/chan1_0/serdes_sync_2.vhd create mode 100644 media_interfaces/ecp5/dual_serdes/dual_serdes.vhd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes0/serdes0.lpc create mode 100644 media_interfaces/ecp5/dual_serdes/serdes0/serdes0.ngd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes0/serdes0.ngo create mode 100644 media_interfaces/ecp5/dual_serdes/serdes0/serdes0.vhd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes0/serdes0_ngd.asd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes0/serdes0_softlogic.v create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ipx create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1.lpc create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ngd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ngo create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1.vhd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1_ngd.asd create mode 100644 media_interfaces/ecp5/dual_serdes/serdes1/serdes1_softlogic.v diff --git a/.gitignore b/.gitignore index 85dbe37..c3418cd 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,6 @@ diamond *.cst *.fdc *.sbx +syn_results +*.cmd +*.bak* diff --git a/media_interfaces/ecp5/chan1_0/serdes_sync_2.vhd b/media_interfaces/ecp5/chan1_0/serdes_sync_2.vhd new file mode 100644 index 0000000..cb91e51 --- /dev/null +++ b/media_interfaces/ecp5/chan1_0/serdes_sync_2.vhd @@ -0,0 +1,435 @@ + +-- +-- Verific VHDL Description of module DCUA +-- + +-- DCUA is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes_sync_0rsl_core +-- + +-- serdes_sync_0rsl_core is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes_sync_0sll_core +-- + +-- serdes_sync_0sll_core is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes_sync_0 +-- + +library ieee ; +use ieee.std_logic_1164.all ; + +library ecp5um ; +use ecp5um.components.all ; + +entity serdes_sync_2 is + port (hdoutp: out std_logic; + hdoutn: out std_logic; + hdinp: in std_logic; + hdinn: in std_logic; + rxrefclk: in std_logic; + rx_pclk: out std_logic; + tx_pclk: out std_logic; + txdata: in std_logic_vector(7 downto 0); + tx_k: in std_logic_vector(0 downto 0); + tx_force_disp: in std_logic_vector(0 downto 0); + tx_disp_sel: in std_logic_vector(0 downto 0); + rxdata: out std_logic_vector(7 downto 0); + rx_k: out std_logic_vector(0 downto 0); + rx_disp_err: out std_logic_vector(0 downto 0); + rx_cv_err: out std_logic_vector(0 downto 0); + tx_idle_c: in std_logic; + signal_detect_c: in std_logic; + rx_los_low_s: out std_logic; + lsm_status_s: out std_logic; + rx_cdr_lol_s: out std_logic; + sli_rst: in std_logic; + tx_pwrup_c: in std_logic; + rx_pwrup_c: in std_logic; + sci_wrdata: in std_logic_vector(7 downto 0); + sci_addr: in std_logic_vector(5 downto 0); + sci_rddata: out std_logic_vector(7 downto 0); + sci_en_dual: in std_logic; + sci_sel_dual: in std_logic; + sci_en: in std_logic; + sci_sel: in std_logic; + sci_rd: in std_logic; + sci_wrn: in std_logic; + sci_int: out std_logic; + cyawstn: in std_logic; + serdes_pdb: in std_logic; + pll_refclki: in std_logic; + rsl_disable: in std_logic; + rsl_rst: in std_logic; + serdes_rst_dual_c: in std_logic; + rst_dual_c: in std_logic; + tx_serdes_rst_c: in std_logic; + tx_pcs_rst_c: in std_logic; + pll_lol: out std_logic; + rsl_tx_rdy: out std_logic; + rx_serdes_rst_c: in std_logic; + rx_pcs_rst_c: in std_logic; + rsl_rx_rdy: out std_logic + ); + +end entity serdes_sync_2; + +architecture v1 of serdes_sync_2 is + component serdes_sync_0rsl_core is + generic (pnum_channels: integer := 1; + pprotocol: string := "G8B10B"; + pserdes_mode: string := "RX AND TX"; + pport_tx_rdy: string := "ENABLED"; + pwait_tx_rdy: integer := 3000; + pport_rx_rdy: string := "ENABLED"; + pwait_rx_rdy: integer := 3000); + port (rui_rst: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(132) + rui_serdes_rst_dual_c: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(133) + rui_rst_dual_c: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(134) + rui_rsl_disable: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(135) + rui_tx_ref_clk: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(137) + rui_tx_serdes_rst_c: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(138) + rui_tx_pcs_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(139) + rdi_pll_lol: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(140) + rui_rx_ref_clk: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(142) + rui_rx_serdes_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(143) + rui_rx_pcs_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(144) + rdi_rx_los_low_s: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(145) + rdi_rx_cdr_lol_s: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(146) + rdo_serdes_rst_dual_c: out std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(149) + rdo_rst_dual_c: out std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(150) + ruo_tx_rdy: out std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(152) + rdo_tx_serdes_rst_c: out std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(153) + rdo_tx_pcs_rst_c: out std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(154) + ruo_rx_rdy: out std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(156) + rdo_rx_serdes_rst_c: out std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(157) + rdo_rx_pcs_rst_c: out std_logic_vector(3 downto 0) -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(158) + ); + + end component serdes_sync_0rsl_core; -- syn_black_box=1 -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/rsl_core_syn.v(88) + component serdes_sync_0sll_core is + generic (PPROTOCOL: string := "G8B10B"; + PLOL_SETTING: integer := 1; + PDYN_RATE_CTRL: string := "DISABLED"; + PPCIE_MAX_RATE: string := "2.5"; + PDIFF_VAL_LOCK: integer := 20; + PDIFF_VAL_UNLOCK: integer := 132; + PPCLK_TC: integer := 65536; + PDIFF_DIV11_VAL_LOCK: integer := 0; + PDIFF_DIV11_VAL_UNLOCK: integer := 0; + PPCLK_DIV11_TC: integer := 0); + port (sli_rst: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(125) + sli_refclk: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(126) + sli_pclk: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(127) + sli_div2_rate: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(128) + sli_div11_rate: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(129) + sli_gear_mode: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(130) + sli_cpri_mode: in std_logic_vector(2 downto 0); -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(131) + sli_pcie_mode: in std_logic; -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(132) + slo_plol: out std_logic -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(135) + ); + + end component serdes_sync_0sll_core; -- syn_black_box=1 -- /d/jspc29/lattice/diamond/3.10_x64/ispfpga/sa5p00/data/sll_core_template.v(107) + signal n48,n47,n1,n2,n3,n4,rx_pclk_c,tx_pclk_c,n5,n6,n7,n8,n9, + n10,n11,n12,rx_los_low_s_c,n13,n14,n15,n16,rx_cdr_lol_s_c,n17, + n18,rsl_tx_pcs_rst_c,rsl_rx_pcs_rst_c,rsl_rx_serdes_rst_c,rsl_rst_dual_c, + rsl_serdes_rst_dual_c,rsl_tx_serdes_rst_c,n19,n20,n21,n22,n23, + n24,n25,n26,n27,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37, + n38,n39,n40,n41,n42,n43,n44,n45,n46,n49,n106,n105,n50,n51, + n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65, + n66,n67,n68,n69,n70,n71,n72,n73,n74,n75,n76,n77,n78,n79, + n80,n81,n82,n83,n84,n85,n86,n87,n88,n89,n90,n91,n92,n93, + n94,n95,n96,n97,n98,n99,n100,n101,n102,n103,n104,n115,n114, + n113,pll_lol_c,n125,n124,n116,n117,n118,n119,n120,n121,n122, + n123,\_Z\,n127,n126,gnd,pwr : std_logic; + attribute LOC : string; + attribute LOC of DCU0_inst : label is "DCU1"; + attribute CHAN : string; + attribute CHAN of DCU0_inst : label is "CH0"; +begin + rx_pclk <= rx_pclk_c; + tx_pclk <= tx_pclk_c; + rx_los_low_s <= rx_los_low_s_c; + rx_cdr_lol_s <= rx_cdr_lol_s_c; + pll_lol <= pll_lol_c; + DCU0_inst: component DCUA generic map (D_MACROPDB=>"0b1",D_IB_PWDNB=>"0b1", + D_XGE_MODE=>"0b0",D_LOW_MARK=>"0d4",D_HIGH_MARK=>"0d12",D_BUS8BIT_SEL=>"0b0", + D_CDR_LOL_SET=>"0b11",D_TXPLL_PWDNB=>"0b1",D_BITCLK_LOCAL_EN=>"0b1", + D_BITCLK_ND_EN=>"0b0",D_BITCLK_FROM_ND_EN=>"0b0",D_SYNC_LOCAL_EN=>"0b1", + D_SYNC_ND_EN=>"0b0",CH0_UC_MODE=>"0b1",CH0_PCIE_MODE=>"0b0",CH0_RIO_MODE=>"0b0", + CH0_WA_MODE=>"0b0",CH0_INVERT_RX=>"0b0",CH0_INVERT_TX=>"0b0",CH0_PRBS_SELECTION=>"0b0", + CH0_GE_AN_ENABLE=>"0b0",CH0_PRBS_LOCK=>"0b0",CH0_PRBS_ENABLE=>"0b0", + CH0_ENABLE_CG_ALIGN=>"0b1",CH0_TX_GEAR_MODE=>"0b0",CH0_RX_GEAR_MODE=>"0b0", + CH0_PCS_DET_TIME_SEL=>"0b00",CH0_PCIE_EI_EN=>"0b0",CH0_TX_GEAR_BYPASS=>"0b0", + CH0_ENC_BYPASS=>"0b0",CH0_SB_BYPASS=>"0b0",CH0_RX_SB_BYPASS=>"0b0", + CH0_WA_BYPASS=>"0b0",CH0_DEC_BYPASS=>"0b0",CH0_CTC_BYPASS=>"0b1", + CH0_RX_GEAR_BYPASS=>"0b0",CH0_LSM_DISABLE=>"0b0",CH0_MATCH_2_ENABLE=>"0b0", + CH0_MATCH_4_ENABLE=>"0b1",CH0_MIN_IPG_CNT=>"0b11",CH0_CC_MATCH_1=>"0x1BC", + CH0_CC_MATCH_2=>"0x11C",CH0_CC_MATCH_3=>"0x11C",CH0_CC_MATCH_4=>"0x11C", + CH0_UDF_COMMA_MASK=>"0x0ff",CH0_UDF_COMMA_A=>"0x083",CH0_UDF_COMMA_B=>"0x07C", + CH0_RX_DCO_CK_DIV=>"0b000",CH0_RCV_DCC_EN=>"0b0",CH0_TPWDNB=>"0b1", + CH0_RATE_MODE_TX=>"0b0",CH0_RTERM_TX=>"0d19",CH0_TX_CM_SEL=>"0b00", + CH0_TDRV_PRE_EN=>"0b0",CH0_TDRV_SLICE0_SEL=>"0b00",CH0_TDRV_SLICE1_SEL=>"0b00", + CH0_TDRV_SLICE2_SEL=>"0b01",CH0_TDRV_SLICE3_SEL=>"0b01",CH0_TDRV_SLICE4_SEL=>"0b01", + CH0_TDRV_SLICE5_SEL=>"0b00",CH0_TDRV_SLICE0_CUR=>"0b000",CH0_TDRV_SLICE1_CUR=>"0b000", + CH0_TDRV_SLICE2_CUR=>"0b11",CH0_TDRV_SLICE3_CUR=>"0b11",CH0_TDRV_SLICE4_CUR=>"0b01", + CH0_TDRV_SLICE5_CUR=>"0b00",CH0_TDRV_DAT_SEL=>"0b00",CH0_TX_DIV11_SEL=>"0b0", + CH0_RPWDNB=>"0b1",CH0_RATE_MODE_RX=>"0b0",CH0_RX_DIV11_SEL=>"0b0", + CH0_SEL_SD_RX_CLK=>"0b1",CH0_FF_RX_H_CLK_EN=>"0b0",CH0_FF_RX_F_CLK_DIS=>"0b0", + CH0_FF_TX_H_CLK_EN=>"0b0",CH0_FF_TX_F_CLK_DIS=>"0b0",CH0_TDRV_POST_EN=>"0b0", + CH0_TX_POST_SIGN=>"0b0",CH0_TX_PRE_SIGN=>"0b0",CH0_REQ_LVL_SET=>"0b00", + CH0_REQ_EN=>"0b1",CH0_RTERM_RX=>"0d22",CH0_RXTERM_CM=>"0b11",CH0_PDEN_SEL=>"0b1", + CH0_RXIN_CM=>"0b11",CH0_LEQ_OFFSET_SEL=>"0b0",CH0_LEQ_OFFSET_TRIM=>"0b000", + CH0_RLOS_SEL=>"0b1",CH0_RX_LOS_LVL=>"0b100",CH0_RX_LOS_CEQ=>"0b11", + CH0_RX_LOS_HYST_EN=>"0b0",CH0_RX_LOS_EN=>"0b1",CH0_LDR_RX2CORE_SEL=>"0b0", + CH0_LDR_CORE2TX_SEL=>"0b0",D_TX_MAX_RATE=>"2",CH0_CDR_MAX_RATE=>"2", + CH0_TXAMPLITUDE=>"0d800",CH0_TXDEPRE=>"DISABLED",CH0_TXDEPOST=>"DISABLED", + CH0_PROTOCOL=>"G8B10B",D_ISETLOS=>"0d0",D_SETIRPOLY_AUX=>"0b10",D_SETICONST_AUX=>"0b01", + D_SETIRPOLY_CH=>"0b10",D_SETICONST_CH=>"0b10",D_REQ_ISET=>"0b001", + D_PD_ISET=>"0b00",D_DCO_CALIB_TIME_SEL=>"0b00",CH0_CDR_CNT4SEL=>"0b00", + CH0_CDR_CNT8SEL=>"0b00",CH0_DCOATDCFG=>"0b00",CH0_DCOATDDLY=>"0b00", + CH0_DCOBYPSATD=>"0b1",CH0_DCOCALDIV=>"0b000",CH0_DCOCTLGI=>"0b011", + CH0_DCODISBDAVOID=>"0b0",CH0_DCOFLTDAC=>"0b00",CH0_DCOFTNRG=>"0b001", + CH0_DCOIOSTUNE=>"0b010",CH0_DCOITUNE=>"0b00",CH0_DCOITUNE4LSB=>"0b010", + CH0_DCOIUPDNX2=>"0b1",CH0_DCONUOFLSB=>"0b100",CH0_DCOSCALEI=>"0b01", + CH0_DCOSTARTVAL=>"0b010",CH0_DCOSTEP=>"0b11",CH0_BAND_THRESHOLD=>"0d0", + CH0_AUTO_FACQ_EN=>"0b1",CH0_AUTO_CALIB_EN=>"0b1",CH0_CALIB_CK_MODE=>"0b0", + CH0_REG_BAND_OFFSET=>"0d0",CH0_REG_BAND_SEL=>"0d0",CH0_REG_IDAC_SEL=>"0d0", + CH0_REG_IDAC_EN=>"0b0",D_CMUSETISCL4VCO=>"0b000",D_CMUSETI4VCO=>"0b00", + D_CMUSETINITVCT=>"0b00",D_CMUSETZGM=>"0b000",D_CMUSETP2AGM=>"0b000", + D_CMUSETP1GM=>"0b000",D_CMUSETI4CPZ=>"0d3",D_CMUSETI4CPP=>"0d3",D_CMUSETICP4Z=>"0b101", + D_CMUSETICP4P=>"0b01",D_CMUSETBIASI=>"0b00",D_SETPLLRC=>"0d1",CH0_RX_RATE_SEL=>"0d10", + D_REFCK_MODE=>"0b001",D_TX_VCO_CK_DIV=>"0b000",D_PLL_LOL_SET=>"0b01", + D_RG_EN=>"0b0",D_RG_SET=>"0b00") + port map (CH0_HDINP=>hdinp,CH1_HDINP=>n106,CH0_HDINN=>hdinn,CH1_HDINN=>n106, + D_TXBIT_CLKP_FROM_ND=>n47,D_TXBIT_CLKN_FROM_ND=>n47,D_SYNC_ND=>n47,D_TXPLL_LOL_FROM_ND=>n47, + CH0_RX_REFCLK=>rxrefclk,CH1_RX_REFCLK=>n106,CH0_FF_RXI_CLK=>rx_pclk_c, + CH1_FF_RXI_CLK=>n105,CH0_FF_TXI_CLK=>tx_pclk_c,CH1_FF_TXI_CLK=>n105,CH0_FF_EBRD_CLK=>n48, + CH1_FF_EBRD_CLK=>n105,CH0_FF_TX_D_0=>txdata(0),CH1_FF_TX_D_0=>n106,CH0_FF_TX_D_1=>txdata(1), + CH1_FF_TX_D_1=>n106,CH0_FF_TX_D_2=>txdata(2),CH1_FF_TX_D_2=>n106,CH0_FF_TX_D_3=>txdata(3), + CH1_FF_TX_D_3=>n106,CH0_FF_TX_D_4=>txdata(4),CH1_FF_TX_D_4=>n106,CH0_FF_TX_D_5=>txdata(5), + CH1_FF_TX_D_5=>n106,CH0_FF_TX_D_6=>txdata(6),CH1_FF_TX_D_6=>n106,CH0_FF_TX_D_7=>txdata(7), + CH1_FF_TX_D_7=>n106,CH0_FF_TX_D_8=>tx_k(0),CH1_FF_TX_D_8=>n106,CH0_FF_TX_D_9=>tx_force_disp(0), + CH1_FF_TX_D_9=>n106,CH0_FF_TX_D_10=>tx_disp_sel(0),CH1_FF_TX_D_10=>n106, + CH0_FF_TX_D_11=>n47,CH1_FF_TX_D_11=>n106,CH0_FF_TX_D_12=>n106,CH1_FF_TX_D_12=>n106, + CH0_FF_TX_D_13=>n106,CH1_FF_TX_D_13=>n106,CH0_FF_TX_D_14=>n106,CH1_FF_TX_D_14=>n106, + CH0_FF_TX_D_15=>n106,CH1_FF_TX_D_15=>n106,CH0_FF_TX_D_16=>n106,CH1_FF_TX_D_16=>n106, + CH0_FF_TX_D_17=>n106,CH1_FF_TX_D_17=>n106,CH0_FF_TX_D_18=>n106,CH1_FF_TX_D_18=>n106, + CH0_FF_TX_D_19=>n106,CH1_FF_TX_D_19=>n106,CH0_FF_TX_D_20=>n106,CH1_FF_TX_D_20=>n106, + CH0_FF_TX_D_21=>n106,CH1_FF_TX_D_21=>n106,CH0_FF_TX_D_22=>n106,CH1_FF_TX_D_22=>n106, + CH0_FF_TX_D_23=>n47,CH1_FF_TX_D_23=>n106,CH0_FFC_EI_EN=>tx_idle_c,CH1_FFC_EI_EN=>n106, + CH0_FFC_PCIE_DET_EN=>n47,CH1_FFC_PCIE_DET_EN=>n106,CH0_FFC_PCIE_CT=>n47, + CH1_FFC_PCIE_CT=>n106,CH0_FFC_SB_INV_RX=>n106,CH1_FFC_SB_INV_RX=>n106, + CH0_FFC_ENABLE_CGALIGN=>n106,CH1_FFC_ENABLE_CGALIGN=>n106,CH0_FFC_SIGNAL_DETECT=>signal_detect_c, + CH1_FFC_SIGNAL_DETECT=>n106,CH0_FFC_FB_LOOPBACK=>n47,CH1_FFC_FB_LOOPBACK=>n106, + CH0_FFC_SB_PFIFO_LP=>n47,CH1_FFC_SB_PFIFO_LP=>n106,CH0_FFC_PFIFO_CLR=>n47, + CH1_FFC_PFIFO_CLR=>n106,CH0_FFC_RATE_MODE_RX=>n106,CH1_FFC_RATE_MODE_RX=>n106, + CH0_FFC_RATE_MODE_TX=>n106,CH1_FFC_RATE_MODE_TX=>n106,CH0_FFC_DIV11_MODE_RX=>n47, + CH1_FFC_DIV11_MODE_RX=>n106,CH0_FFC_DIV11_MODE_TX=>n47,CH1_FFC_DIV11_MODE_TX=>n106, + CH0_FFC_RX_GEAR_MODE=>n47,CH1_FFC_RX_GEAR_MODE=>n106,CH0_FFC_TX_GEAR_MODE=>n47, + CH1_FFC_TX_GEAR_MODE=>n106,CH0_FFC_LDR_CORE2TX_EN=>n106,CH1_FFC_LDR_CORE2TX_EN=>n106, + CH0_FFC_LANE_TX_RST=>rsl_tx_pcs_rst_c,CH1_FFC_LANE_TX_RST=>n106,CH0_FFC_LANE_RX_RST=>rsl_rx_pcs_rst_c, + CH1_FFC_LANE_RX_RST=>n106,CH0_FFC_RRST=>rsl_rx_serdes_rst_c,CH1_FFC_RRST=>n106, + CH0_FFC_TXPWDNB=>tx_pwrup_c,CH1_FFC_TXPWDNB=>n106,CH0_FFC_RXPWDNB=>rx_pwrup_c, + CH1_FFC_RXPWDNB=>n106,CH0_LDR_CORE2TX=>n106,CH1_LDR_CORE2TX=>n106,D_SCIWDATA0=>sci_wrdata(0), + D_SCIWDATA1=>sci_wrdata(1),D_SCIWDATA2=>sci_wrdata(2),D_SCIWDATA3=>sci_wrdata(3), + D_SCIWDATA4=>sci_wrdata(4),D_SCIWDATA5=>sci_wrdata(5),D_SCIWDATA6=>sci_wrdata(6), + D_SCIWDATA7=>sci_wrdata(7),D_SCIADDR0=>sci_addr(0),D_SCIADDR1=>sci_addr(1), + D_SCIADDR2=>sci_addr(2),D_SCIADDR3=>sci_addr(3),D_SCIADDR4=>sci_addr(4), + D_SCIADDR5=>sci_addr(5),D_SCIENAUX=>sci_en_dual,D_SCISELAUX=>sci_sel_dual, + CH0_SCIEN=>sci_en,CH1_SCIEN=>n106,CH0_SCISEL=>sci_sel,CH1_SCISEL=>n106, + D_SCIRD=>sci_rd,D_SCIWSTN=>sci_wrn,D_CYAWSTN=>cyawstn,D_FFC_SYNC_TOGGLE=>n106, + D_FFC_DUAL_RST=>rsl_rst_dual_c,D_FFC_MACRO_RST=>rsl_serdes_rst_dual_c, + D_FFC_MACROPDB=>serdes_pdb,D_FFC_TRST=>rsl_tx_serdes_rst_c,CH0_FFC_CDR_EN_BITSLIP=>n47, + CH1_FFC_CDR_EN_BITSLIP=>n106,D_SCAN_ENABLE=>n47,D_SCAN_IN_0=>n47,D_SCAN_IN_1=>n47, + D_SCAN_IN_2=>n47,D_SCAN_IN_3=>n47,D_SCAN_IN_4=>n47,D_SCAN_IN_5=>n47, + D_SCAN_IN_6=>n47,D_SCAN_IN_7=>n47,D_SCAN_MODE=>n47,D_SCAN_RESET=>n47, + D_CIN0=>n47,D_CIN1=>n47,D_CIN2=>n47,D_CIN3=>n47,D_CIN4=>n47,D_CIN5=>n47, + D_CIN6=>n47,D_CIN7=>n47,D_CIN8=>n47,D_CIN9=>n47,D_CIN10=>n47,D_CIN11=>n47, + CH0_HDOUTP=>hdoutp,CH1_HDOUTP=>n50,CH0_HDOUTN=>hdoutn,CH1_HDOUTN=>n51, + D_TXBIT_CLKP_TO_ND=>n1,D_TXBIT_CLKN_TO_ND=>n2,D_SYNC_PULSE2ND=>n3,D_TXPLL_LOL_TO_ND=>n4, + CH0_FF_RX_F_CLK=>n5,CH1_FF_RX_F_CLK=>n52,CH0_FF_RX_H_CLK=>n6,CH1_FF_RX_H_CLK=>n53, + CH0_FF_TX_F_CLK=>n7,CH1_FF_TX_F_CLK=>n54,CH0_FF_TX_H_CLK=>n8,CH1_FF_TX_H_CLK=>n55, + CH0_FF_RX_PCLK=>rx_pclk_c,CH1_FF_RX_PCLK=>n56,CH0_FF_TX_PCLK=>tx_pclk_c, + CH1_FF_TX_PCLK=>n57,CH0_FF_RX_D_0=>rxdata(0),CH1_FF_RX_D_0=>n58,CH0_FF_RX_D_1=>rxdata(1), + CH1_FF_RX_D_1=>n59,CH0_FF_RX_D_2=>rxdata(2),CH1_FF_RX_D_2=>n60,CH0_FF_RX_D_3=>rxdata(3), + CH1_FF_RX_D_3=>n61,CH0_FF_RX_D_4=>rxdata(4),CH1_FF_RX_D_4=>n62,CH0_FF_RX_D_5=>rxdata(5), + CH1_FF_RX_D_5=>n63,CH0_FF_RX_D_6=>rxdata(6),CH1_FF_RX_D_6=>n64,CH0_FF_RX_D_7=>rxdata(7), + CH1_FF_RX_D_7=>n65,CH0_FF_RX_D_8=>rx_k(0),CH1_FF_RX_D_8=>n66,CH0_FF_RX_D_9=>rx_disp_err(0), + CH1_FF_RX_D_9=>n67,CH0_FF_RX_D_10=>rx_cv_err(0),CH1_FF_RX_D_10=>n68,CH0_FF_RX_D_11=>n9, + CH1_FF_RX_D_11=>n69,CH0_FF_RX_D_12=>n70,CH1_FF_RX_D_12=>n71,CH0_FF_RX_D_13=>n72, + CH1_FF_RX_D_13=>n73,CH0_FF_RX_D_14=>n74,CH1_FF_RX_D_14=>n75,CH0_FF_RX_D_15=>n76, + CH1_FF_RX_D_15=>n77,CH0_FF_RX_D_16=>n78,CH1_FF_RX_D_16=>n79,CH0_FF_RX_D_17=>n80, + CH1_FF_RX_D_17=>n81,CH0_FF_RX_D_18=>n82,CH1_FF_RX_D_18=>n83,CH0_FF_RX_D_19=>n84, + CH1_FF_RX_D_19=>n85,CH0_FF_RX_D_20=>n86,CH1_FF_RX_D_20=>n87,CH0_FF_RX_D_21=>n88, + CH1_FF_RX_D_21=>n89,CH0_FF_RX_D_22=>n90,CH1_FF_RX_D_22=>n91,CH0_FF_RX_D_23=>n10, + CH1_FF_RX_D_23=>n92,CH0_FFS_PCIE_DONE=>n11,CH1_FFS_PCIE_DONE=>n93,CH0_FFS_PCIE_CON=>n12, + CH1_FFS_PCIE_CON=>n94,CH0_FFS_RLOS=>rx_los_low_s_c,CH1_FFS_RLOS=>n95, + CH0_FFS_LS_SYNC_STATUS=>lsm_status_s,CH1_FFS_LS_SYNC_STATUS=>n96,CH0_FFS_CC_UNDERRUN=>n13, + CH1_FFS_CC_UNDERRUN=>n97,CH0_FFS_CC_OVERRUN=>n14,CH1_FFS_CC_OVERRUN=>n98, + CH0_FFS_RXFBFIFO_ERROR=>n15,CH1_FFS_RXFBFIFO_ERROR=>n99,CH0_FFS_TXFBFIFO_ERROR=>n16, + CH1_FFS_TXFBFIFO_ERROR=>n100,CH0_FFS_RLOL=>rx_cdr_lol_s_c,CH1_FFS_RLOL=>n101, + CH0_FFS_SKP_ADDED=>n17,CH1_FFS_SKP_ADDED=>n102,CH0_FFS_SKP_DELETED=>n18, + CH1_FFS_SKP_DELETED=>n103,CH0_LDR_RX2CORE=>n104,CH1_LDR_RX2CORE=>n115, + D_SCIRDATA0=>sci_rddata(0),D_SCIRDATA1=>sci_rddata(1),D_SCIRDATA2=>sci_rddata(2), + D_SCIRDATA3=>sci_rddata(3),D_SCIRDATA4=>sci_rddata(4),D_SCIRDATA5=>sci_rddata(5), + D_SCIRDATA6=>sci_rddata(6),D_SCIRDATA7=>sci_rddata(7),D_SCIINT=>sci_int, + D_SCAN_OUT_0=>n19,D_SCAN_OUT_1=>n20,D_SCAN_OUT_2=>n21,D_SCAN_OUT_3=>n22, + D_SCAN_OUT_4=>n23,D_SCAN_OUT_5=>n24,D_SCAN_OUT_6=>n25,D_SCAN_OUT_7=>n26, + D_COUT0=>n27,D_COUT1=>n28,D_COUT2=>n29,D_COUT3=>n30,D_COUT4=>n31,D_COUT5=>n32, + D_COUT6=>n33,D_COUT7=>n34,D_COUT8=>n35,D_COUT9=>n36,D_COUT10=>n37,D_COUT11=>n38, + D_COUT12=>n39,D_COUT13=>n40,D_COUT14=>n41,D_COUT15=>n42,D_COUT16=>n43, + D_COUT17=>n44,D_COUT18=>n45,D_COUT19=>n46,D_REFCLKI=>pll_refclki,D_FFS_PLOL=>n49); + n48 <= '1' ; + n47 <= '0' ; + n1 <= 'Z' ; + n2 <= 'Z' ; + n3 <= 'Z' ; + n4 <= 'Z' ; + n5 <= 'Z' ; + n6 <= 'Z' ; + n7 <= 'Z' ; + n8 <= 'Z' ; + n9 <= 'Z' ; + n10 <= 'Z' ; + n11 <= 'Z' ; + n12 <= 'Z' ; + n13 <= 'Z' ; + n14 <= 'Z' ; + n15 <= 'Z' ; + n16 <= 'Z' ; + n17 <= 'Z' ; + n18 <= 'Z' ; + n19 <= 'Z' ; + n20 <= 'Z' ; + n21 <= 'Z' ; + n22 <= 'Z' ; + n23 <= 'Z' ; + n24 <= 'Z' ; + n25 <= 'Z' ; + n26 <= 'Z' ; + n27 <= 'Z' ; + n28 <= 'Z' ; + n29 <= 'Z' ; + n30 <= 'Z' ; + n31 <= 'Z' ; + n32 <= 'Z' ; + n33 <= 'Z' ; + n34 <= 'Z' ; + n35 <= 'Z' ; + n36 <= 'Z' ; + n37 <= 'Z' ; + n38 <= 'Z' ; + n39 <= 'Z' ; + n40 <= 'Z' ; + n41 <= 'Z' ; + n42 <= 'Z' ; + n43 <= 'Z' ; + n44 <= 'Z' ; + n45 <= 'Z' ; + n46 <= 'Z' ; + n49 <= 'Z' ; + n106 <= '0' ; + n105 <= '1' ; + n50 <= 'Z' ; + n51 <= 'Z' ; + n52 <= 'Z' ; + n53 <= 'Z' ; + n54 <= 'Z' ; + n55 <= 'Z' ; + n56 <= 'Z' ; + n57 <= 'Z' ; + n58 <= 'Z' ; + n59 <= 'Z' ; + n60 <= 'Z' ; + n61 <= 'Z' ; + n62 <= 'Z' ; + n63 <= 'Z' ; + n64 <= 'Z' ; + n65 <= 'Z' ; + n66 <= 'Z' ; + n67 <= 'Z' ; + n68 <= 'Z' ; + n69 <= 'Z' ; + n70 <= 'Z' ; + n71 <= 'Z' ; + n72 <= 'Z' ; + n73 <= 'Z' ; + n74 <= 'Z' ; + n75 <= 'Z' ; + n76 <= 'Z' ; + n77 <= 'Z' ; + n78 <= 'Z' ; + n79 <= 'Z' ; + n80 <= 'Z' ; + n81 <= 'Z' ; + n82 <= 'Z' ; + n83 <= 'Z' ; + n84 <= 'Z' ; + n85 <= 'Z' ; + n86 <= 'Z' ; + n87 <= 'Z' ; + n88 <= 'Z' ; + n89 <= 'Z' ; + n90 <= 'Z' ; + n91 <= 'Z' ; + n92 <= 'Z' ; + n93 <= 'Z' ; + n94 <= 'Z' ; + n95 <= 'Z' ; + n96 <= 'Z' ; + n97 <= 'Z' ; + n98 <= 'Z' ; + n99 <= 'Z' ; + n100 <= 'Z' ; + n101 <= 'Z' ; + n102 <= 'Z' ; + n103 <= 'Z' ; + n104 <= 'Z' ; + n115 <= 'Z' ; + rsl_inst: component serdes_sync_0rsl_core port map (rui_rst=>rsl_rst,rui_serdes_rst_dual_c=>serdes_rst_dual_c, + rui_rst_dual_c=>rst_dual_c,rui_rsl_disable=>rsl_disable,rui_tx_ref_clk=>pll_refclki, + rui_tx_serdes_rst_c=>tx_serdes_rst_c,rui_tx_pcs_rst_c(3)=>n125, + rui_tx_pcs_rst_c(2)=>n125,rui_tx_pcs_rst_c(1)=>n125,rui_tx_pcs_rst_c(0)=>tx_pcs_rst_c, + rdi_pll_lol=>pll_lol_c,rui_rx_ref_clk=>rxrefclk,rui_rx_serdes_rst_c(3)=>n125, + rui_rx_serdes_rst_c(2)=>n125,rui_rx_serdes_rst_c(1)=>n125,rui_rx_serdes_rst_c(0)=>rx_serdes_rst_c, + rui_rx_pcs_rst_c(3)=>n125,rui_rx_pcs_rst_c(2)=>n125,rui_rx_pcs_rst_c(1)=>n125, + rui_rx_pcs_rst_c(0)=>rx_pcs_rst_c,rdi_rx_los_low_s(3)=>n125,rdi_rx_los_low_s(2)=>n125, + rdi_rx_los_low_s(1)=>n125,rdi_rx_los_low_s(0)=>rx_los_low_s_c, + rdi_rx_cdr_lol_s(3)=>n125,rdi_rx_cdr_lol_s(2)=>n125,rdi_rx_cdr_lol_s(1)=>n125, + rdi_rx_cdr_lol_s(0)=>rx_cdr_lol_s_c,rdo_serdes_rst_dual_c=>rsl_serdes_rst_dual_c, + rdo_rst_dual_c=>rsl_rst_dual_c,ruo_tx_rdy=>rsl_tx_rdy,rdo_tx_serdes_rst_c=>rsl_tx_serdes_rst_c, + rdo_tx_pcs_rst_c(3)=>n116,rdo_tx_pcs_rst_c(2)=>n117,rdo_tx_pcs_rst_c(1)=>n118, + rdo_tx_pcs_rst_c(0)=>rsl_tx_pcs_rst_c,ruo_rx_rdy=>rsl_rx_rdy,rdo_rx_serdes_rst_c(3)=>n119, + rdo_rx_serdes_rst_c(2)=>n120,rdo_rx_serdes_rst_c(1)=>n121,rdo_rx_serdes_rst_c(0)=>rsl_rx_serdes_rst_c, + rdo_rx_pcs_rst_c(3)=>n122,rdo_rx_pcs_rst_c(2)=>n123,rdo_rx_pcs_rst_c(1)=>\_Z\, + rdo_rx_pcs_rst_c(0)=>rsl_rx_pcs_rst_c); + n114 <= '1' ; + n113 <= '0' ; + n125 <= '0' ; + n124 <= '1' ; + n116 <= 'Z' ; + n117 <= 'Z' ; + n118 <= 'Z' ; + n119 <= 'Z' ; + n120 <= 'Z' ; + n121 <= 'Z' ; + n122 <= 'Z' ; + n123 <= 'Z' ; + \_Z\ <= 'Z' ; + sll_inst: component serdes_sync_0sll_core port map (sli_rst=>sli_rst,sli_refclk=>pll_refclki, + sli_pclk=>tx_pclk_c,sli_div2_rate=>gnd,sli_div11_rate=>gnd,sli_gear_mode=>gnd, + sli_cpri_mode(2)=>gnd,sli_cpri_mode(1)=>gnd,sli_cpri_mode(0)=>gnd, + sli_pcie_mode=>gnd,slo_plol=>pll_lol_c); + n127 <= '1' ; + n126 <= '0' ; + gnd <= '0' ; + pwr <= '1' ; + +end architecture v1; + diff --git a/media_interfaces/ecp5/dual_serdes/dual_serdes.vhd b/media_interfaces/ecp5/dual_serdes/dual_serdes.vhd new file mode 100644 index 0000000..25c8754 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/dual_serdes.vhd @@ -0,0 +1,472 @@ + + + +-- +-- Verific VHDL Description of module dual_serdes +-- + +library ieee ; +use ieee.std_logic_1164.all ; + +entity dual_serdes is + port (serdes0_rx_cv_err: out std_logic_vector(0 downto 0); + serdes0_rx_disp_err: out std_logic_vector(0 downto 0); + serdes0_rx_k: out std_logic_vector(0 downto 0); + serdes0_rxdata: out std_logic_vector(7 downto 0); + serdes0_tx_disp_sel: in std_logic_vector(0 downto 0); + serdes0_tx_force_disp: in std_logic_vector(0 downto 0); + serdes0_tx_k: in std_logic_vector(0 downto 0); + serdes0_txdata: in std_logic_vector(7 downto 0); + serdes1_rx_cv_err: out std_logic_vector(0 downto 0); + serdes1_rx_disp_err: out std_logic_vector(0 downto 0); + serdes1_rx_k: out std_logic_vector(0 downto 0); + serdes1_rxdata: out std_logic_vector(7 downto 0); + serdes1_sci_addr: in std_logic_vector(5 downto 0); + serdes1_sci_rddata: out std_logic_vector(7 downto 0); + serdes1_sci_wrdata: in std_logic_vector(7 downto 0); + serdes1_tx_disp_sel: in std_logic_vector(0 downto 0); + serdes1_tx_force_disp: in std_logic_vector(0 downto 0); + serdes1_tx_k: in std_logic_vector(0 downto 0); + serdes1_txdata: in std_logic_vector(7 downto 0); + serdes0_hdinn: in std_logic; + serdes0_hdinp: in std_logic; + serdes0_hdoutn: out std_logic; + serdes0_hdoutp: out std_logic; + serdes0_lsm_status_s: out std_logic; + serdes0_pll_lol: out std_logic; + serdes0_rsl_disable: in std_logic; + serdes0_rsl_rst: in std_logic; + serdes0_rsl_rx_rdy: out std_logic; + serdes0_rsl_tx_rdy: out std_logic; + serdes0_rst_dual_c: in std_logic; + serdes0_rx_cdr_lol_s: out std_logic; + serdes0_rx_los_low_s: out std_logic; + serdes0_rx_pclk: out std_logic; + serdes0_rx_pcs_rst_c: in std_logic; + serdes0_rx_pwrup_c: in std_logic; + serdes0_rx_serdes_rst_c: in std_logic; + serdes0_rxrefclk: in std_logic; + serdes0_sci_en: in std_logic; + serdes0_sci_sel: in std_logic; + serdes0_serdes_rst_dual_c: in std_logic; + serdes0_signal_detect_c: in std_logic; + serdes0_tx_idle_c: in std_logic; + serdes0_tx_pclk: out std_logic; + serdes0_tx_pcs_rst_c: in std_logic; + serdes0_tx_pwrup_c: in std_logic; + serdes0_tx_serdes_rst_c: in std_logic; + serdes1_cyawstn: in std_logic; + serdes1_hdinn: in std_logic; + serdes1_hdinp: in std_logic; + serdes1_hdoutn: out std_logic; + serdes1_hdoutp: out std_logic; + serdes1_lsm_status_s: out std_logic; + serdes1_pll_refclki: in std_logic; + serdes1_rsl_disable: in std_logic; + serdes1_rsl_rst: in std_logic; + serdes1_rsl_rx_rdy: out std_logic; + serdes1_rsl_tx_rdy: out std_logic; + serdes1_rst_dual_c: in std_logic; + serdes1_rx_cdr_lol_s: out std_logic; + serdes1_rx_los_low_s: out std_logic; + serdes1_rx_pclk: out std_logic; + serdes1_rx_pcs_rst_c: in std_logic; + serdes1_rx_pwrup_c: in std_logic; + serdes1_rx_serdes_rst_c: in std_logic; + serdes1_rxrefclk: in std_logic; + serdes1_sci_en: in std_logic; + serdes1_sci_en_dual: in std_logic; + serdes1_sci_rd: in std_logic; + serdes1_sci_sel: in std_logic; + serdes1_sci_sel_dual: in std_logic; + serdes1_sci_wrn: in std_logic; + serdes1_serdes_pdb: in std_logic; + serdes1_serdes_rst_dual_c: in std_logic; + serdes1_signal_detect_c: in std_logic; + serdes1_tx_idle_c: in std_logic; + serdes1_tx_pclk: out std_logic; + serdes1_tx_pcs_rst_c: in std_logic; + serdes1_tx_pwrup_c: in std_logic; + serdes1_tx_serdes_rst_c: in std_logic + ); + +end entity dual_serdes; -- sbp_module=true +-- +-- architecture dual_serdes_sim of dual_serdes is +-- component serdes0 is +-- port (rx_cv_err: out std_logic_vector(0 downto 0); +-- rx_disp_err: out std_logic_vector(0 downto 0); +-- rx_k: out std_logic_vector(0 downto 0); +-- rxdata: out std_logic_vector(7 downto 0); +-- sci_addr: in std_logic_vector(5 downto 0); +-- sci_rddata: out std_logic_vector(7 downto 0); +-- sci_wrdata: in std_logic_vector(7 downto 0); +-- tx_disp_sel: in std_logic_vector(0 downto 0); +-- tx_force_disp: in std_logic_vector(0 downto 0); +-- tx_k: in std_logic_vector(0 downto 0); +-- txdata: in std_logic_vector(7 downto 0); +-- cyawstn: in std_logic; +-- hdinn: in std_logic; +-- hdinp: in std_logic; +-- hdoutn: out std_logic; +-- hdoutp: out std_logic; +-- lsm_status_s: out std_logic; +-- pll_lol: out std_logic; +-- pll_refclki: in std_logic; +-- rsl_disable: in std_logic; +-- rsl_rst: in std_logic; +-- rsl_rx_rdy: out std_logic; +-- rsl_tx_rdy: out std_logic; +-- rst_dual_c: in std_logic; +-- rx_cdr_lol_s: out std_logic; +-- rx_los_low_s: out std_logic; +-- rx_pclk: out std_logic; +-- rx_pcs_rst_c: in std_logic; +-- rx_pwrup_c: in std_logic; +-- rx_serdes_rst_c: in std_logic; +-- rxrefclk: in std_logic; +-- sci_en: in std_logic; +-- sci_en_dual: in std_logic; +-- sci_int: out std_logic; +-- sci_rd: in std_logic; +-- sci_sel: in std_logic; +-- sci_sel_dual: in std_logic; +-- sci_wrn: in std_logic; +-- serdes_pdb: in std_logic; +-- serdes_rst_dual_c: in std_logic; +-- signal_detect_c: in std_logic; +-- sli_rst: in std_logic; +-- tx_idle_c: in std_logic; +-- tx_pclk: out std_logic; +-- tx_pcs_rst_c: in std_logic; +-- tx_pwrup_c: in std_logic; +-- tx_serdes_rst_c: in std_logic +-- ); +-- +-- end component serdes0; +-- component serdes1 is +-- port (rx_cv_err: out std_logic_vector(0 downto 0); +-- rx_disp_err: out std_logic_vector(0 downto 0); +-- rx_k: out std_logic_vector(0 downto 0); +-- rxdata: out std_logic_vector(7 downto 0); +-- sci_addr: in std_logic_vector(5 downto 0); +-- sci_rddata: out std_logic_vector(7 downto 0); +-- sci_wrdata: in std_logic_vector(7 downto 0); +-- tx_disp_sel: in std_logic_vector(0 downto 0); +-- tx_force_disp: in std_logic_vector(0 downto 0); +-- tx_k: in std_logic_vector(0 downto 0); +-- txdata: in std_logic_vector(7 downto 0); +-- cyawstn: in std_logic; +-- hdinn: in std_logic; +-- hdinp: in std_logic; +-- hdoutn: out std_logic; +-- hdoutp: out std_logic; +-- lsm_status_s: out std_logic; +-- pll_lol: in std_logic; +-- pll_refclki: in std_logic; +-- rsl_disable: in std_logic; +-- rsl_rst: in std_logic; +-- rsl_rx_rdy: out std_logic; +-- rsl_tx_rdy: out std_logic; +-- rst_dual_c: in std_logic; +-- rx_cdr_lol_s: out std_logic; +-- rx_los_low_s: out std_logic; +-- rx_pclk: out std_logic; +-- rx_pcs_rst_c: in std_logic; +-- rx_pwrup_c: in std_logic; +-- rx_serdes_rst_c: in std_logic; +-- rxrefclk: in std_logic; +-- sci_en: in std_logic; +-- sci_en_dual: in std_logic; +-- sci_int: out std_logic; +-- sci_rd: in std_logic; +-- sci_sel: in std_logic; +-- sci_sel_dual: in std_logic; +-- sci_wrn: in std_logic; +-- serdes_pdb: in std_logic; +-- serdes_rst_dual_c: in std_logic; +-- signal_detect_c: in std_logic; +-- tx_idle_c: in std_logic; +-- tx_pclk: out std_logic; +-- tx_pcs_rst_c: in std_logic; +-- tx_pwrup_c: in std_logic; +-- tx_serdes_rst_c: in std_logic +-- ); +-- +-- end component serdes1; +-- signal i_serdes0_sci_rddata : std_logic_vector(7 downto 0); +-- signal o_serdes0_sci_rddata : std_logic_vector(7 downto 0); +-- signal i_serdes1_sci_rddata : std_logic_vector(7 downto 0); +-- signal i_serdes0_pll_lol,i_serdes1_pll_lol,o_serdes1_pll_lol,i_serdes0_sci_int, +-- o_serdes0_sci_int,i_serdes1_sci_int,o_serdes1_sci_int,sli_rst_wire0, +-- gnd : std_logic; +-- begin +-- o_serdes0_sci_rddata <= i_serdes0_sci_rddata WHEN serdes0_sci_sel = '1' ELSE "00000000"; +-- serdes1_sci_rddata <= i_serdes1_sci_rddata WHEN serdes1_sci_sel = '1' ELSE o_serdes0_sci_rddata; +-- o_serdes1_pll_lol <= i_serdes1_pll_lol WHEN TRUE ELSE '0'; +-- serdes0_pll_lol <= i_serdes0_pll_lol WHEN TRUE ELSE o_serdes1_pll_lol; +-- o_serdes1_sci_int <= i_serdes1_sci_int WHEN serdes1_sci_sel = '1' ELSE '0'; +-- o_serdes0_sci_int <= i_serdes0_sci_int WHEN serdes0_sci_sel = '1' ELSE o_serdes1_sci_int; +-- sli_rst_wire0 <= serdes0_serdes_rst_dual_c OR serdes0_tx_serdes_rst_c OR (NOT serdes1_serdes_pdb) OR (NOT serdes0_tx_pwrup_c) OR (NOT serdes1_tx_pwrup_c); +-- serdes0_inst: component serdes0 port map (rx_cv_err(0)=>serdes0_rx_cv_err(0), +-- rx_disp_err(0)=>serdes0_rx_disp_err(0),rx_k(0)=>serdes0_rx_k(0), +-- rxdata(7)=>serdes0_rxdata(7),rxdata(6)=>serdes0_rxdata(6),rxdata(5)=>serdes0_rxdata(5), +-- rxdata(4)=>serdes0_rxdata(4),rxdata(3)=>serdes0_rxdata(3),rxdata(2)=>serdes0_rxdata(2), +-- rxdata(1)=>serdes0_rxdata(1),rxdata(0)=>serdes0_rxdata(0),sci_addr(5)=>serdes1_sci_addr(5), +-- sci_addr(4)=>serdes1_sci_addr(4),sci_addr(3)=>serdes1_sci_addr(3), +-- sci_addr(2)=>serdes1_sci_addr(2),sci_addr(1)=>serdes1_sci_addr(1), +-- sci_addr(0)=>serdes1_sci_addr(0),sci_rddata(7)=>i_serdes0_sci_rddata(7), +-- sci_rddata(6)=>i_serdes0_sci_rddata(6),sci_rddata(5)=>i_serdes0_sci_rddata(5), +-- sci_rddata(4)=>i_serdes0_sci_rddata(4),sci_rddata(3)=>i_serdes0_sci_rddata(3), +-- sci_rddata(2)=>i_serdes0_sci_rddata(2),sci_rddata(1)=>i_serdes0_sci_rddata(1), +-- sci_rddata(0)=>i_serdes0_sci_rddata(0),sci_wrdata(7)=>serdes1_sci_wrdata(7), +-- sci_wrdata(6)=>serdes1_sci_wrdata(6),sci_wrdata(5)=>serdes1_sci_wrdata(5), +-- sci_wrdata(4)=>serdes1_sci_wrdata(4),sci_wrdata(3)=>serdes1_sci_wrdata(3), +-- sci_wrdata(2)=>serdes1_sci_wrdata(2),sci_wrdata(1)=>serdes1_sci_wrdata(1), +-- sci_wrdata(0)=>serdes1_sci_wrdata(0),tx_disp_sel(0)=>serdes0_tx_disp_sel(0), +-- tx_force_disp(0)=>serdes0_tx_force_disp(0),tx_k(0)=>serdes0_tx_k(0), +-- txdata(7)=>serdes0_txdata(7),txdata(6)=>serdes0_txdata(6),txdata(5)=>serdes0_txdata(5), +-- txdata(4)=>serdes0_txdata(4),txdata(3)=>serdes0_txdata(3),txdata(2)=>serdes0_txdata(2), +-- txdata(1)=>serdes0_txdata(1),txdata(0)=>serdes0_txdata(0),cyawstn=>serdes1_cyawstn, +-- hdinn=>serdes0_hdinn,hdinp=>serdes0_hdinp,hdoutn=>serdes0_hdoutn, +-- hdoutp=>serdes0_hdoutp,lsm_status_s=>serdes0_lsm_status_s,pll_lol=>i_serdes0_pll_lol, +-- pll_refclki=>serdes1_pll_refclki,rsl_disable=>serdes0_rsl_disable, +-- rsl_rst=>serdes0_rsl_rst,rsl_rx_rdy=>serdes0_rsl_rx_rdy,rsl_tx_rdy=>serdes0_rsl_tx_rdy, +-- rst_dual_c=>serdes0_rst_dual_c,rx_cdr_lol_s=>serdes0_rx_cdr_lol_s, +-- rx_los_low_s=>serdes0_rx_los_low_s,rx_pclk=>serdes0_rx_pclk,rx_pcs_rst_c=>serdes0_rx_pcs_rst_c, +-- rx_pwrup_c=>serdes0_rx_pwrup_c,rx_serdes_rst_c=>serdes0_rx_serdes_rst_c, +-- rxrefclk=>serdes0_rxrefclk,sci_en=>serdes0_sci_en,sci_en_dual=>serdes1_sci_en_dual, +-- sci_int=>i_serdes0_sci_int,sci_rd=>serdes1_sci_rd,sci_sel=>serdes0_sci_sel, +-- sci_sel_dual=>serdes1_sci_sel_dual,sci_wrn=>serdes1_sci_wrn,serdes_pdb=>serdes1_serdes_pdb, +-- serdes_rst_dual_c=>serdes0_serdes_rst_dual_c,signal_detect_c=>serdes0_signal_detect_c, +-- sli_rst=>sli_rst_wire0,tx_idle_c=>serdes0_tx_idle_c,tx_pclk=>serdes0_tx_pclk, +-- tx_pcs_rst_c=>serdes0_tx_pcs_rst_c,tx_pwrup_c=>serdes0_tx_pwrup_c, +-- tx_serdes_rst_c=>serdes0_tx_serdes_rst_c); +-- serdes1_inst: component serdes1 port map (rx_cv_err(0)=>serdes1_rx_cv_err(0), +-- rx_disp_err(0)=>serdes1_rx_disp_err(0),rx_k(0)=>serdes1_rx_k(0), +-- rxdata(7)=>serdes1_rxdata(7),rxdata(6)=>serdes1_rxdata(6),rxdata(5)=>serdes1_rxdata(5), +-- rxdata(4)=>serdes1_rxdata(4),rxdata(3)=>serdes1_rxdata(3),rxdata(2)=>serdes1_rxdata(2), +-- rxdata(1)=>serdes1_rxdata(1),rxdata(0)=>serdes1_rxdata(0),sci_addr(5)=>serdes1_sci_addr(5), +-- sci_addr(4)=>serdes1_sci_addr(4),sci_addr(3)=>serdes1_sci_addr(3), +-- sci_addr(2)=>serdes1_sci_addr(2),sci_addr(1)=>serdes1_sci_addr(1), +-- sci_addr(0)=>serdes1_sci_addr(0),sci_rddata(7)=>i_serdes1_sci_rddata(7), +-- sci_rddata(6)=>i_serdes1_sci_rddata(6),sci_rddata(5)=>i_serdes1_sci_rddata(5), +-- sci_rddata(4)=>i_serdes1_sci_rddata(4),sci_rddata(3)=>i_serdes1_sci_rddata(3), +-- sci_rddata(2)=>i_serdes1_sci_rddata(2),sci_rddata(1)=>i_serdes1_sci_rddata(1), +-- sci_rddata(0)=>i_serdes1_sci_rddata(0),sci_wrdata(7)=>serdes1_sci_wrdata(7), +-- sci_wrdata(6)=>serdes1_sci_wrdata(6),sci_wrdata(5)=>serdes1_sci_wrdata(5), +-- sci_wrdata(4)=>serdes1_sci_wrdata(4),sci_wrdata(3)=>serdes1_sci_wrdata(3), +-- sci_wrdata(2)=>serdes1_sci_wrdata(2),sci_wrdata(1)=>serdes1_sci_wrdata(1), +-- sci_wrdata(0)=>serdes1_sci_wrdata(0),tx_disp_sel(0)=>serdes1_tx_disp_sel(0), +-- tx_force_disp(0)=>serdes1_tx_force_disp(0),tx_k(0)=>serdes1_tx_k(0), +-- txdata(7)=>serdes1_txdata(7),txdata(6)=>serdes1_txdata(6),txdata(5)=>serdes1_txdata(5), +-- txdata(4)=>serdes1_txdata(4),txdata(3)=>serdes1_txdata(3),txdata(2)=>serdes1_txdata(2), +-- txdata(1)=>serdes1_txdata(1),txdata(0)=>serdes1_txdata(0),cyawstn=>serdes1_cyawstn, +-- hdinn=>serdes1_hdinn,hdinp=>serdes1_hdinp,hdoutn=>serdes1_hdoutn, +-- hdoutp=>serdes1_hdoutp,lsm_status_s=>serdes1_lsm_status_s,pll_lol=>i_serdes1_pll_lol, +-- pll_refclki=>serdes1_pll_refclki,rsl_disable=>serdes1_rsl_disable, +-- rsl_rst=>serdes1_rsl_rst,rsl_rx_rdy=>serdes1_rsl_rx_rdy,rsl_tx_rdy=>serdes1_rsl_tx_rdy, +-- rst_dual_c=>serdes1_rst_dual_c,rx_cdr_lol_s=>serdes1_rx_cdr_lol_s, +-- rx_los_low_s=>serdes1_rx_los_low_s,rx_pclk=>serdes1_rx_pclk,rx_pcs_rst_c=>serdes1_rx_pcs_rst_c, +-- rx_pwrup_c=>serdes1_rx_pwrup_c,rx_serdes_rst_c=>serdes1_rx_serdes_rst_c, +-- rxrefclk=>serdes1_rxrefclk,sci_en=>serdes1_sci_en,sci_en_dual=>serdes1_sci_en_dual, +-- sci_int=>i_serdes1_sci_int,sci_rd=>serdes1_sci_rd,sci_sel=>serdes1_sci_sel, +-- sci_sel_dual=>serdes1_sci_sel_dual,sci_wrn=>serdes1_sci_wrn,serdes_pdb=>serdes1_serdes_pdb, +-- serdes_rst_dual_c=>serdes1_serdes_rst_dual_c,signal_detect_c=>serdes1_signal_detect_c, +-- tx_idle_c=>serdes1_tx_idle_c,tx_pclk=>serdes1_tx_pclk,tx_pcs_rst_c=>serdes1_tx_pcs_rst_c, +-- tx_pwrup_c=>serdes1_tx_pwrup_c,tx_serdes_rst_c=>serdes1_tx_serdes_rst_c); +-- gnd <= '0' ; +-- +-- end architecture dual_serdes_sim; -- sbp_module=true +architecture dual_serdes_syn of dual_serdes is + component serdes0 is + port (rx_cv_err: out std_logic_vector(0 downto 0); + rx_disp_err: out std_logic_vector(0 downto 0); + rx_k: out std_logic_vector(0 downto 0); + rxdata: out std_logic_vector(7 downto 0); + sci_addr: in std_logic_vector(5 downto 0); + sci_rddata: out std_logic_vector(7 downto 0); + sci_wrdata: in std_logic_vector(7 downto 0); + tx_disp_sel: in std_logic_vector(0 downto 0); + tx_force_disp: in std_logic_vector(0 downto 0); + tx_k: in std_logic_vector(0 downto 0); + txdata: in std_logic_vector(7 downto 0); + cyawstn: in std_logic; + hdinn: in std_logic; + hdinp: in std_logic; + hdoutn: out std_logic; + hdoutp: out std_logic; + lsm_status_s: out std_logic; + pll_lol: out std_logic; + pll_refclki: in std_logic; + rsl_disable: in std_logic; + rsl_rst: in std_logic; + rsl_rx_rdy: out std_logic; + rsl_tx_rdy: out std_logic; + rst_dual_c: in std_logic; + rx_cdr_lol_s: out std_logic; + rx_los_low_s: out std_logic; + rx_pclk: out std_logic; + rx_pcs_rst_c: in std_logic; + rx_pwrup_c: in std_logic; + rx_serdes_rst_c: in std_logic; + rxrefclk: in std_logic; + sci_en: in std_logic; + sci_en_dual: in std_logic; + sci_int: out std_logic; + sci_rd: in std_logic; + sci_sel: in std_logic; + sci_sel_dual: in std_logic; + sci_wrn: in std_logic; + serdes_pdb: in std_logic; + serdes_rst_dual_c: in std_logic; + signal_detect_c: in std_logic; + sli_rst: in std_logic; + tx_idle_c: in std_logic; + tx_pclk: out std_logic; + tx_pcs_rst_c: in std_logic; + tx_pwrup_c: in std_logic; + tx_serdes_rst_c: in std_logic + ); + + end component serdes0; -- not_need_bbox=true + + + component serdes1 is + port (rx_cv_err: out std_logic_vector(0 downto 0); + rx_disp_err: out std_logic_vector(0 downto 0); + rx_k: out std_logic_vector(0 downto 0); + rxdata: out std_logic_vector(7 downto 0); + sci_addr: in std_logic_vector(5 downto 0); + sci_rddata: out std_logic_vector(7 downto 0); + sci_wrdata: in std_logic_vector(7 downto 0); + tx_disp_sel: in std_logic_vector(0 downto 0); + tx_force_disp: in std_logic_vector(0 downto 0); + tx_k: in std_logic_vector(0 downto 0); + txdata: in std_logic_vector(7 downto 0); + cyawstn: in std_logic; + hdinn: in std_logic; + hdinp: in std_logic; + hdoutn: out std_logic; + hdoutp: out std_logic; + lsm_status_s: out std_logic; + pll_lol: in std_logic; + pll_refclki: in std_logic; + rsl_disable: in std_logic; + rsl_rst: in std_logic; + rsl_rx_rdy: out std_logic; + rsl_tx_rdy: out std_logic; + rst_dual_c: in std_logic; + rx_cdr_lol_s: out std_logic; + rx_los_low_s: out std_logic; + rx_pclk: out std_logic; + rx_pcs_rst_c: in std_logic; + rx_pwrup_c: in std_logic; + rx_serdes_rst_c: in std_logic; + rxrefclk: in std_logic; + sci_en: in std_logic; + sci_en_dual: in std_logic; + sci_int: out std_logic; + sci_rd: in std_logic; + sci_sel: in std_logic; + sci_sel_dual: in std_logic; + sci_wrn: in std_logic; + serdes_pdb: in std_logic; + serdes_rst_dual_c: in std_logic; + signal_detect_c: in std_logic; + tx_idle_c: in std_logic; + tx_pclk: out std_logic; + tx_pcs_rst_c: in std_logic; + tx_pwrup_c: in std_logic; + tx_serdes_rst_c: in std_logic + ); + + end component serdes1; -- not_need_bbox=true + + + signal i_serdes0_sci_rddata : std_logic_vector(7 downto 0); + signal o_serdes0_sci_rddata : std_logic_vector(7 downto 0); + signal i_serdes1_sci_rddata : std_logic_vector(7 downto 0); + signal i_serdes0_pll_lol,i_serdes1_pll_lol,o_serdes1_pll_lol,i_serdes0_sci_int, + o_serdes0_sci_int,i_serdes1_sci_int,o_serdes1_sci_int,sli_rst_wire0, + gnd : std_logic; +begin + serdes1_sci_rddata <= i_serdes1_sci_rddata; + serdes0_pll_lol <= i_serdes0_pll_lol; + sli_rst_wire0 <= serdes0_serdes_rst_dual_c OR serdes0_tx_serdes_rst_c OR (NOT serdes1_serdes_pdb) OR (NOT serdes0_tx_pwrup_c) OR (NOT serdes1_tx_pwrup_c); + serdes0_inst: component serdes0 port map (rx_cv_err(0)=>serdes0_rx_cv_err(0), + rx_disp_err(0)=>serdes0_rx_disp_err(0),rx_k(0)=>serdes0_rx_k(0), + rxdata(7)=>serdes0_rxdata(7),rxdata(6)=>serdes0_rxdata(6),rxdata(5)=>serdes0_rxdata(5), + rxdata(4)=>serdes0_rxdata(4),rxdata(3)=>serdes0_rxdata(3),rxdata(2)=>serdes0_rxdata(2), + rxdata(1)=>serdes0_rxdata(1),rxdata(0)=>serdes0_rxdata(0),sci_addr(5)=>serdes1_sci_addr(5), + sci_addr(4)=>serdes1_sci_addr(4),sci_addr(3)=>serdes1_sci_addr(3), + sci_addr(2)=>serdes1_sci_addr(2),sci_addr(1)=>serdes1_sci_addr(1), + sci_addr(0)=>serdes1_sci_addr(0),sci_rddata(7)=>i_serdes0_sci_rddata(7), + sci_rddata(6)=>i_serdes0_sci_rddata(6),sci_rddata(5)=>i_serdes0_sci_rddata(5), + sci_rddata(4)=>i_serdes0_sci_rddata(4),sci_rddata(3)=>i_serdes0_sci_rddata(3), + sci_rddata(2)=>i_serdes0_sci_rddata(2),sci_rddata(1)=>i_serdes0_sci_rddata(1), + sci_rddata(0)=>i_serdes0_sci_rddata(0),sci_wrdata(7)=>serdes1_sci_wrdata(7), + sci_wrdata(6)=>serdes1_sci_wrdata(6),sci_wrdata(5)=>serdes1_sci_wrdata(5), + sci_wrdata(4)=>serdes1_sci_wrdata(4),sci_wrdata(3)=>serdes1_sci_wrdata(3), + sci_wrdata(2)=>serdes1_sci_wrdata(2),sci_wrdata(1)=>serdes1_sci_wrdata(1), + sci_wrdata(0)=>serdes1_sci_wrdata(0),tx_disp_sel(0)=>serdes0_tx_disp_sel(0), + tx_force_disp(0)=>serdes0_tx_force_disp(0),tx_k(0)=>serdes0_tx_k(0), + txdata(7)=>serdes0_txdata(7),txdata(6)=>serdes0_txdata(6),txdata(5)=>serdes0_txdata(5), + txdata(4)=>serdes0_txdata(4),txdata(3)=>serdes0_txdata(3),txdata(2)=>serdes0_txdata(2), + txdata(1)=>serdes0_txdata(1),txdata(0)=>serdes0_txdata(0),cyawstn=>serdes1_cyawstn, + hdinn=>serdes0_hdinn,hdinp=>serdes0_hdinp,hdoutn=>serdes0_hdoutn, + hdoutp=>serdes0_hdoutp,lsm_status_s=>serdes0_lsm_status_s,pll_lol=>i_serdes0_pll_lol, + pll_refclki=>serdes1_pll_refclki,rsl_disable=>serdes0_rsl_disable, + rsl_rst=>serdes0_rsl_rst,rsl_rx_rdy=>serdes0_rsl_rx_rdy,rsl_tx_rdy=>serdes0_rsl_tx_rdy, + rst_dual_c=>serdes0_rst_dual_c,rx_cdr_lol_s=>serdes0_rx_cdr_lol_s, + rx_los_low_s=>serdes0_rx_los_low_s,rx_pclk=>serdes0_rx_pclk,rx_pcs_rst_c=>serdes0_rx_pcs_rst_c, + rx_pwrup_c=>serdes0_rx_pwrup_c,rx_serdes_rst_c=>serdes0_rx_serdes_rst_c, + rxrefclk=>serdes0_rxrefclk,sci_en=>serdes0_sci_en,sci_en_dual=>serdes1_sci_en_dual, + sci_int=>i_serdes0_sci_int,sci_rd=>serdes1_sci_rd,sci_sel=>serdes0_sci_sel, + sci_sel_dual=>serdes1_sci_sel_dual,sci_wrn=>serdes1_sci_wrn,serdes_pdb=>serdes1_serdes_pdb, + serdes_rst_dual_c=>serdes0_serdes_rst_dual_c,signal_detect_c=>serdes0_signal_detect_c, + sli_rst=>sli_rst_wire0,tx_idle_c=>serdes0_tx_idle_c,tx_pclk=>serdes0_tx_pclk, + tx_pcs_rst_c=>serdes0_tx_pcs_rst_c,tx_pwrup_c=>serdes0_tx_pwrup_c, + tx_serdes_rst_c=>serdes0_tx_serdes_rst_c); + serdes1_inst: component serdes1 port map (rx_cv_err(0)=>serdes1_rx_cv_err(0), + rx_disp_err(0)=>serdes1_rx_disp_err(0),rx_k(0)=>serdes1_rx_k(0), + rxdata(7)=>serdes1_rxdata(7),rxdata(6)=>serdes1_rxdata(6),rxdata(5)=>serdes1_rxdata(5), + rxdata(4)=>serdes1_rxdata(4),rxdata(3)=>serdes1_rxdata(3),rxdata(2)=>serdes1_rxdata(2), + rxdata(1)=>serdes1_rxdata(1),rxdata(0)=>serdes1_rxdata(0),sci_addr(5)=>serdes1_sci_addr(5), + sci_addr(4)=>serdes1_sci_addr(4),sci_addr(3)=>serdes1_sci_addr(3), + sci_addr(2)=>serdes1_sci_addr(2),sci_addr(1)=>serdes1_sci_addr(1), + sci_addr(0)=>serdes1_sci_addr(0),sci_rddata(7)=>i_serdes1_sci_rddata(7), + sci_rddata(6)=>i_serdes1_sci_rddata(6),sci_rddata(5)=>i_serdes1_sci_rddata(5), + sci_rddata(4)=>i_serdes1_sci_rddata(4),sci_rddata(3)=>i_serdes1_sci_rddata(3), + sci_rddata(2)=>i_serdes1_sci_rddata(2),sci_rddata(1)=>i_serdes1_sci_rddata(1), + sci_rddata(0)=>i_serdes1_sci_rddata(0),sci_wrdata(7)=>serdes1_sci_wrdata(7), + sci_wrdata(6)=>serdes1_sci_wrdata(6),sci_wrdata(5)=>serdes1_sci_wrdata(5), + sci_wrdata(4)=>serdes1_sci_wrdata(4),sci_wrdata(3)=>serdes1_sci_wrdata(3), + sci_wrdata(2)=>serdes1_sci_wrdata(2),sci_wrdata(1)=>serdes1_sci_wrdata(1), + sci_wrdata(0)=>serdes1_sci_wrdata(0),tx_disp_sel(0)=>serdes1_tx_disp_sel(0), + tx_force_disp(0)=>serdes1_tx_force_disp(0),tx_k(0)=>serdes1_tx_k(0), + txdata(7)=>serdes1_txdata(7),txdata(6)=>serdes1_txdata(6),txdata(5)=>serdes1_txdata(5), + txdata(4)=>serdes1_txdata(4),txdata(3)=>serdes1_txdata(3),txdata(2)=>serdes1_txdata(2), + txdata(1)=>serdes1_txdata(1),txdata(0)=>serdes1_txdata(0),cyawstn=>serdes1_cyawstn, + hdinn=>serdes1_hdinn,hdinp=>serdes1_hdinp,hdoutn=>serdes1_hdoutn, + hdoutp=>serdes1_hdoutp,lsm_status_s=>serdes1_lsm_status_s,pll_lol=>i_serdes1_pll_lol, + pll_refclki=>serdes1_pll_refclki,rsl_disable=>serdes1_rsl_disable, + rsl_rst=>serdes1_rsl_rst,rsl_rx_rdy=>serdes1_rsl_rx_rdy,rsl_tx_rdy=>serdes1_rsl_tx_rdy, + rst_dual_c=>serdes1_rst_dual_c,rx_cdr_lol_s=>serdes1_rx_cdr_lol_s, + rx_los_low_s=>serdes1_rx_los_low_s,rx_pclk=>serdes1_rx_pclk,rx_pcs_rst_c=>serdes1_rx_pcs_rst_c, + rx_pwrup_c=>serdes1_rx_pwrup_c,rx_serdes_rst_c=>serdes1_rx_serdes_rst_c, + rxrefclk=>serdes1_rxrefclk,sci_en=>serdes1_sci_en,sci_en_dual=>serdes1_sci_en_dual, + sci_int=>i_serdes1_sci_int,sci_rd=>serdes1_sci_rd,sci_sel=>serdes1_sci_sel, + sci_sel_dual=>serdes1_sci_sel_dual,sci_wrn=>serdes1_sci_wrn,serdes_pdb=>serdes1_serdes_pdb, + serdes_rst_dual_c=>serdes1_serdes_rst_dual_c,signal_detect_c=>serdes1_signal_detect_c, + tx_idle_c=>serdes1_tx_idle_c,tx_pclk=>serdes1_tx_pclk,tx_pcs_rst_c=>serdes1_tx_pcs_rst_c, + tx_pwrup_c=>serdes1_tx_pwrup_c,tx_serdes_rst_c=>serdes1_tx_serdes_rst_c); + gnd <= '0' ; + +end architecture dual_serdes_syn; -- sbp_module=true +--synthesis translate_off +configuration dual_serdes_config of dual_serdes is +for dual_serdes_sim +end for; +end dual_serdes_config; +--synthesis translate_on diff --git a/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.lpc b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.lpc new file mode 100644 index 0000000..7c47390 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.lpc @@ -0,0 +1,97 @@ +[Device] +Family=ecp5um +OperatingCondition=COM +Package=CABGA381 +PartName=LFE5UM-45F-8BG381C +PartType=LFE5UM-45F +SpeedGrade=8 +Status=P +[IP] +CoreName=PCS +CoreRevision=8.2 +CoreStatus=Demo +CoreType=LPM +Date=11/23/2020 +ModuleName=serdes0 +ParameterFileVersion=1.0 +SourceFormat=vhdl +Time=19:09:52 +VendorName=Lattice Semiconductor Corporation +[Parameters] +;ACHARA=0 00H +;ACHARB=0 00H +;ACHARM=0 00H +;RXMCAENABLE=Disabled +CDRLOLACTION=Full Recalibration +CDRLOLRANGE=3 +CDR_MAX_RATE=2 +CDR_MULT=10X +CDR_REF_RATE=200.0000 +CH_MODE=Rx and Tx +Destination=Synplicity +EDIF=1 +Expression=BusA(0 to 7) +IO=0 +IO_TYPE=G8B10B +LEQ=Disabled +LOOPBACK=Disabled +LOSPORT=Enabled +NUM_CHS=1 +Order=Big Endian [MSB:LSB] +PPORT_RX_RDY=Enabled +PPORT_TX_RDY=Enabled +PROTOCOL=G8B10B +PWAIT_RX_RDY=3000 +PWAIT_TX_RDY=3000 +RCSRC=Disabled +REFCLK_RATE=200.0000 +RSTSEQSEL=Enabled +RX8B10B=Enabled +RXCOMMAA=0010000011 +RXCOMMAB=0001111100 +RXCOMMAM=0011111111 +RXCOUPLING=AC +RXCTC=Disabled +RXCTCBYTEN=0 00H +RXCTCBYTEN1=0 00H +RXCTCBYTEN2=0 00H +RXCTCBYTEN3=0 00H +RXCTCMATCHPATTERN=M4-S4 +RXDIFFTERM=50 ohms +RXFIFO_ENABLE=Enabled +RXINVPOL=Non-invert +RXLDR=Off +RXLOSTHRESHOLD=0 +RXLSM=Enabled +RXSC=K28P157 +RXWA=Barrel Shift +RX_DATA_WIDTH=8/10-Bit +RX_FICLK_RATE=200.0000 +RX_LINE_RATE=2.0000 +RX_RATE_DIV=Full Rate +SCIPORT=Enabled +SOFTLOL=Enabled +TX8B10B=Enabled +TXAMPLITUDE=600 +TXDEPOST=Disabled +TXDEPRE=Disabled +TXDIFFTERM=50 ohms +TXFIFO_ENABLE=Enabled +TXINVPOL=Non-invert +TXLDR=Off +TXPLLLOLTHRESHOLD=1 +TXPLLMULT=10X +TX_DATA_WIDTH=8/10-Bit +TX_FICLK_RATE=200.0000 +TX_LINE_RATE=2.0000 +TX_MAX_RATE=2 +TX_RATE_DIV=Full Rate +VHDL=1 +Verilog=0 +[FilesGenerated] +serdes0.pp=pp +serdes0.sym=sym +serdes0.tft=tft +serdes0.txt=pcs_module +[SYSTEMPNR] +LN0=DCU0_CH0 diff --git a/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.ngd b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.ngd new file mode 100644 index 0000000000000000000000000000000000000000..18c3d4b2fc9ec440ea21b685045ea3349d86f65b GIT binary patch literal 389501 zcma%E2Ygh;_TCNH8}_cj3Zl3P-NvQ?+me_BEK!%xlt+M=fMCP5cg5Znd)L^zu3euE zy9q{P?;6YV?^B=t&v$0#-f6p$-|zYE{mysJoS8Y(&b@n+U*6kS9w{3Y;eTsH$A8*J zSJ94{?K5U}#3FRRl<rG9T1K_SVsj(W)a+%D&pUX=w1u-<XY5v5df3eNj@k3)l~&Jg znLB^pjM5>aNA5Ch_JX0MBZili4KE))a^z?-^VuM%r6<&knw;5X<fsX-+{aL&vZ113 zKf3=7B}J=irX;FraLXE14K)=_HQA;_rlzr}B2yoUW=55QS2;P6uGaD7>AfL7rKX`V zQCAy@#?N3gl3md-v8Jh_p=uHdUUdXjnQFMz7Fi{V;<JzZ{@Vb!iAJD{-<F~pQ8*w( zR3h4A015$zjqXwU`u`%4HRngu7slbw!87MgYn@XzT>O9e@VT?*w>QTQ9KK+2TYI*p zt!)O~km3(9BA0Zuwq`pPv@Dp}Tn6x}Hdt7&xIMdQL3aAQ1=$Wkp4bU|;k>e}vfAD{ zzco8!8k45CAD%7CQs2e52zYJN=PxAv8M9~2A{iJXvaxJKZ5{L0MB!|&{g7$dMJ=<r zw6b!d&L&#R2(mR$a>}!9C~MZt83)hIj>^s^QA8FqBHO+=+d@@XG?V^QMs4{&RuTqV zT4zrK#AHA%YzZ;;S3qmYq9z?Ngv?(WQ=kO?9Z<8=VG(s87orR=oHtI`<aSsv9Re6B zSvaqC{`5IiosL82E?nG#T9K>-N=h~gfJUa<0n+GLs#iy7asXJ=T4r_2NnxOrlxN## z%+HE3lx^>zc3;@inw_34=jK{Tnk822{Elopw<NVR8CVGh$fH6A%FwFul>-A>SBzx? zt4IT7!nTZvBWAYG7m>4?R4vOcSll7vj|@hDa<Q60RA?1nNh7$Vm1Rj*Jix!zAfg76 zA_Ok?#j4U8Ik#}O-Y%kAt4cKz>&?A-sI|CbMtgRCdp7iZ^-#w)iS}Frx>PZ@IXD2; z2({4@BBoJ;H6c)X!N3ZeaV^*t1BSyj434!-ld=Qmwk#&AYeUOxmAzRzEL0nX*^#8V zj!~W(=)&qcel?8QjUZw--SIz;26iLry1th*o8x8t-=PqrUUX%)40?lNfpJ{~cLzaB zR8-76G#$|_!oj;P)Pzi{B`K{N6xFUPkz_r8NvPp^ff7fq@(;1QfuR)(eCO!hz^6w_ z8yZT14rYsuLXkF^ikW0X!(3Pvscr04qnRjMj#jCvo7@CeXh1U_uo~gOCdDmrXKqr| z4jI|9fDtSSqsSk%B&=VAH%8-aT7*X-MkQ`qz$KK3AXFu8R@_pS+hDW)jZu-C7cm9r zxv4fUVrncI*`hxqsN9xCj8I9$*s32hV*T2xh#hnbd%SfKQ?y{lx9-mf{25%t2=)YA zQfUzqxkF}3`zcFQYj6=3CW>u}l*7)Ts1Zd-Wf(&o89Nmzs!T>K?H~RuMw8(P$BNOY zNENi(7V!;}(6&YFPz8yxT@ed%j|Nr|JLNF5eGxO<Mwqg<FJdKV$Q_GW;#C9X?NE%x z72Bbo!bF7ZSd7J`!SNx*O4BEiVa13%^x^!lVufPt?_A6bl?O^O8^I*AOEE(-D%o6l zF>^8wn79)x^7`qn>1Fy1zDqHS!JIO@9|x(X!;2Zhyt8XD8(b0^ELM!ggB?8`D^{48 zddi9!k}W`%%8FUS<U`}8;O?l59fI2<ikZO>-?bPa9Kj>|DUB?REM_Sf#A6E>YFRuj zTZVd#Eno%&$cGk?V?mB_jEyN!1Q^u%(fFt$CU{B~gL`x_JE)MFMo0BSq#{QbDU!Sv z>(-e5NN|4l0)?S{#*lnm0V9x)Bl&Ix^tt_@UqB9hOfI_>v5(=jdl5NKse2T$Uj_&F zC}MyYi#>~2z^;1FVg^XQR}uX(G~r%F43wb_#uu}IN=^s}GR47(0d?}>K;%#zkCN=^ zP@Hw+feCY_L_cs8$D!*v9x(w!yP}u{G*m?~3z*I-VZnBf9j`2=N}5B1vb6^2&>KLE z)vBVr4&-^rT2)Y5A!{@oi8sN=3l6}_T8&-iaL!~n`KOwq*24K_Vo`gl)Ja8Ip|weN zsqoIJ!!d2L^G9SkHw1m0$fyzK^aUcBIO2Fi+-5^9O+*Vh$x<<?Hii-yoU-GrM|GzP z0nP$Z`l20~A<lo4vtj~@93+Yn5JYAq0TUdkh4OtO7Lv*Xk#It$M3p4+OUb~HDoOVR z8IzP^jHL`wSc$Z<tie24ragR~<qm9<KI<Bo-VW@O0<D?Y)Imx^7ogD(@@c?SRtZLA zwcdcrRAtMM@O~0qHPx%gVvO3BLfVjdRfDbNG_Pu~A3Ve>##}SgD+#tC)iK#>Muo(N zXj)$ZnOGF3do82=rWaO3E6wzZv4xoBHObDR{bqO-<>;DKP$&*^2N$wUh7T^RD-$WR zz1qC$9a2CU4tur4Y%trahTRLFJO5QkRWyF9UmQeYtKWJMigOF<liLfuLUdib-)!LZ zJilDT(;Tl^9HPncT)$>80Ol1`77a4rFUP)}QxEg~_7SdaMO5M1zx=Af7;5v&5zvSF zO$QNus9zNWx4ob$2|N5k?gxyN!@TlfKRcw;H?pzAhHjr%2+=~Xh|NO0s8FdSJ1SHS z*2SO&4-XXsA$n$kM+wvLA`c#f{$h`@Anq6YHOc1T9!U^=M|f-olkX9JP5AFo6Jy~> zzeJ4vBRvL#Kt9?d4C3i%k6FawQ68M;O{~mIJR-73l4Cq2>B;4sN0a3|fgNW_`3P~m z1@Z<c2!rE21<L8+1fMAA@?(8w)l9m?qly8R^WmuXu^vG%vO4@iQaiCN7&k!>mj!`$ zf=`NAKGA28)JSxaPbY}UlYELnP@e456|r}+PcewEQ+$dTjHeV-gRiIhq(NMs>NASK zTxzM|jCQ7n986uOdxT-O_B5Xqoqd{BjtV>yo$eC_{e4^kDg5+_&=zM|0vw*turN3v zcGqXMxp5Orsb~9yFlXU79iMF#f#^EN;-MqYwJ_erEVV!!L(j1cqQlO$uyQOn=UK|s z;^Y5}p;~gYKXV?jE@su>0Wl|y&bKtnQ11Cmq{plB3{?iNFR+=Y@&z^%b-vJM!tV=h zCL--T8$|D2WUHfw7uie%)g?9)m_>xe%a}(M=Ldh3oD#2LTpYmkET3qXs(bMOJ&PhP zV{@7+KkU5JKvBfyN|%d($Cv9Ik-4}+CkY>}m#pwr5Q<9ddBwxnWl}>EqcNAcT4?yI zT^ON%wPj=`Vb@p~J-0+BU*lRpH(%?r(S6st>@qaQbuJxkd7Vo~v|aDA`9bszE{?sV zXqX#ZTWItf{W{HM{NBw?j<k6s-p9Gw#mDk{I&LAT-i;oZ`%D&dvm<XF2Xi;M_-Np_ zv}q$%ybd&mahE>|_^mF#oN<>w0{Cq%U$n<<t^&8y?H&bwo9R_4n9;JJMa1uumI*5E zb_?Qprqebl=HEs!1>a$-K#D-W)2D_&z0;?GG0^D~Ao}j|nc{H0+anPJ_8y;v`|J*n zg!c@0^;w;%Dk?2{#LXOR_j)WgbHCp0)8W9q*C#3CuDZ`QhsL?j=3{!e-)5qH@3)zl z1|G1Pm;|o0n9Uq>4_GL-&4ac+`sG2Ji8<jRo5>yZkWJ-z;$eqN1|GJk%{-zWv8bZu zAF;VSS|7E!JoX;7xf~6T*<9|O$8E0YnI~*AkGUsoGIxF6;WGJ28|E&5PNEo{ym&n& zZO)LdBvQLPEul7ZDSTY2wjq5<w7jCpr4ZBJQ;MU%-}sCIl|5b`pEgh^Kcfr=>*KRJ zM+}Z<b&{B0o|i1H69V&j$zcFN`J4`5&UisrL4>}bGZ0-bX^iGEyTuM15*teJV;WDu zqXECDu{n%i)OcLoe`^e(I0lOU)_5ZRUNR6ATn^&Pj{Zo79rh@|uQ==x3_I*Hz_00S z4&m2yB8Ts*I>N(uxvs^*yj<sSY`zI(;DW{3w(0b?BfSkt?`3w~QZJ@Ibk7iK+M#H% zu3HD$Xj{t+?%=K`mit5~vg>892p)I6+2+&YG5)$H;;`z{$A$0-rK2sn?jGc`gX(oX zG}R|U>vUbW%qPMa>{3x3)}KPM>y1uZfkL^f%PE}Vx$9*Ir5Nsd&?%DU&aNjME`@j3 zUG;Wpv^83>Uz<Sn_gANLpWWVR@kP(Pu-t~Z$@GBY)@<e;dD~&5H+oL+z{Be+=!NW_ z<J)ZeqYsp#;|AHHQBu_PNZuB4mpm1-VT4dmuG58O8OPMyq7kYLwG;=P$m?*=(S5c? zxpMfZrM9R{isG+BYt;pd17p-fH^yx`f~V)mm<tPUSL`!Yh|J!jIHn=~RvXDmFc25D zFQkb*67Ak!(Iu1>%qzjfkk#H{CVI~|y@b<Q(ZEH?-OcbHGGz)1>iD2Q>E%JnPB10F zn-vG5ST><%3gJ)BcR5=i48^~WNx_WS9c|=QYjZ4^rr%Z$%^5-<=D2s1{W(0~S1eZd zZPQ!l$f~~ut(8y>!j2#%o<g|Q2%!774W-%hX3cD;SGcp&kxQZ)|FSG_wRMj4@*UVj zz2@*N*R@>TvSTP%tZVNo)8wD3M$btxgH23fwd=!xEzDp7ecvII$8YpW3-r^2=`-m^ z03B_i{qC`)QaXD^>r8q{9bqv>nUR=?ig#T*yw1JXMi$UQf=!KZiDC*wHp6=g)&0O^ z_{kv0L9UXRmV0A<Y0z$6pZ6AEP?PkWywooY8Z!QMr(~!g;#z%Epjc|qZ)^q8ecv+N zarnIH*;ofv>+85>SF6;Qr9N3$rSF${<*3jpeLhiGovt>LqdQvW9WJ+N-^P3@RFm&m zAYJB@{db+9Dul|5_X&>rX-alp2mdN$?g+8-`X1r|PyknGyIkJ?{9s9g49kyJ5qK{M z$Mhee5dJC#SYmLT9h^?TAee!<66e3f=6MA!Y6mEGSG;NZ3AP7n6Pfri21WTEQ(0;D z!Sm?X88c=sm^q#HCSn@so>I!PR`ELpRPE=$$Jz6E@B1^Hi{d9c0EV~G1?Q7zlj)|o zt}cepPvEcKAxu&~UOh<T$RY9z3MuI@T_SsX0gqZZhHB4c^&W|^wqnmdmho@7c;_Xm z&U5YVy?z<{+VfSZS1Rl#*3Yw)x<Irx0!RFCY=CHI3Y!%>wrM8X@NNi!+xJ=^7nfK! zPjHFUMT<_K-%i=5#Cq`%&yo$Q?<Z3UlD|&_BpdGg&X5^v?@$(2tQ%uGyE;$wZDNBs za|K3Dt(Vt1Xw(nEh;|5utn>yNi{p+qVTp|`Fx=HAHnc=IX(iT=M*_n^@NQ^>w2@0} zWP`M0OX!}mIyH1+qr7Dkqhu3HU7Rc4Xfvt8T^u43n^;za2nUJ8#*Qs4PB`-<w(yE@ z&gh<_wLE+ccKO}MSVe_<ZS2JoTiZ6V=Sgg4DRD+FvAN9+PHBlPYy}qKtdrQ%*20E0 zv8Anm{c2(>n~P0<Vk?`A&1GV18^s~K`;6X*(dS`xQ9$>3OACpyG44Le>atK9PItE# zG!8$z53es|91eHS%oP%&&AVH@T}VTgXa4RJy<(b<yU$(fvrDr?_a!7yBP)yw8cN;b z=bK{8g%TPH-HW}IpyAZLB=56EBc=P$UY`Ubqcl#ERjqPJV}Y*}-q3d+>#HaSVE0+R zn(|4f`vNM*sVa}do~QDDk(g?F9_#ao)v2fZ<X)c`;n4G_*Bx~z>UpF<MMSyXN928m z5h*<nE%%G0#}Bso#KE!WKCf8qWV`3~`m`~4dhYj@s}4=w2Ybb0!iba667(}23;2aN zn(9{`q)GzFi%<9OAo66dh*I$9GDm>Lp(|&@a)sC?uLN>uLSfzWeq4cMT@Y8SvP{FU zE+)2#6QZ1@`@wm-XP=}g8as(?LDE626V(jL7Y@Zk0iL(Y^NQRuV@7-PC`{Ry=)3d1 zN+3*!6ACxmus~0Ud25^4(MH30cKf(#Pb?g~I+R*k*jFdEwLz?l+gV1kSnam6nHav? zTcEb$?qC_=v6k4>tH5jC4qg$jc|#mqXh3Wz6GOaOSo0D?y;{8H47Ig*t=q{~;FV}6 zo69}Aqs`@&Xqb)iO0=_$@=Da*88HGV?0PuU{Y5aC?8xAS>U+y(sLc!2N2P^~^FsB? z(n4ZhsNRYf67xd!d}$#uDwfzKPhuWEv*#_Knmpwzj3c@G*<PO|3e4`_QlA9N*>`cD z1k2gaeLe}6v(J4lWU-vR>9vOCtgF*!4a?cfUTZWSy5C>!(GhFYSA9Ma_hsKQpNKPY z@8tX<In%#g>JtZR(<gDCnAfH^^L~*u{KizDc%;mBbid}U49CtpUQJ%MUMHLSl*utm zPo89%uX#1qveo@!+^5a!(yJtK4Xbsj=jCNSv0CsFJLgHv@!C#_xfN^VLbg1k>=Gx4 zcPZLfB<foA8WpQi&$1AZ%gaUqM5962Td_$@(SSj*S7!;$#HMj#v0pRi$tAP<?|?^` zSTTPI`a;qq{_9dw=LJgPDCoUX3zdcKnpZehC_cu=;snX^sj`vfib3{Zs=GG?q?K4+ zL2Ly};;wN6!lF}VLRfOj@&*eFPPxg#ax=n!#4^eY#0W#3pAzu5Qc5a<Z>4l!N+pQ) zfNw)+4IYY?5);wA1%$jVj54kBBsbi|ctuBAGchtwrnuR|rJh%+ksb|Rr$%`+c$FG$ z3V1CUZCYXf#+W=Fh7Y$zG&jQ9@{%^zRN&*q4ZVH^wsw2HU&zbBvY21UtK6M&N662b zyRY&%h>8EUrH%p)>)j7^x;U1De5s3LV!tQu;+VXz?{#rZ-S@fn#l-z+siVLF*7H)_ zClDi{=fz%EsHV@J7d)D38tlH>qsdKqliM=l5yx{L4K;1{Je!Nyfj|dFIbO%)Nw_k$ z<-wSsrns!lRY8pOJX7iuNLzd5A(USW5gXOr0hOo^h=>$rVq9GD=<y?V(!&*?J)%yG z%}ZAJEITnyVKhPEV?CV2*-dFHkb)wy8<=6ioT}Vi5k(p{u}5%^jXJ-)n;36kn5)L; zBVnyL4SGeNj*JjBjq8ehAW!TmHO;rc5|xsv!Sp^y*JXnuTu%GUS$O<G^J~{7IRoO^ zKCzdsju!+I@jTH6(wT!bsh1Wn*Y#xYRDeajql!gBuPSb0^g0>RXcaC@uc0I=^9~!m zSLMQ(_9wbVg7?4@HLkD>ja}o~!s0N&rDK7Z;Ii>*Nn)Z0CwP(zqs(d#9KOq!m=uo~ z?M7{cdWe_C5(%FaF9IsLW1L@JNhBRTe%UOMbotl@CZ>W<eQZ4HBYd8;gA@(V1&KW@ z3nCV$NS^9_Uf=6%kY9Qtt9#l4@ujOo%EhrdBvSc^)kY#8n0EQR{G?qzuWcEZ&#$~C zGOhwI!nGa+J~!`eE1+r!rFvTf0)%nBPXl3J=M!L#+1qD|VuN3fOEmbT9OMl?gU}N* zNv%gLB#j=EqM;joI($rR^6B8swZvqfgx_^aH2KVNPfxKWXrX;<OEjM)_OY30<b7=> zrkj0jCZ>-AET+gFOtz^Q!24NL?&tk%CMJyiZ6^1}{x+2-k!FVruPmw<%m-RjF_aIo zQ4aBD+X4@W18tQ1?jRfG&0f~F%N;XSaxoF`YIm@tF@Uyjkqr4(nfkSVVwxnXsX@fr zG|3K75gF5MvKXJ!Ej9vRhNSY#Y31nC8Iq+uK<CX=EV-iNAtaCBnI>6)Es`C+8kd-* z3}98q2tQaVa>Wr}hbSd94Z>iS&VXZw=m3WHY+VILTQ!Eraq-UmUk;2{$P#mOb<}c> z!NchLmqyVZ?zB2Er|#xDFlWr>>oAAR?0kf0VqOozM=Wz4m`^109hgrr^K_VFt}Px3 z&2q%H=^R9M*AL4=PMD11qeV%dPsC@3ExaOL^A3%NTB7?8&1(p6i8oprB4MGNR9VMs z8P0dF=G8(?yMB%N45F;AKfPKQeO>?8YiaSS+w~vE7zIQ3+I<!oi*fhn4oZWzdz*Tj zi)_}0OKp^*xI5}tpvdiB)#1_*==#G!aRgeo*Rsp!obFBHHp~sY)iN9AjMe!u7nWzD zbC=s9m8t4E$I()cNxBC*<#6Pz5x0$@1AESP$_P$fXSLZH>de*kmtze5+H>Y0TO&AD zo!)7Sf<sk1jIG*kygSy{XVdvWby~d(i^f_pyH|*eEg#MWD-O>2Bz!#R>5F@0@(6G; zWF<6Bwoo35U!O`WQgnXVhTfgxmttss>c|rp8%}(Rv335UYzKi0zy=t+C<YKrI%=tx z$|#Pq%L$^hhJs{5s%5GLBZ+kHAQP0epI542^X0P@^OrgTnE7#;4GTkE%X$NWJXT#L z+nn1#xRzKLCl*(N+ok95payg=EOl4Lq@|!qWWB1EIRdzJd8ZA_e&~oxfqE6Ldt2p_ zK!UVXVqsoU#SC~@pvq5g4%5WJD{2=kRXXYoCs~0V`wRgrbZ<`(ca<oaOX(h>h(=U| zUM<Q?B_$WmEsk3-`?%O82d-Y|Er_g1kB9eK7P&_3_^{<Zk#OWl6j{=~fL<S3*ovQM z&ZjxAJKZKVrc<T>-yrFb{Wm(M1cznS5MbAjfE~o~bQXlK=_L-gB{W+kj))s{c5~NW z0~7wMtYhMEQ$r5E?sC%6%2nM+F?DghS0V$eJujv5T{GI_B_>qI@MFUsk#0j>RPALO z*Q$mL1ejzJN5;t(#(Dq~coaYk6ZKtTV0ne97u*s@3z}&EY#YwxM}rkbm+;GM;-#&` zu|T<_rY~r39Z5Zf?~<1D=`;)3K-r08VM$zZWv3Dqo3~>;IQF|s@-83S!DE24C(;f! zXt}r!5^!9=5}xr%;rM_BkVE7+1ClkMO)Qx>-ZCM=FmVDjJatB0jx}TioZ#3%1CiiF zFu4|b%b_YKdQ=EL$y6ZZWI+s;1AGwqFzNyrIYqEF8G$({48ZGL6am^Rd<d750vWyP zXv$VJ<VY`y-x_FdyzRZz0!4c36xbOUaw&4Z&Y4URw=1TLxFv6>#P%77^U~PTC%6G9 ztezStm^~-1zIdIQCjk|w_*C5Yy#$fB3X)^%v^c?RLaUv6d2z+4KnbpkLeB^^sJXO4 zSMZ9-C6GXQ-oA|N>!37}Czu@+TypSdLUg8d@XUC?#0!xt#)dTUE03Np@&t(@=nYAJ zoj)}&2h8{+7Y5HQfJ?-8zWKL5G;quCy|u*YaVV%SOkr%VD3@JH?{&=XXqkrhmWg;~ zo{7|sVz94>wJAW+L>12h5oO7*Z=(=ETx&_CYJWbJF!o+zvfgLK8Haisj%sIX_ZTVX zhWGN5SooqCg8Z~RX^MjNFGDBJ1|C$A-{Rm8v^PR&X(1uXS{f%!!y>*?O@ebE@R$_e z$w{1_x5eW3hsZRN_IZvr#OlZPiSxYLXp3{b5>`ZA&iC3?zoJiE;1`qPO%eL1S4U(S z&&gXbH}eG!3fFGP*<2jWZzRw#%#+<sHdmxNZ??(&U@38<&L*2T>-Pv|u}Qd9Y10Sp zfl@*|IX+KdiT>Gr&JA{1)aEii6+fOM9IYTN&>sXS<HPaYj)1=fnYh!%>F789k4~~< z4>ofAR?uyne@LCUg(Mykn(#Ki2yK2_&Z~t`fD2|_xaOVEFsg{pi6!oG*_a#da@kmM z?{?W(?Cx=4IC+n21l79NW#a<}iF;i-K6;qA&%;Nl4?8%&ADDQ+!DXJGa}jsCQqB_I zmm`7MKKK?x;(iYwm3zR$C-^}R9li3POUIOu<r?1a5t7bBt}XR#0<_CR9xeGZc&_Qg zj$9-;A92izH0L8OpY7b?;+&{_)V0Hd=~0)@W9c!M&xzD0T)d16e!?}x&kFJ$1<sk> zVG9se&)Oi*xagB7b0jjlT+Anr+Zr?*u%~%fLChadc{JG7r#u?mcu#vYI9vLpEr7cS zxTkGX5TJt3_%txKpYdrRDf+BWPzK3!K3hCGpY!U#v44AXn#;IDUhpW1AbiXt!7!DN zPM-JJWHGNpFM6fq$_pNWc&_rIr#vxT{M#qtK6=R~;ZAzqCn*z35&EYG6?KzbWnT7* z*x<{yLG<4%HXk$dD>f5T!K*eC;r*)3<Q{(ArlJd%+aO}$HCrE(?rSy^bL4WH$r1Cq zgTmD}Yy<Q+k_dIUaO+Kni_+e7xTx)04j22aw;V2kZ(E?)Y`kX~5Yh3D&E+R<@7i2^ zu^{n|jq)t^u5E!Q!}n~Ir_L@L<w>O5w#$Lm?QnU>t+2^rE?wcU;YM;mz^1=mgcsPb z8%5K9ZwdJGG>K0FEBXg>gI#D(DCShbhk+5XF%#44+cqkmJiQ+%OR^YG?>lUsia&7J zJdS!THZScTI3Uj=9|k7Gaia$`-lVC@@gIUo^nz#L@+j~T6nLmZfouE`xB+AxI6gM` znh=rtaRE(vuK3i^<*wqL4QYSsXhV#Syxo?FPWar0xk)~W&_Ba{b;A10k)VL!fbp4Q zE)b(~pZm2*@`WRT(_c8|Fz~;0xUl`D%@s$AuWYgy<zG2$9%A2s&3!D!0Uwe%c)kr3 zSb~>rz6Dve65W3XilYpVzwt^ixqe3~t`3hpj}9sP;8noP_X8Bz9pQTiZ|wWPH&Cn| zeGV6M^6xe(n(!wZ7E{B|E{xUcYX?RP{OF*l{f`m)XE=vN;1>r)d;IL6yt@37vrX_; z`adok1^&lnqr_ibHk|&+hQ(U&t78Ps|9>`_KZ2h4KZnfW^qb2j8^76Pu}S)`O%@yV z|2k}5X#Q~6yr%r&uz3Oc(_!<x`n3b|y!w}8MC^$FbaD3Oe~uX*X8&{Pyq^B<(%H$s zT$~rVzg?W``nPKz<t9Nl;;oq%mt@4{qq@lf7LLh`!YDb=vICs9;K_j=K8=awN*+F< zH@T8Wfr34`vQGgeM@@lvDJ?n3L^(H+EU`dxlIQ&7YB`c<qYeTzXL1!+KvTQ;3Lec5 z$(6lw@p@Ep6*6jB<q?ov)guUY_{kEVO)6_uAFds1ldHRCd9)<g@Cf)Al3dLrLA)f_ za0}z9FS)u$AVOwMk1aj~CfD@oa5$}H>7YZ`ve*chwJjda*vYjm9-?O*i-$g1$KuiS zmK<bZm?4wvTFMB!buA)Ig30wP9{#>Way^U4!MwiBMA;jeOn(0$88t!dIg;yJ7^cbO z2DV9fw1Lfp>l@l2Fk2htY-|!m%xq#Zd45f9Y=M~3lABoSJa9I%Ku#JaH?s733fj~H zG213Lwe&eCH?x@7?I$<4K;G3SH@Ec5Fq<Z~u(|B(7B-hX*wW^*3tQS;_F)HsYJXmk z@}z8K8)3zeAm5wZ+9yDGlnMc5TzS(XCaBUJq2UD8%x|hC2Mg3Rj!53xq!Tij^vQrp z#faI)X9F>{txp5vb6cMV0&XjxAjWSsCb#oh6EmqKc$M)MG6&iAetpUlqQ2Yvm3f|q zd<VZaL_2y^MUi9Uq-8f5#><W#Yho0S&ATdMAsH9<NI0VQawS+iV|a}(IWF(0387qK zc5{`*d(6q*Tun;WVG!)@)8R1Q-PJ*9==42YC5R9~d-$~w5qtWzVtA;X+|#cYE`*f@ zw8fC9C?w@^w^fAxnVlyZ4js5xzJL$|v!Z}d^l-e8l$*9H?la7Jwq)EZ<B7h?Yg7bI zwO36vL8V`h`?4A`^Dz&?{Zdv5{&XpY1P`yeII*Mh&!C14RmW@z(~kn=v!C0EOl<m# z!}_D<Y?<(CQk<kl$)f4TJ2+Q<f(s*bYFrp`Sd))f#yOTIxG;v##JIyo7f*87qOB7S zUCabY-~%vuijNK@ldb{o|A{Wn(U@>?9{Z_y#Hx+hWTgT=ze$2;zR9%9<t<d&;-Z2X zV4e=*2G78d5^4|n>4A1~icl1P5tja7EI|z>gq>HtfT;iVr~Y_YOTxY55ow-;x_KoJ zlr^Dx$spNKSX)F_qa@((icg<Ew@rKj38B##7&g5UdQCn(F*56gNL3nhQ<JczAdH;J zCJTGM$tDYv;XWn{LAZ~}f~)(PEOglv3xejp76#RQO>4*zC-<{3*xTRIMOW@`@z7n( zCWc3EVw5KjFfBlm<>H!c0oGZiWSbLbC3tzDt;WU<G!*3N?I086U0T*q7n{_nCWc&d zGHd8^NKQ2%F{TePRe8>AF)<#ZEv7E#hNqc49^%tYOzd~3o60;#OtUc7o?&To(K9S2 z`#4i)ikVvO1rFBfkf6(F+8}~-mTp7t7iQ^1S{8V2IanvcB%=Nh8$?(hqN{_6TzPV~ zO~r$j<ZOqFK%8TvVh8ju+eD0aeE)LU@(EdTj;n!5tJQ@Om94HJK4;B!>3Hg$oa^Be zd_3qSVx<%hwUYC|ln`%}4h3K=vf}A!a=t6zsA!8j3cOmkxqJ@&LtQ?{YrBhcC?00v z((wg0%x9<h7D~GTj*<3!#HkfqU*HI+ojNQ~%)krdrVX(iFSNNl02YI*niU<p2!PhC zGIl#0nAH!<TWqexBB07Bf_$+KVEUgI*BFS`!*zh;`fyzb;eUiqLF6ByGZ1}8>I{U} zkvfAX$fH0})uX@9e(2nVi}~kI$)gM|3OpKIRSgc;qYV!HUSe>tR4g$#1RSFQ;uw3J zrX)Hir*k+!j@3CFk2xLT$URoq;@CV+M|j#hUPm~RPSEXeFP>m<*wC4PqT$Y#Um!`= z0$r(%UV~M8x0B<9lmtk&4b6TGgKGG4p(p0SQxKPWqQT-JdXmoKP&&yVF?2FWQN2jK zwLE$Bs46P@6y|F}bmS?}(49m-od%{}Lxj{BVCo=(^>iD=I5|B|%o1*(Su<xGjCa9K zvv~;pGr-d=V#zqu1`)ky*&tj$D{rZzeb2U;oHIMyrs6L_CC{_Dh}u&fDq3WzP33X8 z)ZwBA=Qvzc;amqr9nNtqpc3cVsMsuVsGslHA%*j81-xOMyuhZ4ofWEnfvuo&%@AJb z>WPgPJ8-V0Dh?7C+9+?OF0w3%&D2FUm+f9`b9o$JY;$?!USe~3U|wQ#dEi`TbIZ86 z%WN`_#mgNs&p4d{ncr>{>5W>G%bDF9OpNv?V%=F57zm&7BUVl|`ErYNg^lu)p5&zt z%+<c!v`t$oZu=`7n49iO#|T&aN{7u8(Nzwc=b5WbHnw4?%{3-l?c=U-*@*qCT{h;K zYh9Sf@G=)ikYDQ>=N;j7E}h5hbuOQV1;41DyxyaOGOqXQh;7LYj!>*yH#){d^xtOU zXt%3e6Wq)<y13}un>+#z)SFD>h(GSfn_XNyOS#!&iR0uJj|Mw+t0}-leyeE&bI5Hb zgtg*!6G8~wVnXQt+v5>^QNYxBhY4YZyu(!F0J+no@f3fTfr)W@kEM(G{ceLN9^&0? z@z7KESUk9QuZ6+Cdo5j5_I?8shr_!JjL(qwnGn3YFCNj`geUh03`~U91BR-2l5)Sv z;~C>Y6XWUPK~tBf&WB7M$HhY?kE841fXCA#z26V79}7@^Ph32qd&B~{>_<$S;t|TD z7L#Y~M=d6=5sz6Q*YR-+<k)@K0@?e=;}NZO<w@xY3*<@i2}7N#m^WEmMm`{^#z5yk zWua)GCj)KC6!H0_Mdgp_B%gA~?EKRX%uYOQ*?<ern3$Ltp0V^X-F=#ipg~klio@+g zfl+1>FHM2fO(fdoNd%uYM<Fl738g(9J{V44A*HdfVwX|{iI3{c#xGiu&r9O`R<1ne zjOX%#C?TF+R}8BcApK5?Kgly&{2(a#T%7RLQIN#xS1q6BEw1=g%Zj4|oSnj7j7UBU zY@q&S^JEtxn(yeM=fMiAgBo__2pS-3NQM4Nw*f^Im|OvjcEIAZ>7=wG7m}vW!KQq4 zGKD(7F9fm`XLB2N2blKrzU2F4fyz-#(S6Uxbx?ipA=zVa(KqO^o*cnOkD-bmfUBdz z@&`6q1ZS_ohJLR>L<@ZZB#a-->YoU;8AzszOfytJ1gfeeR@09JQPfft`B9EA<)Cox zW3UENTab~DA!Z}|OTpylkcFjVed>%8G@vag9S-G~6+rTLRmsl<u3{fu^qC1^8Tf*f zwKA}}eQ82i7``?Y`9b|>CJoK?rAfmNOp{-kG%P7!Sv2(MHztjj!Ea0+FN5D&JUINd zg`u0iwRBO7?<^i%{?6jTzwa#`s_}mYCNsA`8Oma_^u2*`wEke|s+VE7b$+neNEoxA z&(whneJ;1ToM-bNO>#___|fL`(MM?fWNAo4KO3-EihnlDh^6=!lgDe<ZzfjGv-hVK zh-~vOra@kd|6}ra-TRNp<8}Nu6BCvBKNA$EqW_u}xt;!N5!vtGEh6tef47*txc{Yt zJl-&Zes$1b^7_Lv%})HG^XZ7g_4?Cda-;ldF?pH%pULD_{+~r;@GqUn-m2O2Z%2Zu z<!{{x^J&URff~#YjM9ipl{j3CCAofx8Hc$vno<#mOJgw=b?nlpO$~6+a+(}c0~`|= zBdHRHjcFq_(1lTxm0TEAc{opa^x&EErnSx~&x-#aK@aKFw}kLPB%&Rd18v?&dY(gf zWw<Mm`wAS!QX3Euv=fetoQhAa1EQM3(In#GacXs)&N%n@oq3Cn`6IQmP39*Bsc6n7 zvnMOLFdBSi7e?=_LN*Ks`E|S0DlQxKUe#q2x`vJN#F1LVw!w2pYIO(3;7YCO7{TaF zt?95aH>6f`V2rKQT8<HnnbcYi8-p&jw#&xINv-YBd7eoPa`?QzPYrVTJO!mT)cJ@B z8YHRJbdY<V%UsvB!9K3z(D^Z0YF!uSW?aw35m~AAT>IQ&>$`kzvh`g)`?;ZxqfRsh zrZ&=z0K_od$Yx@gY-}@md~a$~k;mX&RBB^e#4)~!Z3a7%)FuuWer({N7*m@%7SK7H z*{DjWq&Bmy@H4g4=B@(fn$2A{#^4SXn=@*utsOGI{E^ziV$+lY&$n>s{D?WVrAtR5 zFSVtI4<EPk@G-`>^6)WJZ0+F_T<XA_4@i|dX2kH{#>F|XwsmoS&nC61M}UYP9HD<| zYULT1pSz^Cb8#^oxAh2kjBS@AiD^j;vh6(@JZg5ZG{l6rqeCY*ceJTIOm_yV77)bl zPBx7jWqTXtq*-bRDeDe5^JXhG#AfqI9%_@tq&3tga~3VNlf&leW0(W8f7<|7)xcmI zmeT-4*)BQ*;TY2aUayDiI=ry&taC7J?4naJl6KV@h|b|UfT6sruEMiSOh<5-NR{hK zJcSH4IPkaJKu~rKw4(FI@=jn++{hLX>FU(zoCfhCR;H1743E$OJUdT~(3G-x44E2f za8RXD1_FwqgvnuyMiD_dM&pPPI8H}6oJZ?gJS4{I2(P$fbuEtJaXN>iWH%iVYvyjc z8pq@A28qLHcbz1{a}S**#_uSDg@zsf2cl_}`R%h0=2LHW{w!*P@rEjwxrd?3zV2y2 zT*bW%h}$6^p?^X5va@>`5Vzm>oW^2O9EhA!%J9Rs`RLLr0x5FFjX~(ld0-jt=C_YJ zIEJpPmcnrySCu&k=kd)Mze05JyqWW-BjJ;(k}?s2HS&&Am8nWlNpBQesg|<Qd^bVL zMv6Nr6Fb_8QdZ8giBcBhyNr;H7M@iI8P_2-N!*MTcL_lpD;!HmnNUm0JK^Re$rNrT z<(+UdCGUirDXAyiOiP(?Gc9Gp%~~NFBdpX4*%;wVos<b*>ZD9~osoCKX1!#J((9#6 z__?=~i8|~pWuo*3DHDD+2$^tYUvV=^n4BVrqXn^1-iZPlrJ8W8Ny<bOnxstFoGfL+ zmB~^jOOSV>Li>rkQNl`v&=bY&BW^~E8tgAcqK)>GccQrcb95V>H%d6xEM>yVLE>(t zxZ79Cgw5t0-IAVg<p3!YP9Gp;q9G0vcOymVS-}+b$x4xMWvUbjBU7bJFk7Td6n90O zZiAzp_CXfjE$~Eq7}QI|UxiK0p=)xsTxie8@!be<cOc!6Y=o#}i<F5rohD^GSf&Zl zNKyakQY30MU8;#zoFQeRS~KOHsK`vo6qP(g$jSwCA0ZQd&5}e>+$=#HA)53MNfchr z7P4~T%4{hUt{g1yMB)FEOi|Z4QYKt!6L)2zgn9B#F#jd*L<y}C`bVuPJZlxQa-la@ z$mER>l?hkoNs(}RzPuAPKUm%gSLRDS;q;+WCYq&P-o-=_?UEXkl~7Xdu|uV>Ow^)7 z35DGbr78?BgtVl!V{R57L0i~?4`8MiC>5@2cVZCTM|BRK6Le4Lb720`RnL_UUw(ya zVU9F7I_X7V`4-b`5w|3e5^PD10x^vA#U1=?L*{!@iy$pIWX9}yZNyznH@KU>Z~@(R z9n(p-QE@9CNOT=HRfEX$71P^7K)BX*YH0xRUw!F1neL?>`4?zXi*p2tlIRZ-^ekK+ zGNhH$B}AUdvd@_+NI<CQp2I?hY?LE&V5o%6qL$h8p@Ejx+0*bSBGpho7Q3m#iJ~~8 z=v!*eo6lVrG6QWQ+&^Dd5%=6Hsl#(b;Z}q5ivmC9Nk0~`1>KL9tej)Wlk(A{tH_Zf zG}5TymLuZ$cLd5Y>Z9zC{*jt~c@~vbLL3^7a->01AZK;7AznDIO!<cgUkj*pQ%hWi zj2#v)$dTM|P1uK~AzDbgVfE)cSo3I0%td!(`6VhIbjOh8(6sce!}wN0>KMZa?9*5D zP;cOlGJR%FJksM2Eu?ZjW!f_S-l^;I=jEiH8ZO5g*4r10FO|zY;IWQb`4lmAoTVnl zAfoX&OD8nQWBGVfQGKy4b-Y)N?495$@FycM0vcm=^`Mx#Y!j}WSU{CTm*z<pbhfiv z;w*HrO$j;-8`w+YmVrQu!^<TFb+I$Pw4g4$zRZ>eUsj`?H77YP^I0d&%L{3WEdUOI zR~D!6S?uEC9Ms@)+XLmJC<(LlmBlG|bv1QGKO8j2RmHsl<u1pJ_?!cZxXF>Jk)uYy z)rAV+<lEJbeusGKk8ZxGkPzecszO4f4we-v6rHrJkS4<NnnIdL9b8jL6HRe#Ax-q? zwS_b}Q*d1&RgTB&3hJU*u~w?3LmO%sMmH2R4C(a+rD*-@3l@tC-B3`9kh!s-WfI<8 zK$UYBw-nH%O(I;r*%9;SZBn;5Hu=*zsasvX{31^34o5|VwHRYOfNm>FLAc!HwU22W z&2X!uuSN$N__l(&XyDs@Qs4z`qJ8dgwDd|L`tK~tK*@JHCFnK~bDc$PaM0defP&F^ zW6=V5$|;~N`v#QG;zm%ByNgoLT=x_x2Mu*^0U0KrdkR=aNIYW5!iRwTXHM|fv{EPK zBG&3C8W`2O*U-jrmNK;aeR01cqUpW@ikP?VFQA7;y1#%P_u>Nu6gk)WKp{=E(1V3E zQRah%G~w(+g*4GT4;9ix6Fgi<6J7nNAq=~vL;g)SPz>XWLi@=vv?1m0qpvTaa*ug! zSwuwoV}`}BH{sCZ|HKFa>IpBAwy^52(V^~-8zuRDhb=En){g$>rg%V|FHoWkVX$~M z&i89AvG;`7By`*(#Y|$pM0`Kl9|_~~$zp}VQn*Qasy};z3ad}`XBB^wjaR6r|Cv$r z+|&ITmGc=<pZRB2F?yc)XI2qo&-P~(UOwBOJw)<z{aM1ec%eTMH{kRAu~5n9`*R9Y z#S8tBFfyL&kA(1iF&@#TWHo%kKV>N1WO%VZQ)u&l7ciy21cK3%-X#~7Sw=tQrz8bM zFC>JA-V6_?4GtIaWb%W!O_3XC!Qlr7Cz)o#OpbUQ{%T$~5hg!S2VE4r$kIA%emji< znhe#S*HRO~D{;+~!{-w@PgkVhA^r*%74nj|koJZAvv&GseY>2EUiKOf->M-~FZXAP zIInm)VV$I7Jh8pxEz;$x`oG!_-)Ju`;Wb@jxSot5S6|azHH0{p%XH9k-GbBRVILtT zmlrgMVf(sniHi$TKS37kb;m-$L3-#7!-P!1s8cIvao%(pdV1(h!@iRPdczVsIiR;( z^GH+}X`HtVBU%pVZJ)B01A5!1Of`Sk#KS`QHQiLVE5_#}Qtz3#nHcJdNA&S8+DQ!B zE=!LyL$WAK%SsKc@QTTm_f0`q1B^dW>U&;FTN%PpW{FnhBf8H)mgs#KS0}I@uT`1^ z`E}-0k5?07ew_M&Emq+sW<Y)l+iRC#a`5Ac)Q2_)Q3KqzucApbNv|zdrujQ9{HXpT z+p?kv4+W=?8NuO4!XFp6!>#dgKX#b(NpVBsMU_wbvBWO@5utx7!N)6<Sbjv?d{Lkr z5vT7KlJc|kPYX%8xjxND{N-|2epW~q@8PCCFC^tq`K*v-em~)hLQ-zmFAG`b7Y05r zq|2}Crv4kDf4-&^-SOXCAu&7ldqHh(uip!5b7TKeP|UsjXF=m!u|ErH^Y-JNJgFNM zQ`2!Uul&y`K%{g2SHLpwAOCWcMC{2F(O-_PNCo}vsKFh49625JiZIil8PZYLqF7gW zo=TS#)JAZmBR*}yOME#0CJe2Y9^hEjvM~HwTzY_GL8o9uqz4wYg1}F2Xi((VcX+t< z6=khqu!1eA_*`jv6~8C^D~9wyzfhdhc*01p<hL#<JWkRp6*a@}_oY`ZZU@y}xwsi_ zl2wYE;h<R6&*2xP(yRIl;diFes}<11fK9JaKvTS|_jds)hGTlQ0z!=R^y&o)<@&B( zK$GKl%>tVIZdH2C0;=3bYZX%Es;*T?l^tHYkS=??b|GDMc|Ain3~7}yq4rqEOR-Wo zv^h?%Q=lXsq=O7A+NcoH0;>F3`SiMmu5!}yfX?UXbqzBGh;&9zulEm#L|flmu$fOv zZ(M-HDIlCv#r}jRnT?8ZIpg_GoG8IkpsHY{ozm;)`epI)c%y!KD(#fsxEK}H;N2Pr z>!$rt!yQ?A!+*x*P~9X#{|ePTY)KvxoBlH{2l;0GaK&V^N$ww&&hffgKU^`lZQv~z zXJeYnY2DDyx?*zQ%B!F)FkJWs{T0rgw0VEFc<$JuKNfe)=KYn34OV)K{#e`@TlQBX z&(K@-XNy1kmEO8PV`2g+_0qzQPzepS+e(-Ei?<Ul=`H;{>t{^qt^Way$LnCPqj~}- zJ=kw6bd7pq8?PBvUw@J*y=_q?BU<GbwbI*oeNpAmJSj3*BDi<d$YohL5qts(f2sky z%k7F&D3O`oK0^QG98o4;&4C>x1Gm@I%ZIDEGjvCeH{s3>g$#*YT6zb~7~Cz_-KD~I zH1rqJJHzY-XC{%xNe{6IR(&b8kse}|VNoc%o8HNwERcyHZY;w-B=nvRX$&=RtDPY? zELw8T-lli*nh>uWps&cvFoUA}l3Bj=Fry4z3f*ljDW_iu-`Q&uJv-czhy<`IZMb6( ziv^@8ZC9@@BnRh7q+)5f)e<DHH0+9aDyQ^w_<Zt2gAv3tUR6k!lkvcM7(Bc-ig4eh z7z3TZtKYmZfelZrm<4)RlaBc<@FN<?%ZeGG2Tkd6zX4ebFh&$JfoG%X5k+mFqGS9v zFyKe}m9dK}^NWOU2%C|9v(kAYjPeuEGCTW?qi09?MX2g%zX<I#)?XIpfzf^uw~XH) z9xJEE7LdXHaekBBAG<kvVrZku_Htywvz9&lB77|=y?X%}dT@^j{Zqp%90+)CB)w+= z8LGZ}0U6xfGv~L7VLiTp9*N?PnyC2*{75vtm!l}8Y9<-)XrpZ?nKGM{D+(x&;E4$4 z;{_OyRXC=VW2kLq0Zr7l%8;o^iYBwMYNq1VsLCopeqRL^stpVB!zBFam2|bG6@F|b zUE|k6Wois9zf1TwYI=fUqW}?+KH;BO#L%4RwMYw)dX|=+=rt8EI1nZku%bQHr?Ms$ zuoSWqRW+4O#GIBVgTV+;^^^-q7(&hc(C`D_bb?G3vn3zuV*u?R|3_3z7yIY?p{j@a z>HYd+hO1L^ydR^2ih1CGe@4Y%IN+Z-fXF_uKdY$v)c)+@`$g&9BJ{6F7vgUZqz~-R z6hic%ct4gfG7jp`5*jVr9|?nTYJbHcQd;^W@%DUre=Iaqwm%X&W?U{3wx)b+t9J1% zc}*st)|O}Suv`3T`F7Hu7WZ)$1m`ZIOwSjm$Zh@%uO+QC$(!lr&6Usj>6HXA!SG~{ zW|-+MUh%Ql45l1n&nU_ct;6yx-4ng-q^E}%a%)%1U#3eRq8CRSU;At`+cM#tZT@8u ztb+^U?q60J76nl^yEp}bGN*V!Xpa*Oim`kxutfAlF`8{fn!e4Dsdq|fsTaq?gDr9R z^f)~yAJKvrhZ}M5YBf|;!;5uXo|;-6Re4eok5A?r7GPP4Iq@^!60395e4kZOjW$cv z7FgsY(LBRqaDL%=S-8|*jKMk0dA=e<>4zH1vW=x(Ln|nmlZ<TkP(MMq##yNj!+Kys zFgQurQOpKsqZSlnh~&}2V#V;2$MnLYR@jxpidtb`4)a<O$;m~<)Hyg7`L*#pH$BTQ z6ZJdNYr0uHw3zGHWPca?6}fK~`}H_ac(`AW^N~mRWgM(W_-%5&@JPRmf5M(Vs(?{0 z@u&it!qoyo?$V<RnB@jIx_~CP+>!#CT$N)TO`bx;6Vzk;LQMT)T;=?xIYe@fGEavh zm3pjKQ66rNbA<AEBD^}zF)YRG7uV|ef)?1dWBg(<jU4YcFDiVZUx=OEnTAMiyN8F{ zZjq&5QjCRXGU=1N4D*P^=a~}>Vz3lpAv-A^(H4zBgq8ASL!{ia%wy|+s+XwmBTn%$ zOjBg&gnvN8>)Yv*^AXK!<yuf8AC^ujzzL5*^x9kc)P7m&uylIdUnbkbdMGA%9!O{W zGcGSEXB6`QcEbl;r}szI)|fN@nF~BAob}JRJR;8eXFl-Ecy>Q_#Ts&2e=IKdw0_Fv zpU<Yx?vKUO=hFU4<au;yf3~>o&gst<Pc!HAXN$w;-2QBdmGRvEjB(?i*RL^d*Ymu_ zw1Wl>lJg6gQZGb<;x!YVeB>eEf&!M*Ad>U?1zu~KQ_|dpULH;}G(*#js-1qslzox6 ze5HWBaWIKcrT&+T&@@w>t(@FAwldL_ZLCQXdO6#elE(CLd7cPw>>r7q-bB<$bpJhv zEUDUQ$dbyPDuz|=w4`F_FnKq0Xe4?b@B7vQr<yoILLA7RJ9|0wv)SsZ$=TY;nQWrA zv8j=MZNF77@ac!QEb3Swe~g~KG*8&dGg|29-~9H|WpTP6Anq}9Uj})J)FB&#={B^1 zAJTuUBl73>RdKL{2lZ8r*{VquwY4>A_5@D>FIaCG2*Uj(6~jaw=)$N-c2-+xW>TW2 zAzNFKsR@j{cg3JkoUW@11b4628CV}Sq-xlZ%3-2qmUfnsU_-muN-7p@7m41P?ju4; z*sKs~T`-h9tt8&P_p)aJZy0liLcFAk<ZpbFBRjHwm9lzlOS$sK!et?YIuK662XKu> zc;n-x29e5__Jl^@`x|qKr^=KeLG>m%{imA#Ly=WguTkKNFcr4YBQ47`hH5&n*zrj8 zj2f5-S_pwj(WwmK4&_l<trrr{aEF6fIWOA#?pxYylI?QTVZc5WaMMXf0h$w{Gi1-n zL2>%XKD{I{pzOAOY=h+*scM*LYSju<=G?6Z=>!oPqSI&$E>Y1U%e-x_?t9p))SL*C z*EYx%Hl`wqcz2#rZ}LP#lH}DlJ532D3mHQypoq5Y+PI=gClL&9d=sGPUY=n@g9P>; z8(OLqbqYr-j~JL)FjaBTPz*<+XI(Og&;b}AVZDj`^|FA>jYlmd0+?iCUoTYDRKQ~* z61`}hsienIXN*S<wn+4r(W-@{6!CG!UU||PNcPBg%?lEpISTE@-m$}x=)*tv5~Ai@ zj-@Id=_lT;Ov8j|CA~)19yV1|6zw00cCHcEP+d#T<>bVje?wE%Nfs$*0cwqfB(xo( zz?Kd2=4z!%%upnHbE;P&)f78g%$_<JmF23TkVy2+)s}03SX&~|b59&Z=qhL~W6r!` z(Nx0WrohPsG5((Z1ue4@2~=T`=ymJCG#b{5q!Y@PkpNBz0X38yBoB%Ypa_ZVCJ_{s z=*0()?X(p|@%JsBN`iF*iyZl+(7FCn!r?Eu6)v76xt~o*3DapttRZqx2^qZijEfV9 zTIfCf^f^-{RW#$R-wjgt)FP4S*-r-rBT&doYU-Wi#6h)XFJ1d7-3tJP(E@u#o`UqK zrv2(`=;qQmNmrgyRmHE$Tp{izB}j55(INv#f@{JDjGNp@3t~k&Q9(=l!9SC@WK2^{ zLncvMft|%w#EI57*5i_7(Z)t35-$;#bXq$^oU|Hh8f)nB&D`xFc(9>nB7HvYjnYUY z^8Vhn#9tOCv*+(kS69<jWas)sEp{-8>U|;1YY<ju(16A3tI5oVrF0pspR`|Nq6#h@ zaz-Bk%jzpgn7%zu*M}x*6HPcdUX!Q0l3M)ibIwaSy55TZh$Z2d#OeCtx(3pp+(b_w z=DbArkv`fj%~`RGuC}VHB-XWgx{TIl$Bf~pl-I?@Esm2s@sVLXZ@3OLy2hdJ7H~es z_m|T*;gYoZ8Sf2wdBc{jiHp1Pvhoq!A=d*S6UgjdpBLA7C~^aEvQf@zH{y<1*goBu zmy+1nk!<273E=A=>6_z1S~h01@cm{;NtGJqnss7yeQ|9~9o3yar*u*&-PYGuVwY3X zKuGIOIYQn~H#U%^Tk>>$F)_0fCf8OqCF-d6T89x9sZUR-%G5QMQ`@#KXOnC%eOsJ_ zQQ9`qr)xf?o+;@{Cn_5%8ulaJP*zOTWkp!FmgfjqmZ+<oJb_eh%hTO}MC}y1z7^Nh zkI9;<CjKH;`gQ}MplkhcDskRNUpF>YG$BfEjT16;LUmc=2#%yXaL>^I{%E?1lqaYL zb9zeovNA(TopHL3P8?fV7DKP!iQAHisD0}mIlAt{Fu5~NS5ZQFGYBmK)FSBaP}k^* z*6}%_9*XA5?vto)nnci8f}&S2Bx*i4Kb1)DPe8Tbq$}*;8><ox)fG(@)PaYbm?P-s zn(D-aY`Ufbth?jH+JLH7KcW(Y<gPs3ugO&v_mCgJa#a2JvvPEQan0V7Maw(@F$&p_ z+@j8@NM~y>5bw?lylLNTrefc0gJ9ny+51kc$!6-R(X{u3#3@yE*{W2wI)RRQK;mq; zesa38rkva4;((7+NmV*kpKYqkvglrEy=mY2befz=hmt@ElKOqBYtbY3Is6F?bs1sn z!9XU9sSS)h7#IsY2=yLv^)#W><T|m-4@<g4MB6>CXjO@Q&~X^Ck69Qdh=&zc)0Aka zuS@Tjt(c51d_)-y@G1(H^dljiTA=|G^Zg-|sH&q=m$dMxW<lU=;V}i1V~tJd=0}wQ z=_=-`Co~q^$79j^LyTh)?mr%4Tun?r%Omtp#4KZ&be88#4C}({77vs1>miR0tD-61 z3^6VjzPuIcG6tXDvUq6nk0dr>LKVeuRYP62p^>JsbZ?+vQA?wipEAD@V2O(A>IS&@ zhE(U_NB3`s6fPDnzpZnqsn7)PSUlKzC*;9Ayn8pK)zpg0z8kU<wea-4kOMVT{=JX` z2nBYTEHrtS$%3oh0gGx)s~x|`*B$UAh$2?lOmy}NohcXb^!qjwUGcuoL_u(<$7Z4l zdTb_Y^MTH!-hs&vbfTPhKGb<A2JQTzP9$Y`-fLl~;>QwesF^@B5a#huEEcTYmygI` z7J&lyJ|aj2xWG_3vBknfEig3qXOh=2kuopn%TIJg>hVf?+lN$h1k-pS8c(~Qsr#C} zvk9Rn(jC>=L}f7XeNIZyswY&CzEFsqI0gE7U~K};%d+9VkYKuQ9~u@7De~e=sm-IL zz8Z7umy!kh>AFTjzLF#irzSCyzLKN~6B@JiG+z_zYss3Fm^ew9|2m*miFKx_ZsJ6) z{%=xJm7&dLQ+?S)th;>*q+Z3xt<&F2oA|3Q=+W=g{eBg48v9lv@U40>tzp8yZ>6PR z1`u`oPQuk#uV_PCnQcl?nnz^FzL7!{#)WJ5*x`K>p?}o&kRz0S(C!hdKWg^~jvsR& zA3^_<CPzU1qTTZwA$>Z45`M}NB1`0V4S&`d@abor0VjUZ0eJBrT?KCZM`yr~|5FU^ ziv77Ke$Yw8`BibyGZ-QNrx9@fn<9w*EU#cQ7sm-k1roJr(f=Bx#7NpU0L@7ft0t=I zM^a`o{i}&KR;4BVchd;%^`=x|nEh@lkePZy|1jAjtLhmwxrCy~KMigr9d|H4{H4%D zE%(x2N;gr9KKeTpBSQZUrPMze2xS9M?_?sOl=>zU4W-mGnP@1be#w-Cw=}P0283kv zK&B+T$L#>cu5REB6wd>hMR{UHt0tAvB!h`3TQv~}xrwv`$gC_4&|Zk9!mQlv@NAS> z$&`iL!^}!KSfuQ-(5kH#3IhQjT3uJ$R8`SH^IK+R043FlMifh1;>;>^A8o8gRaOzQ zs>w0=hrTicNf;SGS>y^5uZo)zx<S2GgCGF|tL6yZwHn~+bQw7m1Cg5ie{?PCIGL7v z-kWCD5Lg`*K=d_o%&244KtgTYx*|@uA0rGitL4c2`BgM49&*((LVu!0A$U!?6xR2t z$X4!GU(rZYVrI>pKr7IYYk_ho#W<aAIfwXh6$MUaEy*d%lBV=)ZBV&CCRb0OnIw}T zqr_c1;D&gnq7e?P<558?l?8a3mW(=@iEC7@|Iff0ZDFvwWHt=QP1OxkvW;naJ~&d$ zdztkDHf{N<G7=r6qZ4Z?8p6u28yed;TVF?e&qfhZ>*_l74K%R|d_7%(ZOP_XUl-8n zfgYsrT$~vc3gn(Yv%Y4$x(3Bky*3DW`x3~Jw}D2i$keA3O_On6$!r+nK^u&c<!uz& z(PUMV8%S?skBt7N3ZANDHu1>HrEDEfc_UPL9@)sOC~p&wY=o3;?2)N9+cZM|IJUw* zE|+?ndi6wko0)pF@t00+W-6gWIhZy#6*!paFIID7ZEooxI#_9oK#5u|+ejN93N{{L zTLdZ;t)f|n1W*ITHtTN{=#!!ukEJ1dUz+<Gv*{`5o2_(M?Dq)WT1Oiz!>HamC_qOC z2PhSbv#@NNZFC%EvXiAYN+~H>|G_zuaqo~JC{)$#P3~-?!}`$JHZ+A?TegYLhna14 zHg96&p*yo(NZ%Ld@L(iur>U@^D%xpfw%6#iTV`y_kV*L%IYPG&K{XI}2zA+D13cRy z<e_q+8;6EW>PG4n!ZB)h4DkAfO6smU%(|H!Llad~=!s&LXw#hnGUW`jiRuc84{>o> zYG{WPDl2G-5`vvvftWU_@L{1fbTVpB5eh-56bQI4b`CVS5>x~wrZ^jx**VauZ>Vdk ztHS;`vt`JqNjY1S5Y^j7gB!EeG>3;<(#-HsSY1;qtFen_omx+wC^ExC90kY@+%-Tm z6-`x>C~+7l!~*L=G*T0VS`;3M`ia>poJ%w1fr_^1G&Lj;Q)Pipx-mmB$SXhL=|E?~ z1dRIXY&kYRaUG_WhhRd-SZKYNBSr@>B?BoZDf(t)j$j^BY1;Kv)iu<VbJy$|uz@%1 zTMiK!FE{uSm#sR=(2=&JY-AvlrE@7G0&A116SehZf0TyM-UQHS6T(_NHn2vyG&(m1 z{V_)4CTc<5Eud1<aT{S5Il@9|Bf%5t*g#*fCrNyq#b=y~B~#-p6*h&wL*bUJ8o!vx z>~0yW&eG04v%AB^X858!k-2}A``q(;I3`Ati9H+>w7t&k>2NuA94`LmQl`Qomm{Vs zTsC%s;~h58Y6ry!qch_j8~9mbrqX4jkt$s_TB*uqQ!{0%T{fy-<-({<jcWu=Qsc5w zoe3@*Ej7Vq6FN~xX{4&aO6W!iSAjLj!sTF{q?>8lHzC6?p~K3G2*adhNDsq_maH0y zp-j>;CW15NaMA23hl^HEJ1F`&<5)mfWE?J<d>;*^^}H%Oxwg8dp<yxxR=r~fPkl0b zyD;KqFU^viA_=W^$Q<RhE*YllTs8t=Z-<S{N~Ye0(X0)Q5#${*4K5pv)#$R(T8%Cn z%~hwtv_qiue>JU{O?)_PaxB63CQU;$3!i)^J7gTpGm~95p;L5nO=SZmBY3i$VzO0` z?xWEgY08~YIUzBjE=%27*Fe_xHN*{^`O568nQA0IEuH-g9n_ohw_NM}Ohwu_Q4#wa z^m;7il*os`V6%YE+gR6{4V5%CE}rS&5!hr{oUVzhvch5$;d>c)!@g>R*Q^ypX6Ot@ zc{SRZ(Ef(B4luN6QPOv<2WYB1B<g6j79-+7OHY+{pr%5l;i=;kYD6mOAVY&B_1qWf zddLhdnoV>sS`0;@Rh35nwU}z=j&7Qv*1(y>%(Ma;?BR4nD7u7paJ;lG$dfs__|cYC zZub_(b#y`{ZGP+OD=T;dJT<4w(iOEeSo4J&3k*GNyCVu)n0HjEO@!)UhH8)pQfZ*6 zq#62IMH?pCX;OBFj&*40!}7XVoGilK@uGMEDesUL2htjf#~^v~NuCO9tilL?mo8Cw zEXxU8KDV%S*1tNC@)kSTD4iAH;Yn9zGmec5i)EOQ<(8KUIwFAS*i_Y&o`?+1kvf=| zTwh(gFJ{tgPMIJsrS{V`ATQ4AXcN7h7R?+U53m}of`^;biiV~scr77wq>k54uA7i< zMDphd9Zt}Rc`}dcqv8?SG2{j%F=}f@3jR?BU$T$Z*%Q)DbWS4EN9)uHO|=d5)<tHC zPNltGWp%}rI!>`I3FuW#T78bu6)KvltJC|DnPUPn`A41GND_i`I++@e9|~u3I+=)7 z6X3~l0T*#cM~t!Jq;_1u1|B|!&Kw&GRPSOTI^MQ3QrJ1(rDG*JS<++KFk_gF&_9mE zFk5$m<dun2WYZ*i{57eLe&QX?oEV72bA;e2OXh^UFr)<_R;LpKxMDIr_MT8tB@-Jb z1(sMK%<&9zvQ!~AgJhvh3Z5dBV#qB91M3uz0#b#i2JFxf0`H7~--PU$NU5EwfmWjB zw7?F{OM2q(G+jqa{GF~V=ri=`x<Zh1JVU4JNsKc!flBk86q-;=$(bRvub%lkJ5<-Q zdm=>64s|q{NM>Ce=&1!JXzD$45g9H)(&`+KC6y;UE3g#KSSnAr)FV@Q!lfRYDo=Qh zS5J6;u1BWwgy(u}syyL&UOi#+d{ZyX6P{-Zf;{2*9%Cv`c!4S7VB(;^ATUP#W8?`h z4kTFG`1vix@FjsEJ#BYMz*QOWO9LKh>(t8wDhYy2-eo!+sK_Z^rjxaF;H5eadYJgT z+_oeVe^=<RJ~S>0O@(Q=D?%{L241C^2vd7kYA9vV!WVNgSB6H+9N|@(KxG4$g=W<7 zS{Bm6#NX8+5A_y<>Y5PLQ+d~g28>kRwIN-ld#}}~dg|~R4VT$KQRH=+4I}G!y(<W^ ze%A-qoE+W_p<1v@<UQXFfe!b7xLdg~(9p7eHwJ7y)%j$Aij<f-P~WBFobSO|?V`Z2 zw(leSmVoW#?`{f2yeU<?&zl2F_^E`IY`i(t36qVtXc}Qs@zwyPmq4}j;BA2kEj=ju z=cYi#%nsffs5tq_+e4M`371SZ-WJM?6yNQEIW6@kqw)?z$4v3v5$GYAhvU|r0eez4 zCG!{xNO~5sGa%~O!Onoo>ewyb6%bXz@a_OHGj?|e$^w^(m3soZl{vh};%gbcdjlO| zO67F!wN&(!%LA6II?FkO2OSujsS6zxIe`1(kzivlGMC6B+~;tS{kY%ZA{FtFgJP%m zpo4OX?;*!9XBr=N**JAP?6R>%d&FfE`hbISw&4-S20p=*dDLa2;*Yv))ci4*jjBK9 zveD9yyKFSc<1QPgm?unFB{=e~5hCYJG9}|V)AFQ4M)N(TqqJzs=zL1IL9iBtFPIw2 zmlrJ!dISLb&zNj-1}*!9gJN!c+Co)$KW&-T!}}RaR*kpCGS6C;L`Lyhhl>un-$6MF zpL0y0+n#gC=(Xn^E=TOYT^OPHf@6cD?L~*p1NGky8v*f>OGdq4a>!)}&6iy^YW}jz zhJUZPY*hUfmyNo=>ayYBt1g?+*IY7!<TZy3^mz^CWRjLLTCN$Qx7LtYllimdnwH2+ zstn!hhK`dCd|gw_YRSbn3^g;=`G%%L*+SYhk>76`3Qh{~O<M=qgtrVG%65dgwzmwv zlMsB{&=d(lPBFf1=$RSqcQhq>4=~6UzN6^?H!^YW8cKF5@jXLorqA9p%*te3m!Uv& zjJ|R1GBor=Vz;HHHniP_M!22heclRFDcA&ZW@?3@sb?79H`F+ZM}CS--1~->wwV)2 zydFbUbW0O;bdRZK<OM%4be!bg2ZpMdZv4<xl?lpk0u7mxk*Sm~12&y0R3_;{9SkyM z9|k4@e}b3JdIJq4{G4oKZ=h=B1G!5+3Y3j};zxlJxz;E$a~}uPYCSXeu}KXwb6<pX znQNnV|4b)`>A}x+ZkWaU++b_zy3cfenBMzZhr{&Qr@9%HsQf|)gXG?qI%?$czSbo{ z4(_XXMDEFq?A}*8ImqsP6OgG<gM{6;0cs`Yz734Xu#uU(?*g1(#L!b{pN6(nE)Q$Q zcP@-I<9ipz!t;G#-$?iV5VH9--!MJ*BP1o1aVF)yfMuuN`tro$Y@nH~o4aWr3Er=& zNn-~7fmqSSRmcba2!)TUswS6H+I8+W%joV<+>z*~II$Y5$lJM1dEoRDGlG91II>11 zUVh;py46m=TZq39BYHpCIOLg9l1D2VE5+}FGXIIgOeHG)Gf0h<sKS46`2r>LPTsbY z`0rQX(GUGVY_%NSMMv*OFD6WG+O1>y>}<=78SO(x?G_sf192FrfPr7dC7G>Vg>}a6 zhF2G)Qu_@2K7Ys<R;yhVHeaHQV(lt)6^V|O=IMh8I?FUe-`m!Ns~L*$Yf-x{9}MLI zL#j)MRFw{?EFCO<fmyo|tHl<_#vrTxQ=V?qvBhI!F{(oC>MSe^oXO4^5)%%uo+DAT zOx37;aVS~?N+r}kwQD$}8M8auvNPM;m6<icHOx#uOqZ_(3oFMKw~ULmkioSiU9>%Y zXOHc5%xn$pflu}V0)6^n`b?%t%E`5Zh%y+xvNl_bEuJ<qM&qD%ZRk>2<6>OaI*@Ka zMaN<^cxu;ybR}*Xc(N{}!(xj^iiTPbw<H}Ei%lo#dO5lsz_+tN#_jri3sdXUU1SHo zg{k!+B{G?!-FWRF+(xNGW<hlWy1`vpC1P&_DH}10UEB~t(kv^3a3d*<jYT0_K(>Bt z8Y;ReuA{LTIC<1=n4_DL*bI<1mV(jT+Z#hdG&II0Qi5G??Iu!yt$6LG@&-@cYc~@& z)5>BfXLBg66q|u!(8^pU@El#QLcV~sB?JTM2COY0iQ)!#TSK&AY#QHeh8t31%UkB? zW&m!$+X|u*+`-`1kgX0a$V%yknXI=}j_yk2ubv01Up+6m1KvH#bP!^sOsa$FGO~*G z)9Ko6fUX;i8#!#Y$q^a_cd+{9G!6gST>+O28BC*Wa8)UNN`U^qvXp)=&f{%ZbtyhP zQM)~nNO`dNBkkJlg)-UGbZAh15-0jVctAEGQ)72q!r=rDX&uj*xb%6ufG+LeC)%Zh z`6t@7J3v^%KLao2pFP*^kRxOz?T6vDJAxw+_JOLhqadMW>23%JQA{wX0e(DPI|Kx> zi#bOiLqQrKNvI03hJv*cQ|N9dFrxHxYm(v?Lb^qnbi0eVMH>eNQOlxnsE5rK8fI|A zmfM*ul1a9~Ux*-E;RiHocMjC(yB}<s4XgO6-9=XyU)2DQ<>cXTO{|(i*b!aJpT4La z9u#8MgB?*_91Bgc_sUFIm0=nK-`!w;wYuyY%EPuH7QS9l8w-61%yU<%^2<VP1iI)} z(jLs}Wudwl22g_sVM!=ujHIz;4mutN+W}rn4HiAH%Sj-+2cgQ514HG|5Z%T&>RUx& zMMZLGj4<@@<qz&W5lM)35p5$48Wrr=vC3gZX-wJ}rP<J%P8)`!V5LOV4-}dORR7=( zj-yhe4NCz-w6zt_qhXR8fDDMru_e9n#=zc&C^qCEe5K=KAtn<DGllJ;FpgFt3OYGA zE|iE`hCNHt-E=8yp)pk}=SWJ`4|`qo1L`~uGB_c(BC?ulq9n%Hkb$5RGpM3*yX^*s zux~Ip5_UJ$Sz%A&i$YbKDOY!gWB|J(`;R=>GZ)a&d~9|Pi3J`JZ!e<3teURI<DQIh zdqJL)ayHT2TuQg}Z^QR#Qh!BUM+Ux3Dj)I<e#8^qZ~%UN6U_|F4T#d~$MRxJb+MMZ zK;now*vRw6&gufGCPsEt7rW#nvM4Vv)>EQwlxP=)Y^g2=DbeD%)Y@8!wpOAw6>_-Z zEXhmqR!UTslgO^>g4SH&VN4+><Rx-!TwWX>AnIc6oD{7Skr!*Li*1!?M|DB5CW;uM zkR22<TwRna5ptp2VuRGhFeTbnA?qn*Gj*}C5^b!IO%$?@LN-*$h6>qSA)6{>Q-y4z zkd1;1CE83~tgkM%SDaxA*+C(t>SD0EC{>(o)Wvq{VheSV$jL@XDg?=3ZkBOMG*}^< zD`Z`TtgDdi)W!BnM0+)1hc=Gl;<&uL*dV7alxTg0?5r-1h)d2f>LQm{h`Pw;ByyDE z9HB%@6p~XHM=H^g3R$d>!_~#nN_13!sEgy3=s0z8g1R_SaZU;lb+J=UdN@>F42ei& zCwVdcj~F2lngOoJ%Zop08rd4i?>X9Y<Kn-#pvi%LhKVgbE(qa^-{@j%Ait4_FaA$m z{EiD&R~NtLB<C}Qd`d_u)W0Bv%ep5oIiEuW^+yO9go}IWVhg&+Tt^qs%3MPin==xZ z7uTzcALxQPeRRQEeR+BD9bK^2w{!syGvBC-FXN)n%olXQqA!%_W4hQ9g?>aAo8#g$ zx?szn$LRvd*My)EGGEdKm;M=vSnG2__~JrBP}9uUbiwN1&;^(E6><3DQ@YrSIO*?l z0!e=!kr$s4!p-t%9LF29kGi-&FWc~8x?s_lIa$*i<M<p36?z8s^2#~7I5Vy;h`ce` z$$T59Lo^KDO$aVBw-dtExs4F6&Q)~5b-#*4d~uo*okj?AE>IVjk!VxcLC3KOoy!+b ztBa@9#RYW1t#PG7E?3B<0TP#mUPc$}*wu8wS~t)ITVAG+GZb=uUNl|iY<00zU7SN4 zG*sqXLby8T5yF<wrwepJ=4>FiIEy%Zv6K+*!L!uGxr%cRaaeR7U9dl=(*<kM_@aX@ z*||Z9PNEBT{*JgL->yVAE73B#*d#|<*DB7ngs{PD6mlh9u+OK`#YQON6yj_It&{0u z5H7wW(S{IxsxH1K5hLFdvH?W5(#7T=-$EjG>{hzqTHHh;zPMOjd_@<``B)*RsEbS0 z#U<+EBXx0VUKvyuH<L)TkK&xJE<Pj<7jZRRaOpRyi+dF3dWCc<<W7ZTBU0-kh1{Yz zC({KiryrI``T>d1	%>N;!2w2)i+W5VQ|{np24AV+lx65b^~f8{<Mbmj0MTT*R01 zf_`jF`NcSKZlj?`IXHZSYXB02n0F)iG|&KiSc(3(bO1id8KvyefGB;^5}ULEQTli# z)CNSms!0FG`07npAfpnE?tX1N8f^3cY$x7Ph&E4clRLghG(x{O%8{`7Yd+)w2X;pu zSPL=~{0|roP!=!!VBW<ZihD2*?>?88xj2vF=@;7nIih|LInWuA|KI@SQG{@lE8lw1 z@+9*@Tng9wwdMI}^R!Z3bBfYD?b6duBF*Kx@CjAsyL<icX0-V$qah|K%{_km_inc4 z>q_&MZQgps7EXyshweCJIhi%fd@@eb=4nfHKd@ydo>6?BdDHVcZ$i%HJ;J;heL9aI z$DZh~S*1D;Clb3{(T4}u>pYy#Y~F==V299u#Xoctjwd$n{y4DNhJQG>**p;wb4p3X z|6mWND2JB^)@t~-n}>H7^X8I7{9}7`Y1_-^fz31gtI4^%2jVU^!DH`nwrBQbmB-#= z9$t;lUfeCW+QWOqW3M{r>OK~CvGE?>qaI#W#MON??_!l6-UB{f&eeT5?qU@_p2uF? z!+X$YFXEQ*kZX^B=4i*uhivcYPBOv&5LXNGuD$o-E;c>qVm&@y#N~D6UF<-Qy$?M0 z4)b8|GPcARN6kKadAHn!9(&Jwcn3vX-4z~Qi-*_k;Z4hV?8RNI#l!3M*gMRFb$RR^ z<gxdTNB4k;>&v?y-lDk6d*8!b;NkT!@5bd3`490oHRrJx2X+(vSNsESVczAv$JkAs zl7^KlGmUQSxPK=O>{vx(-hm!ox8SuYBJAzu;a$W$bDkWTbIRpU%~83%WP<;ZJ^s{O zwE4JY5`r)M>AGn1@p`-Pr|Y84Cn}oY<x$2-F$F^Ri8!#6m+9D}d0?j)_Qafhnxe72 zH|Q?fe7a$;D+lb1sfvg)-ec@c!(JB=qRnS38ryq^c}op@?=kP3sfq}D?=p7zQXP9e z2YXlOx|vJzj2Y$r$vm^|_hjtK&WQX+Wn{K+dHfB%X!BL|8ZZ4=9A#Y9r(@sIO|<#y zn2vp&17?(){+4;y<#pai%)7Z%$G&Cknn61D72QOeZ(gclnclclMrJDW%yK{RVL3;a zzXWIdd|%$>edMv%>%(%c?gt*;hd!PMTj65-1u4sC{^*pAMLoI^4;GEMKL6$65zXn} zzkQgio4z>i=<=7bET8$ST^5$<%tJRzC5e9}6uWr(5pBLjK@nhg#+kQVfxt!!UYmxc zFV3@WuZ}$!2X<?{j)^_Zt$7{0mwC6vGz{;u(r}`)&6h`Qy=%1jwq?3-VonNoXg}b` zX!GrZbm5bEDO`M9TaJV|U6>$`*zD)){rUw7`*b1sA%x!?as6}A<~ye9LV8dogkN2` z<7FgVt_$y0nv0(K`R8ae8cqB|bB)bO&1deOJD!A{y6`EbSzXezw|)|X<|I{S#jjKT z8*T0^)iv+VOS9uQdHG!ZBnHhfO7o*78|_1yOLfiH@+56;GpsccA=-SGqH*89%DhAC z6$rzVbIfbgv41nKoh0HPcze-ZwE6BqI`&)~SVyOhWdzT_p38%`urwn7!CpEC?4EiZ zdnOL-FaygFfp~p7@7X-CML8XtNH@{udzb3iGkIW(J9R9T19o3b$DWM?JG@uNk~!ur z*D<k19$BwrDY}U^-`}QVuf>5KmD8~%x{EeHFi6K<&NJ4jW0UD7+WcU>j=dUZtWU>4 zh&Dg8RL5Rn-or5+Ys`W7@Nyk{B@gV8HXUnV-lKzb>;>jM+NooWbQ5iUtX{`njx*M$ zWA!;;k1y4+mzeiNOvf7NCffYOavggq4=mrNV|z32$w4~yVjR3DJ9TXD9I&VAb?n7F zV|_YSM>o-C{?<Ihh{=D)fjtw`d9}=YX1R{tp9k;RHXW<Y0efzcjy)e|?Ee}27I>Me z_W%8eqR=F%Pz|q2rJA>-sMt|5<K*m_5pjm5lALpj(M8B*Q;|?ZlH{`8uQ7-u)lNEd zx}2JXgt9{=p`A<hBK@Cr+iRW4%<q3bpFY{&XFbna-|zFRwb$&~vv*3x3h)4m(uRs< zXuGtlV%<&Bt~{w?TWGsa0xH%W51{CijEZft2{x=!yly7JK250YHq&;)<0@8!2T=5x zPsO&_6icaCSCe3$8!EP0r<ki^G1{&osbXK#c3%Wk>^|D=i;RkWMcaLuP_eFf07V&} zihXSpY<MN#`&he_+Ac%eeU((PZnWK|fQoI>NxV%N6)Q9e_H{zVmeO{ceJXZ69zfA% zSHbABlc8v0QpL8=c9R4|)@S<MWhi<zAV7kBP1{Y5tJr3f^zmAycwbYDoVD2>@!gF7 zgrcdH;;qpM_C}nw!f)@%KH4OhRVm&sYyd@DDq-6xwzX2c@2KzA44UX4iMP`vzTYG` zMEm#-51?q9p<>%<yKSzD?WFC#O{&-qifs?5*q<hew>_g`zfo*QO2rQ20Tk^tRP1+# zxs@=JwEHfpV!zUM-v?CeH;V1@sn{Wgr7B@2iRTz9_AA3&75f7Zpy-FBiXElc?u3dR zGfBHWJ{3F4u#}1&!viSVYp9sZF!De8M{;z;B<+68aERvUFvWgKsMrxafTEv$D(2F5 zKc`e|H^pXq81AhKexcYtL$=dE$IG;5;pKkv#p>^PrN4lD%~J=j<l{RK$O|R#ANYL_ z{|B1RGb?`yu)f!&12J9|==6gIU1ApgyC%Qqw<3h^$r$eNTZk)ex4}r@(H<KaRJ69( zQFW6X-5X~|f9T{W!do7rN1aV(J4}y?xZhbCX&GZS`Xp4S=n;q5A941eRjBBxL+sBK ze@{ro{eFo3<>#*osfcS3dyi@Z-f+8=nSetke<&8a@3~9H0UWr%=+G(F+7cKgK(Tw{ z0;4o27O@3J$xy7bDKJWjVnvp~C^3q~ymqzF2=}!~5{jbT*=U9P+PZ`&!AKF!v<cP@ z+uiRM*y{xAI>ir2nqeAr9E`UXVrKC>xsHSI%Nmk>^7ab)<_Ez0&b{w=oMi78(CZ8c z{2k}%t;(L03l&kGiW(;NP;qx0dR%1k`_wBs=+L8vg)dXliS7O*6uz4wy@OVbyHko$ zi-GisxNQ4><c61yLzgWH5>Xg`v(dB57R*HlontI=*O3_#onXkHz2b!&@V_ePM&7;2 zxfa|lxUR5I!}aFwJC>tkRk*bn$GgO(|EA9bhS7d3nAh<;F3NTEc^c(PUkd}nmb%d6 z;yC9z`ho<6r>DpOB-e1K1PQ@Fh3m4WJ-z^AuLT&98(GZ4lMab1FsfpBfgdnB!E$l! zIKb4Z@^r4yPebt*>x!l5UkwU-J3O5t9~EH-!b=P+A{~cb5%WQKX_6DJ=#f#A8%Fvv zxdR<2e9OkDNcc>2AphuUrT_ynkcaF#!XRNeMwDa;|Dw~SZ?S~;$OxlMc$h$>rAT-H zDh4_P%PGRSvbd|6T#c3bY1Fu6;ya&WpfjPc#Fwo`&lD79JT-~}U_6V(%}V_lR3qX7 zOI5{?l&Z$iBpBcM$@mmCijjHG6a%>$UCQH7Q54{qRAb}dvu=Q{&5`9ZLJigrE&m~2 z5Lyylp2K!SlO#wkHFRG}JA;exx{m)KUz<0^dBDHK{h`-wZP5KJDC{dWU_ZX77?=R# zpuvClQ4w>&_|4CMHS+1E3>a>lr@LZ^4#w{|-KW{eyW&#|V(<FMsK^vx!MZ$*8VpP@ zkcaHj8?l%xu%k9Qba})C3@$KQO<nq=0K4EA>!j-h+7ZF%EMIQZSxy$R<wz4>(*&h& zTkI85mA<t;(PaKb=u{mFpG;KxMjFpy<n248D97lFhP7#mmvrbjc)xh9gc@gB&-VHC zDFTW=ycPwaJ*HL#RmD4%^g{tAxPCA-*}q`~HmeDRL;PNe6->3!qi|>fVppIi{n%bO z+)t;NemF&JW}FsPD5aC55xCM;F(A~5`i*qJsKXVi%E7M9Ehrr6X!wT&m|NFY25}`A zRtF1AstAJ<jI^U&lf@RhXBbYjH*{|iS)!k2+N?eE=~>vg78E`oC%o|A-Z{avDJMQr zp10LyW0a*%l+h;P#5xsg5Rs(9v>8Ze8_C8@YumObA0tDAiswBeT_T816{9Tfz?KN2 zR>f$OV7Vp*Nq|@<PfKy~MemfLe{Conh3i0NilYKVez6t|WoctS&#D-&s}x^~6EVo2 zJQZM)aKr%yDipUL9di$(IMgqUlHz!sW1J$<>7_Wqa#0KpwNF!zfeyXukQLPjg=2B9 z(d}9_d_S9wLo6I;LhLFFbn;;d3SSD)MUL0w%L!JGtOAohDnamm>X%G`@jwEjBF(D6 zz%JVZP?$_HP_5CVk6@MS@n!DJyC$n2cF%nOKkBj9$v?(p<MW_!5;~40eqKF}%TP|d z9!L8qC!Vaym6G*ZT+S-59#N8taTzueC0U6}r%$H}Rg9)|uu56XLe!~Zvd$fNvQVvx z*Wv`rm8}1>9xu72bzk(a1BH{VY>KbqO8kJ>npBK;Rf>3bnsTO|?hrA^K$LpK>{Yz_ zZ;I<9tv+WI$Ggl!rAXF!5`~|YN$FHfcL<h?VraYh?|M9t`s)_60=?=&;Z!%f9;a&% zyV@t##~CSgeVl2qdJO5LR%g0k+?0aQZVUy5vjSjfoDr^%6ztm4AqKRQQHQ8omw#O1 zO0dfHIMWdA<oY-x#jyX6dc5P*x6`rl1yDE-M>Cal;ML<agL2~aI2n^A_snxGHCgj) z!ijb2)gww$F-?q4ZW`XJdHa8$5EZJJOnM^}c|D>|6>}|)@p?qHD(2Y)%ayGEvmS@9 z>HQ-5*Mq_ZRyM`CRDQ8OPEV*5@uo7R9^b_E@oFC#h*FQ3y^6U31}al-Na&2q7{%!c zVPxwgp}17%7^g^ddNWS2Toi-jZCQ^ge!f1G3ZJU;7<yeq_Wx{m023j2t4`|bO&y18 zLa?>10XpD^r(hfXW9w|(J1sNO<U&x_rOAG=_KZPLn8J)-6UXK@iLug;M;XwkyI#ZF z^kGl>uY|%?s75o4`6BIXbpU!a%0Q5u4WV#N3XkFte1aamjb&5afZ#K<<vZB2MgW2j z%f275yYB8*42A1(htVtr!LhXAdK~|?eh4lwNyztXJW4{a7qxw$LF_sWf(JBWv$5rM z3DB!!9-#0;6OSC+RM=w7p$+z;C#}1oa03Rp9yccR%4*?8Tx_qmq0QeZ;#TH^SRjDY zSGsM~OV`!z4~1#eBw#`4L*0wGPM^Ga$95?E#1FCm`XIQ-6sF(=dui>r@KpS%izX9- zNjl;R4Ub%u%O;(Dp+oEj6zC;t`_jat3<M|Aql^u)8+8c2DMS8b*6+|K4uzXA$c-ro zIwlFS8AsgQ55ey=a<l~p**posUDUQU39*|r2=1Y_Z!&m<0(GPUeT#lKIS?dUR4Ckz zEn66%YgC0D*s_I<Hk;VK!<IJ(KtF@pzBlm5g5X2cwhR4k@j>tfdh~-2deqlJKbyAP zjV*66A$Z6nQTC9QE`%<lM|(36YZ-?&r)bNce0Y?>eJDNp8C$l}A^5#U{PtnXR>*b< zJ=%{gZ}nq2>%{h}fk(*p4x1buK)>5?&)AVhIfN~5L$=>0i0wCQc^j5PnznSY<?YC} zYJk{&&)|^_!RvG{d$-t!w%0MC@CXKJ9e`k*c6ZDVJsN6QnKZ~Baa<(u1J!J5`_saf z780T%|8gMK#s_*WdUV{6M<z}*>URQLo^&BdwnsodGn3EZZT_Jx@%GnP8yEC*Qp9%3 zhM11FzlqJj|6+Ouf-Q-k0od{ml)5@;X;i_MccgI6+a85h_Aku>--1yU-P-y=uSSDZ zL#}O;5bRBZoQ3q-A)%M)QS~GqC9nW(60!!iZ0A65As+CBV}W*{;ry0hoP%z68W4Pi zy47^>$i{}I*YH*Qv6H1=gHhWLvAY5opGNcr@W{ehA|uW>Yi`)z0gUq!5Nl8LqHNCB z@yLYWhce<Cv+v=aAAwQVM3am4En|G4oqVhLBrxh35W71L!4IU@+h(6nN1@k6aWrKh z_^mW;Hova<b89f_<Dl@mPjHzut<vW2zxsDDFx9aRDF|+teSM|r^Nst#xFiFypdW(o zNz*Fxvs;!v2*za=nvxLQA_IP@^~^k23yel7h~eeM;Ckt`+<f7-vv+~<ALJEEKyaJ% z%4qc(&VCMz%aK>eK`&`qsXfuU>Yrd->4#WH1A=(%UF7IXb9L3&V_-CO(PTq#o$M>6 z-ISTt2#jlxS3v;#lBQ)^mHBfjz-WfN3M>e|D+8`DYaTtf1dQvD*F8Q6Zk1jY=1cXS z*#|}-fhH6Cl3ppZZ?hLa1LFoAO)h##)8}St$W|PDbL7=2j(y31E41@odUgyLEs$5I z4Dynu3hn*oYX^gIGx93bA^4Frt<{zdKD85!mNuGFxNgY4zBa3G8?*|HTayqo{1DtA zy_RcBT0gQFjN6fyk;HsS(`IdleIxeO26=@w^pXMBXpg_}JNAWBFBVQfaHlkFGPj)i zu^fzcJ~TNHd|w7!ZT_)oY!xu>bRZTn&`X-W*4j32HWv&m>R7~vpe+NgG@CWK6Z`6b zyrKcDUg`CPnMt&~7>p3|idxv0^jfWTZr^h>7zJ^Nb@oAUhcs={R%;uc0Had?O(ymw z1HPsG5_xzi7zXm{>|)JJuZ;P6$?@G_M3C2gNt|Dbm-)+?U1#E}t&vwZ4f~R&ugq1k z*G7PGZwgHbJUy9cGrF31<UsHTjU1s%th<4yCu-}CU3a%3_>1Wk^FFQ1;Pp3wQG{-I zH7mH6y7e&d$b#TL+3;uWyymbDjGjq|;YGmU4>V%j!XpzSVrP5_``P@@_Xm#RXAcKW zxX_+USH*{LkUioM+%FscVcyhyavv~yxoFDZ9)m{gZ9}Z54k5qSFa+lJnR9LgqmPcJ z6a@eFOu@gjA%QKJ+Y%qd?)O8eo@WYOU`}rSes3^JaUAz2A$Z*MhImw~(qTh4FdoA} z#We`kmtN;-XSCgfH2axoN<i?WXA15&PdwiB1u*(2(S#?ui#=25JoCSL3e)~X9AXa` z5Io_Tg1?&=AFq#V=TiYR+3018VT5XF7r3h)2IFZBVh;w;%QFRk*De@v3TN=Z44N$D z<(Wd~n&(t4-vq{B<n@pbf`?^ahqTE9A27kdOOLUKObA^hy=t4!S6{FcjA6*@As2%G z^Gre4e5lpJpTRH<i1ms?=t3`G=v-}*HKi{YBmHQ~K=3c=^_$toc%nZTc&Rb=u#R4y zDOAgxW4()oISP3_oWj1mfI(La)@%6<7^9I_Z$FOEGlgnvgMRAR6O1tynvxLGynw+! zwUdFNSA#J&0kKCktPRf;x<I@1qCe+=F&=q6l7Qepo+<dJxp`$_cQ9T?UXM5s0?kwY zd~;#FL(9OJfV}$PK9v+bFW<vv@uBz60%M|!CL2PRcmYFo&DnK^W4<QY5GxKq@RVl? z{-Lcu_2xxjOh#VC7K9plrchn2LyPDDFs2|cEYsjWvae%W?I{&)z?h1>N=)p_GlhKG ziN^gg%hPl;xmdlPDR|5raK+0Tz?k8KSZN%qSN3(jcDBCyX)rA0Rhq#OO0Of@8O`6s zHD(s_dQ`^|dZthvGx1kJ2#h(%>(La}ycaNd)ckqv{#{_qOG4~1KZF`cFQ56^!acu$ zu^^77B+g3db;Rsbef5W6EJ9v=HT3dKp*q@*aks4pV+r!=o4~D>jS-DEkxE|&^bp;g zEHfb1&w$|Vx|fv>cD4G?Vw#uZIQroV_MkM~YhP2+uLc+^EQlon5WL6syzaK|SX_Zi z?kXHd0++Mfq^U?h)c4dvFjnI@`uiZ*Q3kxr9z3bVd@$a|LG{PA?S5(MrbjLvb1fKa z9W=QRERX@)>u2n}M+ak_3$e#>q3fx5*~d=}t_j9^8%-JPOM2aIe^;d%dcBXlp3u=t zn!4!Mk91mqVaL&w!oFm{cJ`{q)-zyi2te#fKLm@U*L`*~bLtK-HX^SllMuX9dbPF3 zcHejv7-h)oDGh=>q*qsa*v2Ehz(^ynrxFkhNmDz0(EjdWFg{74$$?-@2E0!X_=i^m z<1-Ut0}Ke_*-p%&JM{047QF~Y1@anTqn9*wu@BY0Yz7!#BCn?d*q030R==wHPR!R= z$m?kfM<`8Q^-J5&nGVL+8pH<rAlONo?$Xb1oWQ|v&Y;P}+K_#9*PDHMVRbOJBCmli z)`s+IZ@)M9%1^=AhP(#F@xzuhb+;$for(pp9eEAPK=1)w!y4UbKy0uM!Ev-=zf0l= z6|C5*v|@Mp(3Zl_+Oq3j_O)l*Q^0W0?HQaoV`-4xemqKoUYDK}_rxJK1m{N?we7X= z(~gNY8uCXBIV1sk4SMtw`VGPErX<Kven!8c_$AbQI+T4D9@(HzbA|l+RCn-Brx_T( zI1n2a0R4@GXL`eZpzeYmVEpQ$$-*lR(ljmc%$W!J;deVW#D@Do2Rg{#l6Zu}x_}PE z&ESy>`ulVshjEZ5Uc{JB2^_(eW(M?+Wyp^brKA4$IT%OLZG;Z`M{<lC6T3G3m;mDs z9R7$DdMPHibHj6S3-MP1Vk1$zF}fIj=oP)!lQ*0P#&I1@c$ToGX@y-nEb<%}Ck==_ zi>kh1dtQ_D@Ulsxz&PbcQvyQdOHj7nhgRFyYyFOa@sEop2SWJKOqgEMZ)wuD34{Ul z7;Qr69cg;gcJAx-8-&kDqREBO>(ca+-L2X5zad-=dA$&a&{}C)rjJ{@{|*SBg}h$K zKxm3Iy{O+Z`<;ytu7SM9=-8L;4P&vrc>5|7!sIjIm=yLUP2=^~-E$5>xTXWK7yS@g zBTaAW-M_E<7ldmguNRXLnk@Sor~efz>jhyS@*1n*2&LCjz4pd!0SMPYUU;?*O_8Q? z_L9vH{s7^+aWpyDmkhYn-q*wzf^fY6#KsvAdQE!0XiqvEode;Ekk>dHLT^jc68*t1 zewqd0`p9d10KH_uvG%^E6TXCS1LQT{LN94rVt1MBzX!sXq#*W^4?;6#z)AMkhg)D$ zE;G?&Lg;<zwOW7vwrl+mZiKvEav?NBdX2F+A2{z12>%Cpy&Q+o2hz04zA#?vWe8u6 zyk5?rmkc;j|7_icTOoX<2C<|Lp>@*qmi?jc;l&Vcnn6<vLepiy3HBFF8(_Y!MqU&A zI6`T9OCLPDY!rl>A+HHZ^pXLS`tHb>-VnYHc}>(H^q%xusn1yR(v=Vn7-&jBXsR?# z&=0g9wFAO8_|fE`mkhW{pYiyJmJn`^yk0RNG)<b4_V!_*L%0R<dc}s&yE5QP`;qM% z7DD)D<TWXPeMztJ_A9>k@dk&M7Md&wt(T@w`tGBToB`om6A*jVhkeO_FYCv8_PGJV zw<E7tP3%j0Ewd*z{<I^6+aRx3U7X8`mp!=YlIJ0O2lAR6$G)U#x&F=eyLLmkt&64% zgg%m{5ADb7DZfG(FQdd>(;>7$nrwT?xLfx_xIOZEEd`;Cwm0=YvftWv#q|*GfV`&o zAyiJ*xo`-nOi4oMTa6rbOyMmc8iYQ!$x#7bgYAq9-BhwZlKVTz?IC(FK#mH1c;w(N zhaMRQ#HJe1<|I7|C-KMzeWqMHXS!7quU!M-NCskW1VEofLw0uX$O8RC+3;<5`J`D` z1YJ;(X+F^L1`)o5>GR#oBX4{M;jS*4Owd1&Uh5J~t9<k^gu9_4(_GM(NYmWJCH1O| zfN&8GYI+>KWWcqFkE=fSJA`|nBGWVIB~5ePkDK0i0fg^QKx~E%`V47W>$Zz8ybQt* z=x9oTzEJjMB|f<5mJcC}A7x@Q{h+@mO>eqBBYGQzdpT%Ig1%S=oRc`C=8J<M+#7jW z8tCh#*V~Cx_V%A4+y{AC3G7RH%}!*xKROb^CCJNi&`X-uB%avx40=5phuACw`;q}? zy9*y}x&*>~18A~AU#EDvv+FJ13E>3tnjHXrk@T|M54MJvLilmyHQNIHU1?gKD5(15 z)ewFHdCl>mmkc<|J@~?tXF>R>6q-!*lBU(}!b4}zgz(cQnq1J|lmX|s173LSD1-+g zueotNIZLm15-%rjT?yf5kk{M{)`s+&mnb`X(_sh?MPBoC&~0gY$K8{8{yz{NuAwOf zx<+dh&+W1Ke$daNM<We9N`k(@CAIx5cD+CY{mc|OdJbDINI-B5ofD(*nsozgc_#H6 zjeZLp^poA$?l~)uHiqyE=(f<ntM%0FMGKE?2#%shc*^O~7$@!r^k}>vVv7QJ!JLMC z3CS(8aIZv<UUne1*a!NZbSM+B<zf>rm{Z$CY`NIQOSRPYiUqMHxc753GU!R@w*<F) zOHFcwOG|7iZugeZqt~$IQrzGzr7fpm%QyWHTuhIq`tc|U!C&do8|b%8gWy4WG!0uW zOW=`7V$Q&p%N%S;k7i=a<+uR+L&suS5Pl6A)uBhT90*TI;1M15oH&GEPl4{ENBDhU zc&dvppr<{|!<N&~Z;DHLSl}mjnW6AHJ+h(4B?fL;>Cqw`k8IF;(w3-6c!mpl4|=r3 zhOmWEdM1e9oA}?W*k2ENv`mLE?gjLM0I@B%Av_-a3R2`~1^)Lk`qfN%OHS>;ww|>= zfbdEk!buErmNcCc7&i5rMi71rZz7xELa-Gb*J=mCuLMv{lSF(wj+wyTE}*@wwIKW= z+J4iB?Hvcg!;*N*3bnoK$LsnTTxSx*wmyzuj9_<PyX5FS2TKk!^d#-!18mt4V}3|& zb{xWH970vFA>Ra6F@Krg3HJaWS`Z##L8!VkooTk4-2+#ekMQ*NtRF(>n4VWP^V6LN z&V}&DCRRKKtRcP5Fh@0c6lY}GfbjDeu!i)is!iU1*GUL};>Uu=fS5)xjH>4Q)^6Ou zeCk4Yhz+5d((5eknk$xG1>w(a2=~Kt&)L#+hSuee&A9G<k%4f3?5m~>c&4_dyka<n zGsx?S1P)%Bs%dSjx9<kwO~~sh9VyFzXPGqu)z63UW*t`>9|S-1Ou<jIi$e#iKzOSU z!UM6A-;<`aHoirZQxM*Uyar=(Kb58rwI7;1JQ>2@BCp462$pMta&V)0<NEutT6Q3> zcm{%>NUx8~+tyry+f@9h6@Jh{FKODSEqlxC4&hyKJUb*H__+-Du{QYoK@%bT1M=#v zLohA9%FIXmpw!_#$g7Wmyc93<r%`8ghVYNbtHh6km!>kU{i%6ZK=>yI!llUT9U1T) z?Wa2*zZ}B*Qh3(WAo#ZQT5E<o-QEhq`;k{94*JT3psX)Tv~N}YA_yNqUY!G=uW&t6 zDslGO7urGi5c0Ygi}@|-m2x{J&c|Jf8^E(Uu4gNy*D^QR<&pIeKCI!{+yH%*^je<K z4qP%G!bg!;ksnRcYq>ja-EM@BA+MN=eM!@b#Iud<ry=}j3c_LZS|CmH+&jMbU^|5W zXX0K8`&y9j20uUX-A?y82%j);FNGR*vV|#FsO!z|TL<C4kynQR1S8TE)=TOwoetrD z0=Th44Ld6)yW4tWIz#|@b<`mk)n!0?`C)54M5<(P%VnZTdKvn$jgwnIq^gBGE(Zfj zFT<|m+<iVo&O}~q(d%Amis)Y_x;21Eb>wwZ60c=Q)17wV)!$zYk+YH4&2b2Jkfyu! zA9_xo29cV6-1`Rb!-y?L7_#)kb^EV|NG%ulz8Zw)Nz+`r+I>d=B0l7GTLwZ4y?~+F z_RDQ2)`7@*$g8yjA^c!17Kd5-7GIs-5IG-t=_xeHfV1q#i}ikh$OQ=q-)KT;f%KZK zZ_)$kb)gR7E0PdeEKT$DvwGEe3L+OHucmPbEs~}=_85QvArQeOG<-GkS|t0LtA9{u z_jeF!h`gHV*q1a}_J;cXszKyZ8$YY~ke4*g(Vw02_V*C+Cn0=2@|rCBdeyGhYVu%+ zG)7+kMP9E+uUGX`?zSZmX@b0(*bsb`tmcs`kjjOaqDl1VN)y5tTX<v>TT|@1K?1)w zrAJp|%S&_!PM|HX!Iqc#@IC=*YlbcT4g`PFh~IS@gd4jM{E;4AkA4?me?OYU7QmL( zGx*gAJ-Pu~o{jzOrbjno%bM8VZjH2TZsO-{9STq`Jh}<}e0Y@xvw=r9W6L^zD40i& zZo!u4<2Tz_6=-XTEzi>Mdv1D!)nfcF0|j&G(QP^yCoCwKL;Y^I!T39+;UD15QS9_q zG#^v(fuDi=1XwiBA}2wC(Nkp6yZ|{(3XGmai{=^-e%H@2wo$+*F+doL0spFKd@E73 zAcLC=TVSK`U*y;9xG``9HilyJeGney;~4u)RP-y3r2tR8WYGL#SJCVgxxt-d?3!B9 zf;iqIog^6Pcf3yenB$Ny@Ck;#?CX7e;1U#`umm>NrtK0?_(xn|ah+iE@%Dmaeu2GU z6Kt*xg+I{ok$BJ0cEdAJ_)b8ydxEwbhWCKIEym35wkcYO{jN!oc4T}n>LlJGKNPN} zzGOSmaTMOu#r6~(hnV<}={Ekf1n)bhw^!eS2*17hw@IBY!8jK~q+`<iO#!<jdf0lM z-cNMTF&iU}uH({Mh}c8<N1vBscMahub`6T}Mq4u+2L9W-p_<%|gdrHnZ>T2sAz>ha z9ktPc+<=7P1crN;N`I&hyP>*pRh)E0jD%r9UCHoMJDXt>$#Bi)%n|gd50Op|XDIIZ zF1`o%V~y}uS<0}uz@RrVF^0t*O?nd(|9wS6JgO1kLn&T^`{!nS$RZf34;YY)568?x zlKY}CtiTxGw_U*C0wa7$)?su*fpNa;5`Z0%b~K~gY%ilDv~0fDAi^{H>)M6;(Fac< zkw7-zwvNiTEq)wogty4kVHMwjp8~G+1LIqK4`%e*q~LoO+O8ubQS(dqwsjb&@@?xA z7~_j&guw;I_`YYORy3C~zaL;B-9_8c{9a;ueAng6Z`*~x*TLWoA#$&o&G)I4%J)ga z-s9U2D;ODazAH?6M;Vj8cx8gzQO1T`DZfwgq^o?N<PEuy<i@q)c3wNi*G3Iim@J^E z=MPQ5jtEBi4)^j~(E4BbZ6Wjf#{RDkpwA@`xi6E=cM#U)^@gbDfd;+ZjpuhY9t8q| z?*QZ*z}1}1-=!A0sf`WK<GTTQ4DvHj@ZFe!;(><1SbocVP`uj17+?IjQ9Qup?RY(Z z;)mj;7Qtve@6<(p+Z^ZjH_8?2Cey3uXPYEWqR*ueiTShnrpUNW!FPFv-f_qIE|1eY z?s$F&x%7@Z&Ub!*+;K;SqO4b+x=@_57%2EwXi&U7BQVDI3mvhzz!={zP1MTe80VX@ zp?H3PV3hAxFTWiZ{;Qr9zI!8EmZ8sO5W(wL>{nhQCB=)A^mahLUM;fe?SP!`LS)$7 ztLJA>nVZDYS<*@)w*#`_iD2a3LJY`2!FMy}l585-8pil;!Cd0CD~>U~Ta!@yjKwj| z_nQo0N92$3_43>CgKWO|egrSSqj#=(1%3PwdC<=0I|6fflOytLCfRJJ!zvzbv)N1s zRJ;URwlG9J&$Y=-jbtcFe!oR-BjOAce90PSdKxgkWX;COh<{`qXMDFK-z9O5alSh; zP(0Tr7~xysH$^>n{4ASqr&~3T@0oR9ZihaNAky2%`Bvq>K`I`F<GvZ^C_5jG!YU;z z6yrM*kFHAyhO;o+H(R80h2eKTzz_@+49RLFf6l=elGSKrK(r$a)jzo+e{VqXESh=3 zF!;Fr?_X*)lEgl#{&I7S(-<Pf@$5v7!}LgEW0NecjM!LBU5H1cP12lW;GLvCGP*39 z<KheyG)Z#DW+jqPA4{4ki6qoVi*`JbyOK~m#~|%!A}^DP{1nTy^495c$ya;-g@)+! zABa5quM^KiEY<qDNaO@ksu_{U2?4cm@e3!VaA!Ek*Cazx`2K+0*uwxwLDJfwn~e!J zYbZ`Uq;Mw$1SSi2yudi$-3AoTa7a7Cx8pWBQJ+J0mHFNz`9AL3@Gbf@fk?l9op|t~ zVC)uG@STDzt~LeVDVRgKv3Lb50gIXqrFgna?hPhGQTXn`e7v4wpx}#}$>J%Fz*rfR zjl~q2H#t#B&R>c1cAW3t3}8nDqkO-#y@~qtzxZBZdK2|e|FOmBb2&tw5GNjQqP}C% zyO{Yz#oZgZi<wW<sW!cfnKQJI;jMnsxx(-#9~8f1F;Fo48CiRqe-?_|5M4ag7VUCR z)cqLG@)#D>lND^+*%@st84g}^GKRsgfXIM<ooevx6}uG|AGQ>Ii7d$cWi$4J1g%+q zYF&ryagk<xOD;9=?rSn)mG7?x6lZJ(3ch5q`jU>BWRGQ(EVKB{5Oo$yFPYiv0vzKR z#Vc0W5y9w;ebvioK`%X<uaePmO$IGOpDQ6UNSta!MoSu-IPL@=TuCG3dz&NpewC#6 zkaLDDP?_6p(z%k+Lq5O|3=|B1GXMh#j4^bP;a5q4<<98ucrtBalXjG$U-N4AvwtzX zR`Y6h%bCx-gFa0mGE|&g#QDDDN*s4<%puKa$rUbMiWb6`ToGq8mJA3={$t<`Ag;*h zjR|tQI~r8JN09H8HUkCUV}8J}0%Lq}-ePcp(eU{3m~_E0p3y%oD7i5~Fg8cM-^6zu zjP**_q!s#Ue(RYo8~YtPT?G-mk}h^jtT0QOV%pmH`0trZu1V25^U05rG$?77p?Bu9 zUm=xTi(*_H=RX!Jx!y-6HyMlkiFDy#4q!kA@{onc{eWRPMgn6c<F7#rmaZC3E)0-f zgz+~UqZOXSAlJGgh@}$@*8=R3U{!KFA)w<I?6<=+@M#E73N=>hr%|JM*~?up5MCpE z*34GpS}gE3nADl1*OF^=`g;SWM)5ZZss{TZck#A_qDJwzXwx|l@$>n@zfB}!VpoJR z3rT*$fMGc%)tH;itfXpSFT!D#O_-w^*q6Yl8V2InBf)a2u|=w33N=n!8xOR-at#K$ z1|p-ZEH#R^Y4kT0T#aT}{&%Es#W6|$KUhj_6z?`wHTIzGYHUS_3pL0OG%z3oxf<kW z8YRu*9FuC?vFxr%OpPBbVf1PP`{Ee?nHV|i?V;^*s`0IyDI<g$OZ3y!#^1d@8HdrE zL1c{0)eyh>E8dM2-waP+l>e|dO_l$zn#%uxpIilEqx63DN3P85_VJ-ht|yzGfxj=q zd4LgxQF8s2K(u_=Jitps#RvQZ%gt40ex$}%h0}7q?~9NBi-E3%$hc%S*KalYBN?9S zJpq;L;YyW%Bt@=qkr9!Fo-HcmH#Ws&8$^dLxlUZ#?Io7iJpo~qTo2QVCR2rR#Y<kr zM^dC+POdv-UY`|tU3t2^-cwNZ0}ON>L|%?(SNUP&idU3bl^6eteA*^Ol^=K2Ie$W3 z0gL}eRmg`FLQ+(DA-O(tn1iCqt7QPgvW7G;TLByPxw9`*<G9O>Y;B=){)C6IIe!+O z;r|Yhb~)A9E;IjZ-pn8G^V($?=z54uG_x~*0_(aRp5kehmt1ElnJ=koC{<ok%^+6` z*vP%iSI1NL36p^eSN+pbEb|yq7`@D6T#oU~<Anl@POzL@cSx?!iOiq2%6;V*e1(Am z5P8+e=6XcuS1(P>Vev^@<yteYa;=3rv`df?$tuSy&RC#20~M}S+Hd1ke$p03$+c#j zV~neTf|b;=2$qxUPRaFok=GUWX;!aU%Q_v!K>vlv6n_@il5?<<$>(I2*Q$<E*Cln6 zD%T4#<f8}~k;3&oT&d4-8K`g_S9|MIw1!KnI@~C07~=|z&1n2AQgT6tU^%(&l3b_Q zVo!5AuHT0OGcnK&5Si*`bFJ&AzZK<NYvDXSiRW~BJ}qfzt6W<p$+a;uB84mN>PzbS z8K`hwa7CMOjBBj`H!55k+5%%-@j_WiE6P77*KZ`(sd_%H_jTU46{Ft>k?GlIrILmQ zRwi!3Sza%Qt6bYws^NAf`IRCYr8i$|WB^0(p_3qNZF=5+?>ffyf;cxST-$mWTbs_o z-B~-6w9Co$J6$}#sU!V{1&I`#wuV<eI3kFFnnT3OJ}Z^n;nH7La;}$P?qps=DK)Ph zGvtSsWJEHrMokAW1Ot`4cDv!6|1z$ZB)L)H8cGR_ajor#l8zaI<>o5$`g-0PZa?@} z2Ls&%kvZb5Bz7AmA)Wp>lyhz8Q@KVpm1}3L_Vzw9B896j02qRS3fErmzmjHL+i?#* zFX*m2O4^eO;A_))2`K68Cs<CdyJTM95L{R4r&*ia86&R5K=@Vv`~aV?q6kYOn8`a0 ze!48_h&9~a6cydwQkfT7D)X2_)-*Ccc?Kpw#>IdP6ldV`apCD0=a{VWZOwnJ!PMw( z2?uZ2T~g#>Y(|qMFy@eUIn_9!c~w4I6EpgBYFyO*qJJ>Z%@A26&PtvdMFHe5K7$k= zH_4?Dp++yXVa@YTWDf^aHF_t=?|sSm6gBFaP*N0NAXlT1TnIUCa!jhxfAUr5GBtV$ z2i6a*jfVxsYone4CA||QNKQ3=mbJ0KTi;Hn#&ww|zQ;hfKxAnmyEb~+^ry=FGe~#j zFV*PFYJ;oM&s5b&pbhW+z&}Nei{eny%VwaWMoD);PO1SjGW_#tUyC~^YV<Qj5Vk7R z$LW@!?Q*KIPpUCX%#_o9BHOTO{8EhG5+cjR3h32FKOg-GHdiB>Qq>q}sI@VuQf&-I zThPzOEcUA8_uM7@d<<08h^9Cu)tG;D)+MYq1{%UB_cViqe7rU;$w0|q+AgOWKil3+ znUl9R-Vb$Zh&{G~$jVf9Z4AWP2qyW^OJWICjggwF#z;r4jpxu7A~e+6xXgl*fi?qG zHDU>lNj03s^=2_OMiLuF5l?D4=|IUyhhtogMky$HjzGC*$~Uq$X6IF-#o>oP!$7w} zWOXK6jgiPdln`q4Mvii(yqHqe7+dLFInE`&rzhi6X3Bp|BqErzawF?TNpI4Q6882A zk9Pm1GgITmlrYNL7%MQY#^nZ-jB`o5oVD?jqDJ1C@^jsfU&27QL1e9)t;SfLJ_>-( zlte&PV-nirD*CFf*2ZL$JSTvRPf_DaKa`Bs8K~AqBET_O8%LkJmVeTjBpj4=<5hui zHJZ9mGT9_Sa;ov8oGGv6RbxfpZg*m!+aa>vm#xO641L4_S7VT)sxhNdZOlxnYFKD1 zu*monHLlU1WKxEKsv3hFj!88>>^!?RtBo0=4iq(JCPfgoisJRg5{tIWsm5Me8&+O5 zwm<s%ix|B%L_P>)t1;70AKk#!cs8l3u`sUI#-d8Ku^4Ulm~716Dtes-B{TgDRMmJ^ zkdtbRuXlJAQ)6MAJ1A-_(nS!aMj!zti)p)@YWyhGn3-3Nl`otk-<P+6$Oa=@jfGen z_lW&Q$v9J0W2H}3W2LLs##?CXM8~Jp#tk}@EX)WZ^fD@4H^!M9lWH{B@IyDI273WQ z<y92#n8iQ27j2H~##=su<y2#@oGF%`Z};{1xJ%*~NQcPBiEK4iBL7Yqv5HPcj&c?K zG^MKXSw>Z(0$Ud97*(AqEpXjfX);i)jmeY<A?&T9E4JNqKU3q=6n9W+<Fkwi!fNAY zTsJE6t8vow&am_Is<EWzeH9q}4v3T|v(@+vE50x#)Ub3_jm>D2tLT=vs>W7}JYR&3 z*_$aXZ7BIH&OlWSLW!nYs<CxQ@qJ8<&2eG;&BjJ_FS<owd=<Sl2_;)C(k^FhoKV!r zJ5%QGdz*YtX$z6hQrT*3cIl&0_`0zOk7R9ppHbD=Rp|`tpe;;>r`E>pxNdBA8K|nU zNMKTp;eUO%gQ@Yor~{=ocBMoRRvT?_-Ee5ToNAoZyxN$Tw>BCcKF}GXw}Z$RnQS$7 zVKs!k{l+THxKv}GsjBfyrP|n!wy?v-?A68{xNhKQN&F*IUalLfERIPv($`hRhy9*F z`SzK@C~M=FILCNx;3wyj{j^<9HGY!o#=N|>v10eTZ(;O1A@Y@*t;RmAhKM0%%IB5T zI2=&bIO0=h%2BjMY>cYb#+?q56Lp}d@wvqsD(l97Cp}~^HOMW(R6eCPj`%pn)xgh{ zB}ZwyoN64GGi6rZ+Nk^2;a@QNT@cyg%U0ts@{b0D8e5U0tc~N2s>TUNRpW0zd43NY zvsW7(Y$!R*LA5rvdW5}Iv|7*KdNDPQJ1mO2Ge03Pu0{ygjlcb*T~0OrCuhpsytOgz z@rh4ip!N{i7RXlPM1nqgh_4$?Tv4O6D%!kNw6t16QKR(C6nQQY8J}{7Er>(Oi39^x zHJmud<V@LJuk}f)2KFM1-b}&1L=d)abP53WNU+>$$l92bSB(jc|K5&)?uN(?tj;Aa z{#$&8Ev=@}M=EhO@I!^Hjndj`ZIqsCt7`brc3+Z=Pf^3r0Ru8nRb#)8V^R%&=QC1F zjoOYdN;S^4ImT-v;)7BjZI@Gx<4SGhohc1kZMqJlcYw(EiEK5_HRz+FxEe=nRgH_1 zYHeIxsW$4Pty_YP*_$a*2TIR11QEH49<ezl)o59}3?Kc7t7z#(TvKJHlwQmuiz|Wm zrl7PwZI@GxQ?fP|i`rPCpXN&7)yK~rhr<a%<cB0zLtOPNy%=kwn<K7volL3x8@XyV zG|u1+HG~ybgD5TXI4umpKxK`*e#TdO*{X0dC5$rjja-hg%olD=LTTd+!E$o_TV{Td z$oy%!maSYq1p|d3vN!t*Z>bOSStG!?me%*HT(9!0T(6E3Rmg}WS8_KzhG3w=b@}^y z=CQoi_Y0%sdX>O<l@r0Pj+1sdx#D$7@s^1tg6j(VG<kjFz<@&-s3Syv4rJ%GDQ5CI z@vUNMW8{Nt9=pn3`d>rkdIQ#VcY};b;cDwp+BC&Lh3n6Y@A-mpZ5-!DdF3AC3XH99 z-83k@AxW@YTnnnm8h%sM@M*c;F#F;*7^nau`*BZ7*Eg?*0}fWE$Mq^#<=RT!36<Vz zk~@{zC`Any;vK@J0f&JK*A<uEJ(Y32%H>9dYpb}xC|7dZGDas@POc#Hx-f5EYc^do z6a(D@kpr1*t}T&WcU#o(4Stnt+mxEub{X=>Ix-@eSED=TwWXjV*QOSyro6$p-r#2* z%C{7yZMkA%Z7MRMv|Wa@%gt5hbxGd5b~t=-Jq*+dBEMPLT-)mOF?(c~L|vcCwWFqT zEkGS&J~ASOYYziT+v*Hd^7_r>?f3v@vJT(MJyfn8NqdYUxc0=gslZRLoLsBOye`d~ z*Lv=s2Qg3~MDUJ|tQy9h5qVM|=h`l=a*g1+b#a`Js5F`)4-O<FQn<#EPAJJhh3j`^ zH(bNGwu^J4Qp1siz}S3!zyXX-u$){qnb$W3*OmHd)}~ME*V}@D42T@lIae{^N+TM5 zm?Ap^mv%%xJ>r6S_l(NCD5Em(;UjAr8?$!?CdC*b7)=^I0~-&e0K;-jR{39#ALE(t zo)He-w@;--9>!+0twU)KA8D6UjdP_M?|D^zIyJ6%u<3aiC=8Lm#97HxqX=`|Bg3~+ zrDy8&`Hs8}da*iSpD#)uuC$i*w#efi84pj5UM`dt#Tm#$8oh1YX6hW1YLp#6h|gLl z^Prb-ke_3)FYdt4TYXTC-WI`fs!>y_G0Mz$HRzj#1Kz<v5r~{HvugthkSA60+USn_ zd+MS#`eOd&&b^;ct&N019%D(yr|eZrd`Qk^psGgqILD+KnRQRR%GBsfb51T5$+Nip z(uU2HQU^*C1__c&jgJ3FHCBt6a@ud74$faouJK19a!Ra#UTyTn9LL4S^U|oUs8Kdi zQ`9J%=qPHGy<(Hcb25@%Z9ImvqOZk3RgI|5F{#Ff5Bh^t4eUi2JvFc|j`7;)X9D&} zuv}^soGsN@lUI$e=083H19gTd*jcqvHZeh;EXr#mhT3?wQ8qcHs_|M<RbvYJJwUUi z)JFd#U_dfx@A?OwDKU#<QjJG;f5&z`*o!bqHC{_{jH~fP9LlE9z&X{x6PnoJt<Jk{ zG(9zAH%7k~qE(%2HD2@6C#G^WdIwZB-iWJeOw(00rla430XAl@Hl7MV*=v45gsq}v z-RR95D(92|CH;SAwed!rJII+*Hcb~n*i3m^gR<#<g5^}>Y|T?+MP4=D{;L!2p|ma# zt*&LO@kWL|36`tT&r#K|e5x9jtEw>z{T}j>@hP=2Fau?8WEiN<lztA!WNj3j`Nc0x z4U0!n){QdD6+xI9gB>WFMFZzl<1ASlZ{?jScOAN_0;6|@=sEsuH7t`p;g+dU_KKmZ zG1perm}jYK%qM<)%wBB_NkN%q3L;)@U|5bxHK4AK-QQ6**A_-OQ|4J5<1=L#t{d}B zg5^}BhOCWMd22(T{l8Hd=st+n*0a@^7obn><!VgPR5cbQR5cbGsv1j(AI+9h8>Rte z^8#ehmDY_i@~M+zQjKbtK2nv{#-fBUN;MV>`M4S*{ZO`q2F|HQb*aY6ytUD2^5++0 zkKG`8UOZckMGk!;F;`<+N>yW-UsYqdrmC@=_@x*RuQr~;bz_mk$+3`R6)l^_8!GEY z=lcJ{%;0{bY?+@sDC@>@0#QlXOc|v?*>Z<qxz&&}WmR4^+HPt>_M+V(iZ|y}zBX32 zEJ>fV%+;6`SJhaVQPud!R@K;Ok;gET@hP=28rO|w98}hgvRQG~P*LO2%>i~7dfCd1 zFv{Ba$mSTYjWMX&MvGuM)$qyMSeI9g?^<1V3kE8J=!I6c8Xp<-3DR7R`94*RG%Dro zzRJoIsv4gVzXTbdqQ=++lzn6{P*r0-4wa@_&J<(AvL9G&q?5uZ)hOqY#b>hdCX{_b z1Lsyl*2X(|)v(sBosT`nAX?wfR-;^_PsZkIEVflOKG#(>D*UP%U!Y$fIzB~>mvP-F zC){X}%T;u-%`vIQxYQ?WnHrz#!YI|K@N<mU#soi<eL<kywQ-KDjd$#PJM*qDoKYVG z^?>LlPPQ7Kr|1*Exf;t8su~$rRpYCSs>UYtD-MwHDQZk~q3rV%1J&ACp5T~N<JN`e zj$mqJTw#=Ie3cPF*t#*vhO$jGaL(GOEo)<K-r5M)A59|lglHozTaB;c^hxGijg0|S zjV+d{##U2R;~VrV@v$*`tLS80H@=DsBC<9%1~?|w_`c+|vzZ!OEMb&tY&AK?Yhwzo z8{fnUmQ#&diW+%qW5tkN!!gkP5N+bmR%5G=KB1kfQSPW}Y&TRjb_7&4b`n3Aj8CbJ zskm-z<r1m2QSPvY$||~`&S4x2Ij3wlgi)%oBfv4P2JVB)cGAE()u=6J%3FEW`1Z`D zH)8ZSM6cAd)!1&+C(m;=Dw3)iyEIjeU5=`TL;Nyq%wBEG@F6){5RtV}k>r@Hjc!ej z<NNi98oP*%EHug)c9+93u7>4@GRG!ZPBqSvwefadH3k;E*%|{q08zYho^^)Zm7q`5 z=W1-yRW<gcR5kV{RW*Jjekn3Or8Z{ay0I(4K(#hD=^T@49QpoTeDxVoV-Js_s<AgI zg0OXCjtyl$(!e>@s3mJ-O<pxN)rqgd=nq2lS~FXXy?*+p0ItSXS5;$QTvg*2T~%X0 z@#ACmYGYm!%J%vN5m_5sU5-gLex0(skg2gRE{t-f{GxM=*T#Z4l<oHuET<YZr5bPR z`OYaX9k{Is13d)MfR(Mrz6^Z>0#{>)rK)kzr>b$#Rn<5|{Ajk6+Q6-R*}e=JG!{M! zN%x{VERIPvdIqka&(t{R6Go}VK_MSkV~GxBhiKrOYSfWxtoPKgPjg-Ln6}@+9(zIb zMw_c4zQ-s#Xwug_kYQ>#Hx0_4U9T<sJ)!bHjE^OICBQ~5E*6ouL|_O8Dr@BbdKQdf zTpfcO<uzc8D=<0_!mAx9J51Z<<cinp#np><^Ui~V$8W+<EZV~mZ6UsQ6oW1MB}JZv z!qZfC2rIvzK?jY@kD*QOH2<iyD*Tzi?`xB6%wirC?#KWJ6hzoOSY}|-;vAEikDc9y zT?58mgi&Vx4<4ECG|B7T%Kl7{b~)9!RI2ewUNzRQZ8ZP`^@iwePWC+b17~+XPmLcn z@~{G-#&Og}s&S&ys&Eqh5&_0Ts6k!=Quc?Rfm~qnX1cN;2}Dl{SYS9s@HgRG{e4@o z+BhB;MybXLonw3+tgxW$q@Q3p)u?NFwNaK=jf;;CCFjpa0Ixn~t8qL--$%k%1^oU% zQR5$<s>VO+s*u*uufLCsPgxaKC7|qhhJmUY$8?U#+K6{Ke1fU*509drG5&Ey5O&5` ztpoN*u$*dKB5R{OuNqhNerGTS>I2bs{%ke=G3k3&xEjAZiW=!NY(<T9RZCeT($$C` zAG22*Z~LGOuT0~gw?@+1_}$@{RO8^3S?u0f>_r&8+Q7az#%p7(1K1<Ma;ni#)<#;- zcgE<w_J^l2P%%W?>se}~s|M)%W4IcBYN{I56RH|D3{{P@i670DQXA`Bz<^}XmDTu@ zKm?OUc6FZRXVM7nxH7^NCD432R%*4vOin+DFQMgv(J>Abbk_UaBL7`+6d!FaYB z)v+3$(8VfxBBiQP%de_YTT|7jP5e@9%wBE0pG0zwAVODBS{o;LLq&~!^}k}PXu6i4 zJII}88aL7SM<iu4#g0R|wnMO-YBZE;yqmW+p4-^I00Wgmw7|?(qgIl>?}yb!8u#XM z-AJF8QPrrEQq?%0_$A5sl-k%3fOIVmD(eP@WepWIwDp6^SZ$n_5k^@Xb%cCejg2~_ z&!>TNs?k8sl(M{P{I}V0tRwAFh!$GeYShu`dyKdm)qJWN^-NWb3*)L97ZJY%<Kfjt znGe!+bWV<iB(;&Q=Hr;0DP_iGS28u~nZhX5xG>H!u14B{^hG+sa;kBGtc{QJs&Ree z#$>1Y7(^p>wi@+Z`hF&^Mh#n4qd`DbqoGe#qapeYFv$3n+V~^|>3S{$)!L|Gb4;qy z^R{2voy6$|0b!JCG!*i2H9j*T-H-;(sYZQS8z1LgH)5IQJ+Q~V5WUyQR-=JM-#f+C zsGU&NxXe-2@Y|{yjnMCD&cmw>{D7NoU~zIvZPZQ(!rp$PyKexWDVI6IDAn-W9OG(y ziR(rqi(t9ckhSq)-r87^T=xhD>IczoTDBT~gT7CTt8u<xRijB#Rpau6s>T)QH;`x0 zQ{$@ur2PgNbft4j`g}jfWNj30*#0M*DNT~XDAl-J$j8<AT7&czG;mHeE|s<MNnSOc z*xi-PlmtX${%kca*XVn~xEdE`R5e;6V{b2-ZWU0~xYb8qBF1=lYHZFx`f`G0sc~V3 zV^WPFi?_3TkkTzFOLF>^YP1T7Ancs771xbheFV#?#$~cL%JZsm%cgIKV4(gGy<g8( zqoqyXf5z2lXsT+oMx~@0tsPa3HpGvU^wijf>qbkP47ze{;LeC)QjPO_4`z1~r&|*n zaZuD~?Qo3O#&%pc+SmlksYWBI#^-s}X!O&GXED&@5PdM7tw!qv-ht!rB`@75KpqRo zKc}Se?lVP=c1cx@JJD~jPR1u!QSyTHbn65I#VWenz$q_ME!8NfGk+<YDQ#2SK~bY! zQUqbOu@i&bNdxCrL(Y`X?R<ODJH9CR5~Du>(TB}!HQM>f(=LS?mpiD2PpENsTvelk zuBs9ALyv|I8?&g5!tZg=?feWBYV1nl?BNZS{f7VX$JytU^xbjpps3M7=NPYz?=VQv zPq3V7G?r>q2sM`Ir@4C3e*aG!Fwm0_?PGB@#MO)R-5L7+agsD#sajbo|BjW;A_Zt` z&66xH2o(Nl0fr#MB&F`1F(x)1P>W^0l_iXFRp@AQjBzDzOHUWjb~(9TF1cp%&Vw2a z-TN{6QxGi`ck7A4rtj3qleR_XJ7DDxPKnGLXp^ggQE62O+vIJBY|LKf*CnuA2_{zs zV;2(Xkm8tB<AHq-A7W}4!a>Qr;cy3@dAx#@4%-CFsYXjrje^UyeDk2m`gf0GpaBr= zn|&=OZQ$&FCMnctW6-xY@;d08!iV<Z8bNcGzPHk<&;|VhybgpK#%@1gKr(2o1GelM zd*ZmfQO1>OW9M62?;(%Lhjix@cTm*0Hz|V9RiTh<VY|@4In^k&#np>~CVABu@L>C= zG5XUG?VrkC74G%ZH&gO6Mq!e^nUbr~Ev~B3T~}9yBJ>-|NqTDhh=ab@FNo03WX4aZ zP@y0vYh%To`|o6Gbc=HbMUC#d2tw5$@5oFS`3aU&jeb&%W<rf6`e{~$>6@-Sgn<S^ z^vO*2s?aS%-@eKD7vPRTRzuuX`9FXyhXu%pl>1uuVRE}=7^tiY8^7N=mvJrN9_raK z?s5k{4}NhV{QwP;lj|e8m-(wrJ`YaI^{kR@?J@cwh(7(V6|f7={9%?@2fA0P{9cvT zfroJ&817@E6pIRZ<!HJK!78tSVe2Y`aqXTGMmn3wFEi7<9FB3W2W?0{Y!fUe*M5@g ze+1VRr_1Zt<<rUc7=s}?_+KkvFPyu>O)=*mh||}e@+=qo)hw52YL-hJ@=8=PKDiSx zeoG>e1OvsKcQcqY-cZT>mnSd4x5kn=U+m`&N|lofB~(7H#$lX3B@V%Is?k?g`L#lg z(`J7ENVgvbdIq9H#R}-1`-*Xvn;DV$u%YsQ%vAaJMWsgQWJF4pA3^@bNd_uhUzqgY z#~9bJA&fHfkC`0fT#uq)ed7en$+f@C{PlTf^f!U}YcS9dh?-&#=y846pf9B5xh_el zT>InE#c_V!C;d3K9O)+`Qn>zsse9O?Q^O?1j#r`=40Z|`*Ah_(N?!X5jC1`f0T`V` z&dJr3TwCYO>pAsm^uj<xA^L0}d-dwC(bwp5u8+AY*Qeqt*8w_tt1kIdxE|Lb-JgR> zUfbVxJ-)h})bL|2^H5i>r{WyrTu&O19-tE}Cs*8B^KWDd+T_ja$2}V##z4a$iuYGl z{slt%NteF-mvim!s9XnOMa#Sn4v=>NlMyLgPx%2uFi_!o=B2mdJ9!A#{@g?5I*8^F zD}Zyw>-p)y0TLuPS2<sA$;-94&)W}Spy3dG;a_K^few9TG3WYJM&&wGSGf-JlQ$TX z5lOD(jmPPM4g(dgS5!UgR>t+Ij4;aiI#lNv<4WF*oF3*USWd2wNv`Bo8wJyCC^+rf z^rNwV4+b(JI`&^@r6C#mqGir?kgakZ5m32~^pW>2lMyLgt6}Pfcyzq^`rY>j-ep_| z*~~-D>xclyIM=gqzK-+}EGO4NvW9QY%k`tHuQxH!2#CHU&Pv|eWZLxg(46bgl*;va zzseQsAKw;DMx=19p+nlV8K~s7Ud_oz7}ufPL*@FspF41_=lCE!ia@!!4wPJ5nECQr zal=pK8`O~youFsW*XL67rPiG52utNU#;0-}<C1q=lMyLgYdVmA&ZFbyb?Lab*D$Ul zEastd9pmE|=UN-*>ll|{IrBPD)^M}DT(=Im$&Z1ah3F(-HrE#{`YLYD_4%aAb-bo> z9q*7gbCVG%TzxoSU$7Xc<n@;(Z!Th7pHB*-oUh{vgi-j~MBe$G9`6t=C)X!sUdgLd za?e-%$?HrE^c+MdJK0>vCFu*qIoC0!$~Eb#Tqk76`^3qJ6s~pSkRIpJ@$x$UukHsJ z*D)sZQ1hB}ImYu^F97KY8G_~H`n1ez^SoTAR@r<L26`T%ucxxPCQbU<bIx^qLghNi zQMtZqleeI=QHmWid24z)X);jB>x=K-{{Z7UJ|T=Uuag{(ajx}ozP@S`EGO3ik}G-h zMDD!)*);h*1{wv?X=XOpNeTM0cFuJ|T;)0?qjE)^@ZIfXL`q&8;C!9r(ed*7M&tMd z#&trRd8m1vlHnNVdPxe>ucru>lPj)&VlP2n50jf~hqfPHfq_Otbf%HbbxNGRVxDt- z)lj)kvsJFsE%L^BHcBtAmzj{B5@(>2*GE3T_7%qURYMqMUZ>d{<6Ilze4TC)EGO6A zlI!hxYk29|cP+(0FF<s*Kbz|`17a`7=`b}^S68`ODV6K2B(~%k@womc4(Vwg9WSr- zJN0YMxW2Aq&tx4^_QO_+W1Q>dIA3Qa36_)VFx|`RZF#vq)htkifyO{|uA9x((jk`A z1=r~TmFrwf<vP#AmVA^R*DFyVa`}PL@wlFOMO%Ee;a&^#6%a<5*SQwQIM=2bNY66~ zmXqsHC9ipFxZZ;+$tT<wA-cfM<~lb3u?c>`b(UY{x-hA7#T(CJ6R7&ie7)L%^jwdQ z$Mtx<13MVkS$^y}E3XTA6mibMYmDhd3DPbn*C8^mx8}|3&zttN!a!pox;UB5b)g?( z6S2Z@n3$q@K9%cIQ|0<*99z;6DO|5JA-&L#!6_Y&>(u9NUd*`8^9iHO>r#_rJg)%* z(r?BImXj-Pp~c#CTi(1rv8^fjMrRyEalBcdbC&v$fg`vs(p0W?C9WSL*H;WOB8BS> zen>C%=y+TwPOi0+aa}|lvhr%19OGP@<9z)vPOzL@hj=yI@%g-YJ(;@XUJNuIqNzYO zR~xzFZ$Wupm%1v~jR`fc9~%&x6d)r~xVFGzu>Z~VvDQbvWn7oK%tKw9HYPa6x!#QP z^<#rzIl1CT2$9#8dGorgdG$C3dI_Sdv}~>$HDq83u68A^<#CnkCpyGl<+QxDsig(! zjbxOSYq)dC9|IUy`!rn3<J^IBy)^;pPjrIi<ob-P;hXd3^^;NSZ^1w>Lv(c}n`_!d z2BzS;(NXjIxuJ5c2w+P-a*ylnIA7Bq9j}I)RDUYTxNdX^2hh~Ker|A#bH(fY>52fs za&wh=B`<f)y_bN!t?$D?Nr<ksvblcdKx}eca4pZMTr;}L^(#NN%&<{<T<^g7`kBK( z8U$J4^`^ZWpFWRqE$1F8*Nn~`IM=o=q`&eLEGO6DGOw-ja_zfv{{aj%0iy3Fvblbl zf!J%h;QG0(a@`zIxo+{1H)WC$Df9JC8`58TbiBO2lX(6@#`SZXd8k}B2RO#K7N#+; zTYLn|$@N*8*S2}*>+~6`Mq{9f5Pe_I=K8fw-tH;5W>PBGZGM&Ow;FkWC>y27YvCuD z*RO2`DtYaH`1vOo*Gx(n<vC}YpJSZs1{CaD0_Em9LUPsfa-F=P<^T-z3PeBjWpn)| zg?aV9A>3@KTzC3Zt~*_bP4SZvDS2(5f%G>X9WSr%H9Y$b#&xsBJk-4Iq&dWD=QZ5H zg7i+8w9A>-=VcAwnU`zx!-ZtuGzp>~IoVuySoF1I{G78bsd9BRm8;_**CZRcmsd9l z=^YjWmAqaw@V|2y*KOQG<?4|3WWC~CLkUPb6wJwWl;nC>UapT-e|`-He-)x-scf#h zk`Q|xS4m8XhU%Is*FCPvb#I2Kf^pQmc1%Hfmq*9T>*Yfl+|Ib}#JH4~viINPa*Wq7 z5o~XUU^%%yCu_K!nQt9_sotP{7-%v?KQXhp?m>2)y|u|ns9b+`RIdAQX1`7bq;f5A zA-%_Bppw_~R(74nxH<`8l=JmxhhsdiM6i7}!E$mPCb_m1TvzC)`PQ<9|EBdA=rxGq z8ME?lmeM~bkbxt<-P#+6*i=Jg`G8+#eo#}HAH<5DO2;R^-3k}_00WXilLDpR;f4(Z zlNRR~DIa!Ls%UmgRi?%Pzc5NQ4ibn4As?b398N;|phK{nYP=|`{2`rZ{<La5S$D<n z7-$MazZ7RBF(uP@qi5`mfKa1P3Xd$I27XPae53n&N>$@9`c3nZ@hNIVGJpXYDAefe zK)O$gV^WRfb$6FDHQbCaN;Q5L4!kzH_#u6m2F|I*L|Gg6=T&3c&OYQ4?&}cUl+3P; z-*seV3N?PMq{cCvBl7$0KjNwye-b~J@etqdhr7Cv{$1zfcx@0heih`T8jpP6YA93V zn8_WKRpF1g2*PTkn+@qdb%NzoV}h)W`|W(S(XjTnUtyrB5ZxkHK(98Axe%Kk7i#P? z)Y>>6P}Ml$Q`I;@{4!*GN^KNjK_BB1skO1sU=5XZ;{$hPhN*EpAdIp$PWU*+Yomt+ z=@T??ZZ%|W#Pin1Pwj`+!su^6bXz97HjY~mo1qIe4klDJPC2R?|JaHe<r?uzu`zqK zaeo5R$1OpGtsA5^4kkDzYva9=1}&KyryOCFYW!n!jH~g04%j2Xa;ov7RHK!auQoon zw~%k1ra^Rvo2|w_SPe7%LXE?IMU8U&_Djx`@~R0{jcUX%Nyewt#zQ_x|6?#vt&PKe zj!88NcDDS4s)4--qo)S;C4#V-(#wJJYBX?8HIh<|o_S|V(Uix#WAy0|-Q~+tqr9pH zF-sF_{E<=BsIIGO)bOinoK5`rn7!KQ?E(fAL}YFJk>QwB<K8oWS<cj`t_!17qlTYj zyf*sSP<}Rna@WSoQjH#Y)i}_$_d6J921IuUvel@bLROAY<AkZIQPWk`sFhLGsEvNJ zXttEvC`m$j^%NPjJj0Tia>C@8RO60<#t$+zYP!NG)u<)p<7zw_hw|DqaPHdBy=xae z^R64y2GkyeJ<f#ak4Cl{wc^Oi=4zB{0acCjELDv<rmDvI=r=pSczCtZHvr|e;+&j3 zr(jr)Nj19n_Kjs~oM#E6RHKf`F|I}e*NyYz1k0($cv%}od27QisX?yLSrFZq$X26{ z4_R44jjE2SMm<AS<HCTd#zp8i$4ADe)W+jJD6hjo9x{xzQC`(y4V81skw}jYOpSVm zFiJHp3~-FA@dO6Bhz8E7#>=ucdgQH*$Ey_Gh|y<3^w(sz8ue^sWePQFBvmyUXsQ|w z994~m#Ls18_G;s)6qMJq1rcxED6f&^n5>Q0HooLzYBV4=GPUG>qr8E`F|NkbCX_d{ z36@ihSEL&8ytQ#t)vl{C&}@hvN@c6jAOW$taiK<ST~*_<l&Xe5sjAV4_+`lWl-d}C z>qdhF1J&B7t#eGOp*sx<m>QR*gi+RpU&zPRcqR_zjcDMUYD|=BJdn3GHg7mpfIZHE z=<k_qHT-^v&C`V%bzD`ACUI4b%XL+aD~KQG;nl`aTsQoFPEJ`j>bQb%4U<#>UOj8^ z+^msIjV5tnlxkeAbBwDoT!Zo}`~=IX#w4l6gZb6C?%4-1&|HWfb+grIl7ZNKzfj{s z3y+fgb4qzjzp6$nO;w|n1F;2Ucxr9n?R@1;G7J>8G17qY3oVYx+SpNWJ>PG%^b4a@ zgM8^iXAf87SuDC%4#9G&@rv!8Qy$1WQ;w|<L@>}ii2mivR-<JSStW!T4Gr>oc%jDa z8C8weIBzb-IYswF<!x}@G)R*1DKq6cRHG#adB{R6$MS{-YpATE7Z3d56swKfg?!4o z(K^K)xEiB;fISi{ry7%GZS=~k#%ndZlPmc1A$lT^tww8It&K(+YU2ns+M22w?c%B$ zccR}yPSTqxq&8aXWY9Pr_)HmX;FKp2!DMYzjo-*;N?TJHWo@*JbBwF;0tUWQCs<B3 z9@Dj|xFIK>GOp41&ir*UWft4eiClSZv)9G{lEt_6Ok<n{5ItpZF{(nR>Igyk<tcKj zHQaN|CP%Fj<i>Nj=O{hGOWm;{ST@t>(T5pw`?iLE<Z>i)H-2$Q2nO;X<bHAtBrqDv z_z`p4))iO{@(<;YNJl#{_E}K=VTPEhU_S+q+L9siq2C&K46m0A@2q*%LiAY(ok4tQ zAck1p(Nr0RkneDxU>I~5Uos#pKEKM>M!v%=G-UJbXfjanJ!nID$kTxFB^m@B(T;|v z8np3qjPw1~g>u{D+i|;>(T*ek#kY~>WwcM*o8uU05p=F9mp-1+hyk%yy2xl4*)PP& z&N6D?^llW#nnY(PFEH>ZBl3$M&+z5jY<NPv!k?2+9x)imLxx|ppge2}j0P@TlY(-? z(}0FATpb`?@OGSUwG5Qc^b?Hc_XU~X4#=)@e*Y`^j&ir(g+7a+Gk!c07w9<Oxj62H zShK8x=OFvry$YUf(~EbUZxk2)21&v9(>S@5M}{KnIZS5VTt5SO$U-*><#PlNCM3C# zS3cVo?I_<cS-+yfm+>VR_sTzwlXiq}$ITw!j>G?z-=>o9#EF-ZZO;<ud`>cZ#^P6e z^l|=-@5TgswKU7`To+=uxPoE14zW9Q(z#?<XzNfeztf{Z3g5F4OR$E#R0{VX>$$GL z2t)Nx&R8&^yj&+X%J3^$!O#4Qp<2OR(o@i9DRizazBUj=SH47p*wv=U=;8px^o*$B zMHXeqGx{;I$LeNcmw#ZBhX#?MD16^UzDo#(AP<STg!07!fw2lEd>2^)V;Lot{;|-7 zS8#6|up`orR`3XqZ$X=X@g;X*@HKcq$)XnM^ConzBTh)(8obiaYL;bmMUt*Ue8w)x zK##__z_T^@J<RVSK5!uyt<RNyG9t;4thXzY0;3GWV;xi?Be0wq4UhLj`Fk#DM>G1h z$FSottkBAHl>8cqGu*wmV>9$w2AwYuUl@oXmaoOkT$d0TeH&R^n-m#+JC2+zu_moV zo2=mX@#u~e8?p#SD|oHVKru&21^++N-a9~wV*UP}#~g7?fO#;B2u%h>X#r7o!R^7_ z9h3zd1A=i(fPmT{Dv08kQBmh!)4ihDU_vppn3%9Q3JN0Xh=>TN?V9s@s;Zx^X7<AS z^(X&moqj5u`c&w&J<rKDi#||(XV}nej*~>?sGi4h0nsgx_hs$(9X&@UHuEdq4Ga7} zI(e_rDEvvPZC$FIqp6MjrmU#n=QB}<FU6^$chI1X9Hu;Oxt^mbi#0uFpU<$iNuo7> zI3OAqadOPw89E$zwpmFuGDkPenJ^D|T&mqSQMu}#ZcxKxaV9z(4E3rz3}Y7iN-#%< zV3*M&c$O(nw@_+ijwWv|)1uQ2B{EU5>JGPAQ+~ycGOWa!Bq~Ss5G&9W(d6|OEt+Kt zP5Ry4;j@TpubJQdHPKncw|+&Qxm0^Vy3+5NW&E&6nf;y#YL7WQf^A$v=v{TDav#jt zyB+a4E76q5n)Cr?=b2?C21O?Ee%Yck<E$yaVpp|=Bxkl7!J-fJyPWE*X%76}?T9$( z_n=tlck$-@&K`g3ROFdQwFi2Ye$Vyb&}YA+eQKC(v)|D;E!KX|a-(Mvca_8+z>215 zzsXx|T6C_bMD}}ImKKfnS<`+;+pKB7X9WcY%b@s^*hP1hM4a?HO^@f3Ky%|2>QK%1 z=Yg+(hdfVF?V<6?8GA8^-s7>~G^q7Tv)}VFNR@dFMid@;iOM4mlNnlcaa@T(AvIs4 zm1&1H<?tJjIxoZ8CTFa?Ep?A4;-te-+M)1M;V>4iNta!B^Qp-5G}RtqS2`S1j-CgP zv7+a}7vtE(@J#<+IGk7(m1~FcOn*!u1`aK8=F4A12|7!j<z5`dZPKCm)73@ydZ<G> zto}pK(f@jt4iD1|512ph3*>o*YVks(IuqQIuVp6sIP-Ox;aFFm2M6;olg0>^Lq>b5 zSzDq-6MfN!aOad~yklL~1hwct5w}TC$=l1cD3ccPf?D;vA+_o&n^8MNds?_+>JP~C zEY%vZN@|!Ua<5e92DinLO7OV6(uwXQcbPa(vPI<)hhks6EvrNxmoJ*o;;gB0Db9Yb zbXeP@!<s))-d(1MQx45=rMWUzNi8z-md)8_E%H1^wVka>hm!@TklJLp=pAQ=;zfB} z%LEK(z;ACyR333C7)}m(slD=NaF}eWz@R9}HS*HDI2ic{uBwunUlX)wh9eHinRk20 zaNwC<rNhWxId4|)Z;@v{)ppAU4tYCYG|h^h-%WMY?kGEc(e=LE9fQ5{8XVg@^m{Y> zK9UhliTD-!;xtQ%OjPU%Qytc1!E#@`-e*k^rJ7IUwCEa+Q+|`;M%K+zlYY}7(Shxo z5slnaIPRpLH=)euskWzIN%V$<_`}wqak>5_@n^mPhTMtZd$kjEcJ4&5cS<NH;?VlO zM2l`nC^0C+YKjvIVof>}e=3aPSli^7wZ0Q^u830(HPQB%gB!1<k$VbzcPp(#o)@V0 zShJGoVlU!w(M?EA=2@BRXDh$5%X25hqkc~i`D9ZxQR#QFC)yXTLe|e|Lb0qVzoHNN z*{sRpWgnan4>U#8`Y}tn6Fi{_zvciVwq>QwV}Ld|jUCcwvH-b&YRya~$j>owdtn<? zi_hwf2JR;~2{<qus=2bb&=z%SV{!xh+)`q6sIGQc(?j(Wo3%}Xlo#E(vWSz$wsD&q z>#dE=ylnB~2z`-i`!?Gt)`QWp78}D>r1$q+tF*XTDr$*X5wmW+twgpW_VP6e)`XSl zzs>IyxQU92M7*%l`?vpL<v?xa$b}PzAoL}w#bm0u{n2Dl!{a>J7JUn2k7F^F9lHo` z<TN~ifhotzq78AR`1VH*m(*BVMGLge<efGxYBH1<*i7D)B^1k=A~q8XtbP$k7N5Ka z3+IM-5Em?_xP63*geGhb_}XbsEMjx7<xBb_^ku3Yz-vmlhW-Rbb7D;FM++$oOxc=T z-!xKXw)tI*8lJRxh1oqL_DIz#E-ZO3Z2pu`BHNq=OFvqyDVz5v2!*qzY(9Xz;w)11 z8}Av|J#)KfgeGhbJV&oEM*!l+D@?@i?cO%mBhM>TJ1Aa(HHSxi$-9i8ak-WTC1<kV zML+qJyc>{ZgK{l!>>j@7liS4<XL6z`5v*CP2rWG&vfqD|p&6_xzYmIj@mW)TA41+1 z92cxGxVwOgM4a?HQtuguHuD=f&pG+$j$*0tsMfM8mYUpd;HzikZ(ukx!+d*SsOmkV zrw50k?ubKi4+KRhksVfH4gF0>f|MF6a=q+PVof-V{tJnU&&=d{dg7RLI9WS1ol2tO zTM@xxy4d;kQsjA+YER)chX-BmIFpjILZZiF%y#hDVXv%st(l4L=86}8c?2)C#S6ot zDG{O%gWhqb5(B?Aua_uyY??Jmv}U14xn5b;6w#AFbhn_uppqokmE1yG#7V!`Xurod z^DF)?Bk=orOZj^f3#m4R(~H?Y^7CD-Tr6-XH;)`zkC)WhFV67rxgU18BiyT#O6^d( ziG^-tA>w^>6eRwIM8&s!a=qiMZIWoRA9`ZPtca5iQ6E1$IoqowD*hTHaQMo|9`_;7 zYgBuhRq1eR2Rj9ZmU6gtoRarpR;o2AR;FS5g{#m`aQIlzNFET$YciDE+7T@hZe$_J zM-$LOH)>Wsik8R99JgtQxQmk8DJ$Zn!|T1!;fc){M$XOa5B+3+<awQHhh-}r?tqm> zcv22`Fe7KKxox8Nb#k3NoB#y4LWjc54!&qn=ukWr$n9XVrW{U3%eS#u+qA=z(}apd zoN#F3Etbul+031?7s6t1P_50|NjNyWVQ_}aO|EM;YOHl4a%Phog~|9xLev=<oMO4@ z7P#f<CyaH?s=#0rh?DSK>jZ0?Hs+KF6^S@$?1OZ3W07l(QF~15jL<i!_N-?6#{My7 zMG@Q2kfSgdll$6{YmHoYGjgqwvthGWS+pQxQ&<vXBf>8!M&o`4YntD_HfzGByw*S! zffk$&d}9$R5}L3%V4}BKn+L4hdoDuXqS|weU|{md%88p!`(gQ1HgR)K-jGsL?@SEL zHYHw6_b)|lPQyg(9<-hdOa9j+6c{vB6)7HQ<@7B&S+E?sXIdPmZSG$Rw7}*^amr20 z3QgD?xSPWhvHIm^OU>bWsmUEYTwq;9wdXclY7W8Xalg-g4^C4uYw%KYHcl1paCtH9 zXo(w@qH+x~`ItkwLrf(Gg(PPK<iTmy6v!uHlsnsFZIk1*1~)Ks9c52Qhg0=p+Ba6Y zm_{7d9{1T$6rQ8n3z{u8M_QDeo@R$_;pry$RYVWP(t2~aU9|VbRf%e3$Z!rA9w}QC zE;Y#~;jnG!Mmd}dhlj@h{~dk}hwXh4CuihNE;BS+7?lpYXoekHJU$6|@>F|SqH-~< z5@dL#&kewW*(Jjc+a-_+xBL!Rb~CPOBs&y8jh?I8*kR3k7NH;&7!*~r6fJL;U~Q8O zlk?DH9kj!3wZk1Z=kV;cZ(W1J3sgHcUFpz@QA4K^GpxxVWwXO-IPB>2C>@%i<Snvt zJxXidb|@zeMz)K^Xk|@?-AINtjbK>)e{lFTdSa-|D;QS47miXq!LMW(xy3l4{Vn3c zu}HP!y}%*gV$2OU6g9Q(Sa7JRP0EU2FIG(rsR=^E4J8I0BMDg>c@oF@pBTTJq$YmP zI5#OPVx_00+SApW^VDa>9oryJBh_BTTSn+<3fe6=DNn<Z(wwHosG+|js*7+EOr~U& z$esj~;h`otMgMKy)9xs5stlK&N*>R(>Iuy}b=Gt3tfpnNkZUp3PO>Zahk85mz%f?` zPB?uFR+Bn-ItnvSF5tOq)AE+8TDo(mAs?Sjh73Kluih374A&OxRQRpih#`r`=(#!( zCgWuBHMrS|DgrIoAAT+qDiWITJMjFF;lQ@d{E7>z;8gV98=qQ-Ja1F&6t{BboriHb z$z+D-deIwFDIC+6Pgh$=`J!@7RNR8foo6U9C`8<X%AM=6CTE_!d`g9Jn;xY;%DdVU zd4<CP$Am-&9PL%kyq=oq_HEDI1$jzTi*Z+RIdO3UF9rDQFrA@>Bg3`jys~^@AYka= zSf7NbTsy3p<52G6K;$v&T9iv?R3NXOcwHcOUYWH`JKQQpIY;J|3=fQjW46((bSOR` z8ZeyG&}gFYcc^wc@9{j$a$~dNTe$3SObNe=6OP$2*#B?CF*Rl{_T|}6;CF%}9@VKP zb7A81w<u7F>~}?ma$`!YNuuIMesW_>)@1SWeCXn!K)yh{)u!A8N5n~@kHwmwx`}%o zflXuO1+O9WU8<dttps@$@C?bY&8vX*)HF}cacN54p5{&BC18C*_OS+O4TiC+0x>AW zs&k<wMB~H+RmSjIL2g`{wM~K)x2<w7l|`HcIZ98)gE25Sx_2|^GoTF|ZoTsQt&wL5 z)!xFJ1owUJMznjH%MM?K-y7gpHY?|O;*and<PA8nxgk8Uc^>ZX3HqH2OYR82H_G;f zi%+tJPq|maK2UypTZF>VB)#|~=VvK*Lp;#bXh}W<?RnWR66AVpg`2TCaMg1okbf!F z-og6@w=DM((2cU#=8Km2ZAZ3wlPi9ei)}s~qa?5g<Mo-ixIw2{#f4e72n>m!scI{- zZucnnVh|V<Y|S<)cazI;YP>#Qrrgs)64nEoxJ{RPCN4B#)9m*@Zm^2)UIsL?+dTav zLf@m>nMUPS@?chcsF`ifcf{w*+2(V;nxtx4W-~Nw-!j{L5?%0^BU%s{y=72(Fsno! zy(^*3cUY4&Ys6I5@3Y9_t&gB(GeKNnQ*_&tvO9#$s-)M9=E;X?o96AWG$H@{RC_P4 zKH(MdJdcL8#=ul(0rPMTh4+AiLHke|sS+Fe4v}q2svXR)=127RJTGWma1Hf4xXiOy zQ^Rxt8vIb2wM|Y-d9C%GEKeF6WNy~j+mCGjJjz@~wfCnh*PF*SGWK5(yAp#|wkG!! zZ0_x{u{pN5K1MkaV$#@So)VeZ7cl!@pEYIdMQBfjW;ba}-V&H&i@b9FJrQmkRfD{W zi5Nw<|G@{XL7wGQ`>#x;!#844bg!qQ&)a5WOzsn2SbU4V*e_`0M(ExU4U#K|<S(DM zy&hsx4qpP!*%^-8w8KX|%6;pJIEij>xT01iv3_o}qDCElwa1_?$nyc!K2)xBScpd* z<}nA`I?V8m5@sFG`&<(owy{O!de%vXg}4#}hBacN&pWJ1hc!PWDECH*wM{ydHwT(L z5hop<;_>ERWo?dOY1H69kY@$e{)bnYaQc<XQHLdq8v4fAVFAbXP4g)I3VpGkth~Zu zsf@xS47ZI_u4J*M7`_6Bg)nZD4&^DpSF*>1!-1nih6BZNvN6NRzQ4z_)pw%852<#x zQ^|0-sqO%)1!fsm#}45<d<Q9g$9n@JuXa?!!%_McR>|e25}DybjI?DgYs%qCS<1Z= zYMXQ@Ph~gA@`S?yng6lC9PES}#OnW~ZbdySsdi2&Fvcy*eO$&B6NaNQ_HmpV`h~_m z!caZI;C&FcO&a>g8RR-&TxqG+b73`kpHQF@dASj%03S;j;uJvIv|0e<M-Imcn`G^p zrrZY{r#1+At-MZFB5mIAKQ@TS6RGm70r#S)kEnL8UupAmFKTl&8n11xwxc#baiccB z%!<oP)zXb@e(otTYIAkaA5ojDgUmrMN}Hd!LEgaTVv}-TW`!ngmYwF?MTBOD_7mG8 z^kb^UxyZ)PQ*%F*sG+mVG;tx*Fckb`r{{c=8XDqEb4>;*KcJa66XITgXhCFJz8fPH zs6@6o)S;XoYKrFY3^bGD6wMK3%B{%+T3~Z&oKTU_q|J|F&22_#{xPM8cx?O$)z0Vj zh5_V$^`bU^@uN0>ffa4@M`1d&*&{A)fQS}U*!<N~V$|j@K5N?MFA3JP%^%G`3vA-1 zNxny1Xu{^eDSGwkk14tF>eEI~(ltG1uR@+O)h@6qu;zQA-LrsBPSX4_@bn;3vRV0~ zUGe9UjP<vS_=7mcYL&!oN!2{=ykvcXP@ocnB9oVv3B|G|3r>!82!*pI{U)!*koYYV zXv%MLj!Ai|BsA&wx^O=kctSJ35x!f`Y}FEZKBd~1`6`Q>nC}OM_q*)3uO<GBp8fXm z#GjD|e)GM`;tz*IzlON+Dw?ACCP$!s{Sr!Kzh}X3UyC*6ca%r@J|1hzZyI@fl>;sC ziyO0f%MhCMdwqm&tdehJ+V1txj+Z0PDyn_8a&^jAgW4=GRD7%8@V*lJtun+PinHH- zzWDP`_FIE%uA603B7RRr`>HcRn^loXJRHkcd8{eF=iAVN%t7(V3DElaL0sT>ZjACZ zX`xBKxW^GZd#rxZtMnTg&-d>=@_OX?jB4L7E64K|Y4LNf?3c3Q$Jp2}#l?@2vEPBV z`1vXJ+uarq5>)eeuvl~9Z422xvBAhLwBCjf%BsMiU~36{P@FY2e^)q^A7}?!;P)|T z-K8e|?yCL1Y*zY>jOT^#A9oN6T1~Z!GL?R}$0)s|#D2Gj!%JQEyPYF`w2}R8X^Nle zW50ONhesu<d7<AIJ<4xiRwDcLY-pi3$=7<_r2KXc$0@%Bc-ztpw7~Cdl&2mCD!)$1 z_oZfjBjb6WiCdnBf<C9(0-y166Z5;m;l*I6#&aB=F80~)F0S}lM)tb{Qsex<@1mQ1 z@i0g=j|;P&fsb87Z;J2yGUem!BRHve3)(J0=Ad}%eP}zd7WjQ4hIa;iQHk(709Uz{ z_Yh8w*!**k^@kvI4b{F~xeeu816_^DHe10;l238+trAF;+2*cgY8dP>)-JHgZ*zt= zyZeL!MYHrU?wzK5D{g*ZvoChhRtb(%So<UIuH`@rY(8gGzKgc`_~vcyeDJ<UBmWmv z`);${=Kz};sy(*3e})<cW|`*xF=`m(u+6<JYB<?un_YeJa+hjVX!CG1^#EImJbK%e zD8GM(H8pyTG&CW}?oc+nSd`z(3berHov_(e+nl|5o4f4rYft1~OSSK%D<|opC2Bay zWSfV=*nkAvJS0sGRWY`iFpw&<%}!wZxT{(f+T7cq{Gp|wsllSOA8Z~fBxy<6Y~xb? zkTh$`<{_||Faj;Gc~_S5oytO!gZA-Q^FbR~dq-dR$)yPWl4_SXTZ@izso_MMZMH+> zt<YvWiyBVJvdzP?)KKfN&CZB?A|YC!_Zq7untD{=ooODEp?tft3Jm(ssuG&TnzDJa zLHWb7ffm@DiTT>OEHt?mou~KKBb>^$_n=sKfitMvRbrB^quLMMN~|3-;)gHTZ+l1l zGz4Rv<%tidvfulF_0Djwxi2g3Zi=R8zv8zp@*Oiu42n!{o2Gnwhc$^cc?`5!9&6HX zvX4*s`+@?4P8Ih!^Y>*%ob)@|<F$97c%--Sxng9mIdZ#>pCHeAs{JHZ={IGIk2tg6 zdbqze&3^0P_cn|D4lavN<uc!HW%16QXiCIyJD2h)TZ!z~uqa<2_JQ)-#h`qh$8pMU z_Y&m?mjf-}i+B0*-J~Y{o~!wazaQPC-}j!~@evfXfofMZTb+i-#E%EC-(hL-d42Xf z1Vm@V+3!7B@!4|rdv8g+m8hD>(>B=>K86cTPEonnB=?R}epnC~6r9}8rTmbfvx4H2 zham4g*&uJ=_g@&#_m+gF{A#}9#e$9fcGBZ{!uYK|N1m^!_VZ@v#+RGoM{C&cW$-&a z&3-Qh(HTDby%2sgF8jS3<N0n^HIMyTfBBTZ+*Bg--7Q1;%PRb~fp%$`;}qY+OO(Gb z8)$*w2W`sVEj8hHz&HP6nK~H8gB#b^m&W~t{9jY;TEB7_Pk@!PN^EmNoEpw{+2(kM z8b)T=<`^71C(SlzTH<cKYE@`+a)R;`%1R81w62Rmi?gOy<7rvSk9Sy;Hm#c+%8%i= zz~=L1%Fnb!oV2-q^EQt??m|)2H&nYJUTJf(M-3w^wmHeChBFMdi3h_CXU5s)L>DQa zZQd0VZxoAvdbV1Z+LWK{DUofCjZuD*&ziD19?hR*v!-lb<xqa28)$*edr{t9LQ*!r zYHl<7Q0d@upZ5{!Q|&iKrA>5f!*G{vPAyTx=^3^;)uaYH%{H&eP{Rcows{9k&q<3G zL~M>SDL*Z%M7DVzEKM!3rfgmWOH)nOl+8zB>6%QS1vY0PuR80LG{171@2yAbL3{1~ z$6bf~-%@Q;v$ZJWP{X+(CKrzU&1n3&KHI!GK@I1X*yassYB)cfo44EI9dOmEaL~@o zQa<A-k!{X03B|IeY-SVC609kk4|<fpA?UZDFO&Bp?si+m37Z2kQ1~6v<FWE=ycUVw zHkhO*4?O4?<Y}VXAJPF<e)%GQixs&mnqTBc-iyuWaIH4W5Y=gP;vHCIQexmqyaS7@ ztO-xif8u0Vc#8gm7NC2$OsGg46P~K3o6XUQpFs?)JltYeaf$XF)&A^NTKPAC9BVPU z2VD6Ix2h%orYC+ERMZl&;$untcUp--wq#YB@(;MI{Vglv_d-#T$SX(T#Q$L>^7kPl zhI`Wy`aRYD##dh<l}FL|_Gz~ApebJ%39P&YE8Q$nOT-FZ5y?LqHd_u}@j6KUK~n{) zAuRr%|816vc>b4v%M-D3r0pK#kyibRSvk@ouP*H|<Md0B=Lf3&i_dC8PmjCm6#_N0 z{$oZS>E%5Gk88`KI_*ik8j$C+a>la&UHl(Y1^!J>))N?|o+0uIPt{Ap*;9QL2G}NN z&uq8NQ^@lp)osD6Md)c^De_WC{t0lxOCbTLH+=D30a2ayBwho_FDxlB@KobkgsiOn zts$43VN?DMU*wfTZid%<_8g~Y&xFTccoCsLQQg*jQW9F37gKK~DLk*)k++iaFInO< z7owJk6*0W#2@N7!dC{c&Yc^|t&&my1LPa94uwrigKc1LJX3stwKHmqSKU3Xy%@%@r zc;>jh!L#SNG!5I%Vk+|!;xEZXEfFiv8?cg5B3pURr~Gqi*8ZNA+hApWLgbaR=h|?j z4eZx!q;=AG?rA^zK;-#_>UQK6fwz+Uf=qOATL4%y6TB}y15X{W@X3v%fa|>mBOCZF z)M6BN@I+H0e#OGKU}L|@lhEb`B2MBIeo6fGM*f)uYqEH;{-cUOQ$t<+tpq9(n($lw zr(P`{Gb?A75epadGtD=|rTni{w@b6rjYhaQEnLitu38Uev+_l_KML+;gYqxhk=3zK zUB;i4xvF{GdE#Zce50d8<||grVh|W~q<C2lg>#(pD~9=tcAy1**TQdgS!j~)9VV}i z1JCd({fb}J3pTHNV?BOCp5Lf$H>cwCs!)S=_bLaCE7Zj03&-kyQQ>4qy^O5<F2?CG zt`}5O3a8+j&#^^QB7DCAqnff3gCdi2W6<KP$&M5+D5G%JWbyJ@z+x-VR3%B=n?yxI zlYX~yV%x#y{U%k<3;YiHR{YN#lTO|(hX0xE;Ui!s{^yDCe@q(G<jHTJhy79dxa9<t z`8(C^Sql1NCmQsf2`>c;#E&c?<sp@S$DxLvHVyhrrrrf{acnzB99v?l)Q=)xerZBQ z{vcED;g~pSZIY??vnq1in222F$<zgu7OCZBvi@-C{10X1iWns)VGcduiDMroD0xkS z2Hq`GD^bd@5{f{Nb8~CvB}9{z7&N+ObxAawHQ96#mw(r0O&XBe5|cG)L*`wYU`?8_ zMwyg<FN~9xWZw6)94C!QZJEc~&iEf1e5@xdvbKW*E%|De@+*V{s)5zyYiVJZHEGy7 z3oGHutkMv;O)RAUXeE6h{y)<{cIA*KQRp93w{N0?e*S$!QB?GoU@VA>4MqPQKT3Zk zBE?ux^jD;#^q1q9xGa%fm0w$q(q9*g(qFH52lO`}HN|H7Um^1Jkp9;u$`pMOr7uXo zZzwUKZ=F}h&<sa}rvHx5ahm?hFt4V+BF%A%zPJ=x9>z79Xn-WWw#;#w{yHJabzIVy zq;Z8CXo~(DC~t$*Li!dieDb(N#6O`a`WLvA|Jqa<MEnoW{U^l)zt5v^?*AS7H;<pN zH_G~x>JH><5}r)?wE;y*e^K9(y1rKQmm;O-{#QXt(O;j5(*Mm;SK_j(^1mBV`hUcu z^#AZB?|}ZFNL`x^=oezhXP1M{D3FV`c%m~Rb6?P38`6@E7T57;xC#sguB5dz)HMCC zLQT_OpW(cUzPJbQo5fm_$@G6WSkv_Xh_j~X3(|l1tSS29D(+9IY5Esu2zEuBrhmCX zFs(Gu-zq}?pUnL?=RZ9Zh5ki#hkKQCe?ulZ_m^4f4vM1x0a79T0%0!dx&Ma~rT>>F z@3pA8U%>f=jFg>Jh{q%J3vtC;(J$<Z)YJsi-yQkRz*vw|p|FRGG9A$w74$b`l*n^m z+?`owv8Lz#2cZ_yhY60;^#5>JQ}nL_!M{A#n#_PcY_S&7hdI_1eQ~}P_gPc)bJ(qR zm71nMu0)01WqF$ZM3-P%<dysWmYV+K|AhWae)TfZhg8=gUP=GYfTCLYzs#sxh>HF? zq%{3KqVx;#DE-22pf7GVHkqiW(6JPy-$|v^zF+8ElDq@@U67jSG5xNHJj-VK-7S=f z@|w~A(@`SR7q=?E%&?~EuM0Ize-D%6Li(`6nxc=}oG`?iv?SIN*kVo7?-Xi^z98K> z)D-=^PlYa0)ASvTlCGhqR{kjl6}nrZ4n^MySN=KwWaV!v?{qBskf^S!T|vLF>qhi{ z1I3ZyzW;kRO21oKrDV4iy4caV-w7$)P7dgc{X>iz*-3?dzDx!5Prz&k?|^=Pq%OjZ zOL^8;ILScmSP9hJAK;=)(H9kSA5B&w)1Q{bO6{?x>HnT(P1EmIW=+%YVzZ{`i<{S- zLaoU}10;RDyJ-61dmn=oeL?yJpUYG9iyjsFOHI?izC^Gq;`H3dB}QR@tF#ymL?yiM z&;2L#FWT)cJW`-7sO}iIl0L?RJj<7JztF-{ulLI?EbNkv(jQ<(>7U?4=od~zzR?EL zKQ+jw=%0p2jD>*yP+Rg2=r@>@yg1ABhb6$f%=CxH&=ya0#>Ojup{uP#rhg0OTMLi1 zkUpBvnx;R%WKGjQ!C_6&za6wr^jK>$nf|F+)-?Uo9M%+lL3*gonxelLq#I13Y5F%? zR2Y_EP0jsVeJTtWlA8NlYx?d#S^4*~OKDixlIr?k7|ZW9@L6A>KiKrdHJ+j`=CHUA zujqG1O3Y!|d4*w_DE-qgqeVX1VTA_F({p{Mf2OG-75%dkQTk`&EFZiB`e&CZc`2@{ z)!ZNHVGLm`sJVYm7G*l3Gb-r!4@9Pq`~3wyS2g|4w#pnBkn?v~hBZz9G@ms^f0hYa zE^AFD(?1jcCmIthYO=hu609lug7n!!l5vWD3GF+(EVL~!rKMHtPQ;D$SX1=xNmJpR ztkMv;O=RW&C-jGm@Ax&EvlZ2yWL451T8h%|YpW+Mihe&QO8*=qO8=}(l>SIdK9dPn z{`1RG`WJXn`WI#;?|}YA4ka%)nSNT-ZZrLhO_XVh&ZwY2w4_9)pG{Dqug#jK-_K!9 z&;4@@)-?UIGOQ{3cmh-yX|dL1q5+ch`DNDh+`qtMP0<&mFU+#0=)Vi97db-H^zV;T zA#Jm!=>N;7!o{Z2K!0mZ-~Aga|H->J8{h5euxhI#VPR{kJ2_iP|Lk;>{;42*L5Ao4 zY4IribSX;zLPYAhf03{L=u380VT=={KNd{&%0JGOyaW1IBq%vH&h*E}P<w*u<5a%k zLeUqM^v_N!k?G^HWZ_hUHBJAtIBS}Iy2P5Me_@zc(VuOCmd|lbCet6|u%_vcwOLd2 z1?h1nYl{9-ly^l!Xqx`R87hnylGGIa|03`BveIxb_hU2M_wTEufAX%*rtbEfyerx} z>RKER?tPw;ot=TS4b|a}bj8YlQ9xL&{AYmhY^?Qa?w{#K>5orG>5mN})yjWGM!gj! zyQ<(MqVy+$sir>(_xgSdSN_Q!CC8PS{xw-jj`x}V6bFAv5J2FKO3uNH;-ZJd3M?Bf zzPwpDqr{q~f2PZtrawN-nxrrDjt%oF`YkQc%5YqhiMnLHPJ%T}f0B@7TO|F#y+C?W znKecK{WulWdj%o=<nja+uE~lxp(*-%I8>P8C=K*K^+Ng&G^Zc?KhuAC%|$n%iQ7`$ zP_vT$I1m=R75(!;_#~6*UtmS)Pl-qAPeP=~r|4f}sF(d@R~4ptQTlkY6rn%ek-USs zf1^!F><q!af0KzZRATxw5@?GnIzzAglGeCD<hj4ML51_vDllleq;-MCnx;P`&YGq_ zDa@<r?^gmDgX5Y^ra#SNP1C<2%bJ?|g7kEUHAVjep9(kHLJR3zt!*mYWU{8{?;E4S zjD*raf0ds5Gye(w%wwmvf`#p<ZbYV%{$vo=^v8g36(*IM`(ykl{hQn<{ppC*^lvQ5 z*ExfI|28{H{~;?%|6xP&4(LA;r=$(u>a6b(A7d!P^dA*v24HyZOZt;7(L>?fx7xT= z7!zkr&;2nzYnuK|E^C_p^f0fYkC#UaH<mcA$z=Ms*{o^$4_T}!`hxVs25XA`haMFk zi3?5BKOhUuXHC&R$f3fcC8dd#U(fwnUd5eWEbss4xxakQck5wcd#XF9TuFaAdR)`L z+Es5UEBa0*N*~*+yaJHjR(QyZ(tpHJ?=v@<sHgBmJWBrw)No{Y#W$xUc?a~LbSWwB z?kV~%>Z`Vx{@gUmG(=}q%>C)I*EIdZ(c@RUDlj_toeXQ5{-ZW)n*Ku`Yl?om6395L zHJNCDTuYvav!>}k;j^ab3(|8+tSR~*WvK9^D>P02umly{3~P%1k?6X)X{CvkU(fw} z{t5m4txHik?Lc)G8kO`P&PM4^v($U&ivA5ol>XdUl>Qt$O5aV$H`ar>|EwFO|6C?Y ze|}o>4(LB`QSz)b(|-Z=4T>}U1#zT&(HRx=AI>U~SAHW+g=rRRdhXv~u%_wH6_Q*x zH2pa?Yl?ms3uF?kHJON)^q+NE)AXOqu%_q>((}`-Df*w-RCwMJnx@}AONAE<))f6t zCKVRMl?M7{O@G!uS^3+o`lbUc>_~N&IhFLEG^6x!!$JNbhNAyqIZFS9Y?S`|Sd{+r zo_hPe$wWN`&x+E26-@QqUl^CX1NsYnN{%#{{%a+Sp%T-7-9=km(HRx=pF|}>WcuBG zD%|R`rs+ReW=+$7A<LSkKVL|)JVhVx-4~wsSd*3{ea~V|(|^@qP0<&m7sgpr^gm5Q z^M$7AcS}&=wGwNJeov1Iue(YEeHh_;efRy7xqn03b6<hIov3bnsgnMD5S|^L^*s*4 z$#CC)!imy<-Hg(I6_FyJ?6AUXw)zvDCKL4(a(<M49!xd;f-89k^otovj>1~6R{q8` z#!!ao<Nb<;WLk7a1^xMDB{F^dX;0ztENhzn6Ao*d{_7@dn*OU<))f7|agecDla?g? zoX?u3pD(ed=nK*Xmo-KIGm{F%jL<awW3yCfOtYrwACI`jmeN3fm8O6HKbiX{e!SPi z=);|<Zc?I>{z4Ge^q&Rc!5*LWJ(q~mZ!AaY7Z9oGH^$W8x-^-B{*p|T{!%d2^xv~2 z?|}aM1|`o;F#Tn5)Q+(rJEO47N12A`j0*Y-9VIgT{yr6+HCfa2pG&Z&={J^H)AS1_ zYl?nV24sXJ*8^!u(qEEcP19eRW=+u-q~EhxQ}jQ_XnNlenx@~cOoe4}))f7dJZQes z#N5{_|NZ}D?ti|##htLyg6ghMSJE$nu%`bC2-iAH-}9pMmpM`TOA)E*zn@j#acVLJ z{f~?&{g1&^)Bo6)yaW25lqh+g&-BYKYL7GhPcul#&ZwYYOo$%REC0y`6<#T`rs;bg zYnuKthc!)qX_+-ef3TpHWldU=^gl9K)AT=%v!>_^(jNznra_AS8j${^B;qvvfi@M& zE^CUuWm4hOjMBuuujl@~&F22@&Zf`#osIAIERH>xM|bT)bvJpH^xp$vO+N?1r>2>H z-j34$G!do$F(Sb<SozDQN;R3Nr?94^QnHf@Ux2BmzcwRz2lT&8Q}Xl}(_d$ycBItY zUvE%yuq`^Hg8qA+5_#^|x!7zR)-?UR&6=kFX@WILUsC<pVNKGP8cw<JPmC~WNos3K ztZDjRxU4Dqg7n%9Yl{9_wC~Hb&@}y15Vy`^O&U(F^Qf@iP#St+MmYBeHZ-IEH{R<z z?R;+)ti-AA_IM?IoTf;M>Tb`Hgm`<A=`W3`W3uxKXq=3c-Bwr|M9K~;d|6gsQ)n^; zeLt-t75#6)RMT%V$oi$kPkFwJQ?k|w=ohz&Q4%N>{o+<A^Iq8*n!cp)i7k34ocr=^ z$R!EZH2tMQl5v{;I*&Cq_dOf560Aux;%g2t#G14u>-E#DY5Lz<tV#NVkAeNBpwT?{ zH)N>rU0lS4^pjuP1iP#$`h!c*%1RUT!?{1Op>pN_J8yQm+lZ+_yHedfb|w8U(c^-* zqQ4S^XZcM3qilqJajSr-qW`U@^2rV>ZkbVES7<U(PjQDtgnn_yScHCY$Fk(D=6-P} zl#+6o{?4dx7E-b^iY*+JX^YO#^d;#pg%+WIsz-&D9&4KZM_JZF`Y^$orvI(Snxa1} zOEAQmv?S=m7Hc7Wm}5=NeUOGl*3{hh4T4djY5FOjiaTdnQ}l--Zwp6hpg&#D{Q<Fx zyFGu0{*Y4RIq0t4s4nYP(r?N}>94WX7eZtg7QQf}^jpMLN_JauN37Xm)F}Ep8|qsk zivI3il>Q#sDE&Ph$vdFm(x&987SnHq`tCQGe(MCvOo+~?px=~LVlZUImq-e0Y}PdW zFHF`n{T6Z7Li(`6nxcPJ8DtFBq$NpzcaJqqe~&C{ioPJdr^A|}--HR#(iWPge|nmV ztxVPw{WIfKY@JXV=;KCkaK$%pXywZPcj({k&mD+9+@0zkjaASu?qo&j`!V$m7)9SN zN9nh6qxAR0nyu-#EU9m)$gV2xXGiJpZ${}KkdV9s`iU4NhbEYQ0`+C#Th0A89#Un| z85`3_la<KyM`7;!LXzu&rtg<o)AU=ptZDjt##vMJ&$mIV#9EVyawYx!Y}PdW{c%*) ztLO{T2P9Zi^uGsHDMjdy^r4kSoEQ;`{<#?{w(*n(ak^glPyHt=|6ldFrD)<FRQH5c zNq<j2Lch2@2>;s%R{r7+nJE1>R+Rq!Zj^o^t-hNiyQ+9tEK2_{Fb((pBHk+%yaW12 zWGUI;GyS#>#*oMKkF?R2tmupi`g{6HWcq27&~Vm5`e;6DntmILHBEp2Ft4J2X&GeF z9M@!`0h0b<LXsnFTk&6|m045t1?j^*))f68P~H()q3OAgo36#S4r_}3CCGcEtu)ZT zQP2I;{>j{bX58SP(A+(#?x}1g{R1*l`n!YhgS_t-_b{UL+xk)Zhg(tlZR7IGN$Lc- zXk?@GJA$dE-^rG|1Nxm!N+uIbze@tOJ50Z83}wpBsGxs9M)Z(A>l^D(ad(R~O@9xA zHBG;*&zh!xc$inwpJ0Pboa35ICT(O{)ATz!tSS0}bSIlNMgJ$4ik(fNY5JE#>ylti z(Z^%*Vpky{PSDqL|Fp`vk5@SU&sThxpLN;kD6b{eJ?~f2Kf;L8-xq`*c6sjaSBlc_ zl8Msqh)6IE_WjPTO3AJ&9&M_W?4;r`V5;f&ib>u9{a$5C_6zs@V?ESvGX3MSl<c1n zol!ym2t$cH_pgpoabKS`O@F@<YnpzS3~Q3UoWC8zypq1uI=dX#WHSAu@qeN*kvF?w zjx|MJknSZU8K>y~g3;NlEHq93N`s2WdaNn>zgbi~E~_-qZ|(5DU;TPB`hVl?j)haU ziK98KsLnGh>30eUe}|?}@lX)%5oh{`r4>cldBx)lm6F|7#LaLSDLbrqtfjs;CcCQG zw;ZM44@@=v6To!a7_a>O9ZKR&UUjFpc%n^7JYNp>{UIpxBD6|$BtPMmWb|9qve7l4 zV9p$xQGr3z)vBCkP18TlU`^2%d5;P6N;BenXE4NZO(q&3%j;WaP0#&)9&3{R;GP~8 zPsp;S=>K6;vA-iUP5&>@Khb7Q(zl*OTZYJb<=o#((|@fw{n)1GKH3|7x2JK;y<H%+ zrn)yXmGpb16-7ngFw|GY<OC{qj7RCG0;Y=o35XQqMA661R{8xg*;U11nJE3?=_viv zv15RDF!yb&Jk^-(@;-lYL>yx%%k)QxG9A%D5&D8wue1__xi7w6Rx}LO^xW?lXHC;j zm08pDPYClW`t!@6<#Sw<$@GV1Skv@}r&&{TUywfCVolN?jMbuO8$t`|TTi74c3D&O zpNm8Dm4-R6S4_`+v*L>H?>yiC<=6FZ!opruS1ec3?~fiA6czoRCG`zGMgM3wN`Hi- zQi}d?j0H{K&Z@8NHJPZVc#aXJKMFPIxj)L6yaW29OOzbwF#U5;-z7HFKQDtaQC>6p z{bjF(`@Z#}N5!5c6&RiSN4u<P`Xe0HH2vXa))ajY1nn$q(vqC}=NPPM`lI5ksktvm zkMdbl^tUKcadb&&n*Iwu70-29Q}kcXQ1QHs(m)><j{J=8)qgVgTdY3xWAx$PRJX*a zq<^{>rQbKLzLKcuV@H;IyIT3rOGN39a-#IlHPzP!n@mAJU5e7b*p1S^BqMnT^e;_Q zvZl=RFGGEoC7Ax@2FetDQ91Wd_ms$U9}gdkebcPTrb}A=EY>vr^AfCS`lB4y6#ci# zAY-y7Ey?oICDt_ki(S?feL?z?3~P%1R#_@uniiU-ztEuKWfp6S{+n?sUT!E2^jqt> z|Jpy9`zyY`JB~iwhw46XD(R25qx6S?@ED8t{o%1F{mZ;4{Ywz3=RPiy8pawFob!)Q zN9j)hQ$6=58j^QF|H?Qe`#4PhN*}y27G!4>uPUJ}p6HB<m4CFYM5bSGs5mUanx;Qo zNXQ&{pTBsS$C{>pNrE*+|7{zz%B(e+C_~a8pJq+dpJ1`3=nK*l4b~L>ZCol|85f$S zpA(wTnxfyBA(&Pg=(p1J7yc9ax6C?l2`ubOb)S?f>0b)MdgUJp!sD<HsJVYmHcJ00 zJ4$~7A~pRh9r<n1fc}(tl>QVj)%33|N!|hd>s(59%`pAzGZ;fzrav`}G9A$w74$C^ znxrbXEAh42;z*A*P5+!MYkKZqWwWN~Pw-e%^xrRojKf-!iMk|x{YI#!KSdH0BTUiX z22`(=1cj#PZ|6|)I#-mZ>Az!8@%jvFivH3P6{n_^Cg|&xe_^wg|8G3woA>P4F|e>7 z)vZZX(w_*zntmFDuP8D7i_Iwgsj(>iYY_>i!CBw+36*LxQBUzESEXbp6=#5{rhju< z@($={EJ}8_nf@&XYDY@V{afRd>}iP3sGvVFt3;mrE6}@Xn>9`UVv{vZf2xq=$Wip? zB|yt&P12X7uTQWhElKSrmo-g)Mus&-Uy!~z&6=XWgGI%RB{WTcIY!AX25Zvr;GNKx zTjNRt{jnzR`vW^Vm1li_;~8JaQO>ilyg$`#NLSLoE+DMV`o@Fsf3bqAxj(+FD9X+& z-jY=**=@y}gGkw7#f*oqBx0~PnS%aZR+RosFxB+$2GiYrKIgyNrz9SW1?T+tlqlJ& z#PsiV@xx>p(HRl?g4T7YL=lvYPTmAf{bhuhZ<@aP%Lt)q`nO~`ue2fa-Yg_JBGlaf zUC{Dala?g?yDZi;{h0=9ihd7=iej5p<th3*`_O!$h4cr<(M|W1SW|QVSCfkOx=KTz zT&U@HiB-`5JNNnbF{dv>a}J=oCa;qI%^)mzEBe=f@HJ(oKgEgCzt@b?pNUA3Ptm`} zR^NPWGEq-)ZY)ZFZaGSSo+o(+b07B}lgE{r{?iU>Pc!{zM46803{79rDl3ua{$J?b zYqG3q`coX%H2r%`)-?T@S=OW(@y*%dJvM97lB7RZNOF{D`g6;yDf)u+JdZU+f7cQf zpUMg?q;LJ1pyJaGYm$DFJSsk8D-HB7^}@M-)IXtr{LI2hXm*0?eu-DozZ*TS>EC3k zZ}qCVKO+&P|Fj>aKM(U;(|<aye!)!9e<2&CzW_Dpx&I>W=zw=X|0R=>rpxqSMtxIl zrvFL|WtyThD(K(sC^4Wfz6M;x12O#Dc<#?gu%_uh?X#xo&$C!l^mmMdOq?}oNz#8I z%bKRYz+p|%7o=abSyS|P&r<OvQ)nUm<krw$POx^jhqfoTH>voFkPrv@7i;<*{|WuN z`g_hrd2OifFT0ZdQ%02jon`gQbBg|5UX(sAN99g0yREpukJ5k1RbRxFT~&PDjM9H2 z5vBhoY=U<{|IIQbJ3CDOE!1~Ig6S{HqD<Kt74)Angepj@mA{2g#XHNa>A8QG$C{@9 za)vcce}T`MqQ6@Pv|QGjOw=XmzmES?^=kTWBv@1Q1?e}1B-^Lx@0o^H7MiBNQ<;iy zd8{e=agU0NvPuK}OZCd%p>p5<J1hT8_nQ;ZoCB$TYqygAi=`-i7ld!Lc;%m)j?!Ob zMCreQNIm!8vefsVWmgp&%TfA^!Bo%vx3iLWK)>Wr5_gw_eg7RByvt1gT@!7Q9aKU8 z#ggbDO~0i<MK{Bmraw2$nx?<VU`^A1Bh0Jl?;Qsji{qM1)FtURmRZyE7kjKJ`hxV^ zS=JQ&R+!TzM`)V<9yS%<u~}2}TO;mWQ)!@oiKZ{UzxV(A)u!raXKn)v2T}b_Ff!Xm z1$^VY_$CPJmH!10o)KsI3*u4w@06nS-$taSU-H%WuVq&impM`T%fVFB|G<>I1Ntix zlsw#K`X9zHhO$im!!pWrL}ygce>1H_p8NZ`RD8i;P19cxXHC<8r^K43|8|&H(QlIh zEuZ6>Os2ogVNKItZnLK73(_B$tSS0?SyWt+5SpgHPnn7z3Q1~;{s9iOveG~ww<h@Q zj!yrC{_}fNdssM_>UXm$>6buQ(|-+wZ!R(Y*WD=n57SZl%Mq#RugJ*nod@UqpC+R8 zSAnUfzp5;G2lPMlDB0Fv`m3|39b-XuM)7k8WtyThD(IKuN@V(n7*u?%#G0o6y33lT z|6!UnO@DcqSJ6Mb1X>x6YciSsrwP_H{Z&Ge>yV-^NUtihrs(gJprUA1l>R|B6<23j zQ}hpu5lkx$^vCGAFMhoG|9S4O`@KC1r9-H`b+(fJ2OzBJH-hjj8K%G3iqii)9;Lqu zk(&N$L;cc$?5g5AFG_zsm}>eP9LYPN|CLS2b|%yR+C=RMrvFU>Ws1J2r2m1dM5f=) zrD9{6HBEo9#hRx7d7L#(e^r=Q(KkSFwZU;sCK@1D{&gN}n*RDMYl^-gy}@Bk(cjmn z;#aoN^xSV-rsCHoYl?n*hl<}Mlm_~jYx?3#v;WWZFQ4(mWLP+q>i736>3;^on*K5n zzAfDMm-$ipU%OHI8xX1Ke^rvdWf9E%@9il4AHY=8|1lwX2lRi6QL=rU>Hky)?=sW> z*+W}A(HRwU|1(R8OuvgkMfH~v;#@$}U*>b1rvJ6enx?-Y&YGg%y#!h%)|yPF|Gmwc zrY~}c2J*c=LHfr8Yl{B<9u<EQQiOgdjFO+qtSS24VpROuQ<|W!SN_ibWaaOY>AMx0 zco@|mVph`M0K%Gn8HDc$_x(>ZQTjhyQTjh1Qq%t_t$vqUc2)7uSd{*sV5;f=<w@R( zeq$_4$qwNC08CROIT%CPfPUi^Hp+BFXH?MN;46{oACsnH*=0@B|1`szrvJ0Wnx_9l zm{+i*WN!;((j3<$G&%SG6p|#Z>Hk?~P0f8l`Y(?)ML&@t7!{hH`#rP5E^CVZu@1qs z(m?+bP2Z@T`+w)%o|B$!k4q;yoa&FvRMP(ugf;zjAbe-I@2@u^^c%^K(*FyQV5;u+ zG*VopWLGt|a#c!pQe*3kOkF_eP-@&OEqMp@_qHh6k+1g~_c2hr&Gh$;Q}SR>bVddJ zA2Uj1`h76p)>*7+`s)qWLi#YlnxrqO{uSnx^o0gP9M@!`0a9z_vKG>ZIo1??L3*z= zYl{AXAicLGG)@0_)Ul7jnxsGY;50Sv8&?`WppFl^1!sNc5k|$zzqv2Bv~V_lyQ6(R zH47Gwp!$yG3i^#P^thm??)81=tCZ}*;`b$$lAYJMPgbR5w>9n+3x3PhM9GbNV@BWN zlUn&3+gK`6(LYet5YRseOn2kAIvWr2DcOpz_!<u`QF5<v?jPb(a-X0h`4UA^h{;|P ztF3IbB>0^#dTryC|N9ban*Kgn))f7`4_ZQ!dDYy1IxY;c)@0(CthbHDnx=oC!J4Aq z-K55Y;;bq9hYHOXT1bEJVGhAAYl{Bi9yK1~Dh>4U(h1Y=>sHd=S*!-Lz5nrz?vr<R zHl|-UYI_eB+ERTFqmuq!W%V1pivAxN{LXGT_y0^Qriwmx4LME}eGF*%qr|eq8V|Nr zz9tj(G`0m(F%}ekj4i$LH{ujc@DAqwQ5j0^XY$J5K8;_jF7w>)V4-DbH%bgIP^}$7 zX0Ngmnf}`j75~VvCI@a31dD&BS=00nF<Fx~#7`hM9++iK&3%*yL##<lqCD7QO&XIU z;>Z$fioPJ-&Sg!}Zwu|HjL<^**7hZ8Y@cRL(zkF2sIh~kG|)dWLciJE-wgd-E9m== ze<7~-kEHtJoJ#r!Ir3MQ)ii3v<*KIN*g6rV-@Y8Bk2Cei%HKYwQcb3y-vwg`%meye z!4#=r?su~!?|^=HgOUgESzlw1I7U=B_j~x1Oq4}uMCk9D#yoPA7@?1bvlh}v^I6mM z+m~5Wb6>3T?M&A6%HLi{ay^iiB<U_0)-?UDY1R~dLAsm8nxcQCLyg@Hp=tVYgJ736 zHTT<j(0rwV{s1?e`zJJ;`<r>IvvTEccl(29z)Cx+?^mj%e^f$|l5@W?5fGML*x1HX z$JE^K;i#0F`&|*)+2wt|JI>xRNHv+Lr|~#LMaoWU><y-xes3_1TRiv85+x7xdF~(Y zQgTnMX0kIH`(!A&T}gC?rY|WRl~5wn7X*2jM9%rqe2&xfdpN8q`tPE-UCXSgm4BWI zT3OblC0Xxr25Xvr?>K9Uepingd;6>@`j{GxW=Uuv{lOhj$MG&}ioSuoeKJZDb6?Z% z|99qo<;p*N;;=u^heuI;b)u4fHxM3b1RdGf7KFR<WmDskwqmO2_en(Q_eNwxoarBL zs(ekRpnoEmim{;RpX5gA4**l}4(5JUnvy$Uwm;yBeAO0yDI}yn5MyX)R&<7@Zw+-Y zw-78urvH8htFptIn)`y_kv40ZexC$uYULk}yuBUP)Z7>49dEKGEhR;HCze>#^iOhG zQ}hMt0U6d5{Z7!T(n1UATc@GCYKt|s@(;79aiF0z&_~g{@Aq#u_y5Mqe{kz7UPgDd zr~2A#C4JMDzsMe}{9Qm;)5rfwii&=<7o|S{k(klJIe%4IrJ77ZF_~5=MSn1uA~IO{ zPcbC#fPQV9k~^iDeyxwTI6U|3N|bDY@;0JBqKtWDD=|vHOM*2`zpIesDADw*J=XNf zKOn)HUiquatVv69?kCf%Y5IdL))aj~`V@mTMZYsh*T#jW>DyUoK5J_3cX6n(uB0^3 z|IUbQfln^}X3&6LJ$2TH|M_z1*>hpap!$X^4IP@m|JPF0r;hj#ulN<0s<Ly!HodXQ z5A(_T%b}{3hzJg?bYgpd^eok%?o*O18nmN>WA!6EN^Y4z3N=&xnP9$^PgUYJG}WJF zlJzrw$?XkKrph#|7FA3!!y>Qn+Fw%rF4doHk@b~DRo8jpp$pB+U;JVQ)sMuXZxU2B zNgo>T4T{+>Q2jX$S-wqGlOu=BmMs<{*C>~)Z?iODimZ7wzVg^qCiB*G46QoPCJXnJ zs*gcJS*z~gwCGiJKh>X~CF@6ns-~JE@WM1%>(St;vXF~V<fkr~y<BlD?US|2Cv&na z@)AU@HmJInF4AzezP0{4s=pN3J{Q>xk?nFcc@47N;fvH5kF2%Gc8n9Y#E4zdw##s; z9~UF*%QTtC$=b%p$@&Ba?vS-ju*iBhL)Be%wl>b38H;bD`iU8`mfFZBYrD!O>wSaF z+huK6XUSS_QuVQ@I`G{ocHI6C^rHGn39?qi$!sgLP4>z95VhSYvrRF``Y3^Hy0%Wv zGxwZ3kLstC$SQec_LkYML;0^|kS&c0>ZhW}H?rswovowO=l(rfQT;TVtheB;hs-t| z<>yQ^Qf9j`O;#aJ)yL^<ot;JQ$mgj3CYP)tnsvO)cC$y;VxP>rd{NsiF|uCusJb^2 zfwwNPo0iU-LiM+rWIbIX({x4P?Qyc6%_5tu?GB5q`DxUqvvrOYN4@(Y)#KiU^#YnD zwpgmi8!6U{7MZun+U_osg*OVS#VFz0oNwJCYP&Z<)+=b1X^3pIe6pU3kvT(VyFX3V zBR*AkcfxE(I_|9rJVSfHCF?&PnLTA~|8mHB3{AdSX8X5C*5l~O?z*-EW3B5CJ(=ns zijnn18QElQkHpD(GC}5zX;Js17FjN8>!xcvDz>eAc8co%lOgM21Rf)^J!X?N(;)K} znQeBKtb1Zqjnf?V*3P+pyZt<>e<DHFy=d0at|)(wPu6`|GBdtNxdvGepeK7E5p>B> z&S9(XIDzWtrpbaM^B9@!DU+-REz~BnJ?)WoCwj7{&ekqAYWPv(sQ%d)S<}$09x~f= zC9<Z+P+MBm_I#YI8%yw}vvr7V=<(@Ps(-;EYet#OV+|4bqD>agB+T1nwwJPG-Re;F z(N5UN_OTJ~-?ND7UoMk%JDPQ@tj%-Dy51)9Zkg>>pRDl)8mY5&jk)_i@B`JqmL_YW zNoF6J?G2NxtKwK^d{OtC4p~>1sp@*Un7oxBYm!R?AC##@Hd)u8B{+59?&=sjdaJXs zykag`*Je<+ECh4G8i$tb?sA~n(%9jViT|ehqD9tuX&NA2Sfl#IDE|VJ227Hvw^9B@ zxF)*a6URzrveIQ5_^3?1<C1lWPv#beIQFhj)@2@<Bpoa@$QqNOsyAgR@8S3IT03Mm z$z$(f{oX!{d@}VuY9Ea=uLotB%TW991exC$VKcvVuP83TU|Wu+V9OYAx(r-_3PzyO zSIP=jWXU=cjdo<}Lzk?x92%fj-<3XDSo{a5?)w<|&OyVDHo1bT9_DAKZHs>RBu!QW z`gx!})Z4sv<&&>b{ihCD$t-etVXgyXD<+P;k?KFQ$T}rWRaN@XiRQ%q(|4iz&tawx z>;5siz=NE-=G=}AVhtLVic=M)e!#7&zd3jK12)yK^~f4xQPrVNc<4aqm+yOwr22Iw zvQ8~g)rq>U{@zQ8HY=!p1A1U63hb#1JSf)q*dbR_{nzkSlcA~sI@bwi&EV%(Q@wAJ z)d#)~i-mO^5ZiW}xwtde6ep`+nyOCH1)kv5KK>jQneXANKYaDj1-6ML_n+ZX{SWYU zl7(FQP;YPF<wM`3`k&ydDuKG3u&y@Fj)U)fgzA6EkX7xYg}SbOUWa|Zew^xmv&kCd z0g9yl2dv;itxB9fQT?ATS)I}PDoOn>RNd93s*$>o)4lsodiobi#ZX9hhpNu>!m3X- z@4s-|o0KB7swWzJjXrdh*KW$*&rxd25?RNf!NYZd_1>0CU++Sxt+QnHLW9rHhf?N~ zwa;{>)V641?-*5GtqYuBo_YI!t0=X-NmfU+encdf_tia#XDGE}oUDV(IHYq~X5ruk zCs1nV1X+i|*KmEP&g<W0@3E9>0n3NO*JNGbh2G_d59&p!IDEB*FI(rT^$OYCdz9KO zLsmPRsxVo2?2Yrb8ouu<l-k24tGz*0r|Uy?=8!3EdQz$-d|^^nIl92H-nc1eE~iv$ z_&O+#x^%9=-g6&6`XHtDhOa&03#&<3mpOP!{o$0_r%YBW_!_ATJk7($TfV2%elA&i zc{q*JxvumUe?9F$N*w@S`(&tUn9g;ox8q~)zDB7w@U<U&U9EFnWe%!e5Tn#V@O1!u zouzY~W?uiJyPi^q7-Y49uWR+8iQZXNm)}CE!(wFZ0bgh6L-po6*$x*{>InGS9(7%7 zhQ6*ejrUujd)vYnE+wnZ(uana1J*o(X0(H^ozfU=`p^~T+3`KEr&N1~tess9QGIBL zchS<(7gNfx$lArh`K}k%HNorDf6-7%b%L*5V`MJ%V<^6hLBj_7RCTf^Q(3ZhD^b<Q zPMGZ@=Z41~D^jW}TEA@>=j(`5n=CFg+I8wPjZ)okZ~0FPx%8nGvB4K!h567UPBnjJ zsA^RV$5K6EGlt?_Q>2bY8@E8V&*ZVAJ+ih$<R7|_ubr9hlRHxC7_@k6blflckRQ9~ zv2z}v)UgIx+hAW1x11@3IaKp2c9%m8kupuH`5G-=t+Ra|>(OpPJ*AF!sK!rF)elZ+ z=F8a8XIwjlQhhC|`PL@$Kv~8KHq|tt{5CSxKT9>=r>W|Do$U*!Tm8b*D0O0)YJSF{ zA9Q7FW8E&iCrhaTF4g?vl6ioOW2tIX{T0gJU#14dsAe^+HR%#Rce=0JE>5YFO{)1E zRqrdSw$PDlVCH*W{ui-)i&3vqDv1`aMH%1eLu+COtl9ksN}ZCRnlDj?ct%61I)iG~ zmC4*&rs~sFvjKhZofG!K8mEOf<tIv|T&npDhyKuqRy#*byy`AWor>l!M~N+E^M|79 z4^U!fSz<$pYCc3me$x&4I`;Lbp$jQBJWe$$vsCrFF7c~a|E4Q;qtxkTs`&_Ibde>F zK-Hh1>fa)P&NeeHJ%mzc_*7H2$?PO6J3B@-%aAf;YNSaujU|+?t6mpdFl)#klsX43 zemhQP2N^ipqMDLLRX^##4bHbKYX?zkG|GP`Lsh@(s@FN&Z8u^nrOroXOHkQSvW*v% zsAefze55Q9r#dz7qs71IY#U+=HkjQgl}2SaQ>yw^SGGR3^5Y*ZN?nqmnpe@PcCy6F z4E)NiXq7Hwz4OKkyLYA3<!P#UJwfJSva+%8`9>BgnQa`by;-KJpLO|PI`bd<y)C7# z@Tg{yi$l7^waybu{W~Z%p+q%#aV8q(s&4OWb@bTPl)5rYHLsM&Y$c1oI!(z(T&f-; zC#d66a<)a)mpjOpnq*P(@eGd1)MT{(X^*OE&2TK8VxC%maDq~kQQLwN4Vd7GY*S)X z^HQ9uCYmC3tw}X6XJ`OcU!<;cDETl>&#sb@Q*kx_uQZvvO5f8=O8y&Xu>X;fHz4vM z11T9f9d~!0$H^M5(oxDyF{C_Peapxh4mG@B(16ME*v*K10lgQO_HIGs0-UElB#+&a zMam&_7kTW~GEzR7EoAC;n;KrU(K1=)9f*7pois5m>bnz>FPUVH@<nQ90x7ifzcO;B zM-4A0aE<D6x0rp5>B~p8rqn$q4x#_rI((@5u-JcFKT}7kS#fH3B}UbI=|g+R*37xf zq11h-?3FZCAFdDW8QZn>QU9XU11=7gsrpbfBe)1^>BMhs^$4Z@<xs<G0Df2`my><7 z*nv_HW^l+yE`6wFEd9`}|EAQ#HZ{C%Q}vO$z&)JA#Bonh>QMuSN>qJ>&b3$U`?f1b zQ|iAlYIwthFP*EEGk?`P+f(YX5)QdkeTdH0I`;1TtL~@N<M8!n0tM<^t)11!O+S-T zbKvXE3@qzItzzRB-MTxaT=;q`MpfU21y+3%oAC41TTp7Ag+pno@*{_w?SFo+hEh)_ za0ruTjK>{Sb(#0zfp@$^sb}G95vJj}`q0_tu_Ff_L#g@jwFo2pa((C=ulmq~TT<$I z_{tenb*Vly%KYqwhTfD~kj0@aa+zUWXM4$KzdxB$FQus=kC||pK6H+G>FTB{DfJ3` zVS-kT)rUrV-o(||YF~w~ypOu{p;6wo`<H*E)NAlnu;EJ|8f^~ib_Gr%U-xmSL{&re zp$6}zGg|IVsW&}pD4ICrg)M9_s|IKGqtqh!D!NqFPv<ht+vm5(Sxz3l8WU7?tj^Wb z+sDBfN2&;4jTx%yqYw4+yoc_(f>Mi3YFHejs=m6wW4sxY^Rp;bisMikha$Pm^A~k| zm{RY;*Wxl&9UKc=c!*<P_!vg-68L)C!XZZ=id|WrjYaM~_<GyJ{Q?8oQp+;bP%_Bu z?uyj%5>i<*yUElFiyGdElX;Mg{1B1vIN0#zv6YB?2g|?#^4Q05YIxViZYqy`f_(2{ z84yp#C{;$}5)(V2JhlpvOI$KL$`mg58kQ!=Y%f!*Ge~8yd&t!1$oF21%!6g>3q-z` z#`<fBGS?#Vy)v1tW$H^rzHi~iOj;aUA4kf=-5r_QfPBjgGH;TpuMoK`OXgL+i2MeT z%j0BDlE-{RE_aZU$G*)V<&$}(Jl2GKAJ|yf<gxD&`9TTCWa<Y*t}w~GLPq|G$Q3S` z6J+Y=I5m8jKuSjbf_&&j^D>$G6_G1r$R|_3BXVV$%<(ecABbF8MyutqKQq+ukwxZM znfeR)KJv&MCnARsB0o0Byg{b6K;*|+GN;SbmWcc$j+DqZWa~Im4w=*Bv2Bp=6Q9g$ zWNKSPiW7)wGID!Ff|@y19@_ztpPER?V>@P$a>=}2rglQURS7bu$jBCmT$Lg7I+@x9 zk)Oqol96#lewHTFk*VF{NR^RKrglfZ)fSo8%6xkua<xb1)$&+NM1F1{pFGwIk)LPD zyj-SQXQ*LK94Q&O7xJxf$Q&b&?SsfQJ~khj+82>u*kq2Dk^3R?ixQdV%3}w_sbQ^2 z=GpRC0{PauNXcVu5cy?-%#kv65F)?Kka?y|9gN6zF{EU^Lo!IE$vi`*4n;n3K6$!K z9gfKL7MUYt>Ig)x_Yj#DRN5kPgMn7dW9{NdWy!SVv7?aht2k2fSbIc%<&b%?Oc{v$ z$|v&@nd*qhuWd3fmH9elkSdXxmd83HUsD=xWvVM8o60CfMs`EwcNUo!$z$CS`JIP+ z@>tI}HGFU2m`ojweBWouJWoa*gUBD^WL_Xs$0G6vhs+CQ<Z+1n!AD=qRPPKm{AiPT zzD$`0QYEBhzT;hL_{k*m9GU9lBjuv6WvVao{hYw*f;a^k(hvE5&fr#=IC&UyLYf+W ziP6A^WvV~&{gOsXMxKPoUvN|H-!e4-k-u6vk&%&AE>h4@Mr^C#GH>XYhPc#IVsKAw zsAE$7d*wh=cio2K9IO7lG;42oC}imRES{#wxGj(zFxiZ4i4%<bJUs0(@js7wbn-!X zlPCCvt;PLD%tBaa8e%2Hlb%>Cwl$r+9sWa&*hIynmO(#wBK0t?|GvS~o9|`nTBLlN z25m1RXP4wNl!3G4vDY)=843=-5*H?(+n_)t21SYoHYk=gS+ICg(|B#D$>PN$n#S3s zAWl_MKe|kfuV;iNY?_DTFH|aRc8`TNw_SR`?+EKcLry_AZfrB>%ZEIH&0Io0*9mMc zf|d0q+k8GQpX&rRUq)(`uUZw_JkO@aTp+T|^Rv(rDlq6j@xZ8Yk!(K2g5v8hg3agS zL0n)n?Nj5+QWG|N|L$(qX5G38&m*iW4XL*)Z7#IrgQvjetB!ou6xj6qs7;(Zi^o^0 z1&cAT@f@nc<|SzULW?cQ0U{n>HNNVwrf3SAUXVFz^F=#|3v6EQ5GoRyq<PflY3??z z<tW(fMniCYTS0R%_^mZ~&^EgA*;rt+(Tv)}8Cb+-->i6Urdk!!9OF^r;)D{J=C~L& zHoB~7n~f%GYS0RruO$L4usJ?Xi~DAUCT+IeJWadLT{B^`I}K^bR@z)rmJjv<noGcF zDQ2UZn@eI*n~O71oBfdQeM7Y>v^l||#wBGXvdxJZXp)E+pxWjV5hkB?YnzKRffm@j z%BIEr%0g2%H&64YGhVs^CH9~pr+bw)KlJ2-$iU`@mVEXY*jxcCdTuU77wAFT*AUMo zMGGQJ(AAiSA9_k;o0AgIEY`Hm6=l}6&86HOfz8Q2Xc{6;+U&S_oAFgozk%lTq#<XN zD{Zbe<%83}=4U1OtTeFsnH{ycawD4~aqP9A^Fx|b3~F3$a`V;PoKm93&q}Omo1fXN zX`3r6Y+je8#Uo{$wApF%gLcWSL%YJ}(KKXatitBvlYIH0SJ_;Ak|Uq(Dw~T>ibrj( zcB3?h!)DG@Ee&l>O%Mv?<|~`iFz`-tSPN~UaMrZV)o!2#G^ZQ1c(^SzX|u!TZT4F= zsv0(rp&_Fal{U|?<b&zJ=7_R<79H3ek&f70JOIY@pdE`YSR6PCZQhus#b;PSQ&o}T z@%G{oW!ALK5oy*!o2Vkt0-HB`w0LY>Xwqi4%@5jXZ`x<VW-l6YzFBD#JFs|=9@rcW zV^8BX9od@2qhnE<XLwPY7s2MU{~u}R9cMMs{r@{yu)?(?3Pi<*Eux~2BF0YD*p|J! ziw3MzBNmE05)f3Z*8&2zC|E(fA~q~f1i=Qo*?s}VU`0i|uD$=x%$bv!4SV<d^Tqz5 z<daD<pYuLvQf`Wmy^3w#onn<kBNVAN@3BCOEh(Erd9&t2Q00(7YSQL?X;yiqvUyDF zG{?N(cQ~x^L{@sGle9TH6hHh+o1=l)VvB5ERnTn?gAgd1H-qWdZR}NSbGpqcM~AYj zlIDyMG>0^0lOIzjZSu1Np-G!FeO7sMz%@a0&(>}J^5NEJ!P320>1Z!$b9`3Zs32{Q zH^jXOlIFOaZu4qix0$v1eGB|g8);`nta5x7MWXqD0h&RYvN<kCno8QMeW^*C4;ENu z*5;b9*|Bw-yKQ~RT<Fe8tn^wxY4bKq+*l!P-WrN~DWuI?9o^>jDc$DGh~H;{y^3i* z?6S(+EELJ+BRN)it8A$4H!E*-sGYKTJ(qYQOPg@zuX1L@HDPm?)@$?FrfaW-r7c!E zHb~mM7mUsKsW$HgW6wsEwD%Nro44h3n<s$j=M3HhjpkzktGqY1gd^?T6le}M)NS5V zAWhl4EhjZ;^NBR8Jb_DSvvcb<+ts{S2i-ZDm0lkuZT12yxdPej<%xS$B+XuF-R6D1 zZu8ZU-^YTzifKM+v&vp^_tEB4S<pOesN3w7CQaGA&zG9C`HaIVUk$k?Xm)Dd=04kf z)B$Xs!b&Hmk~Swp=VzzL=44acTO(~w3Ur$%K?u|k^nAqcyTM+?Hs|@Qa<UXDX`eMf zlkw1P@@w=w6|_V5%9A{)Nt+7_tn&GYYr>|{dTs9E9>jllJe8GBHj*}91S^lYWb;L^ z2?Zf-!p{}zV6XDVtZs82%$s9luVR}ylU2SLphz~KcR_2x=AyWrqIqLhE-P)mV6n=1 zqMfk0ck4F)+I3_Z*gTDuPPLLYpM&I^VUW$|EOGCWw7CH0ePhXRSH9HD<`WUWuL*k< z+l07OJ{QWa${or}DbOs^)JVG^Zl`R%l(6}7$SR+R__D%g*VdDE?#%XgfX&lc=`Bvu z=0l#i@k)-g52eMuR?_B!zHT!IQz~h@gUxIXdmr0`Gw;fWJQRuMVjHwHY0Bn<K55Ek zjx<RVPH`){N4%Y|xo_(<Z(OqF8nAf=E4|H2+UyaC8^xr}9;UcAOxipK<|&#F+q%ue za{RtA-UDr<eZyy!JpvTT=9>{{CTYs%F>yO(^I==IlQx4Kt2`{nHDU9B)@?r7_4=;R zoikbKoqp2hkzi#!omN*K2{tD{nu^|3n$2t;o7HW01DiLbu~#w8w+gKC$N)vMxzq)% z1)FBvPT4#*E0>ivmszY5&ZXgx+w2PmM4Ma-I$T`~T5|p?aD9vQW~FxrNt>NraU-6j z*(nk?;z^sGV4kAc)zEBK?VjQ{>0z&8o69{`+1W*rY`$Z#%1#k!ie{&{owC{0knN<+ zcO3>B;(x;C&t7Uvxa9S)#rpmY?wViXJKT$}eI4=j^!4Dk4=cSdO8Q-!7A~aUk9>59 zSU)nw-Gz9Gud<6J?k>cxRMx}1;j+uIU%28?xi&5PjH~3=xhg;MNkhNy0j`fs($Mb* zX$G5+n)JKEX0Rcyald_TY~f1gfy(ACJ+E28>9f+A;+}O_YzuiMvoa5z9|`#?cIuUD z!6ux9NGqSG_&tue<=6^bMS_J;By?2{*z-x_R`fsGNhUODr5Zx>xtJviu}w~(dk8Md zK5vOfCsS<Xo`o3M-`yYD61?<dr4QIKG6^D|6L(?uf5d_omFsPB7v_L%JwEjn-i0~f zyMRx9ofUUs_V-20#jxB^KLvj*wKeU~YYN~qhax;2VZqFjI+L$fYJA0D?TSbI`opjN zhhJ^xTcMd^J8)H+Z;MtUwpP+$v&zL{#cfh-c#Xm5sy`8g@66Ozn7`Kd@}ZOd^Q;!4 z@#UzM+e63tvr@=)yxg}X?IOQ6#NDLQ|CeyzX$Oy?|El($=D#ZK@S96{ANYWa!7OPs zpz8*Tpn1~kg#LeChhD#oXlCpc)+;rPEWd3P*3PwJUim$&yjD5z7A+pRV37qK8^B5* zO(!g_oL><4!Ags8@~JFVE)6t`m2XG<9$DTI&Ejgf95i40)+}DN!J3Q~7t1AN*aXg{ z0j`Bfi>rMGYv)=~ix&m4#TIjV*sk~d3>`a*mCk`*Eh>Ci7h$Me3R!%KClj!$Js5`i zl!hyFy5Xv3IUPby(?yRsr`O~dtdRE=5?AIl)Gn-6YKn8G*^}T#e4f*lIhq-BuB^(^ zN-(D(l9i!oS2PHd{twQt)pc9|{W_bKKH(=gS5`qPkA{;OS;{Hhb~{7o+&;wvgq@=p zmhd5_${-hUDsNotjFe@|=kb_ec?iz!45>-Ze2i<)rQ)1#Ru)_2-0k?$kHThbR{Atm zEA_GRZCBi=Eyu3V(mC&$)(!7j&<$@4`7Pbp)tK{#1;|MkMU8W1Xh}_RzO;AsU<|^Z zGHiMf_AJm!kn>vLyfNfjG0uJaTQqj{J;{=V-C{JpU49_{eeE1pI-mARaWwYy#NFsJ z8kNnW@vE&z<2O@}2K;ykx2j{G<7j;BvdTR@6!mCST2fQdn07@cs6d|ezuGiYW&Lj^ ztpua7&SRCoi*`k$(Km>rab~O0cw@?gPe3%zWu?#A$uZ#9K-^_7qtU_Fa-(X?tQL)` ztz0b{Ra<BIE%?~yI2xbYU@jmdxL@PB-NBcdipD(?UVBAE1GYjl<7mLPXeAhp&kY7! z<XX{a^i#QUMyt{I&oh_LhiII~N*B6`XjE;L5>F4vXtV>5@rbx`W28l6<#+lnU}YiV zj}~B`<7j+QV6Z|I_1tI|8;*yIBVXEQPZ15+id;Yq7qBf_2}WZ*{61C??TSX@OqCmF z1g%xd(Jw9F$2{k=(igLdXsrAWGCmW^u2*){b7ST2z8;M~JS{g?{s}G1)7a-Y8ehY2 zA>YXm>Cx!uOLHnWI%O}r9Ha4jJTuOXm4A400XcYXfZvz?6zz&eqmPQl>8<9*kkjs( z0MWRBmA(SC+H7yR@{hE5+C%2XZ$LcGjmoX{XjHb<qfxmHMB^0cBaX&Km%$3jh^my| zBB`lpJh6U72FH!9<y!Pnw5=x>kkKeu47SL%qS5HBD&_Q6b7SApZ%=_}l(5p*!bCJG z+d?!>b0x^Ctqm<2Rh>dDH>x`4wA`rb67ok}c>lEH;ifc$6{4u+2CP<UDjEYmTze*t z8=XR$8RrIUi&lb_@*|8JT|~R$(NMW@QmfJUxO>mnq1OXh>6?W_G^#pV;^`dBjg<vg zk4Cq&9*u4VJsO8X6#Gh(ac=ws<3?wTjKsMCtCgCHMz2NNj>2ekOVdmhjcx^62}a|W zfK?qT+7*pPAC()YwHl4*E}ZixM5C0IE=eb&(ajT29m#0?Y3k89rde+EXqFqtLT(HQ zu+MQce#^3|ZXOv?(fHGpnu^Bi%7?mQG>!>rriw<79IXVS@dq579xK`vjYdCpa6Qjz z;S}kEnU@>~LCCPuWu^=Qog!8BfRwO8I<DNt)RW+3OHYDRpm>h*v2%2kQu3F}U=^~* z%Hra>X`OH|*e3R`ES^jY$id+69IHCT;43L=vH$;JF|~Gp4HnB-={qzA#1;?n#e-qI zcPWUaqg(9f>K6NFc`$fKv{R&iAkPo+QPfV6POCe98d5ygp_$5JKUZqfB9Bx5EZ2%! zyh&B~C>s4+#JT9t>u!f0mb23L-6YO_De<J6^m;Pntvchq07n09eR<MWRTA(!ws?<} zSN@<}RX?tYGl6)&U;fxvi_q)IIhv`wUf@ejdcDkMuy(E$^?IZ7dIQyOi(b2C$90F! zRIt*ObiNRCy#OlqKekNWs{V%Vb#O}eIs{Vp1cUcT^U7eDxxhqG<7#)jsUE%dmrH2- zv8utmJr53g<<AIK4H4~%dYz)is&TD)-Dbfr{1|5tD-CI^ioIS4Tzk^#UsZ{%dmRr` zitF_*zb_AaNo6{4E1y+e$hGEN&pZ5(eb8%(TtfFco;1nzQs8>M%U4p=>qN!%`c`xJ zwObzD9y)U&E3Ju=IXo^BPf*Gn9^5R4r@)l*Iu%CZBSW+mdu<D)HZDR@<GSq?vtL86 zgL5=f<?s~JB-d>%Ry9?uxv1C4%Io-6y?*p=?@r+LB34?TOM0DRiRV70*Xx14s@FRU zy4P%)-$jW%kG*c6W>t`1@W;>G<9eNY&>iqrRXB&Mx}MJyGnLmn3sRF@ugI~gY?^CD zy~0m@@@ib)@vY|Yh7LFU3fps7Y2HhEz0(s9vP!R09o_3JL-#rxqEc|Mm$BC!4OVrh zhoa`STi=)A4HDezRJnwn!?O&zfb@E~$Es#qTr28zvZ~int$O{`{Jb-G9n4DC*h#N5 zbK=Qd>GdvO_c|x5dz}j{yV<-)+St^tz^Z2EP}ICy;b-m8>s>z0R9xp|r6zMY9k8mo zVkJerddlnAR=su~HT7}m;Sg53)<}AtV~FR8rPo=Z?sY-49L_-wA8ukVW3D@AS=Aha z?8G_TdB&H+(d(>`W-6}>3R06^cXe1*F3q*#UR4f{Y1QkW-NzpfUN2^)Q6cGd0pzfW zrIv!|TDsR)Or7hiHh(A@dl`G(9ny4xhoZ){y0ftaz0S30rt<oVDK+V}gT<;|wYgT* z>m-e<)!L=yA4crMy<WmfKMj&zUk;ePTO_&(UY~20!%JXFjl*!E86M@vUdCQKrdid? z0g9T}CujV*7kYipr<uy@64IpCy&_h%G~n%udc8?`{co#WJM{W}8F;;vm41;;dR=0Q zC(dOKzY^(OS3pK9uPY1u0d(FYtzO}hS=AE4#8(2tG5jiWV9(lj(CaG^E}@T2D?+JB zuU!IGwX(pqqFyH|uQ#;H^?}fw3q8Dym44+Uy{>S?bMn&bQd{?$Z<fQWAcwn1TQS#t zpk7xvvg^w0sLA7Iq1X8Gy1F)0m8alHulqTyYL(rp*Qu&rC$!3SY_Rh@@On8b-C!oY zHbQ3Z6W8lXPxrdc)wzC><q!L#t=Q}SCaY=;Hu1Xko0q_wefU0SrAISW4zF{iCcPdA z)$>V~Yel(ERb2nuD%ZOoJ91m_dIc-}E|v7UE+yVcAi3t7<?uJn>U9G|Wjh~x8GAiA z&8pUMO&l)7IlTAn*VLldd_*&q*Kd5ONw3|YUN;0>E9&(|<#k-EUUxrW&>-l{P*(bV znDqJ$)awo|jZL2zI@h1mI@e#I<&HV*W$g9P9IN`qL{S@?N~7M>(d#D$%~W20PD@RC zJ=|kezlfC-^*Tl6@b#_c@TYCYj03O3Sm}>`((6yYc>jasx<Rkkkm>arwt;%xiFZ;T zn@pQk{p6#lc{NiXAA?>u*fcZt3hR}c^xEBFuy(E$^?I}V>1UqR!c~ax7qTwUvEi)r z7dK%sOhH0^V-e1u1MwaU96rMB^fC>%hcca%!_E;-ejfp>0!7W@KR<uoMZ6WG>gRZ- zvbdcq7eI?8?-&f$&b6WzZ}~qg?pylgU0`tpEB!s4w74Bq=enG<7&55NbK!hWbSK<Z zug-8c5e)2HZ1Kt*3%BE1^Xgo8{P8n|MOY)vR2Fyjr6w)%IPDg2t+>Vi<3h`0=WlZz z^kF0`{WF)exGR*}&LLUc9*R;~>>O%E8Fne~U|{FS;=rSQ7Vc`Is8MWpVJ~=L#L*_u zF=(c;*g2G%w8-PsrNFhK7U6EKR)22)Psa%`4zf|K^dCEEv9lvyLWQ*$?$)dpyERMH zLm*M%R0#gmaRR>?Anfd*s9AjZ&F4Q9wFqmZnaW}}S8CGYB^C=0$#Siz#g9|*`P#=` zYsY_g-Tvl(p@&z(#lb?-Yd831a!bfj*cGH8sGg4VsGN@T=#as?8+ng3uNT8Y-MH2~ zV|RaPA9&iE<Lu(mOy%{coYbV(!2t`84!Ks;E3l$-(<s%N*Y9pR>U8Lg%Q9Ogk9EVN zEb&Gh>GhCisoM*t;^V*YBzVuo-!}F#PTgbD3|4`n#&t%Ut>6s{-0L9*%~W1{k%nIR zt9M}Syj^jxp7Po%*X&~(KLxK>u}s@+lIw{%#^2*3y&mo8TzhAAuYGd-<(<4oiYtE& zP<SF?;w!;p-Lp=)8XoZHUXONg3GG-n?46aG<T|Lp!aiapMZJFVf0XHE6*rs;9UILu z+a(Wi!`=q`sBV+RUZHOByk@C;e#qc8M%X#R$=^&0s~{J##dBAewnvM-<Py5Y^MoA; zhQ#@wh=u2ic10}$qE<(ui9^n<0gG3&%#O*Uz3@E9SlHi7ihV5Y2q>&5=oBwZ^S3cI zx5!`E1gqG@;)#bp`Z|t8ed3uaV=D@B0cr7gsLl)1Tq|a=-?pkcpQ9t7g;ooP2fsU= zhl1B@Sf)K40TGX|!V_;O#9wN{^I;6W(Ie-VM*?pDM*~<oyduz@4~_V3iM)T>uXu3d zAgmBY`W5e82Us~$Q#t+N`47H`z%P&FOxzB?JqET#ns31tN<K)laA?G}qR}`huHSz2 z!OWI#`8pu_`UP0$wJfu9kgVS;Z1D;$Bwy8~S^ZvZ=>D&P9GRLVe*$>D!sgwCTvc9I zufFIH;T6_MGZp!(4XMfcea~XyH5S*3di{^`dQ7Y1^5ys4GYdL%9n0*t$yhbW7w-g< zSw7U&3;Dmzvit@p<O!lj+E{g>$-+TC?`AWvJ2m`bAlIQT%~W3bOESa)((6)}g*Sv; zE9w=72)PgHw+(q+Xtj{#=j?tEKSCVCG94VrHO}(?dg6^|GRv<9KPt;_X_n>Fnq~Q| zkmch|>@)oy$zPuq{?|iM&+@B<k!I28aF+EDM&p)<77*1WvV2-V8fN)h1s2{a+7*q) zj&aTRYeRdf7Nb#Kx8NLz##olw%S%RMnl0Y=CZln=t4HHLU$6P;o}TkFAY<<Fu+MQc zEJ)XBHW_)uf{m8&n!ntYnyP~{`fj)mqj8^43#e#J_ejHNyy3HOhG<tb8po^L;P;sq zzs>WZqwl*DIyR1FI{V3*pPm*kxs!EpOS3w7B&+-PbNnF#>?NfZe@9+8JuSPgygGYt z0WSdJ`|MldK&U!+B-`98JZlj8Ij$A;+Cz~)qE)XuhYNoOuj5%}A2;dsR#&{WPkNnU z>NWpNO7}X?;LnX<FJrH#+K`~Jop|S6?%xA1?&Mx)n7D+#^L~a)e2|bezZh0B&)`~7 zuRF$E`~FN`7g{aU{8sPI3}M~ZvrJbjndMJs#XAXQmiv~T<%?i^JGa2(p6$g@cm7g= zKR?6!r}k_EPlt?tI*X!S^E_3BIYs`cLh4|Q#-ai(ptAf$xn_#St7#U#B-#~?#&(K4 zYc(1#AD8Aw;S*TqKqncE7aj3VMj4G896cIAq(|eeK##_fh(9!iKH{1`14{Enhs>#( zzkxIrjR)7R-4mk`M6`g4##;etSo4bl7A_I(ibmr<DjJ7UH0D_?<i_v6j#&)R_%F+J z^OAM&7L0(ux^$eg2u3-`26@F`g`xXjnc|O$VK3u4I1|eCEn9Y7dF{39kUJ!Kk7lZx zUtvg1*1=0D7Ovz{@j5t8c|FW)ZG7AA+_N`;*Be;oFgxk>CD`}<mLsoAT-|F!TKC#$ z@+bdzkF@<foT!8^Nl`nd$t)-zhF+JrxP)Hw4QZ)Kug|+IY!p!}%5{gh=KH0{>q4sq zu4Bhv^%wMTBFmUYGRy0I@zzk8<tws!mVaXDS^jA=%AdjL@QCygXL&!5h4nreQCYqs zONQeS@WE~B;FWoN1pLIJ1yq)QYLJFmo`ZIuiFQS!v0WUEzJIqG4dbj&&Vy)pEOXQ* zBj6`F@zzusjb~u*rH*<wM0zy74fH(N2sJ;OcUd0+2SB=hl0#7+0iPjF)j{y~8}No$ z9*qqVEuf<DZ9p1EW1i2#jiO!AXdD+uqu-$vjTUSEy2#+ymnN}H4;lgKK9BHQsQJ%* zs)Kbf=Bt|jwOKa&2HEgHh`o$!{w#~ZDrDD{*SB_^wh+CplS}Az@T(ygkah5^!NT7x zt`+sVgQ|J{AeA_#S!lIT2etXVUjna_S>``xvJO5C#cOaS`HikdzIqF&d2o*VzUnOs z8u{w2()_t@>~mZPcAACpJ4|qu;s|e}iw(6=VXrS%`63#y6**I#)xow%L-J4B47SL% zqS5G~$R9@0Xp#JjH=Uh_Xxzv$J(D9~^%gJ!u6Kxh1LS&4zPg>K`-k&m`04`oGA4fx zbaM+2Ma}D~_eTUsz9FEQ@n{e0m6{~~RF+k@_qkTo>#>UbzO8z7_P*|E@H&NMPNESo z&hlS@{8yCa)m!?y*AC5C!;i@Dasu8XZL~iR67<&)Ma^s9d^x<q6Dk_kNHdk!4hgRC zj)Llrt#jQz_S*L!^19G!A<H)oxn(2ta4O53Tu5YjbqC=3btDI)>h`9d<@-f?mUji_ z@pZ=P{b78YFMY&W4!69)3Z*%f<*-^Z9FO*I%>DHxjK+QuEf9}y)m;P9Fv}kc7;KSi zMagd;XL;X$yw++yzj}{zAsRQa%<1W5G`hn0w!xriw1G^HNBim{aI}*(Z|3x992xRA zb6}t2Xq33Dx~q+%HriLW@uj9l!1IlB;BCA-H;xEt0Tm51M;b=sVOTNVS5`C{$Hvj< zcL+seUQ4+#?X1GV5RIEzrZ<g%R0q|jCEm@=y9wF2pR3nFKU??TAM)m@0DBqN{J<Q8 zRiLQV!TxifhS%_Nulu<)Q`JGgIAG}Y5m-rolea7C)r#w&-_fmlt(ow}P;hb!%k)c0 z^0C+bUGcJU>GeoQ_j&<Lsmw3&`0Hh`=dss}2MHS6iL?CjeftbTuSYt#gtlj^zJN42 zzCB>D>JpE)E9!L@#kFm#HQ%=HL2%^Drm@U`Fq!4&7sRX7u|TW)1$ve{S-s{519Rnk zNS425hxboAt1Guz_4zU!dY1PKu%Sl2w%wZjFd9x)&eZm7^eiNu)y;}n^$^jnXf$@# zqCw;rS}lx#r)}K$GxYjama#V(0SBkVtK?-g_H0)3BOuGqjra2-O+6Z;Z2oQ~^byy5 zMaZfLa}7eIM`KT4YO3ZJE&2UgjK&C?7Em=m(j*P*U^;|(lxSBp8og8<(5KH^zIxlM z^3FS;gSWBF`7{E?bpZQg{`P!X2aciF!5ClnKNj+4v4y>i>i{n1SC0r}*Ok}HkA8TA zByZ46Rr6zfsmVH+0YMxaaIL7<la$w^sSf6~M1HFt3)_L$+gYY0O4j@kLwpWEdL0?* zUMGdR*U1I`f-vl5?DZm^pazOsmjB-7hgs-#WJEKS*GY0Ml;!tWta@^Rw=3#(7v*(p z^184kugCxS@)O|o4wlK}k~Kfc5g$8{Sw0qWSMAwu5A-a*qZ#Epf%01c`iQf9aE?_^ za!}N>e5@@sMSg?5O9MvZ_J9^pS$>C48fN+3DOP=_Xje2Ey;RK~MK#|d`O06ds~{S8 zvJ4bu^C$1C?=Z#p9VGdZv`&6zGyk)||B48E8IvDUV6Y0=b>;QaZl%4^Ye|}BD)KXZ zsmUzA1A;g!;960yJ1MVQlh+o>o3n4N0<U+m%td~Z{A5pjy+V?|vl;n0S)Ke`SI_y! zv;0kf*you1r2uHMhoVmYPFrd!8tjWL<nivDEG?kO&vi*d^0&LJ`f<^&Xf$?Kb--GU z##P4+-4>#eWtkyCG8%AP&A;9uqj7t)Xgt>}8o6fCcpjp$%*Q^*(YOqX7w%((zviR; z?VCoU|LC!JK41M@3(?3WqH&ACs-JH?8a-8R97)k=u@3IGx=e-+-pw+XZZZPqAR1L^ z8tvy8dL1lo=KnQ_)H|}5aUERlvFaT8SLDxoq5<!rsGeiU;HY~os~0D{PIFlGYc_9J zl>CXxYxh>Ywi~<6Fz|X0%M9Pd>*I#_=8CNO=bL$b+tD+BnaAH@ian3L4uzVh(^_q` z59baz6Kno?1DDW`@ZNT$CTo65$f}olTr2KXWqJ2hYu77h{Ceyv@Om%HjH1y#-it4V zBfMHVTd!Um>0B#A-D_2Wzm^tz8G9X(V%19vC~96ebbs)0^tw2rnQDBi45cQ$PJ$e+ z5-Ta{btmO@OXB*x)xz=HSL?s%0bcK8nX9~HMOQlF6FIV?m!<VR+v<Yud`&awALjV$ zd9lxNMUMnPl@1w+uUA$tlOfWgao4+D;WIY;JZ5zqDiw`2iD*ppS@nlGzT%?MXs@z- zD<a=wG#>hJLI;S(be6fsPex-6M57@-gPjFctM>Ds+j=y<F!en65?a<|(Rdt<E7Poc zjf0{-+Rw73rfUAU#Utu58lT5ARW!aZX(c$?UvIPOFGahe(Ktp$V;{<m7RR^OZ+Yko zh{g<-85788#C7m_AijzuYksw-`~M-({r~7QcndZ5GOhy`y7_q^yRN)0+xuI29<$n` znab-Aw1BLG30YSCqtDwF^?HKx3h%6I<u}-aUV3K>@OnSXjL#;$erSo$JV~!#G^_c) za=O>QL;hlM-Xra*)o3W!4=oh6EH4~4>pSH7MMN`|*S~U7lU~Qd!0~s;wW40rs^;5} z*A}zf+@U9b!^BLM`LC1A^1s0A5}WqoKbl&W*KFf!lxwyH=J6S9&2~U}y@`E}v-}#9 zRsUt7sAu_)vY{4@okza~U+;pNhpos3)SeBtMJvH9zb;^~MXnW%Mo$$Dv(+rGIQ+7X z5RF+Z<IxC6SzfbkT70)llCJ{C=h826HM>9_DF3^q_?z>wmvNR~>oQmcikjE^Ck%TM z$ya$aGbRt~m6{}fb&l2S#--w3(<;liY?b_|DOc<RUT3q+jdqg!-!Q%{^ChO5?V6GA zlGdGfDd^7kN%JoVV4q|1V=PEl2StrMtX68O=3m~p)dVEpB@UH}MwbGu1j&zvknSVe z6(tX6rF2iu7Oh6(k>BU;3(<IhWo~j4(WrsDUinwqaNk$6O|xhmV(Za3)YPMKn9V;M zfqjmnG1g<SLNXHX`(U+FQ_*<znQ5P5G!C(8ri#X)w1CVF_^w3FVWM5pXq=#;aYU<i zaBJz2S3@)&WSMEn5wPZvKzxV}>!1eiQqk(5M^^WLtjj-?fjy7wU>ua|ApzNeVupiy zcuH!)@`H{+ubq9Gsl4{cN=<ql;j@}!U9J`Ndc5+=-*i~~j+<w1{c<vReTZdlrx7r& zdBYc9){|Zjg(_DyZw0#7lOz72J?v%d_4<(27(R+x%}?KM*skdH(1>O#uT~&6^vXZs zS97vxSJZ1eRr6br*A_?nsaKR82wop%nY+wnmRs-vz$bE)<;TJp79Z2p^bd9C19H0a zvqJttOzd-<<rASaEt`y}EQeo?;17_iEFaio0Y0DsTcMdM8Uu1tljN6stmZ7yu2?ks zObj-CxhMZIR({WBpKfQm(1k}><{mZf;rDE6PIkrD4Dl_HHM?fT*9`IHo;Cd)@ijwy zEnv+6OMJ}`U*1^rEkx@Q4|_^)h~%F}gcZu}<0|<F5@EHZ{TM(;_-7Jf<)m#3|6l`e zfn^6+Qj>3pTmysuw_JjxhnHR6+=5MhMN-=A-R>L+HuG6#x*E`=&3W+U$H(ACi=P5$ zQ8UlNw||J<)I0+?kK&gmVLPlQ1M@D=$`@hQe3s@fXX8EKhcvjdfzvElMGi%J5$0cj zf1X8}SaHeU(EVpZ(!}aZ)|z}1Qj<16EHKy**SJmVJA4u5!|=hS?@d|9vn=?>Gw_)r zzBiYCr|exe3EDr(GBat&qAu2~ht!^HlHV@_;YniUhvXN*jvW2Y2fssM$M;~s-LEb1 zS4Z-$Xnt??7_1OQ^2>dE8IXp4^A2cnJM`ONvzqyqY$yFT8hk@s6MlDqW7DL~o(k*E zQ=-1moyS<_fk;;HmXbuxU6GFUD?`UR9jpLWX>103Oz&0MH;R$~c~>Mmhq=LD?NalV zL7D<NU36H~F`udZfrc9ycw4|~W(0he$k(YY<SYO6Sn>;IKf}P-9F}<`6%S1^U+WzH zxhUdS3t!H9HIT0suBr9J2SFvjEPOd@acuKdpTE?V_dxOEpM|QSa}c@8fp?@>O>JyR z*c^DL2bzZq%k&s{7g)-=Qj`2D4Oa82&o#ksrxxCztl8|_bVL{E&Rmvx%t+e2)kkAk zmbaQ{O!TH^8W00x(q?@czjTUey29k+6!t2n$t~R~y2UApRSHYDn%GdrPgt53kS5Y} zAY34>sZUEy(&Qu83bCx9d3_5s`ELZ0=Fa=JSqC;BXPL*Xq)oUOQt_HcG~qy+e_&l! zBU~mE9~8rCyv-HgN|#By1P(mjkiCj+-tDs*y#AqVZV`g!ktIypOQG_r$Pz}8e~P{4 zHn+J=K4>oqxP~-as78(E(GM={3^t!&nWvnj&E;ACE;X{bJjLH7MmC3M#n)&h%@6|e zx<j?;_`Hg-S7fuK09{?4MNzJ@<VOQEE{XjqCha{Ds~H}*Lz?$FtR^hTc9JF^v>l&o zg60h^&^%bte6mf$nXr{7S!SLmZN`Jn#W1iO9*?aT1I_)?Wb++Id{|fVdjW>0M_ud( z8RH+Dueq2yC)2b8bnapg8&aB1_gT$54r$z&{-*{VzT<o$;`0Q*f+-%Z;d_q)y+JtM zd+;l|GGBY9j;sKOPqEAbKMC?>IJ8?75XhHpeAh0P<x3HNpDvZ<C63sapx@fTF5m0$ zuBg#x;AE54yd0rOAXjtECJpm-HTZogZYMyN@IA^Uj%+7E!rllr#5L}hf3clEOay-W zt_FVMs5ka|ydv6m@z?J{`=?pv`9hND8zz5{kNmz4Rrj||L`Q}EVKAAhwY_29KUwS$ z5iJ=Uu$nha*-J^Z2T*xEAPpT3DzKVSA!)^l9+zgYA>K|9Wi5=a$0=i(?2D&^v1eH3 zMH+bGR2>)K(^5FTjsuWeWXaeYzP979Ei?H$v$1bvj6W?^Gfs3w4K>Gu*>N^Dl&j(| zwyt@@C#|S4{uXW65O2qg@y~E?vg1Ed8LR2L@d0Qyk7Zt=p@xjr4)V1OtsMlN=MRNp zhK`3RuqkVBQoz6RjeU!aK~BOdP?XrYSy&NiVpRjV+3~Sf)ENJic+I4MFUyVfnQCon zOdCVHlnz`3&E~TV>=fudmbl}u?UTiw0}`8Ri`{`VHU&zr8`u=JQF|fS+=&i7YD;1N zxY*}C&`J+>3$Q{I$tK?gOtncvn`y8)B_d6%eqeWp!6u|8OAihPU_)FJiP^4&#MEr| zUcwWKJ<Bq0CP$dsa}55vUfHKwJI7yFEBV#h7JpqU+3X8b<!P$F|G;kKbq9MzG)vaO zh;WX9qFiOk=LUn-l7{uS9=dN^qzRiP8+=yVmo#Y;b|1C>fv!uM0Ctl!)ogB6GnC)o zy?|xj3X(KW1b$sive^^(?V2W=Jzf4b3bJ`F1Y}1z7Zt}hwWq<c&#M9Nfktyb=+=og zibV6k6szqSk%lz8MWDH)A<e@*R(q}?HE9!$mtaF&6G=Oz^`w0>HGm)AJjXI`M+uuX z-=(xYVr}oVwnwZz)8{YAA)CD*AbU}5)*kEe13v5((G>f~@3<y*@^}~r`$t$UX=rmV zuz99W8rtj<u-aY}B54zjYGFgXov?XB3pTrY@ow?8eNWjNwwz;`cT)+QwQ1-)uRqbJ z+V%nR6TPWz5A%SZJiaMFKvZq+0XAO`v8S<3s5w|6ibRu>Yaft?HaWTWaXYjLwOLc( z&3K5UO*mYr-NWOWusN}Hn@<f{`4lYuJj;AwByH|xAu+VsF%-mb2&(PqU_y(2)b0eP zA)#f`9tC^R$6ek7EonKWy(|>TCa2UfBn@ru=YZyrhBkR}??l$6O}KPWdz8uBahv_F zOKn=42P>NUUUtP_&}<>gR9ey|egC4?C}{h}+Py7S@rFfK4u{j{d2-7!F}{N^3e-gr zoq;nV28)u$t>}MzugR_Ge~OrwW3`8ijc_Ygn-&hdH7jGD8d(a>USOGOCuwDWNH@O! zLt^_lU?m<(x@GyNF?bI&D%{HcqE~9iKGR^e`#9JT$0*T2{-;$dB{c<B+bzqR3M!Vj zDV1(&$3AoKX)B;Ri&&=4OIWG-38<`tIzlUO_auKoicGNWeOB?N!MCEU@DBvTLMY0` z_={0$)m@YSj>^n{)o$<e^>HhG*Lv~c<wuZL%?~eos!Vf_Tk#6Cf01Px{iLTqE&cHF zXGa`fN>6ih{0$6zbDF2Yus{COLXnDwA5i}6koNC99g}9Yb8~!I?y1j>!KQe6DLf~9 zy~l~r>?M|gpSkhyBrcjZzWAs$;;H!)I$v-IPuq~6<zf%1XiBcgvD!91iiGEK5A2EV z@T~fGR^aTnwr$AQ$E{fHTQ~&KisrGu$9x0LUS^rK>7<oQE&g_A%Cs%g{O!hM<=%jw ztzxfZE5ATyTxy|6R{n5UZTvXJzqA5puC@0De0{>oN$RrSDVtpO(>~kXd*(B*f~Qwl zW}PWLQ5S3fYlsgL$?BN^)iX6q#~Tx1kbqi}M~{~RI;b<5g+82*C$FdQ2m4`#ynpc^ zQSzR}YA3j)adb>n+XOC&c4Fw}Ratu}A(lh;Y*^M8LFIn??dzqs!4tQBdqeW^${O%} z0RLEEv9osO$~@rlj0OLAHvR|nzbOzma>RS=A&VaC2J3s3Wj>?PWCu3j2Me^?8z3HT z1XBT@n&I*BgAMppOx^F`ylp%_Z>EJ)Ka1sN!4S$@{v@Vmdl<(iG4()%E!(E}au21% z)JO(FVYQPD{^5EyVvT5dqs1!zmxA9H0zPjFtn+^^d~se(O%3?l3{vpNQq<j&FydWC zQFeMDACG2uq=~MJcK17^2?Ii#X^|#uh-GKR?SvUYaJEP7ge9@;0}*M$n9v^LlAyXH z|9@#;pgP$gZ95ONfe%8K+-PyF4Ot!d5crtlkR}WdJi%eLa6uIQ1byf<(eIL^4~YN2 z>0k8s(f>d<7PHLPp{xc9XYFh_C*l;5{{10-pAG5HfO_Ydf%J!Fb^60xo&IneKVOIR zN0>VOk+>E~e<V~9@RsyP@u`UDUs(`ubddC~f_*^2;K5Mz1+Cd>6lJGNmb$F={*W|9 ze@5I+(I1+nc8dNmmo%jRCXg9!lh$NG2L$O6CTWWP$TVq!z92oaKpN721Ttcj&=ma> zO;&qltRelAJyv^_!<QBG_esU{cikNN*|#SS1PiaR%=bo;{;)`+Uvrj&-&#caGl7Pp zKTk5n+Mh4825Wylw47$bsAIu)YM%{t`U`SmO45HWD|k!#xqwwH^@u)Payt8ahid-? zgFoTSgOQ*=EJBg!FNVtsXE~%P`ZGmz`KYYu&oil=qCY=P8q$9WEX<FWZL)~|vmv!p z^cUnvL;9Tbb6L`m{-Z!O7jR9{Kh<Wn&lgBT`e#P0_5}kq82P)X+TY8AO4mpJe^dLn zFI;sqSa_XfesPoZ=X)Cc+6P?xZYt6rhGVv@{kO8n6zMN<_1a%*<7Z`?EZ9!%+on!` zSz4#R45}S?OZx8^FjXM>@7m%iZ&~~AdHh*d9*hM2`5uZy|9O`|$4OK4;Z9WeYfk^I zn2e&oBwiNjKWnhsr8X_wWWhQ_?Z0i3rsywAlZNy;>174dkp7%3t9{4dnxfwavgBQx zG^Br)#cJR4Py_mgs{M|eL;t5Q?zsspyumVm1xfl#^xCf-4*S~2VLyQM=lMtxNB+E} z(_aPL)P8?8<jJ$Jk7%-BJGHALo&K6Yr~jcZcuV>pg{<OjsCL}%f1DCexJvpF{Bre` z&x4Vmza&DD=syL~9UhRT=+E;>Q?;MBNK^Dz8Kfcox!eMmMCJ%fg8u4=G(~?+KpN8L zq(AgYL;8<9toEajYl{9kHmm)ZOF~2X=NYUvGEw97wc6jDk^j`uFMJ7B-ehH4(vf|< z-(LkIvD)uH>)`jyk^T~3sz&~eIi3D@aycCN3od@{9qE5>>-3vUo&FD&;4SI@=)zP; z^ndcjvyPJf&mn&rkOw0{e^nMmqR&U$XC2ZM{UuyV)c(dCX^Q@L@%oVd13;nRQoAM# z)*<MBZ<D6zH<_d%eNLJmPUCiw{*xxF{ZXt>(H{tX{>kU<xQ6sI9;^L1L=EWguWG;Z z=FpEW`}=<A&i`21c22VP3n`ucQmE6#7S(=U@)o62x0_@t!dADtsnven9%=q$maP4{ zJqjBAx(=a6zi!W*;EnX_I!3HwnI-Ah?VT1+y<srwI$8X=FdmEq{Q}nnRdJ|VG9!eM zIv`Ea&*w;sYadLI7SjhSq#^x#ECz;1YqDTloIcnhEv66VNJIKS8Z45A^q)>KFv>MW z|H3o_yQCrgi(ng_EYyJhej5GF8To&1bIW^RAz)?cT!Mbx?l2Oo+F$MRr>uzncLq{K z`iDrSNdM4Kr+-+EKb1oC56|lKkAQW;2!cm_b*3$NOZrE8Fa>ATV&t#uo)b@lN%}`c z{FxXYjOO&A%P3Oq-vM>B+9gfV|IQ#y(Lba>nxcPbNE*_g=CHcMa-=m`ME~$CX^Q?4 zE@?=glQwPAkp43vt2@%;nxa3Xz`!nPNFOfq)EyO}2K2kCk$>;ap}(S62RH&^Z?UpH zAdM@0*Z__Eb%$9x{X)c_w~_Sgc7u@sxZzP>-6=j!A^lT<8_yaMu)5P6{_G0TKi$&l zpJC|q&rAv4l74R(L6#dtzmFrH3zGEvX8Dsd(AOmW!z>hu{uHSFLPT0jAG%MPqJN4{ znxcQIM;g+fWH2y9T9ZZePltc;&aeS(`TxauaE3t|(&wbl<dSHI^yf#cuD8iGMSm#J z@8gh$^hZGE^v$BiYhTgtv^gXH_sdUR58YY9$~xIe`ll8&`gQQD3p{y2^bZB5ihd@g z)6YaY{jz{R#X$7SeVu-Vr_&$g2;P$Zg;|)&68(z;@q~z^?-ckm6g(J-+CQ~`BGI3a zg;CifP0>HpAx+WGa7mC+^fM7@NPjF)C<{nyvY@>nUG9^n=vR28A$?AIkV6{Mhg06V z3nf))b)ajrx{CtdPVM(c8?4R|-o*KSS2gl?+ML>-x@6iXU|}gM+s{wZFN2Xd9{KAI zH~13?ME}&ZPX9_6-FYrx?YqED)&5m5y8mnv{n55g|7ugGe@$BOmh`W+Sj9VV*n=bg zb*^}FLed}O^ZUm!kTg{Bt37pPHi|_5YKZRP25E}^scF&_{VU}Pr46w@H%sl1{s^Dd zUFDM2WD)(*Hff6f)h203pOd~OO&ZeAd93bQSc_i!*Sf6kI+rx8{c+%JjE@@phSC(% z@B4kS_Rnh1^I=}l!j;~$cJi8E>0P<#r$52M+pO&1LX!SfFcK^Jr-l69bfTXDrmFUD zO6&A*D&Uj|Sl!JbPBmGuow{3cI3<EqH!Uls<bMBFSMZkfZ}VZwCHl9+*5CK!A#mND z(6e_U9*jioU&S?1zv8Hm-}YX2T1c9rpApe*cD`SCQ<~a|Bo;M&Q-L(3A4Uuek=A6v zwnV#Ia-=Ex)3T%?eNOsTmo%im5bFFkpKEI5zdmGjw}+%5{Y3@?)2IRcD=oU#*Y|8I zakU2!7pD*Xy<#fNmp81H%-;49ke0DB(@N66*+EhwkaguI-o-9LSm(k>py)s7;uO~Y zLpHWV`VX7@+kjO2kEF3B(to5NrX+nogzNmayxLRu7!ZEfCi-(sn1Xy3!Kj-HJv-Lp z!BF%Cg_|7|W$p9(<e}rFDf+HKnyUQ=V=_4M^JO2hsU6b43}`(Zudm4>`j4ckoudCp zfiywCv=7v@ACiXjUosgO<$sF)D=Aht$0QBuryK^RQ3Lv;75$OHCiGMP-}HAp?zh=s zVL2=7kxkNv>xXbRunc6~RT17nh4gRobovWn9?u1&|AJf&=`Zr}M%*R~wo~__Tn_2K z<mmKYhS~?-vi4tr+JDa^`mcuK>x`2AYbpNyLLLl7Uyyz%K#}Ng0d;g$M4F<1lSi7O zzc6m6=)Vw9JEVUp&|l<}CM=1pd(k6J(SOMy4Qrp1e%U1r>4UAhSA4E1`Yd2|uZE-{ z{jGdf_ZpX=9k2Z$uKnSgLx0k(7u3M|-eF}uqa^)Bvf8osZ?W)>Ii&w!q|<*dr_+Bw ztJnSqF8;7BLRGiI#+FEbrK!`eObgzUew77NKG6?hEhnX@_N#sVl|vqk1pP%OibQ`~ z3wAaZX^Q@X5owD4dpXh+{r9t^A^j_ItnLGsv?dEWAn32KNmKM!nxr9pPP#Hp8q$9a zs8+#Rboy;wRu{UYA^q*stghNe4d`E`YJY^a8MQz6{LfAT3-7YBQ_Up(4^n#VKMWBs z#K-(ENQxqOb&;IH+FvKL25bM5G~U_OWWjdoJ}Kz*KMi&IpXCH^N&oYRRlJ`j`d`9Y z4#*Mx^^l1Nc{~^i`X6u&L`lDdpC>=;lcwmuV3VfkN3o{puQREgFf%Y6fQ2+^O%`lR z(Ep@Bnxg+{NE*`Tq(94%hV<V6(w|3MQ?<XN!Ro$DlZN!$6<FPR3pJqcD*D4VhyE{r zZh0<Pc#oC!@sjk{!I8BZ`Co+i^BeQA_TM*<BGUf_XsD6@S3|G;-%@zPViR<p)%_Of z^x@ZhzMS0e{{dq?@Rs!d<Wq2*hsXSX`Qm$!a^(LTrc54-B>i<hid6f%I<T`5k>nYn z=)Z4JJ4OE&i!??5*SH<h?_hxi-b`eeuq5dJ7Llgt{~nNr^f~E2eA1Bq|2$Urr_dDr zowKa&uUJF+yTh`7OO4alM*hvAzh|#o-U2J{v$C_pB>i9I2#zEF2f%HQ9MO-E8(!_H z-w`q+reD8fL8D*a4(fX^IC>DFs&Aju=+~#S8vXj6V80K%k$(NooPI&luipjMvRfo; zzkatA|E^*R{t~tSYZgVKzgGk!bwrw?9|fev^uYvaF@3N?8q)6)Ffc?~lLZ~%^uZQs zF?}#c8qx>SV39PW|CY_bDAyGIj%fyVNkjUbatutP2J}ZO`Xe@HzklO1kADvqK44`f zMuL8QJ4dhmPdvOa6>I+&Nl^r^{%A|5e~e!H^*w;pu4$s*Bhu*~8|d_p3k7dU|M(QE z_`o6hCz#^fl34roJstk_MgG^EK6DvHqQ4*1{wE%3ivBM#Ek*xmi`psr#~7p`{R2}B z43XAk5&a$!X^Q@_0cl8|lRi#R<>L_2Uuv-W<9RcU{yte&e}YLG(%;`?U>Y^P-&gcU zZcgnF={@dlu&{!aRk%s|$26<`-(0*GTZFKFM-M3?{k~9{s`mTk^xE&A#k;mesOks6 zT6jwlr24aLo&MRT;4SIf4orna{~TD$wvY=V81?5u*6iT&U?k`tlSPr}cZ1shO*Yg< ze&{~6Q}p|Wq$&FSa-<>s!=Zlr$J=PKi2eYV+9~>H*`y(TPWo(<G^GD_fz{g%*HrBv zoM!dsWJyE%hvpcVMh)nnt>_Qhg#IpG@iRWJ`T72F*F6qr5^N<a8xkbx_m?#+M*jNt zmblv<cb@e}=XCmmQ#$>@5l)GK)x&xP?<NbjQ-86KQ%L_3PfX!{zy4C>E$LsDWfdzd zqJKH8rM*Y=uPDI091li<et!c+qTk(tQQ0Cbu6^h}X^Q?}F2M@riK`gV2S=m{GeR2@ zkR~h%?P8xaMgJ0yG^Ec-U+R#C^p^*${<19B6n)cX^_K^vA^mqlR)0kSHK2cr6`%2K z@(b_3xvTTAu^rZe<w{mIG@YbB1S=Eo>#OhK@+Z4x0oC`jkRsOp7zd|B(bSK%uqDzT zXW%19B2@L`Q#$?ekxu{mfK|Xzp`<?n2(L7V{tX69Wr_Yo=vhU?gQ4gn85>2Se;Y)% zhfA8G-_IgV(I4ZGhPBU^9UHep`s+MaKhB_b!jjnTcrJ;|QS`@0qzU?^y-ikseLx!0 zf8S^I6AD~Y^jEm7{sx0ILBHf<&?X9R;(Xsywcjhb-~TsvcFjF^zX{OoDpq!-lcYa3 zhZM2)2LQJVETTWy)#=|6==AUOb^3RC_>h?hRejdc>ECVX^zY$>4WfUq%_=HWME^cm z%Xu!*pAI9>z%&n#qR-z6P(L<@qNL9sPOBflB|%2fAMBE*=-&~Lrs&`4lZN!y!#3{n zNE4O>{j5WpqJOtV8rD81eUCvJ(yz2w{k=BVV)`YY+N}OQk2IwJMS;~%&!Gmjf3m9m zUdfUF-_U>b377BpLsoWeE=m8cv`+tGQ#>3fNB%LPPJgasinaf^rPF`Hz$ev3sOq0g z>GYqBbox&Pg14;wr=j*Mfwws0tDgsJ$-q&72uA&Uo7rb)c`y?6?@FUc^fy4nFE&Y2 z^v8sxDf)9A(iHv2Ez*#F0cbs8kk$lq@tFTfE+uOJ$%r(h&q+TOkcRZbG^>BQz%@nx z>yUw6(vbc}mw{>2IDJ+7CvFb?6TY~2By_u)l}!L66+Uc$el)9pyjks!%i<dbL<sBe zgk0c9Z#eS5mc}Wh{~B=P`v@HQUk~xg4-u;RH*z}tH?unZ|G9#<q#wWtQW+8bw_q)& z#kIc_a;UcmMuPt1IUXUt?-m0Ve}_T+xGZUk{+%XiivDY9(iDAqEJd0r`6XcWuZPsG z$s+o1<Vb4^|G<oRGfNuM=cNDVl7{qapnrkSHATM(+PxK$hV*|bu==H3f_6Z^vls98 z4@f1i_5F+A_!f<S>uFeD4J(^$C+WZL=(T@WK|HY|Ykw}#Q1q)^oqmmtQ%Jwo#Hl6= zwo_l1#wih``nrOcl1F{@q2Mj)H>Oxcl}+^Xu$F!Ws{K{av#NjxBSHUl2SuX)hXW&Z zfiy*bu81zr5=Fn-rFMe87}0BN(y;c!h}GAcq%~R40nx55O`4)#S0D}PbJF!8X-K~o zs5Wv*qyJl$)#pvp1pR^a0jpo-pazd&9h^(GO+s(wr@fuM=7;*7&YFA#^t_gp-Qp*q z*8~U%clS?ZaSBWRH4mq-<kvemg(d%$1wRPGWgUe6wSn`REZ9!{Hz}M#=-)(QN<!Zd zz`>qNyZdip;0R5E{+$6+K0z<otfD&2W1yfTqyR;N&LKUKB~3wp%_B`gU+<8HB|qC@ z^<P<}Dd=AtqzOx6yWemrG2nj_ktU#*o&kV21f(JKMgaV6fopNe56p+G{yT#-gudEl z^#vO>fPR3vDfITd_U8pH{hHq%x~Bi0`|{kYzXqv}mEGwjp?{TQ_6=}V2BE)UAufbo zjkx4E|Bpn8(EovXH#-t~Ln_dqH!xp=-q6O=pf_v*^$VD>(i^tS0$5K%Z`dlp?~{rc zG;9sm4mU<T1{(Bb98wNN9r_y<X$pFEM4E#B50?Zutn?tq>i>yIi=l%d(qiafi?q1X z!5nE==>Qlkl7`UNfVO3pYYO^FDF${)L+F;pz%*(AeZLke{a--8t@3StT364??sF2* z8&Wp2vpIrZD{&$8^&!F&F>BZj(!+&ay@*!B0VcC=gOO9jso}sh&Jz)8IIw_IA~p>N z8)6D8y`dYgU%H&zaEJ#}FrbS=y9T(Xads0`dc$E6|3D*;fd>6`he4N7)S=h<q$%j@ zL(*dCV1hJ+{&L8`3TX=Zfoam3Ea(8Qbg)I5f_|_;8barQyV;~6^bcVhhj?65&`$>+ zhvrB_=x6v0Orr+Sjm@j{kyCceK+hXk8H{GlkLVf>0L*jX$P6p}>n!3z=>NDlh0uG3 zIEBzp%rW~RpP=`W%ZUgzoFtb+=$5TRKiL$RWu>12Q#B4jKh?x96p9!$oCZ^$IXng$ z^cO6E<fEuV|2j*Wg8q+7nu6XlBn_c2D6obTbEGNgz2fyXSp@wgm)a@lmQ5N$=YUT( zNkiys)2!hXp(*J7Jl1e(tRZwbl?Ky%S$;%kb=tg2@0i<Z6|AO_mH9>zdM~KMnWl_i z12Z+~4Q&cK^m8K}`gsAfpEC&h`H(t%6lk(wI}I0jIEBzl95E#;eV`>UOX#I8OoaqJ z<KyS}5PDh2KU>CQph17eVGX?u6gBA3anfSw(0$Sr^m8N95c(4U<h+111^s-VG+{|p z`UM_o3VMk{8barQ2U?^d^p9=UQ0j6`LARk@#wQJ-UtqF^vJf?ZzUSsu`u8(;o)4kR zv$7{(q-u8V)^I*xekLU72TEKbat$Y12oEcLSQ@9W(uYApyburX!$X`WBGfP<hf@fB zWL8W`=%Wy`gnp&ZDrzl)?gHiwhCGmK7@gwZt>Q7zpg#%~a=wY84*funGzI-ci!=p& zSei71{$PPM3@ebPpbrm8YqFpN0{Vy?X$tztENKXx10Lm)hR~ysHC*X)O+hblS%Vvr zhS1Al+0k6WN<U`vpzq#oy9Vg_DpocxN<tqFb@)0B?+tK#Au1N3pJ(F~LiZ#}ggyyS zz7!AdlU;1tWWjbCZj{R*^eLteeQH`@me6m4y06U<^qXD$AeV?i1Dt7`{jtGgph2JM zvxeagiaPX@xC9NgpJ^J-vq@9Xy&P!>{k}A7n3N?=L7(iB)?~qY1@s$j(iHS5CTR$r z1D={D4WWMm+qenVqC>BMb~n4EA@spH2BuMiN<Vt@pg%BTRz385H7k2QNJ5_sm@5lZ z=@+DR=)*i6`u&g|d<aMAGc9JnXVLIJ%fNX}7Hp?sb_%Bu`s_$d$x4495SS%&D71<? zsBJuud)UCQ6e09SZ2pxV9s>>fT>)#D%ryb{hXDSMLvI{tRq4Y#YNw#z?~sPjZ!=lL zOp7!HeU?F*uq3uIn@eK53i|AbG=$CpKM;_H&_A_V!-EB`sY<^T!t}5~8bZI!VhxYj zr~!2I-|f@eLD%$Cw%qc+UIb|kD|^{bLZ6vq_R=gt9|0&iSgiC(5+zppf)M8+^yhNg z?e`72EIa!(*hz>8H9YS!dkw4wp)a&`=r5Q8vxL5gPh|=EizYiev}t&M8K&wY9s>>f zO+G-%p{Q5-2#YiYeUd?%g1#UmP1xYK-#0uLuTMZ9I5}ish}tz-(1DW41qQZAQ_vUM zq#<+;_yv<Rg#KBUH7pXEf<6@5y%=i<ePqZQUX~g_KYa5leV5C=>IFUjkd?jRC86g4 zY=cSACu3Dg==V#^2z^;fhrSG2ehgqmoEnw~IIoFEsNo$Srx5zPo(}yzM_`uF--oIC z6hVi(F~k>Yu+mq+@V>;x_|fI#k{cWVVo*?3rB9AXQ_$}ZNmJ05aY<AwR{HofYgiVM zrYe1TK$@^5D*YXwGzI-#k2HkN0l(*vhR{C;nC}ZsLBA5V`$4QB^lMDku)^odilg^K zHxK$8*NVXDN33kAlZ3t;>hOzrc%PL;Tq1G}&sjKy&_6VA3M>7i6th2p<q-Nu5za&C zYXh7@=pXxHN)GRlCooIs>-dyQ&_D6;vmFTiQ<z!~{pO5f=+}CzVY$o%z0zl8v7x?C zf6gLJLI2Po4WYXQ*6<ORL?S5YA4Q}o=xYPg6!edM(hxca9C@T6^e=7Juuf<S`WTBf zd=hI2eJptURBBM^9a<RPclC;1k=w~@KD@Wt`%Ji^&(^Xs*b66)-am5ji5gKf4bKD0 ziSh8h%*7!bp+{*AdSe@jS;VPv3yE1osBufgjKh25RybZD^v1R+ff=DUZUe)6eI%hb zZtLK88$=8mx687M2FaJ8^Ji%qK5{9jSn10lSkH4wfD`#DhV5l>I|V&TQ#*tnMhvWw z7DER^q%~QvUS8>7i?kRzm?I6L17NU78bV*6Wnh$R3i?EsfnCxN`d1+X)2IRT+Y6gs zhHd5A`!3K;eV=|w#T*X(V^&sWB%n8L0hP}8;t2g66Q@Mv8a~Y8l!#g5o|X>1qaj~I zX2F^p_e$YB5uwJtBAgPjY1}&yQxbY7AFjQp<Ym~#&LMye2)Y3Y(P+wjdgDHj5RE>M zfmZ1}_*>X0>XrVE2x{}A_YXw?xfVkQ6SOQs{~*m8I~t@Z=zDQVB$2Qrpzjrtrl9W~ zkS3s)o(?cO`J^HAZ(tjpL#`?48*J8Sa7kzg{o9a%Y19Dv)h$5ZrTDe?c3yMnubl6n z3JxMx2K&$EmEPD9z>bgi>1$;Q2<VM%T!e?vkB}%uv>Hu7d5<TD_r@b({~I63HFo!O z=tns^^rJ0-SyuWnF006=33?Amh`dM8kA;ND7kCUb=x-GOQWixW`dXVb(RBf-jZ2z> zendnXLVv?&V1+aRogc`7A<~*G=zv&XcaJm${V0bttaJ|eXp1z2{vBw?h`uQ3@M}_I z51+T=8bbd*%NmajQ3L2VxSLk`zkq(MIieDJzK)fxj*`%iG?{&SDC5_-B~0<UN9cRz zbm(VfaSEZI=`wqULC|~KI`lqrEm-M&(>nCN1%X*Y?{Bb*RSrQPV8c{M(9iN%#cGSk zK!g4&1n@``MGZQ1oHPY}&m3tA`Wac$5c;BkHJ<5`rl9w>No%qQdLNTC1-);YG=$Cp z_brfy(3?Wm*x%rqg8rk;8VA^<A@rZJtnn-lHGqE2zk{9}-Un|uAJ)Y_VP#Q}gnlN} z?;|cj-wRMG=%%ehA0$yC^a}yyY#2F3oEk4IV9O>8w$pe~h*JpN$%!dBybsO_%o6&L z0Kn!5`o)kCYYc*ZDI~<2ERTT(J!b->2t^(GUM^`0x@nW9pbs)hL+JCM(l1PtriS+m z3#2t!&;e2D7louL=uVC_gw6pE&XR`Ee+CWj%2d#QO|!;}3%s4G^xtgOc&ULJKp+3_ zhW8}&jeqWWH}w2dR`!LTgnl6m#W^?%7yI<a?toH3KQo0>IJ{pC>A~kA^lJiU&-V%X zwLZ>kvN-hXJe)%4V;nIhp^vo$W(j?q%PKyE@l9NuX&mpvluOXB4`C|eG0>nt34yuL zLs5s`Jx!W|ekPY-VSS%|bwnCMe+(-9nt(I~{aT+iVM##0&Ld4hALEdQ&^h3-7HJ6m zchJVUTvO2hOf#@c8dmyW;O+VlHGn>L^Ps;wZ2Ssv{~0UW;3c77Ycl(Z7<z9&sh|&% zC=vQ?HqJxnx5IL88U+0gnJgkgjdv7u=y!%X^t*BbvxJ_7sgG=eem9>A2>QJ+wbtY@ z(4ar;vc_wrs6+1^U_<Sct#Ob~nyU2MY|;?=tcW$<9<NV9zavfUnk?vmfPP1TGzI<6 zkTitO0pFD)4Wa*?WsO;(Dd_(|ySrmeKrdxBYrI!#0Dbc2L0>!SnD3zHpR=+iCkg#_ z0Q*WjykCS>Dfj8u*a#1yKkDhwAA^=}1q6MLh4Y$tgc|1>IE9t|cuGvkN`E{Om?iWl zU}~*T(4T~<kJAMGX#=J_j31q{l}v}g-0q{OL%+x&O;!3eHfaj_qaJAp{ch;)V-9Hw z`W%ZiVM#!rYmla(Kh7mFnjmxz`0<D|0ll;hXio?&hF-cw$QqxFHH5xZnl(Ocq~K3n zoVj)Lpx@H<w=U4LFId^HRucMSP=|2dB8T_u(uhk$uJN`2rx5zfSg~?=e<jDiLr>6O z&0<T0zSzYng#MZ>rX=*&O@UcLf5QQ=1%m!&mQ_R!LH}O>Qz4ImR_V9907;5E^y|{t zP_Ojc0@4)pm*Zs-`Yi@)d?iQi6!cfKq%~R40RernOPYfInoXL3E&#u7l7`T?wprsF z4%Za)wgCOjENKXRTY&z*05z!eo85nP^q$<OpZV^%H=*ZWva-L8B=lFIDnEi@8u#gU zc!&$3KU%;kgkI_66b|oI&@yik^w7b1O%`mYvD(5ZgkEEaDG9wcB`{0qb&vw<EP`GS zDX=a_&>J8HJ~4O<H0V=I*7&Lvb?A3^*ieW5Xn`~Zz0xNQp-=Q#W0gmmf*v}g2}=Tc zwMCkOUSp7k&^h2*E{W<#=-Yu-XL3zJ-#*J4>mAY%`VJv$Y{;Sp&~MzlO5gtdK|ew- z*0b_0A!(cap59mmU~94jeNGN>A@o-yJcRzaoI>bd0Lt|yLH{zPL;o_;p|1~g=wJB) zvxNS22w<}WeFG%KrzwK|EhNOJE{}l*{dx#sRRKjE`kWkTqU!?ED;8-A`scBR(60+v z;}-_CQ_#QUk^t9a!T-hjzKlQ;nu5MQAPu2&z+d^KA@p{jeI0U5L2sXBjT^WmG=!cG zS>v}RY5;xe=0Trw-;>8dZ@*&Y+eS&~Uu5~`rV09D2@j!Hr4b%NUvJ}-h*o|FNRJ;K z2|d3ftc4!{iU{S~`8XwFlW!l2DXjGTP5>4#BlP^v9Bd?^=XZfh|IC)q^SeT&e-`i< zXwXNy04a;24t+6~1P}$iDovV#zTPGcp$~T$SRpNj4u(i;vS7U&I@lsDh7RUPL+Ah) zERu%McTO`f$~6Uj7ihPOLmEQgHDq8KHGn>`h2eeY;@94jcf<bj?lBe6^RHQX`yc^5 zzoUUy+i`dg5s*BP`y9Y>lp<#N{h%eELg-y(dWbmXyGA&#$%5_V_YZIip&#IjDGB{R zPhghN56ZEM&rO1Ua0F96K|dtTzna5ipg~{mG3YXiI`l9kO+o)WM_LRWOpu1qIn1tH z5(%TAca2CBmIU<u1JV@q1ANjDItP59M;b!k9khc)UljB`0Q$iZZ^tzOoqz8qe@GfN zfIg-L=>Ou{``iuNo8amjR=%5`gx=LfKnVRyIVB>O-@(Fp2>tjJP9gN;BkkII{)7PM zi3sI;`Z$HqPxQo;gx(9P`PaD8Pl9UxB2Cb(0H!>Geo6tR3OoiHbOFglQHTCzti{lw z`_xWBKb}hhFhYl8*!=MkX$txY0cpaLfZo$5O+i1=BMqUSX0m)QhctxVA<Ob7Wx1xH z?-{Z@JjEzAtn|HXmOrI{8bH6K1?d0cGHmDBy$6BQ4Xk`GFA4nwTf6q2Z)YMdguY)E zrx3a=!6Ni?0PH;;4e#f|&!De`G`yeZ=+Mu%bm$it0<*025}5kZA?O1kA-)U=dTGQe z)>}LV8uYgcEPsNHq6Qs0PMU(gp9plbi!*sUpmqoyuD$2a@ktZV`L*}_xgKdv7IZ*B zKhGgeK|denViF;A4)_9tG=#o4XeB~Z&^y6420FZ5T<N7<(kx#Zp$5<||98-Lfo|x( zvh`0JFN5?gE8oXSLO(aHU3<^(4=KQhaD;xmt3$s+q7>1}4+WGn41zw)z?LFH`Qa&? z!b%?=i78p>BLab0LLUiJ>vIHs6ij_(5cI2Hc>hXri_g<vg}|Jf=7Hfb#qfkfuT7eQ ze!NSXs`M)y(u9o?xb_ZKNK=(Q%pk1^<|6drToT(=(1%B)A#@ISL_iusH*A(4DKrIr zpOEE8#Tr)ne&FpY;Z2;UpJr~>DO=XajfCEAWaS51N$5j!+O_w5PZMz=^mF7CR{9M- z&O_)EJ?+|i-g9uCh){l#g;NN9vLU7<^czzGvxE+3U=?4(PVEu!&+=0pm~sjFO)&I- z9i`w;tMr@+ka8&M(0iJsDd^|Knu30VPwf!;JgD@E9%%}?=a42WiNu;@k*1(eHb_J0 z9Po`?63KzkyMi`F^hH76Kg;d%cB;}32wDE7ENW2c7qw97?TR1BB`f{y@x8BwUVO*O z4>OX`Cl<78@A-2JI7}n-D?)^a(5Fk32py_iU3<^ppVFb<AL-EHHZ(qZNa(YCfmuSI z9kPmVY=ZtEB*ZrXL4ODmVuR!sSNf9>z=;JOn7Gn$IF2<1{fdy<Dd^KJ(h&M%Q0X%a z(iHUjxg@sHWWoOh^!p>y6!e(^X$YMIp5>E<&<_G_w&;t3esGrMALPw6=-on=f5=1) zpbu^VdMo?%By>CX$2{nHft4Qx{cm=jo}ZD`uD$1n!4v?J!~4WEP9gMp1)M_Y^F!_0 zd;ZxR&Jz*JFUaB)R{C?Un3B+Qw!kc*KkorppP(<yv5Ifg1pS2wraT@4t<oQM0a6x4 zz0!xpnu0ztP3;u)c?HrCI$V3t&kspc(4Wnb)?^X%1zFM*^yggC5IP5(vq?kfho)Kn zd5>!f`eD#+VU9E$-VYC1{)GrNfDQ-zn>@ApFQC78%0kF0_B|^<E=odw*3z!M=RH8F zpih@55&9B|5}_{zl<~Fq{M)t;eVM64U!K;XFE0qp68gIafGrU8_aGrQIt2ZFNQjLg zkAVgquD$1<wNTWdd$OT+MJ_*G1hx5r+>$IUi_qcPdw!`)nu7keO<I#h(3hE{Dd@}7 zq#<+;czJ;|gl>ZNuE8}0{Ydcfo=qA;@1AA(_dV1A`smH9^lo!chMqUE@?Jp_`cfE* z;k*TpiSqXYN(FtsgHs576{H8BhtO9W+O_xmniS4!vS2&;H4#o>rGFTRDOu?s`2w?q zzBXhPO|TcoeR`CFsfeJjGg-wCA}$*A+g*SZ@xa8xI}W`rX{yraJEW;fUuBVo&~GtV zezifGg1&}JiQ#=sM4E#BVL%!}=YT)*NkiyIg)F}|<eGwhjLq^9m$c!%N0#N+nWzEu zQH9N_^c9D8m<|qpVCARzN$9Jy+O_xm0zj#tFO?_}dLf7N5c>D9T;8IicK|1rYqDTF z`5$bYLg+u5VoE~)DJ?Kd=sy(zEbPS*`p=L8&>F8*tlAbvfggPy0}VPH`Q=w<QPeAa zfkB#rzLZM>oPu7+k%rJG`Yiu_ygmiJ$)$Ep7OX=g7G<FJ$%*`rCbdK8M*-lU(xf5u zW4Tt~nu7kHG|T@Sl7^Ljyv@KgY5;xs=2d!^9iHLC`;V-=ua|`01Ym2jROxSHRmy$( zsvN=-F<Z5J0jET?R_zgL*WOokkS&`m*v_gwvl{eO9bFCjs=aK18KJM*8-{R51BAY+ zQx2v)g5Cw7W2`jj*V`=L#N(2v^tS`j6!cX&(qiaff;5DFUBJK!X)$y#L|T(2p@S{b z;z|c|q#<+w3>Ha4=qG@-x5qUF{lqi_yQCrXUI4v|ff_&`xp~mfn(}0K==o2q+;$Ss zS9P$oYw!6r2uMQz-q4{R7V6Ls&uQ1*R~?bXc}*6FZpyWY*sOxx7as+%(pPmi1!f8T zD2G-240~}=>8p;;!c<7mdq4{O0_)>^<D>V{E`u(ks8{-$IQR<s_Xf37&<_hqL+Ehr zebwPP(iHR~vZOUx1l@E=Q_zpJNkixyaCeh5gbtS-R~_YWO+mLz26jn9=qKmcsvbGi zQt*KQH?`vy@SS7$aPW3;6Rh~h4sgmQ{;?w|ZRsD|(m&c#n{DYI+tEL^r+@5_lIz(9 zl#~82`PT4NC-9Fsi)Rb~&%dzpa)b8<{@sqPn(V;;%P&f?3TVD+njxk_nDW`GyTv@m zWfgy>*{T_QiSof|nDW@F2hw5+VE$QPtNe&h4S{<8%VAcvn_{rphb?Bk=Ng6QZh~1^ zm=!XsQkzxy(RzF;E5A5k6@Nq1un;e`+%0)?!}hHFk^;=i!BT40yM@)!AM;rGWw5P( z3|LC7aCzaE<A1xJm0xbdtSqyt)U0>i)3!OaKP$f?VElTf1wZal58rV+cCR~_l@Bez zESFjDYqJVJyt4LLRzBQ-SrM}u)CwC4dp~^IP*y&|W`mf`th`#Pv9P+ddL1ht>A|dk zS>NR1ZGD~lWy@|ivhq=|tu`j>bCpH2`V6<O+jnVqR_?;K+W0Ulh-W#$sU4;t!OE|K zZEcZeeMYIJhFT*l?|z7tkA`h+;juohTIvd`=a8MIvGS{PFslGdX|sX@zaDfhE58=D zwWR|~sTE!pywz^+Ls|KCu&pga*5^t!>vF42!yYSH`54&NRu=0sT&?i(V4EHvy~4`J z!nU@`u|C(TS=U*+jQ!_oRz5CbgSIwUpD}9ISgY~qfgUS|5r5FuS=MKqnl;`!<<0Le zW91WITW#UV&ErH~{ufr?)@7@EnJLJ&8(^`v5nFw#FQy7?&^9((-ACl*L<gn<w)(7) z&zl&sLED;ab%|JuXTg-uR+ks}yh$lGXuC99J=hUbE=)ljyI67bcMcADs>fJp7{M%v zW0xSFwR;fm-1|&cKG|o3wud-&R!i*`jE|lf&dP6uO>Ylz?5r(ibv)>*FIf3h*zyh# z$Bt^&E>_*fY(G|hlL@mRj-9j>TE}$g(3X|o4BLX=*!pz(f2_R?oK)lg|3B~ThTPOh z6v9M8qLE5Mj>=7KG<LV7S_X;TiYX*XPDH2}_n|mQL~102<VfxPZX-#%n>rFwVQg-5 z_kUmKy586I-u>)+e>;!Ie;$v_UeEKs-q-WI=A4-`GuhZI_k^i0V#E7!t%ET~d?Hl` z_n>y};)Pd#38NmwwOR*YP#?3YyS3uRPalR+vvIA~F&Na#H0)u0blR=cVbq)`Zt`Hz znP%4M)(@-JpvGKWt4#z3^=6ygxr2Yj%g%>!tu`)hG7Y=C&#!hqfl+Z>D;S1BXP8Z4 z_t&wLan>WaR?vY#r<hG4_mBR4PJmI5#v%WZAPnke*6QruF!Ff(fckM<>ku0TooF^4 z@7_4S&jc9t1g>>R3LBbDovrabzsLQ064z=Qg+V8qwK`ebH{X{Jqn^UG+9qL8S2OE) zYt)!`i(%9}7xE9aa1)#59{y^48jN}d*E%!-gSwbm$GPjP&gl%Jp2fA=g`noQcmR*K z`PjZ)9BTgdkJ$w{?J)dbR0IA|x*&<87}W0PZ+k9*BM)j1j)-~BM<D<32-LQ9{ZR@> zF4T4ii;)wD{Ptm}?GzBB7s5Dlp!UR=7`+&T{0>2=JvHQy5;(G<wntoyUW(x;1-1D7 zy%>3re?$~&&rONZ!U&F%P%FO7z!C2Gkrvcm;rDzwjH3k9Ug?Q#FFTNbR0wLXO^VT? zAdcctTi|b7WJ7+(0My>(ueT_LqZriQ;)=>wqB!zk&;yn~N<#k85g0VbAH8bf$b~_+ zU-@bR@;l+9^`O6PaR^8F0Nv+rTO5b{<1EM?5fEKo3*aaL*`sZL6odTZLy$c|Zu4*y zhwRJ!ZLdclzcc<zZ`b(SUUzX6gY2vP(ULHZJjlkk&e(H_1NkRJAbXTQ?~NdiT*#KW zykSFrmoTp9SH6+Lk%RO6%B4}rKQV}Aa+Ji84cQm?mCGy~rLd<QB_RK#C}dyZj}jpq zB_VsHKQ9r7{F5!*=8xVC;3$FH{K_|Dkl!_gd*qLn2XPdK?BQ~RJx>YX$e;IC1V=H* z9_DX*D}^HuNB*`Iameo$f$Us=+uLCrxsaXbZ+kll`KN|)n?HIdh9d{J`IYYmA^)@> zWcT;Cy_>+14cV9Y+g3(!l!ENb{B0{!kl#Iunfcq^i{mJXmHxK(!;l}gu+rc5eiBCs z$d34<4`PsidI(2;<*Fc#;*fo*zim|l@_Pgzd#Jzd!w8OIxJ`~yIP!3tUx|OOFaL}P zWDoJTeH6x#3)$Inl!W}AVch0dx-lF%kUiMn_HhvMdj+x5-}Z3=M>b?%?2pz&aFoJI zIZ8o(?<j8b=Y0~#Q4+ET`P<fpA^%JZNB*|8NgO30`yzj|E(ZC1LXdr-KPn31C=S^% ze_l}n^3Mujr9Uc;;3$UM{L11Kjyyb;{8339^7}?0d!k=i8pe@}J>@6~`DcgmG4e-c zF&sINJ<t}%b$Jl-&j~{I_5QZ<1deRT9^j8EA~;Gx_Dz0eMGErIjp8<cR2j!n60&df zM^$0S?`L68e_mA*M+uzgkJiT^|GW@n-{OywK^(;)dy*U_Am0k$xoHcRPvba>LH5o5 zXhRrB9<Jb5Zb(A@`4ODwZ~H8UBNr?EZ5xA--#?7|?r+<e!jS{nh5qRCIOGoqLiTvS za#I*bHjeylo02$6LH0O*+ZQp&9~i}vzio2_M@h^@j#7|+frUN&%IY|d5|Dj^KdK2s z{)HjPF7PXBk~oUvHh)x`fc%RBxXrKJ62Vanvd8+{wxn?6;mF_iWgPM^jzIPpf7{kD zj$FvT&L3?HLjIsIj{M4P2^=|)jTf+(nHPcl!9koSM=2cHkbSK`@2fbDQjmSMKiVFH z{Ol-h^DDm&;wXvFeEznt6Occ|!k+$UM+8R+oaa~WNI`xi0@+c2^i2{+E{^=lZ)1>u zSs1df^tXK%#F2x~pZ>P*5|E!0#BKg)X9Pz!SR2g+^5?NLuDKmA3BM2HrW6cGxMGKP z;V2j1Gd?FrNgO4?+MA$jnZecebAj(Zg;Bd5$j?LPDFK{T-93bFOanL)t8K3H@O>X{ zyG@L$+v7h5{bUNVZ}&&@;`q5m2nJcM*!El$su!g2Qq>Zpmtyz_?_aTKx$4&<*;)Bv zs9x;hAKd(gHmQCyl7DHR)li+lO$pqzBBp1pbdK%4>lvtCi8J4Iq51<?Z~7>B+Va)E zL-lG0|KR2|s4d?mRj-T99^JVERIdv__1ZX8mn8M3ieRr@_q+hr<v6PxXPGxO)f*C{ z`#m=hsyA3r{b>@aKR2_ggReYPRtwdean@#>wZ*KpEw*X-p=+Re8?Ln#*ZMlB*ZS65 zG4j3HP>qjn^*7jbmr3JC=b2C&+~ps!*`5Scr&4;>ui=R~iBhQk#f9p<xZdxc-t<@8 z>3e=BsQxPi)%yZa{jY9V1F1cGK3jmllf{ObKon}4J2b0i|M>flKlmfm?B_vEOBZSm zG_zW#KDe>PlTgzdXB~{Q4)OG?!{R%S>987V4hum|y8zU5Ftd(I^~>9DIMf`4vyQ}B z$2fY{agk;tChP|_ojj-sxlnULKyNxRRW#(Gcc2Dew`=f~yyg@gZ_R1mBgg!GCe)l3 z!#@G2>0xH|4!0ftLq62>!e;ntVr|AJbf`HyfqyKp#3zVQbG`*N79NQ=izBh-Li}?< z9I|f>h*7qSfAC7^4sl%8<l?nrZV0Tpgcx0c%Uuz`bII>{r3W=v#$eDbewQ&3sJRx& z^~Q2s_?c<%eFHUxF4Pn_P&2{P`!>;A*=OQuP%{xb#&G5>5xr?jr1I7Ak3r3C*laS+ zoa*XL)7`EsuP=d`={V!gFx1Ql>rMBDr$y!;2sJZt#yz;!EVI^ZuS2}!9H^O%YdwfF zAByW)kH)|3)?zx;JQ{+UM*>ju1n#9gC2F1yq`E$Z&G4+Pc?xGf8`GPfkHyEo{xsA) zk24l{Q1gOW>t%1j@F@>M&C57rA+GhRS!+pr?eN+qP_rZiHLv5$WtMLEmUWj`oPe6; zNvL@f@83@7P46WxUVh=JQ1hMzH7jxEs*v8~hK7%=-T*Zp;f&RBsKM`*NPeByf6NVd zEUt^;A6%={tW^;&4sZDiYAUc9zUtPjPw82oS;sBBs{m>?B=JuaYBojnrs~9{ty4pw zrrLs<&A53>Qg8A?yZ@eo56U)dwhcFbZPxlWKBC<Xmq5+8xYjqg`Fpe04_3Pkv6rD{ z4>sF_Yo#3BaBpg6O<e$L_S*O-2!oFBkHkOYQ1d4qvq$=)e^XHNuMLC3VpQAQ!#{W= z9_Nn^!0Z15u(F#gwgoMyZIgsS?fh+r;roWeEEsgEzwMYX)V2%3kZ1i-XWZ5qx3%>v zyGEh*<P;1p@<-imsO^p}v;E4RDX8s<tIzef^~F(N8_yAOZq;6ff6l}8?)NK)$DnpN zo-xmfGp2Slb{Q1~>$8*?U2Q>a6e}O_E62v6b}U*){hs5o=Q!MUi$9u(qlviQ9KRAj z|ERq!h+X`i({S4~8}QXh^t?L=wKJRm-XIW>FH!ygU#7%;mU^M`8NOH%6E9cdCSJ1q zd#t<N7C#9#FYez5<V%-i&qaxe7cl>4d=V4(xQ4Ihv)XC6tCE$)0$F%&IWB%amjW2_ zf`uFQn|$1@%|(THsqpV{_J^rPDqB9_wtQGtZm_7bqOr;rq4_7amzCv?u54`e=67}2 z@r$fnC+@^2{#IpUmCdr&{JT$9u6C%hys_1@mMqMkEGt)rsj{-MO1Pj)vx8)1!lTOa z##RrUaPh1;vU0Jm{K8azuJa6xE8BCstlTE<{5{%WR^J__<O5^IKXjw4{MLWm#J=we z>*V*C%5mG5Pm`5D(jE;ebg6RCB#V0PH~sy~xB8X%dM57iSQs?kYNWE|DFZiE$;zW_ zsw`}*vW45#>L4o*3sL2S#wwd%H0gpCva+>JmE+w;R&Um$!-r4G%Kbd5oX}Wh*8BT^ zuvu1uO_c?WRl?fNHH-X8yxO43n;NSOY)=h1PgefoQsrb*d9%(l@X<5hyyaKoMF3S! zF_pKO%Km*YXS|7P0;<GUPIbl&y4_Ts-gQ<~R`zmLrGJqi+1UyI9*+fasUX?;mVb|r z<;|}6Nvv|Ae=nX-ZuNf>EZY@7ipN}BJcygPfDrfMIYC@Ph?}^K@b8g{3km<{nkzm3 z9_Nb73IFGsF%kbBS$nf5A-yO2-85wQ&9c%wL$$Z`KAXyxt@qR(E-N1mQO^#I^=#39 z&&?xc<!o)aL7!=ZOwZ;8Gnc9(c&1A|J2tj@vlBM$l#e%FxKQO$jjf*5a>->!$<=T3 zsIp^YmGDvPqAz6SMDiSTRAZ|L9_i6?hOESM7H@c-4?4qCp6Sxr+v312pJdC*j}lbb z!>n#9o3HJ#?ps;;o<)^C8>?(~SLgfBm6gkry0Wp=vz$5Cw3C%fLR8tSu}UbP7ClK; zzO48Cw8mBsTvT-M+p_X`ap&**38wN?b1YTdFy&`ixz`r=c*G7m!K`j7TRw64*(+q_ z9)FKSWtYZ!wpc%AVKZ6zZAjdU$|D-9Y<_rI+lZ{(mY~X$8mny9ezZMQR#scO($dGg z@yz=8m~(r|$_?7{<i;xDhKGvFWMxH&dY;(W>VbzMCoYhc>ta-Sge86w=k=d){~q^J zT%`Fw*ZiCE?~#d1HUDS4T=Vad9cPK3aBl4ZdTuw@N63Pf_(>eE?fjoa-C+r0;u6mP zx%QZ_xW{z;3pvR;>$<j<AYyLUsDF?D0Ef7!^M9`GZu|GRhPbrzf3EGB^6!z&wS0tg z`x5gn^JLv+{zl<<ze{z)WBxXLZWEV${?B;X=ieg}7k>WFc=6}oqf50deiD9n2gSWO zN*-{<PlAn&i+jPug`v1X?RdY7SoapoN602>HpeA)n=O9I3S_~MXRJUoy!cw+;vcL2 z-?o3~#bfWmvIAg^Wtp#Lah+BHd}f&M;!mS?B}FH3Lle<&sjK_VZ_w|wW1hJS3lD^$ zQ)2b{9l-j9{bs6P04AK^23iE*`n|4{#Bnni-^YdtZZrV1j!)p|=P1m&G`PL0t~VO} z0Yj&T;Ov4p^$7%;tN*WSR!B39=#o}8md`qbv+-R8o4&-4Ol-iqA&w>L4vUGgxMksR zd@>wp-VE+}$cEW@_|>+^@5MG@{AwFNo0{_*R-kco%+-7Gr$1rVaTercGou!8>HgRW zrmwO@M{yHIzq)uot1Vysl3#pwNJ7+zn{O_E)c+Nh{=-plk)GSY^0Av$fd6AT^_D;# zw%rG7`Z<tusi(UJ$g<#)5J7EOFeJj6Z&{FSbJhw6FsmbH%JQ8M)ito3Js^@M%e5^p zz+HpCV9j|k$jJ#)gMhK@?-4YX{ezrI%k!h0`IZHjU~_phSzZt&*1$4-mRBEnAina$ z-!SW3e8h*@)PPyunjmN_Z}B*jmILb5Ny|5FR;RLD9wXMk^40s&9hbR_PQ4o~|AB(H zLXa~eNe!6g?ID83a!Q0VY58_NCM_r1tWH@jafmgroO40CM|`Hca}`?t3k7e4A!l@m z8ZgU*?rJQT>D>`bS}u#yWWl86?J35T<)SdLCR-Nt&g+bp|3Seb7jmwOQ3GcATAZM< zT<mftEnnqE%JL3})k(|3zJwY+6V0K2EbxEM@j0t)@SmXz?u<arHLmVp&Yl@jg2vLW zXD%)8(vwY=uk*Po%Z0kGL6#3a9ZYkMkG*AKN3;Yem>Gbau|X1IS>C6+8q52_R4ACV zyt^I~k2t?!ow9r(MZAIKqxYt>3`9<R3@x*u;6;4I3!>D3S<cbWSk8`9p|PAzNI$DX z!7N^<EMJOHVFSzMtrBUn{3>$8HneO81rKAE<85ldEFa}7$=9BOM_ej2mXCxvlV{Id z&XnbI9@RCloZT~(#`32tZ+ZbOn?u3#Nyxb=Ne!6g(+Pqm%XxYwV>vIv>!jslQO1<z zf)ud^mY@6*Nn;tGHXY|=wSWRA3OP52r~$Kl&mm|m-wSglkIQFV&e9*3PCCoQ*<KpU zhdZx+7A;#s!G{*)Opeh)%raSTb^mIk06*nbH<RT@da__L%lE^qPG(tnOoUjIv+OW^ z;$F1e4+@XPv*&h~8W_vM<7|RD%fe2LSbiGkb!oFK?Cnxr1IrJtcG6^-NKV;-mit5D znQ_RuGe`}XCB6+(H)Gl5e=Q5UM0uT`W#RD=##EMP#E1#YCSLYVUmE=E+fyz;)mBj0 z9Rs!XYC={1I)lQK;?x>dhdgg#|H4xejLA#k!fr{%<fU-osVT<frEp>QAh8To@e2L+ zO;7!Rss}(p4IZKQ*wlroo~j{JwWv@e?O(MQd=X<zsuqavv*b<8bu8S?f@;k&P{mXy z_O8J<{aFV>!47=Eyw6dM@s3h0*sPgR?G`0yRKIc<Q>xo-#+2&Ux-K)-msYLaf~p5W z0e)kW^MFg8&HJ8$?fL=JTGQXKsSugc+D%Bj9x1IoA%dA{?SIQj(@^VRDEP&OoH=po z!nCS2(^>^zhY1?3I{hFTt-T4V%Rmc{!8hhjd=0f)L&3iR$ay$QUDyL#r<qvJKV1rT z>*b8<z7!Q2)xS7X3H}qNx(rnD7@X$xy&P5BKw--e<UDFq7na~(8fvY=(;O<)T7}Ic zj7hD+7Mf+I_48|AABI{%C~O^roF{Y_rnT2%%c(Q=Z<jIk<Z@7yF{O2|Lo5R=d|<au z`uT6vIs^(2cOYk8h`Jc9!UIzTO<K)8#*|jOIAcoduq3g}v<`UnqqV5j77EXfLe4YV zfN8Z0QEQ`haF{Wr)zM{4Y4z2rnQ4uz*|#5R9SVg5!;rH;cV=20BWyYK3UOGJF{Ra? zGo>}arn=0ux{ujC0=3#f;Sd{g9KCZ)>--e8HfbHL3(X-vIKk?aR(6tDW?EBPu6_`; z4uirxe2RT3N?n-NV2hy98W3bmrIky_JjE8~g$QP*wYV;RA8H*Ah4~4{F>hYYb6H^y zPe#4;XGdu{qdL-IOsS6IOeHwlqq+=K@wqHKZKOC2+C$;>7UV3BP#2~;DohZy)YI-h zn=y3^j^TAm^*YX!>ev{~%}ljbVe>Jl+5rkDMj&U2?!r{ZxYSy!7LMc!O7%vE)hX4R zY{ryoOxI<mdfx%}oR6wUK;az$$XOPr&P?^DAVH&=n_x_-PKhw4RBsP6rc|fuy3ADP zM}D_Z^++h3iO1@4ZNOBgxO_QznL0Ygm{Pr)kT`{u>fIhev73%1E^%iP@;@hO`W5w+ zJ*<OK^(ZKu>q5@kN!><Y`xV~JwbW@fR@b3|QhiYGr%|2FnNppTqRE-1x~k*YS5UPh z6h4K=>Pp>(r8?W9)*>01YAno{Qhl7)sZ^ifOsPI;)7;EdZ@9kzzZ}at8VX;CLe8on zbz!QHCkYzW+damV>T?Okl<M<w#+0g~>oQZ_9QmdzsvZM{uLmLLqcC-5s?UcA8r6Ha zf>M1o%IcKrVv8}Q`kJoGOm*P_rT?Jnu~4`IkJU91>daJMO%gP!b8N<x>hd6CN_BaP zF{Qdf*JY+!((mr+s2YO8N)K|@#i%n=U2YRJs!!_WkSW!&1glf3<w?erYNei=nd%3B zY}kpaouKfG803`1sWVe8j}kPhj>VW#-N@^d>gSv()lCk~%}lj_|HC(;>Tyu`l?^%N zIvA$9F-5J7>SE56>eeKyQ>xo^LorwEAQXDKE;H4NA1A(ws>eei{#~P-D&2*tZo>uS z&8WWRFs4*@+KegH@1u+<)m^$SGu5na1Ajx+&QSOZ9;=_Gs54XDsi9G=aHtTOQmqR! zrd0O^8B?mi=(@~Q!#$Q9i>fC;;Xf(J`CNBqs&!mTy##F1%Nf;u9@A2)e{rT%{|QlD zW~!f0izZOD3yj+jkJZiEfT{i!qt+%>FUpuqbzE~^CsoI_;7qEHYnh<AnW?tivGqGt zJrTwo5{I1H2z4>4<63BDRCfgl>Qu+I_83#DZCu8bYEai@rg~kwIX|N6Nigmx3v#yV z5SVHk?Qc}~as`!Yhd9$xsz>OCVy<K1Gr+hbbzNqv*PH~`q3X#n?sz-^zS3RH`>1h8 zkb(S4#1>CDe<ui{g3{`gVoYfrmn4>%*38q~QK;1w#+`ysOgo~~g=qz21kD3`WQZ}P zbuwp4t80|%GSI?LG|r!74Mwd~VB8r|$oVczU6|HM34%uJIK7-n>+}e#Q(8UZ#4^)5 zF>A5-prsp(I|tL+MNROY{+`9Sut(Hrot$D!rPVjen9@4iCYG7j;(!0kL#<O`+(10G z_9Uqb(>jYQs6)O-hzd<w{S%BStpU1WW?Bz-xwI8(od)BEBq8S~hdMK@{uV)#*4aVE zR9e}D%tr^~hJ*-ard1lb9N({Gb%$|zn3nl~m1zx*Q){C&Aj+81%84<i(lYNbGt)}m zcdt0)!!R!2gPdP2>dc<Yax_CN`C>LMJ3-K>j!ZJ9R7Y{9RP%#Wmw_sNqS5uzwq>Y# zI*hwM204F3sS8sbrJ+%6X;Gn39mDIC>UEqc)v*rE%}jOvF~9di)gCZzVhD1~XU0r* zOp00?)sb95oh~=(w6IR8*8hmXvBWDxEJFP<Q=K{KIXuj>&VZuF@yX?1hq^G;8#Oel zxfT`bREr)ZWIiS+dekE*=K88dkGaG$Q$45WikDHfClt-|AQyBOqgwQ6j9MGj(GFuW z)uJa8jLB4so{BT3ROjh_nW+vgJmgJO?FB^(;*e`T@@A?}h4^y*#{}cXh8a_;&qf(j zs`D+zl<I;IvCLEt%e(ASRP7B#FItehKQ+O7`r@tV*(6bu>P;SFO4SK6rc|92V@mY} z-7hoM)V!$$sCp(8ElNS|fg$S5R2`e3RxNrg!kAKB=rX2MUv?N%s*7x5nW=6)C&xwA zK2Y?!1G%j&>cUiC4ihx0^9Y%Xv7*H>f>@_iU*o%^RA1NqGE=>y>Y74SJqwBw5y(9x zN~<x|#U4SUIzPdfN_A<7F{QeUka-a;TILbVO!d%?ANEJpzEHF-2)XTS>cUi)#t9nL z7ov<Q)#XXXl<FrgV=C3P4zbKsUtH1m7*stQib`F`ZLhm9)lVYS+NdrHGNx3E`7SBd zk{GK~s-?PLW~$fs8?qc#&w-+<7~~%5QfH=GqM1>BO&20lsudO$B2%iBA;y$y6`>42 zDL!k`Z{q#Txlr_32y&11bQ|+zRgoZQRG0Czlxi}?>XhoINye1w2Hh{SRG)c2>l0M% z2Sr~bA-5AX#(Vv|`e~G?QC%BmOsRhEFs4*D*^DXGFQUXUQ@x~Y+yGQP4~n+fklQ&# zU6|^oAVH&A;xVRFYa)y()mpwwN_C6wmznDQ2Tj2@tXUQmeHDh>6D?Yesn)mzjcR3_ zF{QeV5W8I2<`EQg9Sg6liaeKCW~$Q<>f8-g&xfLKJjgZgNtx=l7_~O48*ov1L#9-} zPB5lY-NAQBseYsTWu|)5@GKiu`$N&LIOLv+KhsSgt2;u3jOwNoV@h>rlrg3Hy~UVP z-4!C1nd+L!ug^i%0Z{al1-W5|y0BDtCJ7qVT3u*T{UONel<E(Bmz3&{x?cvW_;JF! zT@LyRRR=;*oeQ~VxU`yi%UAS+P0(n05yq6(&oRc7R-LZPKnveTeRxjA9jJ8y6#b6J zW$!q3W(j_uAZQZ&G0K>Fuz%%sO7%D0P|S5KaSHt&qq&)>UKxJlb5y+$ivGsq@*I!4 zFxB5e1dZx9gxFQoz9>PgQ>uSij49Q>L&P#uy>Q1l<5Be@C<Z((bz^L%PoaHDYHd`_ zJ8onu)&GL5PO1KvVoa(Q2Xw#8R0EH%S%In-Lvf1~<PHc?XQuj}P0*<R>@g-)i<`NO zN!8-!4r5BSg-t9o)#o-HD&9v8g5m=l$i2{_E=IMud6=M4{hg3G0E+jI5yU#B+A6}B zQawQT%S`pI-_D<ns)M1pO$2fWMX57W-QOc<RR2marcymP#F$cTO~_nE7q|8ZW~O>c z^1Gg>nhnMH%TaQN*wlro9vmmARf_{r#+2$INye0FTfR#w)kAf^%v2xhH>*FY4uRqh z3CJDl&}vMztwqqNwg@t&R1dcqQ>yKwj49O)7O~7!znpi{pQw5X6dxUh+#Hv>FxA6T z1dVDdU5HGn9u;PFO0^^3C8gR?_sdN6!Ir0tLDfs4__!eC4)bU=rh1e^(5SYKF{V_H z^%zsCA(t_w+Q}i7nd;-`v^^A6heB}|7jmzlCU{TJtHq%RQKNcjh%u$wInJ0;J%R6% zQthJqWv2Sl^tOXhH3G$F+mJh28!*)q$iP2~{SSSL+b0Q{1K=#JfJ~|O4YN9>dUlXl zW~#mWwG}U{mqD==hTN+x>cUjdatWGLJKBt?RQnMUyQEb6c?88=$HHrX;`3Z$nW?rb z`{Nx{&4J>99^_sVr7ldhUyPtp?Zneks`b8RP^tsse6Ca-sQYE6x;k2(Le*R-9u$Y% z>ul=GR0o6z8r2g##+2$sQO1<&#TH{K)j=U*nW?szcgJ(6ng_*~;4{Dt4s|itro|T} z38Jdf>Z=QpDXnam)hVqZx-K)VdE>9ej~cRuL2(Wqm*e!~z!DrttFcq);simX8X?4v z%ZNu%r0-bbxV+3ImYM3wleS%ks>7jpI3AZb#;FTajc9+doIKml(_Th3FF})$sZ@vQ zhDLR`?w6UW)3a+URJ|OEN8xcfQLn~ShlQAeQXR?_)B$isl+`KKkrrbr)lng0nW?_m z{JaBEbp#Y&V?pjMN$SFm%PTZA2@VNUp-C{BVoYgWt><Q@b?*C}{z9!Qpm;1Em$y08 znQ0Bz%xH~F5Hwn2JjRsPbuO{YwCpEmKZsf*p?F*ba;L_q3wvP4Xow2xfxS9Pg+{d? z#F%<u3kmtBnq!I6rO+donQE)kT8melQBZti5_0d1Qx}$CfrduwvIrHL1Si;xsRVC~ z63a}hZN;~xs5KgjC%KSo>n=>|I<BBjgTfdsXS61ArnDyMxtVF5SvCJN)XInA$qC54 zCrqm`t%;hMv?ino8m(KSj47?j7O~8<+IFiDXXlkrJk^2R`=|-t)89lWzJ)8Ov?h8~ zX|!(F$ski&Q}upkrnU6jw_iuCtDty#9CGhZ(rQd=3Rh5Cx9UQpb*Dv>jn?!KvCOo# z=6%xzwW3gbw+*?o9qPigrf~(Ob-PQ2Mr(#n#%SFgq`J(sO6<MIqSn<=d|wQ5ABs^I zre$*lrFCb53XRsiA;#2$XpV}^w7%SO-*(ix28thyLhd6Lb!J*Kxq{M~;ZUK`dO#;* z(t038b(v{>6#V)Y)VdamABsTk<GM4`x}Pg3t$X9NoY9&~h&`Ro^$2FBm1SQ(4YkHV z@uL>xKB>DftvOslX+2=maz-nzlQC&MlBBxKv@Sa5lwVNmIw*cJ47pDys0-7Ia|NX} zH%5g<>v4}Ub!<K163a}hcg1)3beT04ik}HV?tGiNFs;YAg3@{<N`*#io=(Q3W%e^O ztzmy}-hf)yL-BJ#$bCLSt1+#4TtR6)p$m=He3vF0tpyIT%(S{pdu%0Y-2lZe1|avv z5OrZ%^SOf3dfK8wqva$RQxD<`ablTi?W=g@P}C}b;+Ip9yD&vvn3iJ^L<Oa_Ak3J$ zuvzFZrnFwRiDjmBZ2x9|qgEjlFZLk!6_>g&t%Y1cX}u7lLX+03IvMjIE{;)MW?FCW z?9m3b#zFBLNyvRocV=3zas{RJa*&oYT1#xkR9bIDiDjm>YwZv3qSkmQ{us4P7pAp@ zD=4kSv>JOe=h_5KS|3M=Wu{fN{qMb~H35p(xsaO(Qx~S?Hlnp8MTI7<wK2w2TI(Xj zGShl*&7I=v^hPKyO+fBj)CBMK_10PqQ9-5UHlkG$r9zWdsYNU^t>w?nYmZttL2;!6 zxo;<_3)3p*3QB9OM};P>3Z0D6sti+IW?I+$c!#*Ki9zwFamZciP#30E?h!O;m1uvX zm9$u$dJsPi5z9<#c5ka3wI)LG=QiYi5Th<kYdu#`X;rvXXtXwl8B<#3e?Z7gD=Ta8 zg{U<NimPLgyV|18OzSh3ph+v4U`#!oZVoY~w5kbZ_%}Q{Tg~r5t(&3v%P8c29Mo;h zA^!zeP-$&+sL-UfMNdYiw6>(EF0-^=STjysZ`}gLUqvAI6OX#Ev>N$}xp;G&3XPVT zYqUHKGt&xB-uy6X-3rCuSdd$!gJD|RxPnS+i~YY^U+ZLy){Z3AWu}$0=e}D}Ycdq$ zzw3}&s#jxLUu%fVDJ?HX%bB#k^B7YP;!c-XW?FAXZ^w@`vTlRoAMrsnPd)78lJB^J z`nY6Al$JB9dqRw<)8Gd}?E3x(k6>o1M|N9s8mdl#;=KXLU9YW}>Yg~Y77v*Gbn%7+ zV=C2Dk};+FGp|#r*6DtksfMPVbrY)I4#mGGAa{fA!c>2@n1WK>%@vgDuQsbws=q}U zQ>wpP#4=M&blo%-Ri{Gn-}vP6xi(;`zow|QNp)w0F{QdM%$QRBE6A8q{Y&@DOm*D! zXK-fL9Z&*6$laWz&P;WmL(r)H5MxZK{_8QORR41sld2^FhgfE+YdiM68dax3NedTp zYxNE@)&C;Y+Njor7?Y|c&Ekwn)sp6Xmy~J?-7hoMr?%g@4OQ=ik^^FpyDdno8P$^J zni<vKk_3?{)%`8TlxnLGV@mY^LK(gguIxJaZd9EPC2c~GyFIMi=r2A?_D>Krs(;yx zDb<5gj49QF`7SBd*1BJ2sUG&*QAeQaT~Kmp5^}$Z&}uBzgQEnsYDpl>m{L8&VN9vE zwHZ^YhenBIrn=5~p&P2&P}0GM+?_G%!c^M^2^!Vr9%D-N@Cai{wSAZ|rP@LF%S?6D zj^dY4bq16i9fsW9aq7%e4|fR~)mFL?nNmH9%FNrRlA}C=Vy<K1hx;WRU1FK3?w(}h zH``fvLrEtOa(_%v7p8htjG$3%Z84@)kJXd0PNf>+yQEY*>3*51R&<%$3svudk}h$` z{W(bnOf?iDXjI##7*nd9ql_ul6D-D*YL^hP%v5(fe~a&EXF|!@5y<^T8!*+*+TW<Q zcW60eO7$$QU{dW%W#)3Fq_0OXGu7+X_7m5k_d<ykfZRWV)P<>@6(?v^J4P5&s^{`u zQmOV!usW6MdAeU_s`s>Q-vw3ggOY&>$o(r!otbJsi=a{ML`bBiRQuZmO{xQ;j49QD z7BQj9ev|c6ZK7#@AL6@zEWk-wv!LVx3v&OBPy=Bpf0K2|2|N_}+eAzH#;8zO{^E+0 zx_^qZRy0ueVh_cKhfwlyk~TH4Ts9=#Zxj6_Z}VidydO&NpR~&ZhZ-=;Y@47k`qdRH z4X$S{EeCnLPFO<8c_GG>rJK$&{qK+6wDe{hEgyiAOKr$&uH#^qIT5y!vb+o@$(zYC zQqNpk4&if^<?|t$+aSvoD`IIL@uge(i!1&Ip~Q(pp1HbUmJ4-PljTc%b@hn9=+f$< zPFm*jxyrIEN_7n^U+bOjH?y{mP5KipXG6&v3-S((Qv+sM?_(a7<=Pk(nk*NlI1`rq zhIPskpHkGVfo1wfd|G@_9$L<UlF|s|wf3k1v&1h9)y-u2T9`9=TrPGvlUc6gd!sBr za;dI?<x7*(o#Uy^J>N&mxlpn!3VChy;>>b+h`JifH{+a1%h!{frO)!i6xB7b{IFdz z&2gF9)UpaKAA*wAXnB}T4VdLhm!PqHSFa?Pw0t+p>tvS8d7a8~wPp=0otLaMmP0qb za~oPd3?-}Z9Pf~%g_z~#E<s~?d4w}*`Cgo}|0ByF)itn8e_Xz@@Adc4G7cr99LVb! zq6W<JsxU!gd1aI{X_=qoOlCPE!kEf(zD2Bo<)Yit9hcLOeC$TFd<077ry%dx7&Ty) z*Lnnv<+VZ1q-B(leAUDel+5Gi%JONO3Y%<s%GSZ>qvfMe@=O@=j&rF2vn<rmSQezH zP%vp(5amo}IVQoFvV2OLH?U0qo2)}Gw!aH4AH&_YAg@c1nlj6Y8XC)(O@+pCT%5D? z$K^9F)itnuXGS8;*>mC6`))wX$D!m|%<|+YHDH#LJ%Yw^a)dLPWxc=a;lK7!jkw3T zD$8eG;tecc{~?&ha(L^~I<$NON~XGy*DXN}nB}w-L1THFE~G4}M%)XQKFfHFY8zN4 z4vnX=T<}oq{m}ABD2aQJ7pD1mudm!5bBG$t$AX;6Ebp{AOK<s<MRg4<(;t`D_lWL5 z%cr2k4np1;5o*9J?@kajmUmm6Ny`S`oKu0i$GPeef5@gy4J^|?Uw%9N-0f&N4@w@w zXQJK?HDHzxXmw+Gzg|f&X*nxJlLeFK_&vN%Sw5^;1IzT+>Kn&AF%m7GhLX8>_MD{` zVwMkv`0D;uaOs6f&V0+#i!9F4KH{YpC8(}}W%_G%JGgx#T0R3M6*0&=S1-gYt6b`8 zvYcCwNy~vzUgu|7dO?senPuq(dTs;D^#3Bo{&{~pX!$IZY>z;m6{n`m(tN&TEO*#c zXddxxQO?q4SyJjzT?5Oxz0y5jK5){X-OzGAl;HOpc?0x=!7O*zTV1~I`8Gr=ktL1A zy<llAOWVh&wt?l_Q_{VTpFZ;Tf6;OQl>CTS8|H9hmUUt3YO?$}%9%WS>V1cx&YnF% zR;M0uD@m-$mjCUW(H$+HgVOWy6>?CD8ZgV>Lj;ZGZxPPqaXBEynSWfC>?LGgdrA+D z6Kt|&c=9X1q2=>XivP=0-X%e5U@S`ycL{3C(!;}?$t-_QaVF26*1S$-*~X%}2A1hx zd%Eph`UqM&P}(L1d66hJV3ut|1hr)e{?%r66HI2=C&^j*<MJ$*>Ka&1I5yqu_}ODd z6rtq{P}&!tiE<OvfLYf21V+AxEIl_yg~sw6hclUFTip=rRF-R^RM)`r-sO=ruj7Ag z7%g7MUxbo>l8|>f&BuFs9WM>kGxE>zQd4Iv&kGV2EPa*-I#k!d^8LMD8q3(g^OmFK zOHg`H5b{Pwr~$KVVG|UqOUoAZjN~I8@OWK%%Yz)MYhaoFYGZq>NW33k2&D%{ATM7x zV3r4@sH?F&z~W3=w$!`$e`ndlrMV3()4%q#T6ougX!$afo`J_@R0}c7-ZAQGEPFYe zNy`o)&eCUjLxSoWSf;-w+Bh=y1zIkG(j&u=Hzr68nB_5=8Ox)?1O=0p9iyBHODH|l zVoaSq(abHq?eABk<ttEnbqMmV*NZdDdhf8*aasR;rL?>@!i?l=Pw6p9#+2m)4zUJV zKKx0#YxSio-@XVfUxm`+(6Uf3#4Jy+sH@4cbBr@-d7aBy`bYe9y-1TSBRx+mMa#ud zdb$gF6C7HIS)QW18q2QrjHIP`11jp$Tb`DpMH*Nx`!C(q#=Ij(+>e&8L236W<lPdY z2F!ABBbI|2vFxTN|KFC~Gq*gYu+u=ad>u-|Xn9+#5lb!UUy;e@%b{^96h<=3>?T@{ z(sLVRnf{&bWh+LnL(3&lIywM(Q(an|WqD<opn1e2dL^=?8gc)BXF0>6+9q2*+yAm< zX!!<|-i^=d(}UE2S<cj5jpdc~n8=df{%=b>!qlyS<@hH9X<i|}{H0v{ZRVv=dVd1) zW<;q0vmCCWu^je4SwiVBJ(nz@^xhajWa^n{r0&<iGW{noe=a;=3tBFN(veBXo0*`d z%yL|qps_4;Ig`ib<@M^)pW}B$Xl?_`#DP|tET>-F3;Sgypw!0W(mWW<a$<<O8p~Lm zGif=_<1D?Ut>-qdTzOkEjpem3-rNx_--OZ`XgOQ&CbPWF;j7DYd~%XAX*t>AOjttc z#1v!d5x>JG*1+<uv(jbxNbs}o&~iDH-jRa5ha76aET`*zH(5>(QK4Yca!QP|^jUuB zQC$Pe^#6|K@~WF>pygXox;hSdkGRx;S<ca2jpfJn%%!EPCyP3n<%2<Lh)iYqp5B`# zTRziw)g-iB0j2MUAnys?lv#clVk@buja3oOq~+WMXVP*7A@&~fZM{eX%Ow+HX^zXi z_Ki=W<=asDwhMXl!n&(@NAZ$F&}6yN=1f}F|8_-MI&oH~vRtP3rh(<`3(`Gbo_g`d zYtix@C{19N&qk;z%W}C(&{!_lg@Q@Tg)v^2{<z$$`!(6}<k%Lh&3YF~U$G(YIlU0G zd`)*XmWxx|NLs#C&pf^5(kRVsvgHG>-M$blS3>EsAmqIerv}UtU+2}$SgzH(W3qf* zPZlh_<<BnlYqI456`jP@#(Pj&7lyor9yMT=<w1hRvdrd8X1OlOS$fMlm+G2qxuIL{ z-e~zgl<q~#SHskRStdP##xfb<Oj?%Lt4nYBgWl@~mg%3>2kd|RS7`YGl>UIn<?A*r z&MY@u1dZhv3C^VDr}bER%RRbZ1IzUPYWAc1whlqdRZ#j<0`it7X>n$`)gx#ux9U6u zla^oFyiQm`X*I7?&qTXYRM)^V{pXjr#$!LB<%dwZI|_Mk>ITg68<)Bo%N@GVSni1O zI%&Br!I-lA-XYe&GJTe>HNQz5m#d+47oOwhWr11#nxwAAGF6YsEK?S*la}Ac8IzV} zR)|;w%k){^QP%lVwEPH4f5S(7WtbW;%Y80EWBF%_Gimu}h%;&Vo5h&2>=Pu`z;a>R zbXRT*`)!+mmM)a_!L#Rs2sJR4W#{Ow+Oq6yzPdav%lam0vZ#}mf5jP7mXRc}2A1iw ze5$Zl1T8;?GAj;ws~u{<EC+@N8p{DVN!|qWvn=cHa^_o>o#Qb^mSJKIEYlyCZ{-c{ zgO+Qc?BW3AeVn2O%rZMp&{z(3Ig^%y_3ApyvVpoGGG#e5Mspijrhmj=O<sZ$S)V}Z zzaHeRv#0^H%+g(rB{)<ln6!i-XEMtnQO1<znVL1QO#g_td~N<^Xt@^3T1FtR1dZuN zp9Pn-@(3BrR`rae<^DFWla|da#+0S`q_Kfz`bT_Kmot7r%XLt8FrGc-9yMiI9#YT9 zf8SFU<g2SJ+azeR*c)ki0B6#&<lz+6HQ6$@;u~=lTm)t9QjoVkObwW22b-YDvOQm2 zS+)=HI%#=`$C%2pXXch|e%p5?S{6fDuPEegh)`2zd2E!Ru{<WunS8|Se;O+-kI)Tq zuCnZvx#d;o9JvN9OQ7s{3-UgX(c;XqOOl|m>_W)@Oh{UupeKtuX&DMrp|R}Y5o_>> zr$5I#c0T<Ev@C_PGw|%$9H$1%^3()DW7$owB$%}97U6Z$@<fL*mE{?FZUf7ir#orh zokjk*>QuBWgR-7zS*wMZ<>^}8Se|CH)s^LZmosU(Ak3JuT;LFEV441zXxPPH??uaU zD9c65Z8RV6^)u1sQKH6jcs+BO<uI4mNy{9MF=g3XvnE@fJEg1!Ei0gG6dsq`Bh-{x z;@PEc#xg&~nY0|ib5qCVGY+d$md_@MHL#ow>E4g$ZU1gMT2?~Y#02Dhqnk3zTP^Bp zEN^MV@@9|M$t-Vl7*m!{Yu3Or{j+-CVDb&Ltb(#<f{?c}MNOII9Uehrc}I{lndMZQ zGif=Q*D1?+5vpsl<$)Djhoa?rD4XX(p82Z*%<^uRx*E$FdUphqmNTNfPFhY&Fs3Z= zRYctySf>9pD{<sY;#xfkWlzN*@24;|V3rR!1dZkWNzSC@{T64^@}4+j%JK<q-oSF% zoJg8yqC=f)Z$isYq3p>J<kdx}DYJ~*1dZjxdL@(P!y#TLEgy_ArYs+i5^G@j$s^G; zmOtFMY9d;0fU?JvkoT)@$}Atz>c+ApMJtgdjm5oS!jj*RDa+C*@dlPJ?MU}&R^s1Z zI-uoeQ08Ekf4J0uS-z;%#p?2!==lT{3ML+LeiJOcWsys@4J_0DeWDR-Cg5vw)<!5R z4ny8w9yMT=uhcV=mM>XUn7L)KOLH4orvFyzq=QOtL(9*htOPCpqxpERUwf7`V)?2? zm6=<*VVc{(GW~Ixv#L)swA=(`t^>oeBGiCcu1OLUMl#DcEY31}#Mh;0ZUf5)IwjJa zJ)dlP^G~$=0?L*pVOR@?8ZgV{ni<Paq69O~@<Sa(1IzTsWzO1d`_OVTlzr&Ju>D<H zoLj~T8q0TMoMo2f$`H+MV7dIYbg$!IU-Qyxw5*1*m6+v$9yMT=A2ee5fv%%0q3rDt zLBagz%kn&%G5JhXo|hul!1BYBLunrI^SbnT9W861tQ0NVgsB0utmG@H<FX<_g~qai zkbb^|vQ<%nSf?zrJz@<kpJ<!zDtK06+6!n|3*|#1Fs!Xj4UA>^P~BA+`Dai0&>$6R z%koS0WWoF_%c>%*PFd#ae!}vSpWQ(709?P<l{rqx!ym@u$3YX0a{$JlCz@t8o4Mt2 zyxRh0U&dhAVM%Hl2pj~L?6t5>d8A%$;u{7i`_!gFVf3}nHbgnw-xhVBS)BcbBPiP# z;_O$SeUAT?H_@*SM^LuOQOJL6_QL^`ec>`T0b+t}_81#qYYB$e%<7hfkKyyKV6`F6 zp7z-m$FL?QHs+XfpTNYvgtDK4FpU47CzM#(rZ9CCdm|J3tX_&Tu}@RHPA0ac-dvej zO^nyc#5UKftFy!&?(}$_Ol%h+k)ld$H)krbJ(`)seyGP}Vn130n|zGDVcmo)W^ILX z{J+JA9jAB39AjlWHPnff3`o*Sg2}`-)?+fUAL=og*zP!=D--)G!daaq68k&MnM~}T zAY&@Ae^QL8#QxPxCsrQN{RHz9D~ANlZE|8q?Z_XEiEV@O!!WUvTx!4)+Y=|K6D#{7 z!kJ90x*qcrD+i0$$;AG#Ig^R~=W<qOVPfUx=~k@kCsrN|vO1Yqc`(J8OsxD6%}ip4 zhN;dZ)-GXK6VJ*+L*4Ji#5^eP6M|vggVcZ}_ODIQB=&urGnv?~dQ2wP&f;}`V&y@b zGe5ENwk~INmPqXMBxf?Q9-OJf&frWX)>AW+Sg(3a9%E-lXpJTxV{TdCVNC2RC?AZ+ zSg$BGFo~5PViPop{pE5d6Z_lYOeWUb<4h*jGs>Af#(LCab(To1{+TZmtM@6nO6-CZ z>!%XCP&1R*#bK&5$Jn5RVNE>7cK<f93=`W9<yYcs<=MIcOU%Tm6Dx1+(n^B)iIul; zIFpGDvN)58U0`!2kFkqf&gv|Y*cA?EGO>|1V=A#xQN~naqb*`4vHTEc@)*04kpJsf znsjyX%c6nrVPaoH`3?A5*<UwciCt(DHHp<fCS+n~M0uS|EI-bfOl)L|Gnv@v1ZQ=Y zNbFktue^zMWnyDOjH$$~BP3owRbtn91WjUNUCv};*E@za@fh2h>bL?E+X3bHN!qZB zBh-K;HY!QbBsL(*nM`b;&6!N>`Y>lQu`zMZWMX6W!eWg&OC&bl<8?Bz2`*zQu^S!6 zRAM*T#7ttbC}%RUiI!naOssYIbn&U)H&A{@1cqJePy?3Obuoe_u`9xy$;3tmIg^RS zlAOuJZmc&~CU#Sb*VS1fvB@@PGO^pDjH$$?Sd6K}ZVwSNiA^PhXCPf&O!Ww6;gU@{ zEA!sjfG%0zLix-T3^Q-QSYkH?sjErsnj~j3v1=2Y$;76{IFpIpR&TCM?DjaXtFuI6 zc8D{X*bGAE3buTPM-cr~V&+p(lh{2D)tSU*+J-eTv9A}sG7S^^4$2>j!>~~nHDHNN zNf0!NjgN6A6Ppm>OeQun$eB!RM!mT*v3tV2uFevPJ>YUC6MN8MOdVshZN^k$bE3pd zVskCd<XQPp$gn0RwmeXb?^CmOLiwu}47)l`4On7#M+ln4CI>l_iA_#%CKH>R;7leq zyWU)x*qkJ<tFuI6k3~6?i7kvUrV@KO%$Q1SQIMEPY*C6cnb<2y!<v{_cHf^*!o<FZ z@;5ygcD+XpSYosFN+z+p5>zOdOw5jRCKG!l%9%`Tq05;}Y>~}boh1@`BgmOd?2Qy- zDzT+W##Ca<62wemi8yC6u{UFeH8HXOR&3aViS2^&5AX{1#xONtiM{L)G>JVB;Y=p> zpq?!1WMXepng98NOl)bCps16HB|@ClSt7A_5}e7z-i<S+5?dK#OeOYSgqTU}{V-=T zu@8cVH8HUXCC&O`V!NSyT?mHVVp9W_*fNWtN$k-SXEL#uJkDfd?>n5y#8wjWQ<RCl z=Mofa)L9}iH^P}r?Bg(FDzP;|##CZ!Qp8MRpCmbxiLFf-*2Kh?*`Myj#P&dWl?%hB z>ZUBQl^%69i7jzBlZm}yb0!m8YjGwM``F=3CiY2`vpP#8R+{2WCRU~e(M2Uzo?vw< zv5Gh`lUQYpGnttAl(ETI7gp8ik1??ypnP)_hRq03Q<m5oo1jVT9g8!W*t;RlWMY*b zXEL#Ji!+&6B_aQ~tHTN?|4i?-SXU;tQSY@$?DGgsMy3+m6eea8`y$AhOzex4VNE>7 z&fhS41t#_*ly48fuvsx`z!Iwn5j2T?<Z&hwb6w74Vqe&t$;38#oXNyCIh@s5BC#*S zoXNzt1{qVw*wz$dDzR-zVkR*!!I@0#tGHoJOzi!RdB0#{KSB9!2ZqgcsR2vua}7;m zr8X4`CKD@*awZe|D#V#gY^%+gOw6-5tHTkLf2;RetRWNoPVY4`mDo<b*T__2-^Zw* zNo-eyGnv@#uwhM1Y)+r4;(06u6)o^x(&IsDz!KXQB`D1OPp!*83vnhB+epYivt(ks zT!Lb*Ol)U}Gnv@;9%pryNGuiOOeXeogfW#^U6?VI*xn#9omfS4LgrmkMRSi}lb^?i z-8}^t%=#HBTI0K<XQI@ACHB2$Cb2CpLBV8VUpk!miB&X@aV8V{+2zbntfE<*vpNeC zt2iLUnV*>W*QC@9*OiG?9OyA76RSALC1w&k*x}4S#wuFdhBfgR+p~P|DVSItRCK_1 zNlt<qu*B*df+n$VqnydazOy)!iM0-L<|kHhV2m@F*ui1W>MW7ip)O}Kv33q)DzU?C z##Ca5M~Rul+FP8-#5#lwYhq%nc9y@0iS31o<H9iP6`GIt^j%WLK@p-Ru@oWy43vqb zJc6Q5Ce}W|nM~}kAZIeM!;_rVSt7Bcqnydaj=?SRW{$CALyW1!H1f~D=Uve+<WZeS zQ6|<2x5!(Q&&sh|%a6pweu0Wpk}&Lz2sL1d9hM@f6RT*I;LJ~~;($13GO<p&p_nTZ zJEq=TnOG>s=hj(b4^JfIKPob@6Fq_^G4pi}GL_iL4%L}stgFqLOzf1XVNE>7{)v3> zBqsJNRP>6$u(up)z!Ez)PS7NFXoNGFSi3N1GO?~H&SYXI)tf65>l);Bb(Tmh>~JO% zJKbhXos~VJjH$%Vu!xz&dWJZYiS;7X^iQo9guLG|vEQKLydVsFPwya0?Bp=DHHmf9 zg@Vb%j!yDAnOM&_XEL$V>&=ykosr;mb(To1FaB5F#2PZOvqOxj#LgikjzyK2`M)7d zV&}S4XwJ%hj$uta#;$EU^f*lHcc>VF?~+`L8nDFbed8ssE-JdzOF|}gVvHt>J(P*{ z3v(tDJG<Uonb^4zURP&{#0Ger$;1Y_jH$#fa2QjGU1$?CiCq-sOdew+^txHNWRpIF zeKoN35=`t5sJI5-B^BwNVTqj+qm@JwdtLvG33DbBJ3YvmOzd)xGnv>0_2$aN%(rD? zjXF!Lkss%CWnx#x7*mN|6=6&z77Y_KiCrD!OeS`9%CIITW(|I21t#_<RE)=WNfjP7 zV2NF*S2Bs6m83$!WMX|2oXNzlwmFlDUFmTq6N@^W)mb93>%*MM#BK;OrV_g$#h6O0 zAW6(5R+!*SCN?f^SQ8VQ(PwEpOl%)i+=}m#J_}O=me^G;L6g{k7-urEff3GRV&g)b z$;583Ig^PMTAbD42r6Pp&SYW}6O5_ECdC<3iQOC{W)iz4!kJ9$*05nsOzgEE!|!2Y ze?i4v77VMlsR2u@AWG0AmLK9wCT6}Z6?HPPTU=fz6Pr|Tu1xG^kJr^%BC)A@uSGwZ z*d2PWk*UO{>Agm#61y`<{Y+warZ|&{O-~xu#Ki9Ud-rNg>~E;J--BV>bOV;y&D7Mt zE|Sk<V_kw`Z)9TEJDkbHrbjuGiQVCHCKJ2U=B&;ViOmdhCKH>PVoW7=ua-86-It&` zlh~{{XEL$-V}>;`vAI(}#s#zffr>|M81`+58nDEsIRr&IGO<{cGnv>#i!+(n{e=9q zWn%Y635tF)u~{L`>MW7i+yrMbv4`S}sl*<RF{X~Oc!Zcq?2#~MGO<U4hBYy<izi() z4-@+rD&~h^*dDz&OYA<2x|+nM67rLfiJ5OpMV(CS5r+x|lZib{$e$|{i@O9xU7aNo zdn&@2Ol)45F_qZULB>>KPp62P#GXlVCKG!$VOSFrJACcNC79TMQ1LdtOR96J0ZZ&* zkDy8H9)~lT*i4%<nb@-yXEL#Q4rem4XQG_dSt7AF3Hiy&#NPA>qKiswxyzVJ%)EIq ziLJ1yPB59++fl=snAjS7{KbJlGZg#?-zEJSqy{Xpr)`2JG4pMyU@|fDZK+@~u@xyk zS0=VR!kJ8Lg<e?9t+Pa8?>oFsCia2Nm`ZF_lrfdqhZZrD*y<2xPrG7`j|esWUDA*( z%g(^W04hrHUDAJ1-NAfz@m83iN$g3FGnv>^E@v{a)p5>bVjrY9lZkzp;H=IPd$Sh* zD{o?5nb^7zV=A#CLgH9di4}PSO=86^XEL!8$1q&v=O+AJ>vtx#T8D{cLB)my3~!;u z*)g^%NnK51i8yC6u{UF!$;3*+oXN!2)tf65D~|BGI!h#0>2W3#t8y7riLG}SQ;8*Q zVkWUqqnydaHdux=F|nx|kIuownnA^u2n;`n=HtEoe5@!&)Fk$Pm@}E!2SLtcVxJ~C zlZmabH&-T>O!2xpOC<J%&6!MWbCfZaShdBNN~|VC%p_Jzh<$2Z>k(}7`^t^ploK$q z=1}oX3Wm3hPy?1&GDy%Q_DPa6nb_I{XEL$c7-urE&GqKW#A@QauFevPeHG$NCbpfB zI0IE;+dYEFRARzN-b`XU9M0r1_Kj^=6OXaYJ0}4q)&eSiio@^@x+zPnIze4cVwEw@ zWMWkj&SYZW1UZw5ZLc?1CblEY>*_3#*e;hdnb>ZJF_qXJn=zHx4^d(!u^%nYWMV&s z3~ORyS9Co4FHEc@RQwr+;m4$?0ZZ)b2tkvW`L<Lrnb;S4vS2c?9}|48Ol(h(Gnv>A zNzUplk=QR$&SYYuTHbICmDq0~##Caz6JnoQ|LzeKDayqDa1Co>Vjp*gj+oefP>KJ? z?C=vTYQPfPlOkvm^AeoN#J-AiCKLN3!kJ9$*LrhB22k;PjMvrq>|a9cdhB11ph@gM zmob@GWxye(kFiRyIr9^%%!(S;#Kd-83^!q7`$J_%8-||}rv@ys-!wFd?TS#LU^21Y zVb1)-Dj~(0OzgjUbN$3BA;|0MEKISoeS$Op7_00MXG|Vrl}E%FQ;8iJA!ZUgD$JQo ztYgryCMNc3a@-6|tQAyt3BmBwJ!)VQs|@IsOk#UeRA>_WCCQmg>?nsbKe5Uq2>Hj3 zOzcRPpy*d;iNrcZIFpGT7iLT)c6^XAmDuqqVkWW9NzP<qCnOAOVq(kg&ix1zI{+%X zyD+>@m>RIej_?SY#QuqMCXcayW1Pvv%xNy>%EXRyc%4kFbCk0>OC(nRTNRnuDM?nR z66=;=OeJ<|oR~@Mv>0bHvF;JWnwZ%9zTIt1>_DhID+<H=;m>rV>#@q?HPne!wzsHE zFh8-%4k6BDVyAhW$;7%@oXNyaBjg`<byxwFJ@sCTHDqGF^j;%ViS^cdjZ7tWW|$h9 z#QFp|lZo|78P>$a&YO1f3QX)Es2mW0;RBP@fE{C}h6oCC|I?nzkjI%!tdq-`OstR1 znM|yg$C*s*Ooy{NOC;7W%$ZE=ydYyLvGY=lsl==#F_YN&3C?6<{o{r;F|nT`vv9#? z2Seo$2Zm>dr~yl?w@c6@*45@rCU#1cGnrWb5N9&6^K8y!V&_|&)!_&#FG_MI6T3LU zm`ZF=oH3Qy;21HJSayUnnb?r9VNFbI;*k9h$HZDg<!}pz=Q-4XC1ynln#6jBIFpI> zBIKW0GO=uzpqMKY8x-P9CN|jPtj-dNU8eV1%$14d=)Fd!63f+ljZ7t$7o>hBvAh&# zGO=Mv!?Iw=GnRP6IAno~f2;u9aIf7A&fAf~Kk?D?&!|MJ?oc_>fuXPKUeGE4>i_f} zx;$jM;roK7y|cgN%EeRg5oiO$N2cJ?uc!mw>*vM68j2+3S$?idP%!xj^m90qkHD}f zXYvuqaXFKZK%UK6oh2TDQ4VMF5g2VVrXGR(C}ZjoxY8nK9)YVuoXJNZO3458Xu=6@ zpauW`&QGBK@7#?BVAk>YiyX%P9EIsigI@=_Zot@rP<d+#!vB~yf#&MXKxM8&y+uT= zY_Ut`D_C)`h!Y<wFSb~n{KsM|uZj~BZ=aj4_0~E0pQF|xP<eX<hK}{9i}*kH<$ILM z%QQrVA<tVvVRVoRjcR_9F{OGLA#si=)hQmq3{+=b8oapk{YRr}Td15KfT4xjfT>=Y zpw>opRG2Z9>K%=!POCT9vBYlP8K=2ImHiXE>3`MM=lePxjFyL@WgLdy7^DW~S0PkR zi4hdx{p$LGra1dWu(AzF&RXFBDyLbD$zO#~S>_PS3S`0HT3bIUEOF~UDeOC@dwZ<K z>*g8wZg#YuhbMoQ`UirCkFls5Qhd<nyZGPXV?3gGdZ2dGkFfmxKNx_4w1c6OgD~{o zDD?@L1K)NDia_Lne=le1Xu8i~b?RuEWfRNbXu|U`-1DLcY8?iZ52Mz73F^YM?h6w% zT6cyRQ(E;t7*|>kMX63aCjZwH^{VC7EwHu?R6c6K&}ku>XP&5uh<i*QAC9J{zdSh} zU+0<~4nrTn^ZRkVM{GCeBxwP&o3nz9soi|iVodGkQ&D1>rQdDs&;wDcJybr2XUUTe zbzxdhG@>;(MTMxUw8Zf#Z^)F^0*~1LEB$BR8Q&jk@pOH`g`u-)THybm^rx(zi?2e> zI>6AU@v(hbcW1jfKSI=`|70V(xzJ&CYByhYiDj1lFFkf0gjz>H<x)KMU(ubJ*1|Bg zHd+f}jH&dOSd1yHH=@M;U+F*5F;a!Kco@8i`8;EGTVJG5Cvh*1eSCh~Zl`^IJ9=}g zJMi>49frP!SBH&1zvY`%uqQpgU8Sjbe#2GPS%KzwY4w~1gTKUYe*9~!|9LvSFi?#x zdce^6v2@E_?Fw~q<4>p8N`(KFPp9mq<=wRZ-fGVwZ`^|q+mSHhQU^vvLb`|kO<I*J zH4_h;d}(<(LQpXOrKR%TdQ85wyq;ur>ZN6EoR~Pmm}NW>lA*lVCM>Tx=lq5h_zQTh zTsmzMS{?<JMNt@$Yf%IC0$7?NXe>)ZoJq?Py}Ex8VgXdX7i4wHa<yhnw(RBfT#S|- zp>nkgBZfz*DYIM?A!sZ=wmFlQZi+LR<*F!S(z5D;7_lZ>E|}ikMa!e1vOEYQuCS>A zv#bgcG?tYK&ZK3f#hJAHB*d7q9N-XZvgNhzzFBB_3{(w_zzB2JG0V?9>S`=M(|HIc zEkC0&alI&i`%`6AoFFn~IZ*d&vgPiq$9_f2W1(_$0!CcrQd4GGtD&*1jZmSntnoOL zS#IQeLs^EYuF00?Z+hizv<yMzS78`&jb4aZ?y#t<vHUv8nauL*C}+}gOCy$JbzPG! z$M5^)RkZ8`RTp?LVl1tL_w+mcsxD3u)s|Hk+no89RTl?2la@OYjHxWIj1p_I<)OQt zUX7N=LDf|jj3@|E17>+mgrKp!+T%=GULE7ix2zfzWlUM#ruU}FmIIbAbI|g5s2ZDu z5#udt$}9^!g2u9-o{_XHpfYpzR9)i|#JS4yrpzr{2E@OW)2uU8-GtAVH$|x_vz(M9 zXe=k`Lcyfv#1yZSSr+oWQI@k@s%vtV=PcUS11(R0s@rTBG0CO|%yMd+ps}19;!IlJ zp5RPc-s~`@EaMSkO}1P#{nNE**#)ZZ$8-Ev-IQ6*wy3MId@#wGw0tninY6?!Aa%pJ z%5t7ZtjU(yfwh;T<%v)g$47jMOAVOiWA%*utBtD1qEu)e@kdjfNz2&@#+2pRgz&1U ziB}u7)&&=$<w;O=wg)5b@N@_BOw_O5>eAADoNp}q1!=Ni((-YKF=hE)l30^1*M-~6 zMaz?+>aIA9xQpiFy?(yD+aW4emzH;jIg^k043{%$d7jOfvV7Ac)?~}Nvg5a*Wml+L zj+S?ar~$Kl+a+i$-)_WmMZG#{c~6|pRhF;ox+YuB{`aJDXn6`$EpcGPy%sfPmdo@b zWGt8ILcwH~OY7B1%Xb>FT;$OrO|~3y|H;$QvKv&rf@jbDQEI>}7uW=i<$@q*(sI7T znY2uBrn2neQC-t5yRI69mZw718Tg3Lwy6QL?ClaXmc7HANy}dK>ZIj!5mu)xPfZYO zvSsJy15QKB)1c}!w0y{+2F&twm!Ppcy%EcBy*g=mW}MAcmR-|Xu5X7Qv5Pl@|MR{l z((k%0XxSaAPKm;ZNAyC>@|YM~NuA?Idz{HEkFHlIEjx!;owQtkIH88mmsOvo`whao zwtv_MEyGY%8-Njyd%A;pCfXV#XtMm$;Y?b78Rkq{9&0hCviw}vHF(6+|IX-<Gyknb z%hRE1QxHbX(+yaboB2vA%dHMu-9N`^EbhhL2uprLrYyhFSXegw1GeG6J$ELm_JFDn zLNMalh;D;{$`8=1HYW&*<({{&f7MQ1=xf=6eIH|W^7ECdU2(?b=POn3>wcN3F1>N| z@2GkPtUm-(eGWb7Mqfcx?FtbxTHkq$Nv-v5Y{sP4`e2k;W?Ca(+kF^n^@OT*czVAO zq%Q2!s3j?aM(cfxF_qRQE@LXKwH~p|v@Y)oC!tm^sQMJo=a+Qm;uus9>?aXwtsmI+ zZ5mOn(vz`HsjiRnxsD|cfTXU=Om$Vwi(OH*H&nGrz=%Z-bv6lBtq&1234TvVoEl22 zHLp_%w$XK&X|1#89f?|JLe)<ej96^xHYUNfF@ie5s-!M7sz(G_ol-p_#h6n4F-a^l z)$d{tCQ!8xRQ-idi%Y`Pg+16u*aVGgmBpC+;-c!02xCh1Pu)<=l@InlU6+~aD~oFI zI=R_duzo*Gb(!wMRR3_9f_lQ~;4mgt*Ef$dCRNwBh%qKr*SFMlnW-*)=!{oTwJ%iu zjA!<8-Px$FZ$YbxV^FEK*30Pwpz=qL3Xw_G%AZ`uq-teK*JY-fwP?Q%sCqV3{u6-_ zZ)*diTKQ9iFDIYIk8~JQ-(2nEOsW25vpS{vx30@fHNW%7Pf_(8sA`3(D-+b2ss0rt zXj1*tV@w^ZEgi<xvAUnlm^xPX*L9hxeiEH=3aXw9>q9n-_#jE0jcV0?|Es#bWrzy( z0kHmPJy{<B>yJsWI(4ibtLrjTUGVRr4yyKp_1#<;u{uSajq3ViEP^`K%2bRoby{@| zGNw+euDYR^>tH8bNY`bi`d!QWx1;KLupWQG{fITX3sdcCGX;5CRsJ1jOsV!tGNx2} zCm2(zXX?7lRFj*}pM$CvtnZ(M5$m*pd1YGP+hWV9<8pspXddkId7aYgAELRLY0X-C z;(F9NAJ$)j&!NS7=a|+h4z)%FmDZV2##CC_F~*eEkT|i-w6?A3eKczIhxM1oU__bj z%(Swpv%H+O#c^c*GMY(im_vogl-6*USY}!?i~3GLtpTw98hj8dE$YIwhJ^{5w1$Kj zQ)yjI$bY(bETMmmuFFiTQ;*u8QEMQqpN7wa$)Ikn|6;-VD>XA(!y^PuT2nbwY26W{ zy3DlBesb%<sC5CXpOu0U8$9a5(z;zkqjhzH3XRtPN7<QxH&JzOya(#~sYL&Rim2nh zL)`FlAJNZG5$!|~DIIVWHxxCv0B$$}0xm#A1Vn{V78g+Cj*1#lZ~<kyL7O%>;;yKn z;`+J#&pmhU+|yuaI?p4%`Q_Yu-n{qDG);#xmb1{-9lok-pRG|{0l!`Bcp9t}ALrFa zGc#LbO*OT)b+bZZ!NNtHlvfa0Xe$*{tbMkI?{|r~K>Qb0&cw7DTr~@`H7SDH)*X&2 z)V3Zl7z=I9G!<)~t-F`)_7U1T9aheBpnsF4W?{BwL=kFRlRZ_aZOutB7TTH{jcuQ; zla?LZ4{e<RE7Q1$YYa6rvo$Az+SUWUD%7@~&NCL;O2-sypRL68y~G8gH>`ZM4EhJr z%*@u)u9{lgnrku^?yW^}#zI@KSc<jJ*2z~t{UF*p6IQ;Hg#Mpq)GW-_%MsMJp7B(n zPHPEgp)LK*X8UYCd}6uy;?oCKe&j*_FH))-v$ce$5PtDl6sSUNYlY8PXzRngV(qil zW7%;hpsllDWfm9lYe&t(Y^{i(POH`Tz~Le`aQmUHMoUfDK3h9q-Q`2HbvCU0)P(-) zqM4bk)fqLlw)LUQSZM2$Bx9kiwJF8gXX~BazdjvpRlv&caBuyfCc*!!&r()?5<zXN zAy5!mXzN>#vC!7KjAHGx)xZClVsBZn@|OVmulLm~%+|M2gxc0xLltUUKgSpgZT%9B zZJ({}yZl?cu}OfBf9t&e22ah*Z2c5LZEKyS3L{%SL>7=qTYiVAu6?#{Uw8i+v~>>n z+u+{%C8@e;TYgzaL2c`2&g3HcTStSnt$(G|*!J1F_O3a5psjPk?}B^l_n4Z6+1ff{ zku4tr1(AiecJvqv)9Rd2tbMkIee|?}w)%o^c+mfkw3>z4+A*%6w)HO@BoA$Ccb~D) z)*gAq+Gp$bLw@)cZJh`HA-ITtTWS_&Yj;OMZL4!ssBImTWObpfgHwvN&(<?Ne>oRz z^#lJX7b+pIW?{AtikP;whpV8rbwrx6(AJT@V(qha-tc4pL|f;Be^MSQ%QI>gX6p!3 zL2c_`gRyXLoyb{e>m*avwa-@Pz3x8=ZS@Dgw*!@1M42;NC-4;H*F^tFN43*wogNKF z7TP)^8rwcwH=J|nbhK3o{&~2FTSwiPt<w!=A+&X(&sdn&xse5Jt8Y}-K3l67zVsH_ z8UX&F3{>KG8_}V@`1t3Vis?l>gR{_<oo97nT7zPWwZj(Ppx^oM>&2N^1^yK&sO;pa zS@h=;zU?X~QkZSx_kVt0hp{lh%L2witCwdO3#|@`>e^uy@BV%*b?UEZ)dv51JPme; zW@Za}xy9Or@4@zP7z=G(XD}Apy53Z*eYVmE)ZxI61Hr!y_gm+bnuXaK=qacdc1V)3 z(AKSa#zI@8e8t*f3m3L(+4bVh&LHsb#)aM4QM0gxz13AvFYI+uJ8gAB!0JM)cV-w1 zt=<*Ywa@D7r@tV+c3uGfbPFnXb=Azw>YbK?+UjLV#=<=~)nhEQdcVt9Xmwgt*AA<= z2Qythx&W;@;6H-byxpT&*ka!wW9>p)6S&pT*6b9k3vGF6#oA|U-SNFTqOA+TU*JRK zo>4bu>#hjug`E~x?U04Go>WMG+T$-U6l{kr+=CaNIOtupbrJY4dr-NLsb*md`$S4X zy|7+XsI9(`XLX^~7k$RU1Ye5k+Gq9iy;k8hx#M8)-^SBre@D&CtiBjQZFLl9;bLb3 zHCU(mR)(?A>XN9g9aeD<Zu7;Z6=?Nh@IOpL<w35RnJxBPmVzw7s8HKlVX(T;)`tqw z4GN|IP<`pIi+4v`mw>-IfXYK72h7$>+(MYvlBDXVZLNwi7TQ`JSF9ar;T|0L=&snI z<E7x^-?6NW8)_D|u=SpTXd(Opw<5(@Xmzd0Shxp2H5d!6eiqfW&+0E-uU(2(F9RQc z(@W(M(JajB+B9z`zZO5qS!i`#!0JM)-(?sJt$rWXwZkgz!SvHZuSTnvgZ~?*+S5@p zv&H_-Qc&-~PkhEgTfZ8Ng|>b(6>EnrT<k`BLKWH?0@a&kpz@fwnuR6U>aOc>vA<8M z!pLfM#~5SMYIVmvW72B%W>H-`tYU(DcmIAeTD=0QV-{2%Z>gDeg4G>e1tVMjstjYH zt?hVSXiLA7YoDz@Ph0aQ+PV^|yJCVT8LFGM<^Sp{7}=^W_ZSOp?VM*UwAD4HSUYUt z!X7d1scX>IP^jJyPmPnKnf1a}@9e6n(Ux4;>P~US<f&1;cfeR^b)O7lq1An(y7pOp z?v2T3q1CIPx)&z+pXdcMtNU2I9i7G19X!TDt37<iLaXsKW1-c<qPlii#XY#^OUW(J z>eWzv7M{hY$JNYwv8&^zf_ky{PBIqSI@4k-wACk?uzj{p8T!dbXzLoNK0gkXXR3+u z|LR+%>V3I|Fs;KJRf$$ZTjy~W+Un=3x^~#YJ$T}!J)S^YNvIxdLgiV$nuRTF-@Jl) z51yG}EVSyR7z?dl$X`-u^`fY*eOCAOADxF*he7o<Wl(8Fu9(%<Kh=|aa2Jo+3at*c z7z?dl6=y88dUaIS4y(8aCndMsfL5=C>Kl_#**B(UW{W*EqoCe{j=@-HYlO#GXlrCf zvG&;-`P_s3(bjcPJ;sB|eu0{W+0s7))wZsR3Xz4jZuiw-u_-(gzkjYComZ?Kwr~$# zbLxo;(AM=(JsH!gOsiSg!rtyEDB8(|9ceKZF6=!S#zLzTJ;p+-lcKtISjB}sfB1?o z(drFQJrk|kQ3x!-iE-90wAC-hSZHg8$5?3VfsA79u!RW@=z8|OXlpoB&&RX)f@o%z z;AmG(trMK|4++jmvAWRe+$3Y6)p=1}`>dX{aO)4y>IkTQ4z23H6vV8~Ro&>jHM!XL z{DakJA`5z7rvJg}vr%0;tm0z7`qwU7qScX5y%;Yzmjsb5eaTKo3@wC<J;zW`+j{jM zY`tcwy7t++Z=W^Y(bkPny$rvSTp6fY*dCl`D5z~c%UQUv?>MY3T-c?qV(qiF#kAB= zv~?3y`*?A=S|_8^dONSC*0x>^7z=HE<TDo9S{aRPpRL8~j@tum-3-+^2P%iTYG$_I zK5`U9Tj9lJX^gROVY871y|7LHV6{1|#<tJu3E69&LaVm`{_BTOdA+A*VOE<Q1+~=& zEXG2spK}(b`bC`8g{giS)wR#+2SYEIf>v*Z>YpsA9Fb8ovpx8E1odKPT~(+P{E^p% zwl;XGu6?#Xeqq~2v^5H<|8}ABrj(k6*=jZw)V96|7z@+-GtF3N>n~ri_Srhw*?m{E zbsN<D3)8yQQM0gx{nJ!XFYJamV{&0@w)7a2R%^C$8Ix9PwvOuBXZ3{9mmG#xU8w1t zhDtY@StnStRgAR@_uI;-Fk0A}{|i`MXsfeA?fe`jlUe>F+PWQT_RK)#7%Q44x`Vs= zFGs;B!J4iAA;CSk{V>5j@_ejk;=7reJ)^qzC3y9I$6SY2M?+0_Jd4LA)y#UaYxZyz z)K<5QGZrrP!4_ko)kAn)n5zC<s(n^3>z%s-t&V}3e;ZJFXG(Qri+ylLL9`m$+TCL; zwAC{jEMAgK@aUwfYoD!=yT9=k+8PTry;4wlkE3Q`whT`}ZR?PLvCx*8VJx(Da#Yto zTTfaw$Dpk{pr!&ZE|a5mU<+$nydAxBsX1C9@opweu#c}Gve4>TX~sgUXGe9yD*LS$ zHQyHd+h5zB^Yx$Tavaq3O+w|A$dGV(Hol#~oqckWb&`K$sb<F%XB#r2u8+gnR`>vF z&N3O3e`BfUJB14W_E*i?RFS`<mh13d0$q-Wn#Vn;ygxF;TrNnfX+>^7WkmM{CTG&+ zlRjtCWhJi*U49l*bsJ@A7IE3JJb3`RoB%bS<M}Zor6yo5zp@n6F2BrhCSB?;w6qJb z0BRPRtS)r9Ca+kb%Wu3QF6WQh`eAf=C)9k5Sw0x337E^t5!5cfHdLWt(&hb8cjZ#m zi2oxCT~5m=Uf{C$uOlm)I`}Gdc^A}7$9*|ljmQ5-`?AhaRJ*Kg<w&}$b$Oj!@l=wr z(B&(hVkNu$&*BrWL6>(!&3L@@JZh*3n9IAOS+&c%;;K+E>GIADXVPVTjIq$=ifC+s z%bKgoimZ5T*O=Is_dv~x04nF1YEtG>zg^ZYTYZrZU9RMg<li-~xjU&Q#Id2vB^kvE zTozyPS!K_OPrN2V&6Q<P`M9GdU@n)X6x1%4DMZ&xndOzO>SUIFUKMJWj;C0G%jb_N zc8>4f;o}R@<s_)N(1OYZu9|?k9Lzg~SE9jDp>Qr;zU!#Lf(e)W&@P`36fbaDb3?In z-2bNP4s<ygYF<b~<<p*;fVq4*npJd{*UOhJRj6IQ)T&Nqd9lOl<cinokM1^dS!`dP zI_2Ic(Pav1Ud6NL*(f&V^7T0D6uMlT;Y?<Ewa;16ENf4X#umD~-YIhS>_76kSJ36X zP%{Fr>MxqA5p#KCG^@_?#(&82bx#czb;Vr{h+cJ}OSjm*T;6TcJLqx>)K=lyv&d16 zw9DGocVN(p*A9$2=@q}J6)Wnp=Jt$gQsA=qIiA|<l;hCleNZzR_vLG@nt-`HBc-6u z@(znLx#D93&S+oO4&u(kec3;z>PmKb*4SgON0(Ef7XPKp$~QbU0dtu!6pUQfT4~P6 zWvyj$CSCUCEOdEHO4XI@vh(!=8qnqaP<yNim2YL#1kB|LmV(;l@d0Pj<?%_*q|0** z#zL2;W)v&g<vz)l5$JLn)cz+4mG1;<0`0QqhlpvHr^gf&OuGE9$C-3_B7cRU%cEUY zSK#u#>oP^o@x2e&e>l3F4z=6jIsTp+kN;QiHfm$Mle`kucFL$q?Xpv=I&xW)S7rJ= zQSDByf+f4W$b0_@bU6cRcaB5lazjnPT<&TrsI%<qb0)Lw>To8r+@3oRvpgcM>Iz)G zeQ&Yr<>5OFJ`!C%0JTR1Q2CLmCSWd&C=l(kTU4mB)C1|g<R-3{-6Q8EyF9eZh?VGa zCe-#QgUV`0H;Yz$--v0Kdq#!rcX?1sO<3Tv_K;#%^+)EG;R1Ag5NZ#`bG*(~6X+~! ze#$GTUAF$opjdH!h&r+2{6H42_`f{G3tevI7dd;z|9a9qbomg}Zeu~^>SzMy@()wZ z8o8|b+2O2xF6XAz*o|BoMO;4j*Sz1+<-<^0hF2o};jDI9+rd+_YL|aRodj#2%Po90 zUxCZwXU`s+kNFB+&Vt&(F{oS<Qxh<kmzWAhE^AxesnJfC_hr<41ul#Ku1pv;cqY1> z4YfD=Q29w*O~72<YAC2(-jd`@WC^vmC?r4cz(-JfNm@Z18}3Ulub6OI(!b@_dCCF5 zpi2*G$Ki^9=Bf$wZ+x#EWhf|IiqDpzcACrCr^Kc^oNeifx)~;CKjR~)eZb-DCt@>Q z&RU4+Z@Wd`EwBJ;@w@WyKqi0Vd+lh0G5H(cYsZ+1;qPGWGdm;3j&(SDfY=@Qr#wnd ztjjq8M&I!fsJ+&K%5Qu%0ZVLVOhKL4^r%oUnb@>ebuzIbDLz&vc14minb?&UXDz09 zg+t?<$;7UTF%~9vRi3dhv8yAd6T7ArlZg#;)Yy^}d->J*;+?~zQ2T-bmFo>P0ZZ(P zK*1=nnzJ3wWMVTSN1{$9wjj>yWMT_roXNx%wi?@Fio~Asd7Vt`=`>?uV$Y-)3lmFc z6w`_6Z_osji9K)VIyAjLQ&!IZRe`?vhHEJPW&f-8@&JaO<YIA$z1MAaGA1?$YL{D3 z`Abqwz!F<13h9Uvt9>vk)O!p+jSdf;*jxP7$bSi=c1f$TGO@QUKDNaaiM<o&OeVH8 z##orx(mZ2fV(%J?>BQc%IFpIJ?`l?JV!=1ZIGEU6sKwu{TKQ*2O~4Xc5-6w>yD}=& zi7oJWo!ny$CTDVwH5#1B#Ig#}mAb_giDd%?MGu)+Q--lHv1X64FtMDkm`?0th48as zwa0?Ef+e4o&d!@vVPf;3Zc7gal*iNrEV0Ivf;zFM9M0rfxkMp))iSZ~(+Y~QGO-_8 z%_kGfCwX0qDH2<6aV8UMi8B@^_9Iry1ABytZHVU6iT&iMI-S_hzGfxvv4b1N^uomE zL*4Es4A|OH6R^bc5z~piol#IQnOH-bGfJ$kv&9)DR@WuY86{S?Q;f3~6BDc3DbE=t zR=2aym`tp0mo#HCvAV8-Vo_ps-C~^4Sy{K6sac7M9pX<KiHSW1bw{OPKrCvm6RYdu zsabVm*(7H&u^$Z1WMT*BIg^PU;&UbwJ2Yx6dbF4#vF<5eCll+DWGqZ9ZZQ@nc9^S} zPVDeBXEL!P0?kTHtj{-tKF7o!hq^OUFkmM&9{;cY1)jP?O+|HL`G7M@tgds0GnrT~ zk29IrDK2L+u~Qw+T1=7HfACLvh`w8(gu2s=5Q#HCOzgi32^J=HdR#%B*clFIGO^w% z%}Pvc{lc376MF*cF3P}w-7GZ$OYD@qf>C01`m+VWWMYRnyiO)osSsV;WMY+pf?}*p zY(R#y7E`2C<#8qxvt7o*#0ENyg^3MfNrdlU>n_Nsy68Gq=R~iq<SYNG7w)q#u_vK! zBwqRV_SB>-u>n{h51m+dgEN`fDKXAuV%MZOlZho$oXNz7B{^#`MPk=loXNzli!&A` zc72SoFtHnO26^Z`Hay9h++!m=%}U&3H^m1n#Kaar-DKQj2j<lTEU{q`(}|txE2#Ha zW#mXOnb^1(uak+5i<*c!nb`PN^R<{Fu?cBDRwj05im@=UyONBBiQVlfrW3oz=S(Ix zNg?`abV=`EYkod7j)^UVI{YOo1L9^hgT9W9cNEl#RpB6c=){r+XEL#e_^XlcF6th( zc%4jaR;&41Op(~^7_XCw&CW9xCg%B!g^4|?5WV-J?<?!(#1+(M<y=Rz68Bj7{Pllg zVoyQcViyMVOsNUj9(y>WpiXR9z?nQN$GM!z#GY$aC->O%8D1w7d%@$Z#T1FX=yE0# zd&yxeOzh<(V_{;8JjL`Ld&TEW?y=VtDt(VVyYuGzVq#B2T@7Bxjt`<4^d5U5uAokA zg2|ao?4f`&nb`Yj&SYXAq&Sm_El+aRVv598Se(hkK8!OKCiYQ`u`scfID<TNVt$e{ znOL=_S&4h>ylKl8U}Dce-8V59a7tu|?Xl%*Qu=!LV@AB1Sy3l_Rz7d3LcwHWK`SN` z(;s|^I+@to7$4hWiXLn8oXNyK^%)Bj`z*~^nAqomVmh%eW1PvvzA`l{F|i)quKWfQ zOGDk?xW~?L)dVcDPdo+n9(ytBt`qyf;B_*wUrf$qV!yVklZpMN%4k(ua1_-27APos z$i#lnFcv2EKaa66u|FcF6Z^9jlZpMsSc!=}W`EIui9HMT`{O&<3STv6iT#>VP$#xL z;7p#CL54F*tbW^8$x>qV+va&4C04&()L8UrF)^|FPHA38iPgtajLF36w@)%A6RY3B zQ!GlX{{MW=D6#s^3YC5x+re3WIwtlU)SqC$fPO|aLv$Uh-_B7`C$`q*OeXeAt5+x! zJJRHJGO?o!&SYXe71DdGzGt9dw8!d?&M+1x_U|YOtP2x6R+Z_mmG#HP6%;AT#Ey3~ zD{+sl+xf@dnAr1B-`9cxc2Z5C_gMW=DFt<6zeR<DQDXJmy1Y&%*4yVyCU$0;GnrVQ zRy|rwvB%Cz@;bT4&bAl}6RU_b7A9snis?O;NO2|;J13)AiHVgz-sf;k>;<SFl7|5o zMH8^Z`WR}~D6#rZCTB9SBh#G8#PEKf@DO8VViyLS$;5PHQP*OM#0Go3P9}D-%UGD$ zB@Sa@Vwbi`hu)9XUzSmIdXHV6*Q~_Eew`b4F|ik+{&xIYIV7egV2NF1DX0_cndD3+ zcBaXhOl*Y1nM`bCt2&w3jRvo4!3wCqNg+B@Wnwo43Zj=Vv70lDg^AsgS4{7*Q3hvn zkKGo%wvxZETzUPz!!fa!pnh5!23+H)Nm*he(+cXu&Qge8jZEyqq=KSOCN?p{nM`bw z$C*rQvddYEDH2OLoXN!Q#b@N96Psc%7A7XXS(b-RY^uwdOzi%&W+m>iH-7ErU}7&r z{nL2mzag4{B{n&xX4Q!ej&mjx8{u;%6Pt^Z%R`KniOn-PlZnkYIBUTQsDDf$w#Oa| z6x4}5o?$FZ?1{W$I<W-?XEL#cmS!a;Hg-UI9wxR3>fb4Y0s04{EU|fMHLFhS#uR5V zu}N{xWMZ$yIFpIJmgh_+w%F&a#T1FXp5|-|d;s-tq!<g&$~TjYg^6W6#dKnC`JBnb z-d3pecNfzxs)}J^uRwiM90rWGq8aqNi^YzDI<d)l&SYY9BS)f6CRUx~buzJ<sEMeP ziPgq=U5hEwsf%$Y6RXQJ7A98jGZrScS|RrCq9LxJNKq!%=xA2r9y?`2>^@BFRj6NY z!GH;#nt<)Gnv8-vvH2;^WMZ$moXNz#ayXNTeQk0k6Z^*CtOYBe{#%9ES@~_CAbJTC zTbE%hOzgY7VtSA1Pt|o|c}v%onAj_eyP&g<ufeJ<GcaJ1t0rKHeVtZNC-%C@nM|xY z;7lg=w?g!)WnzD~s-whKm1R_+=s}6C0*^D=W2-v2jLF1Sb#xe$iLEM6DHbKRYO@Sy zw8vI$p4Y6z#7<c9#$ZfrF|6tyz<{Zanm{MEs?1VQCsylmCKLP0=Zq3t)j7=>CAMn6 zIA=1k{bQW9n7GGQ?VsmNCU&5~SeV#B7Gq&z2fK>t#12VwCKEd}(5%G7w*2b*W=!mL zSoI&gj?FaH1T3-rJOy=P-=sK`iT$1AOeS``&zVf@gvhy=PbPL^tNB_?k=RK|K2|1X zT8xE>og8N@OsrSLbYiEpVluH)87ncdcP0$F4HJ6<Rt>~=7oMS-v&2q}V3gP@h&l;I ziLL68SAzwUiJcR0CKEe1!<kI1ug6)7DH1!+<xD2l&tWV~?0l24FtPqg#dKno9%nMK z0lsD>CiddEALn6WZ^EkU@ZH6HH6H)3e)_hmZ(LEG*#0hOGO-g(&SYXj|QU6JQZ zCU#}yT=ZzcnPAn>G_RA1U6o=iOzi3;V_{;~c#7%7l0IiLv1=77{oTa}m)oCWVi{O< zR}uy+2%;HuVplo}>cmb`NWbS_b*`nL-eYc>Gnv@!Db8eKqm!Jqm?E(;7H2ZCv2n)2 z#O{bO7A7_hXOM?ZY<!Y4nV5caQ1W+4*-_2!V`6W?Di7aXJeyIIvOP9BVmh(&xXbXY zyuww5I<e^vXEL!FCTB9S2Mo?yumV=iR7k(OST!?H5PO7)J(yuEOzfe&Vmh%|24^y{ z*_LJ{o|Ok2v}`&iwggtaoQDA~dujrf*o?G-I<cW9XY#DP-QY}~l~4Pe$;6&%HJ?l@ zo#J&Zrbz7BBxiDuJ!df%CiZ-su`sb0BBm32u@#evz06pNiTOJmQiqAX4XZx%V8H9H zYR(c%8w%>gMhBe9#HRb4$;6f_q~DLNTH0!?Ol(<36^b4$rbz5vk29IrdoE*PV(&YQ zg^7I-F`d}*R!k<g!c${QJ}Y<l;Jrnd*gLT5bG(kd9Zkv-TV|<Qbz%>sIFpGzV{#@F zYc@EOdn~6Ar6?221q$lK)?_%7iGA!b7A6+BjD?AP5;2|F+Ez>^_9<f}?y-S=*Peul zErr$pO2L5l&9dl-zE<Xvis{6jRft{rm$s^ti3KrLD8^D^t2+doQDUn*W;kmxagVJo z_c)`(R&VArCKFpNo{<Okkcq9{GOk#Z*y^nu&M2|fTc<QDF|qHvcf-%RIxd6Nd&ObE zN<&Sc_t@%=mV!F5cOyrF$vxH_br*~hTfK|P$I8UI8l1_*c2$U0pv4r4?HVX3=97ta z%P<xuwwuRTnAq;VVmdKHA^PrICbnnvI!Zn(|C)8}U6|Oru=*Ihj@3t#vc$T!O5(?i zxW=rpRArRd>JCZHWMVx6&SYZo3}-U2!#vJfOp(~(E@v{aBOJ!U#Evu>3llpk@}d*# z>8U!wWMW7Anw7Z6R<zs?nAm%;8h@k0fNY>9V2K?TS5TxwiLEYg#b}SM-X+cJWMZeK zIFpI}H_4ey>~xE>7E>g4Mw~O5Snn8PVPd`WjD?ByF%;8@on>(*6Fb}0ti;4VoEiHP z6MG+4UyAQ8f{dDgCHCJyL7mvHNzP<q@yL;=lZg$C^E#Q>pcrQ|u|avxT1=7H1wLmo zF(=JfnAn9W#=^w(Pg-<hgY&9R@3Bh^%}Pvc-qi8uV`3k`>RWsm@P(%)V2KTK71W6x z9^*_V_FskQS|k&@E>KX6m5E)S;Y=oWgU4BmDH0p*awZcS;V>2^HqvA)Ozg&_Vmh&# zJkI1EyV=*Q#KiWm`LsVKwj5SZO~Qb6u9|=)c0*i2o!IFa&SYW(J<eoecUzpv#O`S| zpG<6GjMuf8BC&~i&SYYfe8$4WCZ`z-6H7%*Cw6ZuCKJ1lu@V#e&#Up*FtHV|`bh%@ zv^c6cOY9y`L7mtIQK4WmvFj~fClh<b<xD2_XsfX@u{kEMYr#jbdal8lOl+P)VjqWz z%?lJn7A7`7Vmh(MS}~c}6GmBhl>D`_=E$vkVPYS`>bKG`;8#;kz!H1ZS5PN5JjR(! z?CuO_GO?Fijg^TlO7l9I*efZ{T1=7Ht4YpeVy{_@g^4YWGZrTHx}%s*O#f6xFqzn! z8C_T69-DmZ_{EsmN3eQz3I_aTs0mnNuS8HMHqljug2}`l$#W(X`^e)=CbrV$OeW?# zoVA!Dv1<HN9-@a#tj1t0OsrNRvG2mf>Y@~NV)c$H)QPQ1X;xxle|}Xt7ZY0vtA8ki zs&X|R|F7QjuU^?I3Hk0~PFhv!#1@&H$;3Wy#bjb%7`#p<_N7AX9qgBZf;zFUGK__Z zeeE$8Ciac5m`-e+LhK#vcX0(vJ}W<))o>{$=0ij06jW^$s0mnNU!)Wi&She+DnzeP z?y;3I1x1}q>??~iN~~d<G-s4p!?vw@w3xWZ8n*Lz9qqA(PCjEYv4-sx(tE67hq!`K zVh#W2a7Jfk!;UG<O59^Tuij=kCRPm%hs2<&Q$|go6KmMkP*5l4bLZh%`FWbxQDO~y zw;C%G+eejA+A^_y0tH2n7E>g)Z-z6O*nS>kVPgBcjLALLa6sfmCw5?<>Y}r<;oz8N zB_=lOkIiq##A=}7lr&Uz_S6I{v3-&X>cqZm#b}Q;Y-92|nb@%kQ93fQV*>@nd@`}) zGMu%TBC+E=&SYXIxQvB~o#-$YCU#OvF`by1;Y{waUU|(*OzfCh&%TR^)j~sM09CuX zY66znah8HnVh!8HIg^R)9k~>BGBGQ|>ttdHk29IrIWA`{rbz5uhclU2UwlR$*dt8r zJcF??v3?QLiJkALI=#pG2bz_b*vez4{fLRxLBlZIV|zxEvc%4bsabVm`&yjI#EwmJ zCKJ0nnox|Di48G%olNWsgR>T_fQBm-qWvioyE0HvCpI+0SeV#V5z~oX-HORQHY|E= zC13fcZvOfZOspOn#^aTLe^WJQi493Bs1rLr&Y4Us(Td5$MtQtWCU%?4nM}-eIBPLQ zVz=X;@(_JxVxtYl!aX)dA$H{-8+p-*-QlQ0y~oC-G%InBJ#S8#kBO~<hS~V;;!s0P zz!JMHub@usoK{RGcDc{%WMcQ5oXNzd8Jx+)rYl7Isl^nDO%D{*iOt9`7AE$9$5^<> zW=39gVh^b@{qCaS;kbe&@39^&?%|l&YG`-?uVY83@%VrBeym|yN>QEI6|I;|?6w%M zlZh?Jb0!m8=yN6$dn(OYizyO&I>njXW6vZR3lmFQjD?9k>nf%bdoInHJS(3MG%InB z?LYs|NtjpzG_0_o>fg}>EU~9dHLFg{^*NJ?-5)s;buzIfDPAWNdppUQOza(tvlde% zwlvO}Ol(<<u`sb^dB(!T-ZK=_iM?-eCKLO>)vUzC?(O>F@t9a6G^~w7)rlE30ZZ)d zKtY|@^dx68v4sw2GO<RJGnrV{;7lggq!2qRn*s$zUzu2QhOscQoX1$0*cx9komij{ zJ1aklD_HVbIrg(f-(g}|Xx!R>s#85R0ZS~KQcx%Mw85E7>}`eURm;TkX$8etnb`VP z^U1_olDw|P6npGPi!+(nhB#wkVn4+g3lsY(ub58kXP-0LV~txGnw7Z6(o;W}jfpiu zqk)O_cGUzdv6hJG#NNp$D40yFG0hnz*4QO-9wpYeQ{-GQO003`R%2UCOssL26rYb0 zYwVh2OeWU2tHqd1tg)M`Sd>`fZfVYBVtW{xm6+JqkB@#I6KjUXqwzXsIcfr(SmVy7 zf;zD#?mSFvy}|2bVu$*i(H?8;9y!;E^+@r$7E>e^PjV&`JIrD%OziMDV_{-PIEv}S zj!bbT6YH7QtON9!X_j@AztXDD!)6&=euvu;PWmj5|E21Jk)NWgpP}(63;Nlf8V6gI zLHK)<`uTyP*j2oQ+tOv5$@#8q^6>FE{DoOV55!Mc4#sEs>|2km5zCN+s>&o(RT(%> z2N-(1i)Bq?%E10#9IjlB5FZ7Y3@X%7N!0~ZCSh3E*uxOTf{6=G<9PgiQ6*WanefBD zXk`r!!E>m!m7DWu#Zy+s;k4aN(Scj>q3PzlgkfPrO8`yd1d>+n_9H7fV^gUt=)UF8 zXys#QygOfLWlR!(dsJRonP7nZM@)8A!8PvWU;;@A!@?>j2~86W!6=of$r7#nFW>u6 zw1VN^=M-AGBZa58p{(3xq7_$k(5W=eNI}ybDG8O83uDl9mnj%odB82vN~hsRO-3u9 zK;w+ELM!9b(D-na%0w5fgliF{G7D1~pDwVHhNg*bWM#G$S=scq{ojT)_;dJ<Yq4pp z(8`@Y*nc`Il_|K+b3_A{O4UWUMep<_3=13Q-~vsdLP}+>7g^c#URg1E^8e7vr_eZW zqf{owpz(>MvNFR%V`0}Ql_zkE${%asMM<7&RTtr+&G3X5va%pnqLqib-iBXqJAMX@ z3*v>T+>3i99a)(j1N$#ibYOcWjaKeWNvNz0&Onp=`{rcjxl*m{<*nEbt$YrR&uwI7 zMjRSn&Zt!Iuh-juh1()ZWl<axh_|+KaUPoHIf9XuSDX@4`Flg})6vQo(D;g5n93{< z8sCU3EBJ59+J76O154!%51M9q5~@@#HK1t$tt44_(=XA=`w!jQ39Wnyjc;yrU74GQ z#&=T6%5%6^{tnk7N@ZyoG|kPowsM&TP0x`%va&2$qLrP-o-ICe`wAMDr3zD7;6UT@ zD3wKN7$|zSN@Y2wvcQp0rE+-&nii!6BP%OPP34R~-s_51zJ|sX8>ND~r?J{ssk~W+ zR+6%7luC_>3B+4l!M`Ke^rk@4N^PmB>|z`-53PIyjkO!4vdDzShA5S#NwgA(4s5S9 zU@D7D2~{dr8ql<qJX0!-rKZw*?f3YlyyLgf*tk(DZ{W$iCfX~@0~iQaft8QTph^Ci zNncln;$B%Eh(fXw#7o>O3n!d61g)%t#=tM!E4U{cKR49^)mUgHBRa5DzDQyMf+19? zT;)Pj4S6OjUl}D@$$TKb&+qshG=60kT3Mci#&v0Br4jc^hq&w-?UnE2m_V|%m8)^D zGzuhB`9WX!H~lr})Ja$Vj#j?Mi&?zTN;NJ?2Txg96F}pSp6H-csY>F$s176y3mZ3N zplJ;;O66z0K%2HQVRLg7TKNGQf3^y(G^Ai)$C$G6c?=rSH6F~$Fx(dnDG8O8|DnCl zG3qdtKT^>GZQ9C9`%M>C^3eE4y3ooRJZCz(%F4GcWXl}cRV`4}wYV?Vv|gYrAp6!8 zg(8(~hkS`vhHvv+H?*=IviSN7-cWw#p_RO{vfhX6<{8m}rE*;wnm+R+3=6Yc1kkkJ z7mTcIRcb23yY~`romwEf)kdj&8-s!6j<WKr3E6EO*)>Y#23(A9X)&TRD7zh|@~bHd z$x5eEQ|Z-Zhu&!AN65xDN@cx+R(xgU?-*ov6b*PP!*Q>ycO+D)bVhrBM|&mPrPNfG zoOAIaw6X!RT{cSP7as<0W`-S_x3nPJHS8LtG6EC$g%(4nva1VNEbLJ#-AYYmP5&k0 zO~Ox*-EE^({=&VonYyktZ|6bQ$cPSXuZ+aK@|P!}N@dRguvjp%vbR;@wtc4Tu?=YD zXUOiIEZDZqxc>%jZm3i`;{wUQ0L84_h;6qBL|dK8{+LQ<y+8+)n##HTmfe9?eu3<P zsX{B;#nDPiS;5@1-9=NL%FPxg5SLJ;(me^yySjo=Dm{V{Q~CM&hx?+HUm+VWe4E|8 zBQDSuWy;E)dB`5=i4H84TQGqgL#V7Am4W6x^P-Tf9379W<P7|(R`h%3NwYfLk5+zz ztoZ1n$`BKT-!nJwic4}_v~3T>Q+tb~=%B4+k4s|$v>4F>Ro#m0Kw@O&_)_27`oA`g zK`XyQ_Skfxl|6Au%xJIRcjW`O2nwv6Y+?eggkdUGqj1rB7=n?NUOJUcU-<u=cB^<p z`9H|^+9;I+aDng?mfzkqALT&yKPlN&1y?mH56uU75~>9{tqibOFtT!5soS>ux;HLF zD}O-tzp=tpx~I`fMp-$|hwPb_>>63Q&4Fh5Sy8k=*)wsk9Op+?`Xr;hvguU*m~!1s zXys4H_DL05IWi9ew~8w(y$r~nYZO}Xq4~(XgesMDQ_$Rt3MrMoW@Kg4+x8%P><qN> z7i9Z7g;tKkC8><gpfgM~=C!txtxRG9j)b9=Di`<98Kz)lWk9Lh_W54}v2Fi`Z2x4T zm6Owu9h6k5RN!)L9g|(v0%ZpU(0p=QLS^OlGH9+KMpiEHOH8F(mxDILe?+bfvIB!c zE2rb`7#t`o{qPLh+AXkhu?5Yi`vq1oseXoFWaSdKL@QHfO*u{cdv@4#qcf<&gzOMc zS+SF7B`>>1sa%0uw8E4yN(Ga$lY)_zq55Rr^j;Y{weBUf(gCvgJww4I?mS$eWOOoL z6u`iLIkIbHWf&%K9xX<6233vrp!uRe6q1!|gA!Ajo9g~0TImQ`{40$GR%~3h;nB%F z#6m0KT0~Yxhy+Ae{pGM~j1SF2EWyaijaG?Pj=6gDS7@aivNvwDZ7)hf_SWcR#y9r^ zw=qQrcHtLS){AH{bSih0L37d&g=FQnOo>+3cmL`dw6YmwZ`)|wULHVpOte>q$Iwc+ z7Evl=Gthi_Alhmx<KoaPZ>A(G<MbtN(|hHh=2P)A*7D6EJ1$kYK-b`2xhvW$_(gc& zwubB)S-Bhc$~B=swQa}aUb)2;g=FQPQuoT!8}>|~l`SAUaihI*g9q7r%hVY(I*(RT z1y-gQ(0qd@p|Uao_sZzJU}WXKREZ1pN%n-PXk|;t-j^;+<(3#^@n5_PzZ~A_z`*T9 z1HM;gq%eV)gv!cYxL59U1S2am%SyBo|Kd5k&9Zze$j&qht&Dad`*5JFOirVfr0g0k z&}?iw+LcgQxf}P&<g{R9#Vhr?vQwAtx1g1+A?s~)U73)F?A&OtOvAmhT_C$gR_5Ve znLvx7x9vR+G*5FyAz7JU>RyTWJ*^{J`4?m#+i0&$HX*wp+A9yGU|=V!z{*10E0awL zRVov4uRN3zjI2CW>UCw^nnT1TZX3uxwb6BD8t#>6(`td{l%bW3>>8!=9JZYnlTcZi zjEgo$AZg`=QuoR$x9oH*TG<w|_)i@aTx}mRAiKy=R-Uk6U@R`XMpj-iF#$tDWhI4s z<q3+9QhBx1>&mmEuDSuOYzJBVm*WboJeq<meh3zxLC<8+idSIe%``MWN{gZQ%DuQ( zp2>(pvXaqzWz+BCep&qCG_=wQvTtp)R~`>w;Px?P<)t#nE)@;f$y_xh1<j8K5{8A@ zrAcVUFR^%#m3NKkWZtxu={MblpT?Hsu6WlhOywC|lI>k(Wie*7JT1Gb1*)2g`{Ef| zj3|}t3Im!KQ&ME*Lw$+cw3Q2*%kjEZzCC0=+~^YbBAzqb=arQuc$KMf3as3Z`{Kpc z3zV(#p?Qfb3du^HSz;;|>`*=wt?U5VI;Sv|#Rd%A!BJM;%R{!oFR(HV_r+pELbX7R zCN#g77mTcA(<NFte8Y^<XyyMPoAnE=EQz5NUs+k{K=xx(c8wNjI_{MvF$tBGkJHe+ z(h-cTd{XLO8Q*swyfe6bN63D%(O!Aag@ONPDl7FqWaZ7q`u$4Pj0`5=ine;Me1UtV zp5h}bU-~7c;^xIi^yQr)`(?f`m5=ghC9SM9<5gyzBfCba%*4I&5iN$cvJUr3vmpw} z%J-%2mCK*(@i|)Q0@?33+AH-A4BRog#I41>@?*Fbk(CE=uhcuDt+w)`3(afE9$DFt zk5bw6Tc=vL_Z?_uC&>O3D@>&+4cXr!D_<wkSW0$PR<gh0UTI3VvQmX#teU@03Px6b z*QspU%2gxFFGDLkL-u#C(8^joegAUR0{ws&yw0KlyToPx%3}hqgkfRT!*OW-ArOqL z{Oy&P%Aftm;wvrR1+u?xv_M~%K~s5BS@}7RR_Mj*ZQE2HU;?76UZARneQ3r{)A0~i znl_J>Xyx#=hdzx~x<V8F1is*F&<{yy!uzAbuR(u!XeAIGn3b(@F@6aBsZ?gAq4^I_ z6q1#Hxg}cpV9FkEp_N^sX{%JBm7g-u)Ja`ea`<WYz%G{Pz^uefX#Oc9p|UdD0xTAc ztZW}I(aM0SV{ue@H*9JaTKOXmO`XlKLvAa)%5(|4s%_iUStJlIu#yKX7L2TP(R*dn zUxRx7zRiwkWjAQrF<oFK*8!Jgr?|4x$-^2$bkM0(c`3j$3B$ss-Q$q!M2xKL9+a5M z`mx<#K`XmM(;j7oR<?>k(>_ruT}(6<c8yZmCyfcvVno-Ksz=aD7gN|HEBlserSZuL zf1{N>plR=oQt5;XbYNbk(k%@GcMiKoRt|D7fr15kGzPhD>B!2#R*9*+(&d<OXvM&$ zg(q{avky%@V#><i23m1N2faW|JzT&t3B$swM=`0r4Z$dtc(Oz*6Sv#>K(w+aG{p<g zpj<Z-nvPVLxZFW_2JM`eU87X+<2o#pP+6Ii1S}SetQ=M90-ey35#N051x-CS+ADjd zq3PJjN*q(!#gSbjE61Xhy=XD?UYQd>E^dfIvT|IhR?<%{Jq@kw4Nb@73%Bioc+Q*@ zT~~VgXeC^W$V#FNatC^%t+q1Pf?Q83BrAzji3{}E0f#+=R`!9W#75h;2d2`mOzo8u z@C@o|%C3=>ez+Jt3R0Pyf!qmHNLJ2wO0+U!cpvdS^S;n@Ua~Nio(?osIm*f@DYO!H zjjY(XZF@S>pV}+);*dKfB^X&5Sn9UDaCGlq(8_+$G;pJBdpw>&PP9P1%V6NHhU^+y zxzL2%@w6Cvf#!LT!yf|TK~^rzN2zT3YCFCEM|iJO`To#!QLHePQ*fj1no_A)cs^Zf zhz|N>u9_di1VR`VHeH&6oMnnavT~UlS=sdam5M=ApG7MNK+|PGp_MaI&~#;#O1}UG zb`uSlm8PM2$elrpp;MWUi`Fj?g=FPwqeLs`-ZQ!vS~(D!t~Lv;RNw*)i%#Z&akP>Y z9ds&9!_Z1a!2-=kHZUGpxz>xUY<hu~4BCAUv~mzMU7IPif~Uv8Zh=~$!AWQu5o>Lw z>M;is2>q!A8iA<{CPt}@)Z2E`RvzupZ39|47@9_Iv~BGS3_K^VtPH`cjQq4ur&9HG z9CCI>`cqbJ!BmELf{~S5GbN_-XuLsuIXncKZry0F490V&uc@pgF_qh?1GDlio-Kn# zSAB_V8XbdNGD>CW;jX%WS4g<*$MD}oymGmF;FkBjh|Ld$rm>c|%a$ghKcZ7~OvIwi z7~VlEo)E8fQw_FQ)Zuw-&>e4e#T#J88_{IZPbI_qV#O1>0e)2uk4-ih+Ow?N3z?6w zK@YrvH6`wdRpZcFbgOXmvUGz9hAM2U!STmF@isPy<87&Fai6Oi#~R#`QcyRz%T%nb z1`R*obO<&$44Nhx;_g*_M6W>JnJS*p4JNv(aFY#ik%uh1a}G8*9GdQniF;DjIQ9ze z^cB<%rYN-OMaDHa>Dsft#|B40(*v%!(^MbPE0`E{)eUBNs&JF902{n^;!F5VQ~8m2 zyJue9KdQ#DS0L{V6;J2}v!kYMHJF*{Ccb|;3YzAd;;zttXfPv!y1_h06}Hs?g2TIF zgPzc|5O>ilt{TT)fxM4XJfRyb@Ks@34ZdBRI0+jZ4NcGE8oZfT<5+{a5!4Oj-I=1e ztp>|JIOz;*@NZ~(B_;05{D%e$90hfQMQO#_YEbLmc`!CO25*iG#NC!^9D4<NVRVBx zqq?>l47~gX@qxy%(6r1F_fSRy^`&Bwsi1DKG^toy4d(CuH=e%b$3fGIjJPvWjbpDs z-t{P+&<&Ocs<5pFXOCTZ05&)tnrh?Xen&NqHCP%k-Jr%&u&oC7o!#$vY;XeJbck#4 zm8r(D2J#L?@q}*B7}agE0bYx$o6{Y!!HLlHabDb;7!A~GP#q|!8?1>~TMc&Fdb=*z z;3R1J!Vz~Is=3%JkarV`Cv=0)W2&&N29?Y5fDQ01B!0$+_YtabtihV3g1W)Cu3~L9 zn9%F(d$7UD(DWmI+9*E)kz=E)>1UprOgC8XE7n$n8|S_&zUcRYrr%QHo<B8?y@GFJ z3hD;Gnu@j6VEdbn{0tkM0?lRkDRL~Di#1s9sL6DLzoWvo8jPB?P;Apvp?ND$+@GiB zVh!ZIcjAetLGzZDDr~DkVy^3Aga1HtC;XUox5yZ4An&Ma-9X+^Cs<nz*7Q5!B5ZIP zG<U&>_D+g1@=%N1yhRWa_6p>Ea)P(jp!$t@dtrnBLUT7?+##pt(yt)A`%OHdBihwf zg>5ys<;i&`V}sM7d2dtP_ok2N73}CKs2l8=S8S6F@QZ%;KH>(?@-y(}GhBnCEj5n4 z0(qyJctSTgFs2IIYS49A-B4`M8=B)~;vO|Mjy2fRRZutRVJNoA26(Y+TsQ>3ku5(H zntLY2oo8wsYas6`6Hn*{M>(pntp;<Z4*eY)^nvCR3~@i18pj%Rk6xB;aGb9S+iLLU zxEqFHgR`Ld6nq7JQfeG)aAaOV-JqAD*d`l@x9@+f!b!`|hUVV*3i>)~9BXh~1a$*> zUzaFutHGFY!^PY83TU=c;*PF=Xdv&_5>My`6=_x2R)b}!f4z?lENDI-chSH=jbpDs z-h(Bc&<*+-s<5pF$697jY><HFftI-YN{wR;<egRG3EjYsUTRwnYDb;992=Yi&4V-I zo~nOna9$LLZg5ec3fpRML)UY5#|Gy@^A&M%r<6XTONAXV-C#)Mq^$<OZoUlP2A21Q z=3%%7H%70VMRZXFb%Ug#y0+DzX4a}f*x)?82`Mk`YEt7^gUchR8^}ABL~&aU%J-T( z5F7M^=35<cuhKs>xF)TjZg7jMSX&KlcHIxL!THcU#us-W=_6W$8$1Pd19^9m;B7TH zW7ZR*L4Rn*zw3$j6{)#cMDm^?@q})0r=tqnYA_(U_+o5O3C*dLxLZh#V+}^T3hD-v zBPVS&81?TXCt-sD&^#U2z_Zj`tbx40M?9e$OmkIXTMa&ZdQb6LMHMtZoD_HV=p$N# z$)<w3fxK%+@U|K}GGXG8*uciyYXWh<j+%?Tf@v`Ybp!l#AUxV?F#W_g@S~aXfzbS9 zT-=4D#<2zuMNl_*BFeI@27}+}x(pi(g66a*?ydQU29HKiH+Uwa3OCsRza}4b`a%7$ z!3EI#a!lMYqmO6}9uE}M4PH`c(`$eY_Dfy!05-rM#J`Sf@U9sRjK0GO?{N`N=mzp0 z7s1+k1y|hjdnasgAvC}3i@RII7<ojmK;F3`pl-0ll|^kgc<thk=VOD5p!ow++_R#_ zu|-~ND5x9A`%wgM>lO4l<azPNYcMqXX>litnu|495>rq&Sm`L%R)hH$?=HTgT@1~u z4RL>o8pj&E=PIZh)JIO*YH;TVPmae1mq2qaDef9kbFl^=MNl_rHdJ9-4c<OrGx65( zQfU4R*Wi0cjbjb!Bd8n5`#ePPCL7=zuY>z;^DZ{H44S{O#2p_0&_Le3A)e3;zD}yb zwi-OsWt@21ayc~TGvdAtHIBW4wXTA?fxIU}@U|KZJLpgg8w`QwUt;2J3^f;PfFBx$ zhi)M6v=F$h2Cu$zVip@*0nLB9;vS1|Dlt<1jT(9Xgm^+X_`?&A#nD!SirwwAu)&ph zqeEWYIUz^UNY&t{jDk^v@U93d!@ffgFY@s|F7k@)z7TI)hC*&@N8Asg=3=klkGO)m z!B(zfn|uX$vFlpXL;NK2D#*ps;w}d@PB#eeU=UB}2Aw=rxXA|i3Sb|r8#cHaayuE~ z-UWTAH3;uZ5Krg^T})NjR)YZt>@PkHxdw8(rNkWxY8-n7@@@n1gl-`3HV~|>25-Lf zj%bjC+&*REJ_9jE9?>i4>?@=j>}@F4R)am?xw$Jg7=}OW$6XXpsd4NTbTbvy4GxMa z)>ebL1Fl++4X%aUVfYI0q>hg07093W3$7c)4OQ1xgYM&cXRyI_kUJW8(J^^7j=h2d zJq2|G`BQws+iGyn;zbrVxE^vR;x0<0)m*GWj|l1pCzz_Rtp-1xULij5x&d;hCdE(X z)i~Cmr=y^5Ab;X6cv}r#pJ_ad4Tj^7#sl%Qb~P7kaJ;XeZh&7y!ef&S@JzO!9QrIa z7y-G2C4Pdg#<2#c7z*kJ@~7j1Z?XZN$@6PIT#XGzLhk&G__??kBadhooe{k(-Jo9( zmEq>v)WvRQhYM$5gBu|?C?<Z|t;VreAb*lAp3n{CPqGEu<SW34wn=}zCpNeVau>Ve zXV_wlJfc_7FR74jAb&nBcv}r#|ExiL8+$Y4uE>j@Osl!rE3h*P>IOqR#oB7Ha#X`2 zY;X(YhT$6A8mMus!QhDL2Fd7Eb-*uuP4Wem-wL_w)z9&15NwIR^y%_@@|Z6Eo+UL; zhq5hjQ0@j_fbvn08?Nropb9n!e<Knh{39GRTn@SoawCcj!ry1427&A}LJq<^14b4d zG$U0oXrvr;JLGOGI%rm5ryJ#<(U7~T=%6`C)hT>UH^&7i9|O6Yli^(uRKbF1d?Fx( ze}u2;mXrYHV<C5oUu;l15H;cm2i=+%56bU=+^Bf5L5s)@8+4mRgT_Jbwp6h}Z+N0c z9APInEgqDQhn$-)Hi-XVigv{47!8^LxzSd!LCZZ+BaX1sn51}6ekbI{q>BxzF-46y z!a-ww@u2)J$lVbuHmJc9HR1>djf;y1<#$7FT(a1pk3|U`;h^y;@u>VB$c^`l4f-M} zheVy^hYIBrA$MoI*r4ypjTjhqy2}y|$|phYu2iu>8#1Cs9O2%(J1riRPljCdtHT5+ z<9qLa1|j?-95gW|KzRys6Rjeh@V8)y8gYb!CMCs#@_QjSDP3&P7J;Y{M>uG*FCLUn zfm|w9Y|wVDs1Zjv=-#+^P<|ie?oAdO)Y%X<;s^&#k)5VO4sVH&w@%a3EQsu`E+IW= zs_b+><fazwv}aH-=>C)d<<lT{zhA7={%*mbX?Yqn9dgs-#Rhdx77UtU(V!WSn~^Fu z=%`G=pa*292Ou}IXs6@SYEZcM9+aJCLhiw$olZ6j20cWxls^c$hw{bjou<a9b($3u zr2HYs&9aIOIy0k2g^N2oNrN7S-0XC*LFc9l20bD>&4Sz`MLSi}#A09=#G|s)Y{)%Y zw9}wKbqWW)AUolGTQ3ytbg@-1=tbG-5y-t*w9^%tf<Z6&0+c@rIsB}v$Sxm76N|dg z-Xhs)4&)XU?KC0~1H=&ydPR1c3%OT|b{b{LA<>}M;sTV<gWPM$V)n*n3I@r~$;#(L zZn0l%(A~*`L9gcpD1QucZ^VlYnqm|TT9Of<{Bg*=T~=(+M(-ouF=)^ekbB1|HfXje zp(9LhsVg3pKMA>|#okb5=M}!DWdRLZ0J(RKVx1NmqDCBHr}s?ppnM_Z-gAo$dd?R$ z;s^)5ABYF#PeJa3qMcqbMU6PZLCa0?p!{jbEic;X&9tZyM>uGOCmxhP1GyDJF?&m+ zAi~rABQd6|JPo;z%wmI97*vFRgo9Q(0+c@sxs_hAK{Zhj;h<_UrmXxq$W<5Z)M!!> z{t*tUaRexT9&$BBJAE7l5e}-&(4ZF}S65cd-WP_b5l1+v-VhJUUxZw}Q*6+>!q>FQ zr9m%2ZdIn(pdYD5)P<cI4Dq1+Wym!Y?etqp)QBTo+(uVCC|?A*#-g46%8MFtgoCny zcu@Wd<eH2k_VDjii5hW)gPKk8p!`+HHM_+IZCz+D=h2|oAeRe@4T_nfMjT<Mk4^EQ zd@<xcF50PcTGWUm929usLHX;D3yOByJuYg*5k|h29+bZUxwU37d;1i2`qUAl%HM?C zr(Ur^2T_fv3+;WD5f92Uko&x>*q|P+s1Zjv=nF?YD1QrbUli?hWM0&WBOLT)Mm#8A z0=ch>b~?6j(ANeHdK+?IJH_lJL<t>Xr*B;GsQewseUm9Rh=1=+-=KUO(4eJ|TW1s- zWV@n99AT<=AfM8RWhz+UY`5)QBS-^nD;6l)nqPABuLmG$m@p5$=e*DIS!+2f4gk z%-+z#^wxVc=zYko4~h*MRygQKF{Z5i1IYbo78^9er6T+zw70<%pnN&xHWcl2OVlYG z^s^XKR=xsqKNsyJzi$+EVvsz*-cO3nz&_9;xi#3~N1UBdxy0}n%N`_KZV&ds4zV3j z`K102>_bdaJEKaI+6C-G4N_fErAX}xc6SnG-B2Y-?uIHLwL927EK+-*%8)X^j>k#u ziOM6j7ubizNbQZvCAAN#JgI%bKHMR-A1a^J{$L+rk~#oYn$&?{A8C*}2vv&I!C)Un zqU;b<Ns@=63P^PayQf8}2dWIIIM_$WNgamDBXu~~|BjJ55|vBpC{%e;J;6T4A$2q= zpVYs>KGr0445~D#W5GVoAaxw76shCEKAuF`38<1JPec`vItlC(EK(+_45^dBJ~2+} zR8$_R|A2i`jMQnUTvBJC%9H91w&{>M6O~V@57^;%C1;^Z6FVF1UIwWOR4Gyx*r$*v zOQ1@UJO@=k>Rhl-wMg|vl_7N=*#C)>>W9iBbw1dq#Ypu><&vsIl_xa-?EgBXs!;i) zY_Lx^Nex7mCN&7`GYnD}ph}U#-$@*Pu6rS>B(aN71*8UpeWpd~VpJJYmw??TPU=!r z9;wT~J}XA*a#Sv<A*k}Ct^oUNht!p*d{RTft}sbmg(^+zYOpPX)HSG5q>^AKNR$mj zl_YsBs({pWV4q`=x*k=A)D2*t8z(g!l}Bm>*nMN9Mxt^_-H0kr>L#%Jr%2rlb|s0j zTTmrQ-ij(9H45wj7OC4%Wk|VTSH(%)j>;o78f-g8Y78ou)L2w`Qg?to&>=Mrl}~Cs z*n><`6Hui|-3j&u2C2JHrAXZkwnL)q9#lz^6Hx`ECV_pSMQSpt45<{@7sW~4i^?N4 z1?<5wQum>9NlitSCv`vA7dxb;q4G&h2m2C})C^Q<QV)QAsX=NcsuZaQ!M=<{*+Zz3 zBp*f<keUVd<rb;gs4}EHu!qD+J%Y+3^(fd^#7NCS<&v6<Do<)2*jGBF=A-gSJqGqr zlhos=(xjdM`znLflc-Xp7Jz*<iL!;Lk|du(6_9!w>}xDi&!EbXN`sw@lX@1FN9sAS zhs8)ekIE(W0;)Wz7s0;PA@vd}pVZ4>UuTk9gepzy6|k>2NWF?GMd~%MZy-^&7*&$w z>!<=!Z-71ABK0P!45<v*BjTjqLgkTK0`|xlskc$Nq~1Z5C$$vp8y!;1Q2C_Z1^XtG z)cdH?q&@)qW`opnR4Gy`z`lh<*+;07Bv+yeNcmvjYLTi&l_6CF_NX|iT2vmXI<Rkx zk*Y`Kl3Il-Pii&Tu0yH;l~1Y>?AuLJSyX9KO<<2UNHwEMk;;KRhD6yKR7sK_qY6j` zV2^i6eS#`aYAx6k98#a6@=1LL_MIlF&rzjGeF64e2B|MmrAU1R_T41PzDAWK`3<Uo z)VE;YW06{iDnsf!uqVbzeUHi`^#j<GVx;n@TvF>%<w>=GJ=r1kBPyTN2C!2msh?1# zN&O7=y#}dYP^C!y3icEdWxt_HlKdT2K<a;B-)E8f16799pJ2-mCd>Xp<q`WE?E7Ov z;m>gF`(09iDo?5d*wY+R9Z~tD%E6v)lG+San$+fC&oD@Bfht96ORyghq71f1l_d2q zQ~{}Nz@BN5+7?xY)OKJ$7$?;Ul}9QD_CqmJ+oN(x?SLvz>i@ug*deteDxXwmuxFX1 zx}Zvv+6nC02C1D<rAX}pwkJdxbVZdUwJWNCR5!36u}JNPDnn{_upf<++5?qG$^d&# zjMSc}TvB_X%9Gj~?70r9eNg$N_62*MNoqe-X;S-xJ>MX80IC$J1Hpbwh%z_`Rg%;p zr~*=lg8jHfsynI-sW{kA#7P~7$|H3+*iXht9f8UvbtI}hsiVMN;E?Kx$|rR+*b7Zk z|3;N2bqv@~8KjOyl_GT<*iQ>l2FIgHk~#rZK<Y%WpRq`t1c~W!QYIv3$hwmu@j#kb zFG$SHlR5<w56QYyA@Q($_P>yrC7(SV5}tha3`pEBpY06^d0xVqkeDdz`aoi`tUC)5 z^6Y`LA#tyKwgM9O$!9G{OifbX1SIZ~>>NmpN)bCB60Sq4KO}DVNL4~&j6rGuB*r?V zsvvQPN6Lo81cTH-NZgVkH3$;d$oVdS#4wMT1BvTo-wPpegGuZnNQ{V)8Vre%0jY~2 zaZ{euC6Kr(L+VmUI6kS%AaRjL>T*b2Eaw{niAzmlS3u%&i`12nxWXVc6cSg;`L2S* z1p<}9)sQ&HA$1KT`o>8mA#q-s)G$b#?~=L}5|whk>mX5O5W5}{ww&(<NF*d14vAA` z-3UmWCfP_xoF1nUH$p<b7loT3ai&S^W=QmLN!<d8ih$Iukmx1ZC`cTYB6b@jj&?}7 zkT^!pcRM7G6Q~SEL*jU!)EG#d7?2tZ2{TRV4oDo~k{Snz{p5V(A#s31Yyu<>lJngO zi9<|ccR`|ijMUwb=n;^*2NH+L`6fbQpA4}{kl0DiHyIMUc*IhW*fmM&UP$a_l9~dE zJ>-1%LBa@#O@+i>c~bX7qH~7SG)QdelbQ~RtvymRAhC^{?*T|`XA+wUiI_#|K}hUi zka`Fb|0m~r7!q3uR0gxa`c2L^8?66%#5}P6Op|&9tiN4Sk3s_Ed~+bt(I7S#66JEf zd0_o2P#HW1)_1b*aj<?ch&=&T-XZlQSn?wSSO8W_Kx`pc8|1T3fhBLJgQvmz)}&{j z0qYa#B@NbE+3i`dK8w?{&w=&1eD-;;zL3wp0M=LX*%!h3I!Sdef%S1f>SeHMQlu7v zRp*d;1*}za#H(O6n8aQKD;p!V7_6p%)azj73{r1^<!4B}3D(<kz6@APJz{Tx^=^{X z60qJkNxco$ayj2SV66y<Ed}eNJgH@1y_F&LE?6)4q}~JTC6CnmU@emKeE`<0Cb8vU zEw)Il0P78d)Q4cbDd+nLtmg$PgOy;-m&^z2@eHwQu%7fu)qu6oBUKC5Qvs<uu%0nU z)q|CmV^@JSPqNiu&4|;p4Pea_0&mX%>p?kR7OaOoVohMpPLgT{>k*e!4y-vAsWo6t zGe~_5)}3;`0Ia(ODuYkJx<}5p7OY7Du}{GYuhgG`HN_?NIapKWd|!Yy-XZoSSU1V} zz5?qOli1f_jf#=_2CUlxQs07gdz#cbu*SHgz60xy6shmQ8tIVw0jw*Nr1D^0Ws+JC z)-`gz7O;{5u^+*@Hcx5;Sl4Gr{RGx<Ip42f4e^Nm2G$^h)bC(jAV>TUtP7LG{s3#R zN$O9qE_O-%1=gh&slUOxjOOc529_NN)&amuc%(XjbuP`)p(9x5nZ(M$IzL8gGqC#8 zEFCrntI{X71z1(`*)74UND<o#tX>|et-(4qN$Ou<oo15S2CUO9Qrm*n+aR?aSZC%* zbpq?G45=7crcY{nu#WIZ?EuzMX;S|O*3mAh9l<(A&es{N;|yY5z&c*ew-Z<=2~^f$ zXRr>F^X&rGJ^`_=VC^U8+ZC(>Tw>k8I!Mm98(4=p#C8X(dz{oBV38>6V1TuEjM$!F zbq+}F1=db!QhS57ONP`wVC|YBwJ%t^Ii&UjYY&>H!~S6HDNtF51Hjr*&UYYKTRFrI z0!v<>I~)v_ygqk01gvdkk3+%g<WgOCu(lVXtV0~E9eh%Ufwe_I>Tsy|%OZ6IRQ#PH zbtG72vhFCbI>={xg4Izzdo);^IaK#=ur~Kd9Rn4==Sdw472gM>j)RK4LF#y@SnrTJ z0V-NNQYS*ih9s$zpyF4lOsM!RP3&Z-_|75K3o1U7>J+H>+#_}>RD2PT`VUlm<&ZiJ zD!%qe{TC{}2}qp|73&OAXF$cLQuT%kdGAbzGohj}plAC)MUzA7EU0MqNSzH8xqws! zRD5iZvY;YxNF|_RwN&Ro#fLtzbD?5oj8tE!@GVm3K}B_nR6nSwbx55L6?Flr{!p>X zAXNz!E98g)Q1MobSQS((k<5k)`GeXH1EFH6N6!v|ie&+*3!vh?G${uvK5$802o-Po zr0{*+eEBTCuUjDJ!}oOyQ}pa5Q1L>B)TL1InjCQ%RJ<M|b~#kMA?xsc-Ml0*d|&s7 zRQSH`(KIo9UpF^S>MF2bu}EEwDnsfTuwRwWCQ*6BhJpQBjMTNLTvFGe%9FYt?8OeL z8&LVAhJ*dONooYDG^vqbzhRKN5mk!RO<=z%L|KQMQ6)*;f+`?&E7)(lq(-62le!J; zcN|hKDxcKtU@tXEjYgFwH3sZu2C1>AQl#zx`&}W*I*db=BsCsYKxzWm?^&eoM3o_R z7ufH|N!^XgBXtkhAH+yaMCFp2gep&JGT6%<QYlnEse8d*VUn7HDoyG>us<|NO+}R= zbwAi22~pNz8mc6z>8JuyGr(SHk$M1ChSW^3{Wz%yQF){u0=qg!>S0tasadG<q-KL% z<B;-D`J^5JyVfN2D5^B6Ibhcrq~@YZk(vi~y%1#`=A%lIdJI)S>T$4FS)`sol_B*c z*sJ5D7NGJ-Ed;wEM(Qb4E~%$c<w-pQcB4ZojmjtWEZA9-)N`oPq@D-6$sqLtsuZag z!EP3!tiwyFlB8Zn6_8p4cFrR83aSjLSHWHrC-oXCkJMtYKaP=l9hFP!4ODqjZ-O0O zRWhi2VsC-{iAib+sx+y$!Cq^SdIwdC)KaiN6{4)eGE_-Y@1hDwy$AMZ7OD49Wk`Jh z_UCa@%TalxR)GCQjMRsyTv8vQ%9C0N_LmMRAC*t48tku3QZ=a3q-w$b+8|YjDn+Uu z>~Dl9>#zz{lGJKc0jUPCzqLp;qRNoUg1s(IstJ`xsu}F>Vx)4YTvBUL<w<=E_V*5{ z0F_Vb6R=y7q}HMeNPP<Sj~1!V{=cgGkBz##;{g8sd>^J2M!CryL!fw+mO{mHB7(Le zClru^aDXUcA9hl41;iZ=LA1>C7t_k*L^fF++sPOrLp?TJwvd=3S(I4fF4Ii2knLhN z2Ds^o6lejr_wy!Czt8@A<=v-GzrE5zNcw(5dFr3id^$!QgR<1Wq`50Z9f#7?38+M! zl;$%@>NBW7{ac#P#;N~6IqGw1J{P6FfHG7`n!61=|4S%Eoq~$gSJK>*piV=1s>`g# zQfJI)D|Obcr26OVNU7g#H$wd$GuX*<=j}qKf58q^`WNj!r2n;@XY~JT*AW%!yUcrH zO+@TApz`fBA2xM0{#{_++Q$ylsc+a_ICYsBY2#ZjHydeGnVBe~t}qK>R9`dDMfEfL zSkyPoJQda7tV2=dW}Jx{V78H{keMc;zGb(7)RlIMM-4Q)IDBi^%+gR1vkF5EvNJ5| z+t~XEF&hk}sjHw8HN;MEsG)WNLk+V76sp4RKd9k$enDMr*AG+_HT&igPmO?5R3%iT zM%w0kRb`9kRkiJXSEFq0x~f6j_oe3>4W;?MW1vgVS8EEmnO$T0uc@)7eww=0v_DgI zrhJ(iXWNby8uKD1^3-)uiW(0Usq1ait(stqX4MU*^_6d(Xlqv0B=mWPnB54ashgk@ zRc|XcRfBD~R5#m#Nj2H_JE~i3y`q|8x(@liag^#Ac<NRtMNNf@)HKl*391pwQ`1F{ zNK!MP0yR@~Wt_SV%2BgKkBm}HP==Z<y2`*)bD$J;J5;3Rimpyj^PoJH5IrhJ&4;qo z0?{=gY9W-S?tn_vBGIFh)SXa)x=Zw!IJFqcQFn{3jZ#aX40Vs_YYaTq45cUy6{)47 z$0n%nKzS-D`q~(EFO;R0iLMJ#El`@e4=Pd1MUP8T_d^BhyP{)psujvnD@0!xrB*^2 zYL)2m2A+BVN>Qt!BK4r?>l4)Xpge`r#0fEK4V0xG5`9C6`aYDV)<PxfVbK$l)H<j@ ztrtBhPCWwUs12fTj8cz68R{|7HyL=U4N6fPp(6DI(e(-HaVSrvMK{E#C!j3#r0APN z)KgHJdKxNG&xoF!q&7hX>W89liBr!)IqEslQ=(Kml%bv%9XIgQW++Ad2r5!9h`u#J zZGrMsM)cGe^&*s|wu+t>qF#d1)HbL@{aAEklKKf$pk5X|Jx*<ha@0>n&xleTP=<O% z^h^U!{R~P`JD?)<bJ4dYs9!*NDl2+cjCvKyQaeRAg{WUbX=)c#qJAZMc9Pl+6{y!l z&xuoepd9tO=tP3r3+1U_i=H2&_CZ<d4Rm3Ks5hZB^%hj3a-tU|sr^ua`i-fq#4iF} z`b{9uFWXw!<#}Q3v&Qg0MZNLpkCq)ojIGo<=d_$#e7qg;=Vrz{I4w1)Ar*+RA$nER ziCcDcb|OZT*be8k|7`hIe4~fI<hXY4hm=8^!|x+LWoECPOPbpHeT4WcGePad_q|y* z2=QsOl;xdxZ0gVw#9d~Z*@@R4{;(1888egY#9LzJ=0lz}lf_Ov;pi)$B0gv4gPr*7 z$y0|Acbh3+Ctkbry_JZ2%&e{xcRsRl0^;*#;?{|`m!F=C_=1_64PyWArA#a0iyV9H zeNFtMpInYFVEAheuLkknP4SJ0v4Q3#ol8C(JARwzMLZ6Y2B-hL=fv+3V;ii$dwS;5 zifY8z=?Z(!C0(2Ml_SPx))4n}b^VBoh_PQ4%{!-8w{|GR*pkBE3c-i$ieKnJj9sTX z_wGGMYKJ4n#u9!S_MVpQZCUex*gI;7JMpl;^*5)nJrs`yvEN#G{BFe90h;c--hTT6 z4?mtG*yNd=a84iHy>c32?BgtSE|E;fA09`Hts2}FJjt4!4N=6{jaiy<;_eHLe?p86 zmzJUvuRd^OH)8yH`--d+*KK+muV@6@CMoAh<iz_`0}*3qWL@4leQ)J}%MfGpV`I#T zXM{e$cUlDd8&A1+zuvcD0b*=nw7YkAR?YtyF?K0l^qfnUr&?Y`jE#tw-B0IK=E-@8 zvDdJp=$uZyv*fpkv7NBXy?f=J^H(AsVrGq;(@Xv_(_AvtObj{k@;g2=FYGWg_v6Ig z2Y=~CTw$hng4iFG?Ky&YIEQa~zYPA+!`l`izM3O6LHyoBO$o$N4#EWStk(UL5s%<F zOAtS}Z13}kD>;-B#QCWQ)*>Fs(UKtE5MFUR;wlb^1o0Q|Hr6Aq=9ousEC;I=O+-A( z%xnaoj=c8QH{M2EV<s=0_~WMscOXXJbRYN2P}VvX-yIQjKlgPn8Mv>-JPCT32Nax3 zo@?9SBSt53Bp$^6+#~IC5Tl<s>|Qdj=ivtsqdB<BIW5l&UiC-B==&X03NDc=@^j1| zHnjAP3pw%c!V7B=$4tGw6JLC{YCU2!;@1CPeBhmah|yy^#eMEiPOj@jjP}_(J?D~| z#fSGJMrZ6jNhdzo=TrP-i=gQ>>0IJh99vdIjDFVpqt5Bf_^#E6(W<)2IW3Ppy4}3q s=t5oNJfJ_RV@nNUG?=b;K1=`nu|tCqqj$8;JzZAYbO15hLZ8U~4>^cX>i_@% literal 0 HcmV?d00001 diff --git a/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.ngo b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.ngo new file mode 100644 index 0000000000000000000000000000000000000000..b205295c8154ade5c5c82311369c66da604f92ef GIT binary patch literal 201409 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�kx0DdL1?vGj04PqEZ+ zLbF*~IH5T#C7jUHEFGNCGb|OHkjB!$3C(3G;DqL}^lw7*S?V{T1uX5G&_b5-P3T#c z?oH@9mg-IDd6wo)Xc0^CCbXEPcN1E|Qo9Mgz|y)2y~t9!2`y#m+=P~~>}^63mbp!6 NIm_B6w1OpR{~tbConrt1 literal 0 HcmV?d00001 diff --git a/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.vhd b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.vhd new file mode 100644 index 0000000..d769bb8 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0.vhd @@ -0,0 +1,435 @@ + +-- +-- Verific VHDL Description of module DCUA +-- + +-- DCUA is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes0rsl_core +-- + +-- serdes0rsl_core is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes0sll_core +-- + +-- serdes0sll_core is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes0 +-- + +library ieee ; +use ieee.std_logic_1164.all ; + +library ecp5um ; +use ecp5um.components.all ; + +entity serdes0 is + port (hdoutp: out std_logic; + hdoutn: out std_logic; + hdinp: in std_logic; + hdinn: in std_logic; + rxrefclk: in std_logic; + rx_pclk: out std_logic; + tx_pclk: out std_logic; + txdata: in std_logic_vector(7 downto 0); + tx_k: in std_logic_vector(0 downto 0); + tx_force_disp: in std_logic_vector(0 downto 0); + tx_disp_sel: in std_logic_vector(0 downto 0); + rxdata: out std_logic_vector(7 downto 0); + rx_k: out std_logic_vector(0 downto 0); + rx_disp_err: out std_logic_vector(0 downto 0); + rx_cv_err: out std_logic_vector(0 downto 0); + tx_idle_c: in std_logic; + signal_detect_c: in std_logic; + rx_los_low_s: out std_logic; + lsm_status_s: out std_logic; + rx_cdr_lol_s: out std_logic; + sli_rst: in std_logic; + tx_pwrup_c: in std_logic; + rx_pwrup_c: in std_logic; + sci_wrdata: in std_logic_vector(7 downto 0); + sci_addr: in std_logic_vector(5 downto 0); + sci_rddata: out std_logic_vector(7 downto 0); + sci_en_dual: in std_logic; + sci_sel_dual: in std_logic; + sci_en: in std_logic; + sci_sel: in std_logic; + sci_rd: in std_logic; + sci_wrn: in std_logic; + sci_int: out std_logic; + cyawstn: in std_logic; + serdes_pdb: in std_logic; + pll_refclki: in std_logic; + rsl_disable: in std_logic; + rsl_rst: in std_logic; + serdes_rst_dual_c: in std_logic; + rst_dual_c: in std_logic; + tx_serdes_rst_c: in std_logic; + tx_pcs_rst_c: in std_logic; + pll_lol: out std_logic; + rsl_tx_rdy: out std_logic; + rx_serdes_rst_c: in std_logic; + rx_pcs_rst_c: in std_logic; + rsl_rx_rdy: out std_logic + ); + +end entity serdes0; + +architecture v1 of serdes0 is + component serdes0rsl_core is + generic (pnum_channels: integer := 1; + pprotocol: string := "G8B10B"; + pserdes_mode: string := "RX AND TX"; + pport_tx_rdy: string := "ENABLED"; + pwait_tx_rdy: integer := 3000; + pport_rx_rdy: string := "ENABLED"; + pwait_rx_rdy: integer := 3000); + port (rui_rst: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(132) + rui_serdes_rst_dual_c: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(133) + rui_rst_dual_c: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(134) + rui_rsl_disable: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(135) + rui_tx_ref_clk: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(137) + rui_tx_serdes_rst_c: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(138) + rui_tx_pcs_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(139) + rdi_pll_lol: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(140) + rui_rx_ref_clk: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(142) + rui_rx_serdes_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(143) + rui_rx_pcs_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(144) + rdi_rx_los_low_s: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(145) + rdi_rx_cdr_lol_s: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(146) + rdo_serdes_rst_dual_c: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(149) + rdo_rst_dual_c: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(150) + ruo_tx_rdy: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(152) + rdo_tx_serdes_rst_c: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(153) + rdo_tx_pcs_rst_c: out std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(154) + ruo_rx_rdy: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(156) + rdo_rx_serdes_rst_c: out std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(157) + rdo_rx_pcs_rst_c: out std_logic_vector(3 downto 0) -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(158) + ); + + end component serdes0rsl_core; -- syn_black_box=1 -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(88) + component serdes0sll_core is + generic (PPROTOCOL: string := "G8B10B"; + PLOL_SETTING: integer := 1; + PDYN_RATE_CTRL: string := "DISABLED"; + PPCIE_MAX_RATE: string := "2.5"; + PDIFF_VAL_LOCK: integer := 20; + PDIFF_VAL_UNLOCK: integer := 132; + PPCLK_TC: integer := 65536; + PDIFF_DIV11_VAL_LOCK: integer := 0; + PDIFF_DIV11_VAL_UNLOCK: integer := 0; + PPCLK_DIV11_TC: integer := 0); + port (sli_rst: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(125) + sli_refclk: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(126) + sli_pclk: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(127) + sli_div2_rate: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(128) + sli_div11_rate: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(129) + sli_gear_mode: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(130) + sli_cpri_mode: in std_logic_vector(2 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(131) + sli_pcie_mode: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(132) + slo_plol: out std_logic -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(135) + ); + + end component serdes0sll_core; -- syn_black_box=1 -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/sll_core_template.v(107) + signal n48,n47,n1,n2,n3,n4,rx_pclk_c,tx_pclk_c,n5,n6,n7,n8,n9, + n10,n11,n12,rx_los_low_s_c,n13,n14,n15,n16,rx_cdr_lol_s_c,n17, + n18,rsl_tx_pcs_rst_c,rsl_rx_pcs_rst_c,rsl_rx_serdes_rst_c,rsl_rst_dual_c, + rsl_serdes_rst_dual_c,rsl_tx_serdes_rst_c,n19,n20,n21,n22,n23, + n24,n25,n26,n27,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37, + n38,n39,n40,n41,n42,n43,n44,n45,n46,n49,n106,n105,n50,n51, + n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65, + n66,n67,n68,n69,n70,n71,n72,n73,n74,n75,n76,n77,n78,n79, + n80,n81,n82,n83,n84,n85,n86,n87,n88,n89,n90,n91,n92,n93, + n94,n95,n96,n97,n98,n99,n100,n101,n102,n103,n104,n115,n114, + n113,pll_lol_c,n125,n124,n116,n117,n118,n119,n120,n121,n122, + n123,\_Z\,n127,n126,gnd,pwr : std_logic; + attribute LOC : string; + attribute LOC of DCU0_inst : label is "DCU0"; + attribute CHAN : string; + attribute CHAN of DCU0_inst : label is "CH0"; +begin + rx_pclk <= rx_pclk_c; + tx_pclk <= tx_pclk_c; + rx_los_low_s <= rx_los_low_s_c; + rx_cdr_lol_s <= rx_cdr_lol_s_c; + pll_lol <= pll_lol_c; + DCU0_inst: component DCUA generic map (D_MACROPDB=>"0b1",D_IB_PWDNB=>"0b1", + D_XGE_MODE=>"0b0",D_LOW_MARK=>"0d4",D_HIGH_MARK=>"0d12",D_BUS8BIT_SEL=>"0b0", + D_CDR_LOL_SET=>"0b11",D_TXPLL_PWDNB=>"0b1",D_BITCLK_LOCAL_EN=>"0b1", + D_BITCLK_ND_EN=>"0b0",D_BITCLK_FROM_ND_EN=>"0b0",D_SYNC_LOCAL_EN=>"0b1", + D_SYNC_ND_EN=>"0b0",CH0_UC_MODE=>"0b1",CH0_PCIE_MODE=>"0b0",CH0_RIO_MODE=>"0b0", + CH0_WA_MODE=>"0b0",CH0_INVERT_RX=>"0b0",CH0_INVERT_TX=>"0b0",CH0_PRBS_SELECTION=>"0b0", + CH0_GE_AN_ENABLE=>"0b0",CH0_PRBS_LOCK=>"0b0",CH0_PRBS_ENABLE=>"0b0", + CH0_ENABLE_CG_ALIGN=>"0b1",CH0_TX_GEAR_MODE=>"0b0",CH0_RX_GEAR_MODE=>"0b0", + CH0_PCS_DET_TIME_SEL=>"0b00",CH0_PCIE_EI_EN=>"0b0",CH0_TX_GEAR_BYPASS=>"0b0", + CH0_ENC_BYPASS=>"0b0",CH0_SB_BYPASS=>"0b0",CH0_RX_SB_BYPASS=>"0b0", + CH0_WA_BYPASS=>"0b0",CH0_DEC_BYPASS=>"0b0",CH0_CTC_BYPASS=>"0b1", + CH0_RX_GEAR_BYPASS=>"0b0",CH0_LSM_DISABLE=>"0b0",CH0_MATCH_2_ENABLE=>"0b0", + CH0_MATCH_4_ENABLE=>"0b1",CH0_MIN_IPG_CNT=>"0b11",CH0_CC_MATCH_1=>"0x1BC", + CH0_CC_MATCH_2=>"0x11C",CH0_CC_MATCH_3=>"0x11C",CH0_CC_MATCH_4=>"0x11C", + CH0_UDF_COMMA_MASK=>"0x0ff",CH0_UDF_COMMA_A=>"0x083",CH0_UDF_COMMA_B=>"0x07C", + CH0_RX_DCO_CK_DIV=>"0b000",CH0_RCV_DCC_EN=>"0b0",CH0_TPWDNB=>"0b1", + CH0_RATE_MODE_TX=>"0b0",CH0_RTERM_TX=>"0d19",CH0_TX_CM_SEL=>"0b00", + CH0_TDRV_PRE_EN=>"0b0",CH0_TDRV_SLICE0_SEL=>"0b01",CH0_TDRV_SLICE1_SEL=>"0b00", + CH0_TDRV_SLICE2_SEL=>"0b01",CH0_TDRV_SLICE3_SEL=>"0b01",CH0_TDRV_SLICE4_SEL=>"0b00", + CH0_TDRV_SLICE5_SEL=>"0b00",CH0_TDRV_SLICE0_CUR=>"0b011",CH0_TDRV_SLICE1_CUR=>"0b000", + CH0_TDRV_SLICE2_CUR=>"0b11",CH0_TDRV_SLICE3_CUR=>"0b10",CH0_TDRV_SLICE4_CUR=>"0b00", + CH0_TDRV_SLICE5_CUR=>"0b00",CH0_TDRV_DAT_SEL=>"0b00",CH0_TX_DIV11_SEL=>"0b0", + CH0_RPWDNB=>"0b1",CH0_RATE_MODE_RX=>"0b0",CH0_RX_DIV11_SEL=>"0b0", + CH0_SEL_SD_RX_CLK=>"0b1",CH0_FF_RX_H_CLK_EN=>"0b0",CH0_FF_RX_F_CLK_DIS=>"0b0", + CH0_FF_TX_H_CLK_EN=>"0b0",CH0_FF_TX_F_CLK_DIS=>"0b0",CH0_TDRV_POST_EN=>"0b0", + CH0_TX_POST_SIGN=>"0b0",CH0_TX_PRE_SIGN=>"0b0",CH0_REQ_LVL_SET=>"0b00", + CH0_REQ_EN=>"0b0",CH0_RTERM_RX=>"0d22",CH0_RXTERM_CM=>"0b11",CH0_PDEN_SEL=>"0b1", + CH0_RXIN_CM=>"0b11",CH0_LEQ_OFFSET_SEL=>"0b0",CH0_LEQ_OFFSET_TRIM=>"0b000", + CH0_RLOS_SEL=>"0b1",CH0_RX_LOS_LVL=>"0b000",CH0_RX_LOS_CEQ=>"0b11", + CH0_RX_LOS_HYST_EN=>"0b0",CH0_RX_LOS_EN=>"0b1",CH0_LDR_RX2CORE_SEL=>"0b0", + CH0_LDR_CORE2TX_SEL=>"0b0",D_TX_MAX_RATE=>"2",CH0_CDR_MAX_RATE=>"2", + CH0_TXAMPLITUDE=>"0d600",CH0_TXDEPRE=>"DISABLED",CH0_TXDEPOST=>"DISABLED", + CH0_PROTOCOL=>"G8B10B",D_ISETLOS=>"0d0",D_SETIRPOLY_AUX=>"0b10",D_SETICONST_AUX=>"0b01", + D_SETIRPOLY_CH=>"0b10",D_SETICONST_CH=>"0b10",D_REQ_ISET=>"0b001", + D_PD_ISET=>"0b00",D_DCO_CALIB_TIME_SEL=>"0b00",CH0_CDR_CNT4SEL=>"0b00", + CH0_CDR_CNT8SEL=>"0b00",CH0_DCOATDCFG=>"0b00",CH0_DCOATDDLY=>"0b00", + CH0_DCOBYPSATD=>"0b1",CH0_DCOCALDIV=>"0b000",CH0_DCOCTLGI=>"0b011", + CH0_DCODISBDAVOID=>"0b0",CH0_DCOFLTDAC=>"0b00",CH0_DCOFTNRG=>"0b001", + CH0_DCOIOSTUNE=>"0b010",CH0_DCOITUNE=>"0b00",CH0_DCOITUNE4LSB=>"0b010", + CH0_DCOIUPDNX2=>"0b1",CH0_DCONUOFLSB=>"0b100",CH0_DCOSCALEI=>"0b01", + CH0_DCOSTARTVAL=>"0b010",CH0_DCOSTEP=>"0b11",CH0_BAND_THRESHOLD=>"0d0", + CH0_AUTO_FACQ_EN=>"0b1",CH0_AUTO_CALIB_EN=>"0b1",CH0_CALIB_CK_MODE=>"0b0", + CH0_REG_BAND_OFFSET=>"0d0",CH0_REG_BAND_SEL=>"0d0",CH0_REG_IDAC_SEL=>"0d0", + CH0_REG_IDAC_EN=>"0b0",D_CMUSETISCL4VCO=>"0b000",D_CMUSETI4VCO=>"0b00", + D_CMUSETINITVCT=>"0b00",D_CMUSETZGM=>"0b000",D_CMUSETP2AGM=>"0b000", + D_CMUSETP1GM=>"0b000",D_CMUSETI4CPZ=>"0d3",D_CMUSETI4CPP=>"0d3",D_CMUSETICP4Z=>"0b101", + D_CMUSETICP4P=>"0b01",D_CMUSETBIASI=>"0b00",D_SETPLLRC=>"0d1",CH0_RX_RATE_SEL=>"0d10", + D_REFCK_MODE=>"0b001",D_TX_VCO_CK_DIV=>"0b000",D_PLL_LOL_SET=>"0b01", + D_RG_EN=>"0b0",D_RG_SET=>"0b00") + port map (CH0_HDINP=>hdinp,CH1_HDINP=>n106,CH0_HDINN=>hdinn,CH1_HDINN=>n106, + D_TXBIT_CLKP_FROM_ND=>n47,D_TXBIT_CLKN_FROM_ND=>n47,D_SYNC_ND=>n47,D_TXPLL_LOL_FROM_ND=>n47, + CH0_RX_REFCLK=>rxrefclk,CH1_RX_REFCLK=>n106,CH0_FF_RXI_CLK=>rx_pclk_c, + CH1_FF_RXI_CLK=>n105,CH0_FF_TXI_CLK=>tx_pclk_c,CH1_FF_TXI_CLK=>n105,CH0_FF_EBRD_CLK=>n48, + CH1_FF_EBRD_CLK=>n105,CH0_FF_TX_D_0=>txdata(0),CH1_FF_TX_D_0=>n106,CH0_FF_TX_D_1=>txdata(1), + CH1_FF_TX_D_1=>n106,CH0_FF_TX_D_2=>txdata(2),CH1_FF_TX_D_2=>n106,CH0_FF_TX_D_3=>txdata(3), + CH1_FF_TX_D_3=>n106,CH0_FF_TX_D_4=>txdata(4),CH1_FF_TX_D_4=>n106,CH0_FF_TX_D_5=>txdata(5), + CH1_FF_TX_D_5=>n106,CH0_FF_TX_D_6=>txdata(6),CH1_FF_TX_D_6=>n106,CH0_FF_TX_D_7=>txdata(7), + CH1_FF_TX_D_7=>n106,CH0_FF_TX_D_8=>tx_k(0),CH1_FF_TX_D_8=>n106,CH0_FF_TX_D_9=>tx_force_disp(0), + CH1_FF_TX_D_9=>n106,CH0_FF_TX_D_10=>tx_disp_sel(0),CH1_FF_TX_D_10=>n106, + CH0_FF_TX_D_11=>n47,CH1_FF_TX_D_11=>n106,CH0_FF_TX_D_12=>n106,CH1_FF_TX_D_12=>n106, + CH0_FF_TX_D_13=>n106,CH1_FF_TX_D_13=>n106,CH0_FF_TX_D_14=>n106,CH1_FF_TX_D_14=>n106, + CH0_FF_TX_D_15=>n106,CH1_FF_TX_D_15=>n106,CH0_FF_TX_D_16=>n106,CH1_FF_TX_D_16=>n106, + CH0_FF_TX_D_17=>n106,CH1_FF_TX_D_17=>n106,CH0_FF_TX_D_18=>n106,CH1_FF_TX_D_18=>n106, + CH0_FF_TX_D_19=>n106,CH1_FF_TX_D_19=>n106,CH0_FF_TX_D_20=>n106,CH1_FF_TX_D_20=>n106, + CH0_FF_TX_D_21=>n106,CH1_FF_TX_D_21=>n106,CH0_FF_TX_D_22=>n106,CH1_FF_TX_D_22=>n106, + CH0_FF_TX_D_23=>n47,CH1_FF_TX_D_23=>n106,CH0_FFC_EI_EN=>tx_idle_c,CH1_FFC_EI_EN=>n106, + CH0_FFC_PCIE_DET_EN=>n47,CH1_FFC_PCIE_DET_EN=>n106,CH0_FFC_PCIE_CT=>n47, + CH1_FFC_PCIE_CT=>n106,CH0_FFC_SB_INV_RX=>n106,CH1_FFC_SB_INV_RX=>n106, + CH0_FFC_ENABLE_CGALIGN=>n106,CH1_FFC_ENABLE_CGALIGN=>n106,CH0_FFC_SIGNAL_DETECT=>signal_detect_c, + CH1_FFC_SIGNAL_DETECT=>n106,CH0_FFC_FB_LOOPBACK=>n47,CH1_FFC_FB_LOOPBACK=>n106, + CH0_FFC_SB_PFIFO_LP=>n47,CH1_FFC_SB_PFIFO_LP=>n106,CH0_FFC_PFIFO_CLR=>n47, + CH1_FFC_PFIFO_CLR=>n106,CH0_FFC_RATE_MODE_RX=>n106,CH1_FFC_RATE_MODE_RX=>n106, + CH0_FFC_RATE_MODE_TX=>n106,CH1_FFC_RATE_MODE_TX=>n106,CH0_FFC_DIV11_MODE_RX=>n47, + CH1_FFC_DIV11_MODE_RX=>n106,CH0_FFC_DIV11_MODE_TX=>n47,CH1_FFC_DIV11_MODE_TX=>n106, + CH0_FFC_RX_GEAR_MODE=>n47,CH1_FFC_RX_GEAR_MODE=>n106,CH0_FFC_TX_GEAR_MODE=>n47, + CH1_FFC_TX_GEAR_MODE=>n106,CH0_FFC_LDR_CORE2TX_EN=>n106,CH1_FFC_LDR_CORE2TX_EN=>n106, + CH0_FFC_LANE_TX_RST=>rsl_tx_pcs_rst_c,CH1_FFC_LANE_TX_RST=>n106,CH0_FFC_LANE_RX_RST=>rsl_rx_pcs_rst_c, + CH1_FFC_LANE_RX_RST=>n106,CH0_FFC_RRST=>rsl_rx_serdes_rst_c,CH1_FFC_RRST=>n106, + CH0_FFC_TXPWDNB=>tx_pwrup_c,CH1_FFC_TXPWDNB=>n106,CH0_FFC_RXPWDNB=>rx_pwrup_c, + CH1_FFC_RXPWDNB=>n106,CH0_LDR_CORE2TX=>n106,CH1_LDR_CORE2TX=>n106,D_SCIWDATA0=>sci_wrdata(0), + D_SCIWDATA1=>sci_wrdata(1),D_SCIWDATA2=>sci_wrdata(2),D_SCIWDATA3=>sci_wrdata(3), + D_SCIWDATA4=>sci_wrdata(4),D_SCIWDATA5=>sci_wrdata(5),D_SCIWDATA6=>sci_wrdata(6), + D_SCIWDATA7=>sci_wrdata(7),D_SCIADDR0=>sci_addr(0),D_SCIADDR1=>sci_addr(1), + D_SCIADDR2=>sci_addr(2),D_SCIADDR3=>sci_addr(3),D_SCIADDR4=>sci_addr(4), + D_SCIADDR5=>sci_addr(5),D_SCIENAUX=>sci_en_dual,D_SCISELAUX=>sci_sel_dual, + CH0_SCIEN=>sci_en,CH1_SCIEN=>n106,CH0_SCISEL=>sci_sel,CH1_SCISEL=>n106, + D_SCIRD=>sci_rd,D_SCIWSTN=>sci_wrn,D_CYAWSTN=>cyawstn,D_FFC_SYNC_TOGGLE=>n106, + D_FFC_DUAL_RST=>rsl_rst_dual_c,D_FFC_MACRO_RST=>rsl_serdes_rst_dual_c, + D_FFC_MACROPDB=>serdes_pdb,D_FFC_TRST=>rsl_tx_serdes_rst_c,CH0_FFC_CDR_EN_BITSLIP=>n47, + CH1_FFC_CDR_EN_BITSLIP=>n106,D_SCAN_ENABLE=>n47,D_SCAN_IN_0=>n47,D_SCAN_IN_1=>n47, + D_SCAN_IN_2=>n47,D_SCAN_IN_3=>n47,D_SCAN_IN_4=>n47,D_SCAN_IN_5=>n47, + D_SCAN_IN_6=>n47,D_SCAN_IN_7=>n47,D_SCAN_MODE=>n47,D_SCAN_RESET=>n47, + D_CIN0=>n47,D_CIN1=>n47,D_CIN2=>n47,D_CIN3=>n47,D_CIN4=>n47,D_CIN5=>n47, + D_CIN6=>n47,D_CIN7=>n47,D_CIN8=>n47,D_CIN9=>n47,D_CIN10=>n47,D_CIN11=>n47, + CH0_HDOUTP=>hdoutp,CH1_HDOUTP=>n50,CH0_HDOUTN=>hdoutn,CH1_HDOUTN=>n51, + D_TXBIT_CLKP_TO_ND=>n1,D_TXBIT_CLKN_TO_ND=>n2,D_SYNC_PULSE2ND=>n3,D_TXPLL_LOL_TO_ND=>n4, + CH0_FF_RX_F_CLK=>n5,CH1_FF_RX_F_CLK=>n52,CH0_FF_RX_H_CLK=>n6,CH1_FF_RX_H_CLK=>n53, + CH0_FF_TX_F_CLK=>n7,CH1_FF_TX_F_CLK=>n54,CH0_FF_TX_H_CLK=>n8,CH1_FF_TX_H_CLK=>n55, + CH0_FF_RX_PCLK=>rx_pclk_c,CH1_FF_RX_PCLK=>n56,CH0_FF_TX_PCLK=>tx_pclk_c, + CH1_FF_TX_PCLK=>n57,CH0_FF_RX_D_0=>rxdata(0),CH1_FF_RX_D_0=>n58,CH0_FF_RX_D_1=>rxdata(1), + CH1_FF_RX_D_1=>n59,CH0_FF_RX_D_2=>rxdata(2),CH1_FF_RX_D_2=>n60,CH0_FF_RX_D_3=>rxdata(3), + CH1_FF_RX_D_3=>n61,CH0_FF_RX_D_4=>rxdata(4),CH1_FF_RX_D_4=>n62,CH0_FF_RX_D_5=>rxdata(5), + CH1_FF_RX_D_5=>n63,CH0_FF_RX_D_6=>rxdata(6),CH1_FF_RX_D_6=>n64,CH0_FF_RX_D_7=>rxdata(7), + CH1_FF_RX_D_7=>n65,CH0_FF_RX_D_8=>rx_k(0),CH1_FF_RX_D_8=>n66,CH0_FF_RX_D_9=>rx_disp_err(0), + CH1_FF_RX_D_9=>n67,CH0_FF_RX_D_10=>rx_cv_err(0),CH1_FF_RX_D_10=>n68,CH0_FF_RX_D_11=>n9, + CH1_FF_RX_D_11=>n69,CH0_FF_RX_D_12=>n70,CH1_FF_RX_D_12=>n71,CH0_FF_RX_D_13=>n72, + CH1_FF_RX_D_13=>n73,CH0_FF_RX_D_14=>n74,CH1_FF_RX_D_14=>n75,CH0_FF_RX_D_15=>n76, + CH1_FF_RX_D_15=>n77,CH0_FF_RX_D_16=>n78,CH1_FF_RX_D_16=>n79,CH0_FF_RX_D_17=>n80, + CH1_FF_RX_D_17=>n81,CH0_FF_RX_D_18=>n82,CH1_FF_RX_D_18=>n83,CH0_FF_RX_D_19=>n84, + CH1_FF_RX_D_19=>n85,CH0_FF_RX_D_20=>n86,CH1_FF_RX_D_20=>n87,CH0_FF_RX_D_21=>n88, + CH1_FF_RX_D_21=>n89,CH0_FF_RX_D_22=>n90,CH1_FF_RX_D_22=>n91,CH0_FF_RX_D_23=>n10, + CH1_FF_RX_D_23=>n92,CH0_FFS_PCIE_DONE=>n11,CH1_FFS_PCIE_DONE=>n93,CH0_FFS_PCIE_CON=>n12, + CH1_FFS_PCIE_CON=>n94,CH0_FFS_RLOS=>rx_los_low_s_c,CH1_FFS_RLOS=>n95, + CH0_FFS_LS_SYNC_STATUS=>lsm_status_s,CH1_FFS_LS_SYNC_STATUS=>n96,CH0_FFS_CC_UNDERRUN=>n13, + CH1_FFS_CC_UNDERRUN=>n97,CH0_FFS_CC_OVERRUN=>n14,CH1_FFS_CC_OVERRUN=>n98, + CH0_FFS_RXFBFIFO_ERROR=>n15,CH1_FFS_RXFBFIFO_ERROR=>n99,CH0_FFS_TXFBFIFO_ERROR=>n16, + CH1_FFS_TXFBFIFO_ERROR=>n100,CH0_FFS_RLOL=>rx_cdr_lol_s_c,CH1_FFS_RLOL=>n101, + CH0_FFS_SKP_ADDED=>n17,CH1_FFS_SKP_ADDED=>n102,CH0_FFS_SKP_DELETED=>n18, + CH1_FFS_SKP_DELETED=>n103,CH0_LDR_RX2CORE=>n104,CH1_LDR_RX2CORE=>n115, + D_SCIRDATA0=>sci_rddata(0),D_SCIRDATA1=>sci_rddata(1),D_SCIRDATA2=>sci_rddata(2), + D_SCIRDATA3=>sci_rddata(3),D_SCIRDATA4=>sci_rddata(4),D_SCIRDATA5=>sci_rddata(5), + D_SCIRDATA6=>sci_rddata(6),D_SCIRDATA7=>sci_rddata(7),D_SCIINT=>sci_int, + D_SCAN_OUT_0=>n19,D_SCAN_OUT_1=>n20,D_SCAN_OUT_2=>n21,D_SCAN_OUT_3=>n22, + D_SCAN_OUT_4=>n23,D_SCAN_OUT_5=>n24,D_SCAN_OUT_6=>n25,D_SCAN_OUT_7=>n26, + D_COUT0=>n27,D_COUT1=>n28,D_COUT2=>n29,D_COUT3=>n30,D_COUT4=>n31,D_COUT5=>n32, + D_COUT6=>n33,D_COUT7=>n34,D_COUT8=>n35,D_COUT9=>n36,D_COUT10=>n37,D_COUT11=>n38, + D_COUT12=>n39,D_COUT13=>n40,D_COUT14=>n41,D_COUT15=>n42,D_COUT16=>n43, + D_COUT17=>n44,D_COUT18=>n45,D_COUT19=>n46,D_REFCLKI=>pll_refclki,D_FFS_PLOL=>n49); + n48 <= '1' ; + n47 <= '0' ; + n1 <= 'Z' ; + n2 <= 'Z' ; + n3 <= 'Z' ; + n4 <= 'Z' ; + n5 <= 'Z' ; + n6 <= 'Z' ; + n7 <= 'Z' ; + n8 <= 'Z' ; + n9 <= 'Z' ; + n10 <= 'Z' ; + n11 <= 'Z' ; + n12 <= 'Z' ; + n13 <= 'Z' ; + n14 <= 'Z' ; + n15 <= 'Z' ; + n16 <= 'Z' ; + n17 <= 'Z' ; + n18 <= 'Z' ; + n19 <= 'Z' ; + n20 <= 'Z' ; + n21 <= 'Z' ; + n22 <= 'Z' ; + n23 <= 'Z' ; + n24 <= 'Z' ; + n25 <= 'Z' ; + n26 <= 'Z' ; + n27 <= 'Z' ; + n28 <= 'Z' ; + n29 <= 'Z' ; + n30 <= 'Z' ; + n31 <= 'Z' ; + n32 <= 'Z' ; + n33 <= 'Z' ; + n34 <= 'Z' ; + n35 <= 'Z' ; + n36 <= 'Z' ; + n37 <= 'Z' ; + n38 <= 'Z' ; + n39 <= 'Z' ; + n40 <= 'Z' ; + n41 <= 'Z' ; + n42 <= 'Z' ; + n43 <= 'Z' ; + n44 <= 'Z' ; + n45 <= 'Z' ; + n46 <= 'Z' ; + n49 <= 'Z' ; + n106 <= '0' ; + n105 <= '1' ; + n50 <= 'Z' ; + n51 <= 'Z' ; + n52 <= 'Z' ; + n53 <= 'Z' ; + n54 <= 'Z' ; + n55 <= 'Z' ; + n56 <= 'Z' ; + n57 <= 'Z' ; + n58 <= 'Z' ; + n59 <= 'Z' ; + n60 <= 'Z' ; + n61 <= 'Z' ; + n62 <= 'Z' ; + n63 <= 'Z' ; + n64 <= 'Z' ; + n65 <= 'Z' ; + n66 <= 'Z' ; + n67 <= 'Z' ; + n68 <= 'Z' ; + n69 <= 'Z' ; + n70 <= 'Z' ; + n71 <= 'Z' ; + n72 <= 'Z' ; + n73 <= 'Z' ; + n74 <= 'Z' ; + n75 <= 'Z' ; + n76 <= 'Z' ; + n77 <= 'Z' ; + n78 <= 'Z' ; + n79 <= 'Z' ; + n80 <= 'Z' ; + n81 <= 'Z' ; + n82 <= 'Z' ; + n83 <= 'Z' ; + n84 <= 'Z' ; + n85 <= 'Z' ; + n86 <= 'Z' ; + n87 <= 'Z' ; + n88 <= 'Z' ; + n89 <= 'Z' ; + n90 <= 'Z' ; + n91 <= 'Z' ; + n92 <= 'Z' ; + n93 <= 'Z' ; + n94 <= 'Z' ; + n95 <= 'Z' ; + n96 <= 'Z' ; + n97 <= 'Z' ; + n98 <= 'Z' ; + n99 <= 'Z' ; + n100 <= 'Z' ; + n101 <= 'Z' ; + n102 <= 'Z' ; + n103 <= 'Z' ; + n104 <= 'Z' ; + n115 <= 'Z' ; + rsl_inst: component serdes0rsl_core port map (rui_rst=>rsl_rst,rui_serdes_rst_dual_c=>serdes_rst_dual_c, + rui_rst_dual_c=>rst_dual_c,rui_rsl_disable=>rsl_disable,rui_tx_ref_clk=>pll_refclki, + rui_tx_serdes_rst_c=>tx_serdes_rst_c,rui_tx_pcs_rst_c(3)=>n125, + rui_tx_pcs_rst_c(2)=>n125,rui_tx_pcs_rst_c(1)=>n125,rui_tx_pcs_rst_c(0)=>tx_pcs_rst_c, + rdi_pll_lol=>pll_lol_c,rui_rx_ref_clk=>rxrefclk,rui_rx_serdes_rst_c(3)=>n125, + rui_rx_serdes_rst_c(2)=>n125,rui_rx_serdes_rst_c(1)=>n125,rui_rx_serdes_rst_c(0)=>rx_serdes_rst_c, + rui_rx_pcs_rst_c(3)=>n125,rui_rx_pcs_rst_c(2)=>n125,rui_rx_pcs_rst_c(1)=>n125, + rui_rx_pcs_rst_c(0)=>rx_pcs_rst_c,rdi_rx_los_low_s(3)=>n125,rdi_rx_los_low_s(2)=>n125, + rdi_rx_los_low_s(1)=>n125,rdi_rx_los_low_s(0)=>rx_los_low_s_c, + rdi_rx_cdr_lol_s(3)=>n125,rdi_rx_cdr_lol_s(2)=>n125,rdi_rx_cdr_lol_s(1)=>n125, + rdi_rx_cdr_lol_s(0)=>rx_cdr_lol_s_c,rdo_serdes_rst_dual_c=>rsl_serdes_rst_dual_c, + rdo_rst_dual_c=>rsl_rst_dual_c,ruo_tx_rdy=>rsl_tx_rdy,rdo_tx_serdes_rst_c=>rsl_tx_serdes_rst_c, + rdo_tx_pcs_rst_c(3)=>n116,rdo_tx_pcs_rst_c(2)=>n117,rdo_tx_pcs_rst_c(1)=>n118, + rdo_tx_pcs_rst_c(0)=>rsl_tx_pcs_rst_c,ruo_rx_rdy=>rsl_rx_rdy,rdo_rx_serdes_rst_c(3)=>n119, + rdo_rx_serdes_rst_c(2)=>n120,rdo_rx_serdes_rst_c(1)=>n121,rdo_rx_serdes_rst_c(0)=>rsl_rx_serdes_rst_c, + rdo_rx_pcs_rst_c(3)=>n122,rdo_rx_pcs_rst_c(2)=>n123,rdo_rx_pcs_rst_c(1)=>\_Z\, + rdo_rx_pcs_rst_c(0)=>rsl_rx_pcs_rst_c); + n114 <= '1' ; + n113 <= '0' ; + n125 <= '0' ; + n124 <= '1' ; + n116 <= 'Z' ; + n117 <= 'Z' ; + n118 <= 'Z' ; + n119 <= 'Z' ; + n120 <= 'Z' ; + n121 <= 'Z' ; + n122 <= 'Z' ; + n123 <= 'Z' ; + \_Z\ <= 'Z' ; + sll_inst: component serdes0sll_core port map (sli_rst=>sli_rst,sli_refclk=>pll_refclki, + sli_pclk=>tx_pclk_c,sli_div2_rate=>gnd,sli_div11_rate=>gnd,sli_gear_mode=>gnd, + sli_cpri_mode(2)=>gnd,sli_cpri_mode(1)=>gnd,sli_cpri_mode(0)=>gnd, + sli_pcie_mode=>gnd,slo_plol=>pll_lol_c); + n127 <= '1' ; + n126 <= '0' ; + gnd <= '0' ; + pwr <= '1' ; + +end architecture v1; + diff --git a/media_interfaces/ecp5/dual_serdes/serdes0/serdes0_ngd.asd b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0_ngd.asd new file mode 100644 index 0000000..c265c78 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0_ngd.asd @@ -0,0 +1 @@ +[ActiveSupport NGD] diff --git a/media_interfaces/ecp5/dual_serdes/serdes0/serdes0_softlogic.v b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0_softlogic.v new file mode 100644 index 0000000..0908919 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes0/serdes0_softlogic.v @@ -0,0 +1,2003 @@ + + +// =========================================================================== +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +// --------------------------------------------------------------------------- +// Copyright (c) 2016 by Lattice Semiconductor Corporation +// ALL RIGHTS RESERVED +// ------------------------------------------------------------------ +// +// Permission: +// +// Lattice SG Pte. Ltd. grants permission to use this code +// pursuant to the terms of the Lattice Reference Design License Agreement. +// +// +// Disclaimer: +// +// This VHDL or Verilog source code is intended as a design reference +// which illustrates how these types of functions can be implemented. +// It is the user's responsibility to verify their design for +// consistency and functionality through the use of formal +// verification methods. Lattice provides no warranty +// regarding the use or functionality of this code. +// +// --------------------------------------------------------------------------- +// +// Lattice SG Pte. Ltd. +// 101 Thomson Road, United Square #07-02 +// Singapore 307591 +// +// +// TEL: 1-800-Lattice (USA and Canada) +// +65-6631-2000 (Singapore) +// +1-503-268-8001 (other locations) +// +// web: http://www.latticesemi.com/ +// email: techsupport@latticesemi.com +// +// --------------------------------------------------------------------------- +// +// ============================================================================= +// FILE DETAILS +// Project : RSL- Reset Sequence Logic +// File : rsl_core.v +// Title : Top-level file for RSL +// Dependencies : 1. +// : 2. +// Description : +// ============================================================================= +// REVISION HISTORY +// Version : 1.0 +// Author(s) : BM +// Mod. Date : October 28, 2013 +// Changes Made : Initial Creation +// ----------------------------------------------------------------------------- +// Version : 1.1 +// Author(s) : BM +// Mod. Date : November 06, 2013 +// Changes Made : Tx/Rx separation, ready port code exclusion +// ----------------------------------------------------------------------------- +// Version : 1.2 +// Author(s) : BM +// Mod. Date : June 13, 2014 +// Changes Made : Updated Rx PCS reset method +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Version : 1.3 +// Author(s) : UA +// Mod. Date : Dec 19, 2014 +// Changes Made : Added new parameter fro PCIE +// ----------------------------------------------------------------------------- +// Version : 1.31 +// Author(s) : BM/UM +// Mod. Date : Feb 23, 2016 +// Changes Made : Behavior of rx_rdy output modified. The output rx_rdy +// and the rx_rdy wait counter are reset to zero on +// LOL or LOS. Reverted back the counter value change for PCIE. +// ----------------------------------------------------------------------------- +// Version : 1.4 +// Author(s) : EB +// Mod. Date: : March 21, 2017 +// Changes Made : +// ----------------------------------------------------------------------------- +// Version : 1.5 +// Author(s) : ES +// Mod. Date: : May 8, 2017 +// Changes Made : Implemented common RSL behaviour as proposed by BM. +// ============================================================================= + +`timescale 1ns/10ps + +module serdes0rsl_core ( + // ------------ Inputs + // Common + rui_rst, // Active high reset for the RSL module + rui_serdes_rst_dual_c, // SERDES macro reset user command + rui_rst_dual_c, // PCS dual reset user command + rui_rsl_disable, // Active high signal that disables all reset outputs of RSL + // Tx + rui_tx_ref_clk, // Tx reference clock + rui_tx_serdes_rst_c, // Tx SERDES reset user command + rui_tx_pcs_rst_c, // Tx lane reset user command + rdi_pll_lol, // Tx PLL Loss of Lock status input from the SERDES + // Rx + rui_rx_ref_clk, // Rx reference clock + rui_rx_serdes_rst_c, // SERDES Receive channel reset user command + rui_rx_pcs_rst_c, // Rx lane reset user command + rdi_rx_los_low_s, // Receive loss of signal status input from SERDES + rdi_rx_cdr_lol_s, // Receive CDR loss of lock status input from SERDES + + // ------------ Outputs + // Common + rdo_serdes_rst_dual_c, // SERDES macro reset command output + rdo_rst_dual_c, // PCS dual reset command output + // Tx + ruo_tx_rdy, // Tx lane ready status output + rdo_tx_serdes_rst_c, // SERDES Tx reset command output + rdo_tx_pcs_rst_c, // PCS Tx lane reset command output + // Rx + ruo_rx_rdy, // Rx lane ready status output + rdo_rx_serdes_rst_c, // SERDES Rx channel reset command output + rdo_rx_pcs_rst_c // PCS Rx lane reset command output + ); + +// ------------ Module parameters +`ifdef NUM_CHANNELS + parameter pnum_channels = `NUM_CHANNELS; // 1,2,4 +`else + parameter pnum_channels = 1; +`endif + +`ifdef PCIE + parameter pprotocol = "PCIE"; +`else + parameter pprotocol = ""; +`endif + +`ifdef RX_ONLY + parameter pserdes_mode = "RX ONLY"; +`else + `ifdef TX_ONLY + parameter pserdes_mode = "TX ONLY"; + `else + parameter pserdes_mode = "RX AND TX"; + `endif +`endif + +`ifdef PORT_TX_RDY + parameter pport_tx_rdy = "ENABLED"; +`else + parameter pport_tx_rdy = "DISABLED"; +`endif + +`ifdef WAIT_TX_RDY + parameter pwait_tx_rdy = `WAIT_TX_RDY; +`else + parameter pwait_tx_rdy = 3000; +`endif + +`ifdef PORT_RX_RDY + parameter pport_rx_rdy = "ENABLED"; +`else + parameter pport_rx_rdy = "DISABLED"; +`endif + +`ifdef WAIT_RX_RDY + parameter pwait_rx_rdy = `WAIT_RX_RDY; +`else + parameter pwait_rx_rdy = 3000; +`endif + +// ------------ Local parameters + localparam wa_num_cycles = 1024; + localparam dac_num_cycles = 3; + localparam lreset_pwidth = 3; // reset pulse width-1, default=4-1=3 + localparam lwait_b4_trst = 781250; // 5ms wait with worst-case Fmax=156 MHz + localparam lwait_b4_trst_s = 781; // for simulation + localparam lplol_cnt_width = 20; // width for lwait_b4_trst + localparam lwait_after_plol0 = 4; + localparam lwait_b4_rrst = 180224; // total calibration time + localparam lrrst_wait_width = 20; + localparam lwait_after_rrst = 800000; // For CPRI- unused + localparam lwait_b4_rrst_s = 460; // wait cycles provided by design team + localparam lrlol_cnt_width = 19; // width for lwait_b4_rrst + localparam lwait_after_lols = (16384 * dac_num_cycles) + wa_num_cycles; // 16384 cycles * dac_num_cycles + 1024 cycles + localparam lwait_after_lols_s = 150; // wait cycles provided by design team + localparam llols_cnt_width = 18; // lols count width + localparam lrdb_max = 15; // maximum debounce count + localparam ltxr_wait_width = 12; // width of tx ready wait counter + localparam lrxr_wait_width = 12; // width of tx ready wait counter + +// ------------ input ports + input rui_rst; + input rui_serdes_rst_dual_c; + input rui_rst_dual_c; + input rui_rsl_disable; + + input rui_tx_ref_clk; + input rui_tx_serdes_rst_c; + input [3:0] rui_tx_pcs_rst_c; + input rdi_pll_lol; + + input rui_rx_ref_clk; + input [3:0] rui_rx_serdes_rst_c; + input [3:0] rui_rx_pcs_rst_c; + input [3:0] rdi_rx_los_low_s; + input [3:0] rdi_rx_cdr_lol_s; + +// ------------ output ports + output rdo_serdes_rst_dual_c; + output rdo_rst_dual_c; + + output ruo_tx_rdy; + output rdo_tx_serdes_rst_c; + output [3:0] rdo_tx_pcs_rst_c; + + output ruo_rx_rdy; + output [3:0] rdo_rx_serdes_rst_c; + output [3:0] rdo_rx_pcs_rst_c; + +// ------------ Internal registers and wires + // inputs + wire rui_rst; + wire rui_serdes_rst_dual_c; + wire rui_rst_dual_c; + wire rui_rsl_disable; + wire rui_tx_ref_clk; + wire rui_tx_serdes_rst_c; + wire [3:0] rui_tx_pcs_rst_c; + wire rdi_pll_lol; + wire rui_rx_ref_clk; + wire [3:0] rui_rx_serdes_rst_c; + wire [3:0] rui_rx_pcs_rst_c; + wire [3:0] rdi_rx_los_low_s; + wire [3:0] rdi_rx_cdr_lol_s; + + // outputs + wire rdo_serdes_rst_dual_c; + wire rdo_rst_dual_c; + wire ruo_tx_rdy; + wire rdo_tx_serdes_rst_c; + wire [3:0] rdo_tx_pcs_rst_c; + wire ruo_rx_rdy; + wire [3:0] rdo_rx_serdes_rst_c; + wire [3:0] rdo_rx_pcs_rst_c; + + // internal signals + // common + wire rsl_enable; + wire [lplol_cnt_width-1:0] wait_b4_trst; + wire [lrlol_cnt_width-1:0] wait_b4_rrst; + wire [llols_cnt_width-1:0] wait_after_lols; + reg pll_lol_p1; + reg pll_lol_p2; + reg pll_lol_p3; + // ------------ Tx + // rdo_tx_serdes_rst_c + reg [lplol_cnt_width-1:0] plol_cnt; + wire plol_cnt_tc; + + reg [2:0] txs_cnt; + reg txs_rst; + wire txs_cnt_tc; + // rdo_tx_pcs_rst_c + wire plol_fedge; + wire plol_redge; + reg waita_plol0; + reg [2:0] plol0_cnt; + wire plol0_cnt_tc; + reg [2:0] txp_cnt; + reg txp_rst; + wire txp_cnt_tc; + // ruo_tx_rdy + wire dual_or_serd_rst; + wire tx_any_pcs_rst; + wire tx_any_rst; + reg txsr_appd /* synthesis syn_keep=1 */; + reg txdpr_appd; + reg [pnum_channels-1:0] txpr_appd; + reg txr_wt_en; + reg [ltxr_wait_width-1:0] txr_wt_cnt; + wire txr_wt_tc; + reg ruo_tx_rdyr; + + // ------------ Rx + wire comb_rlos; + wire comb_rlol; + //wire rlols; + wire rx_all_well; + + //reg rlols_p1; + //reg rlols_p2; + //reg rlols_p3; + + reg rlol_p1; + reg rlol_p2; + reg rlol_p3; + reg rlos_p1; + reg rlos_p2; + reg rlos_p3; + + //reg [3:0] rdb_cnt; + //wire rdb_cnt_max; + //wire rdb_cnt_zero; + //reg rlols_db; + //reg rlols_db_p1; + + reg [3:0] rlol_db_cnt; + wire rlol_db_cnt_max; + wire rlol_db_cnt_zero; + reg rlol_db; + reg rlol_db_p1; + + reg [3:0] rlos_db_cnt; + wire rlos_db_cnt_max; + wire rlos_db_cnt_zero; + reg rlos_db; + reg rlos_db_p1; + + // rdo_rx_serdes_rst_c + reg [lrlol_cnt_width-1:0] rlol1_cnt; + wire rlol1_cnt_tc; + reg [2:0] rxs_cnt; + reg rxs_rst; + wire rxs_cnt_tc; + reg [lrrst_wait_width-1:0] rrst_cnt; + wire rrst_cnt_tc; + reg rrst_wait; + // rdo_rx_pcs_rst_c + //wire rlols_fedge; + //wire rlols_redge; + wire rlol_fedge; + wire rlol_redge; + wire rlos_fedge; + wire rlos_redge; + + reg wait_calib; + reg waita_rlols0; + reg [llols_cnt_width-1:0] rlols0_cnt; + wire rlols0_cnt_tc; + reg [2:0] rxp_cnt; + reg rxp_rst; + wire rxp_cnt_tc; + + wire rx_any_serd_rst; + reg [llols_cnt_width-1:0] rlolsz_cnt; + wire rlolsz_cnt_tc; + reg [2:0] rxp_cnt2; + reg rxp_rst2; + wire rxp_cnt2_tc; + reg [15:0] data_loop_b_cnt; + reg data_loop_b; + wire data_loop_b_tc; + + // ruo_rx_rdy + reg [pnum_channels-1:0] rxsr_appd; + reg [pnum_channels-1:0] rxpr_appd; + reg rxsdr_appd /* synthesis syn_keep=1 */; + reg rxdpr_appd; + wire rxsdr_or_sr_appd; + wire dual_or_rserd_rst; + wire rx_any_pcs_rst; + wire rx_any_rst; + reg rxr_wt_en; + reg [lrxr_wait_width-1:0] rxr_wt_cnt; + wire rxr_wt_tc; + reg ruo_rx_rdyr; + +// ================================================================== +// Start of code +// ================================================================== + assign rsl_enable = ~rui_rsl_disable; + +// ------------ rdo_serdes_rst_dual_c + assign rdo_serdes_rst_dual_c = (rui_rst&rsl_enable) | rui_serdes_rst_dual_c; + +// ------------ rdo_rst_dual_c + assign rdo_rst_dual_c = rui_rst_dual_c; + +// ------------ Setting counter values for RSL_SIM_MODE + `ifdef RSL_SIM_MODE + assign wait_b4_trst = lwait_b4_trst_s; + assign wait_b4_rrst = lwait_b4_rrst_s; + assign wait_after_lols = lwait_after_lols_s; + `else + assign wait_b4_trst = lwait_b4_trst; + assign wait_b4_rrst = lwait_b4_rrst; + assign wait_after_lols = lwait_after_lols; + `endif + +// ================================================================== +// Tx +// ================================================================== + generate + if((pserdes_mode=="RX AND TX")||(pserdes_mode=="TX ONLY")) begin + +// ------------ Synchronizing pll_lol to the tx clock + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + pll_lol_p1 <= 1'd0; + pll_lol_p2 <= 1'd0; + pll_lol_p3 <= 1'd0; + end + else begin + pll_lol_p1 <= rdi_pll_lol; + pll_lol_p2 <= pll_lol_p1; + pll_lol_p3 <= pll_lol_p2; + end + end + +// ------------ rdo_tx_serdes_rst_c + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + plol_cnt <= 'd0; + else if((pll_lol_p2==0)||(plol_cnt_tc==1)||(rdo_tx_serdes_rst_c==1)) + plol_cnt <= 'd0; + else + plol_cnt <= plol_cnt+1; + end + assign plol_cnt_tc = (plol_cnt==wait_b4_trst)?1'b1:1'b0; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + txs_cnt <= 'd0; // tx serdes reset pulse count + txs_rst <= 1'b0; // tx serdes reset + end + else if(plol_cnt_tc==1) + txs_rst <= 1'b1; + else if(txs_cnt_tc==1) begin + txs_cnt <= 'd0; + txs_rst <= 1'b0; + end + else if(txs_rst==1) + txs_cnt <= txs_cnt+1; + end + assign txs_cnt_tc = (txs_cnt==lreset_pwidth)?1'b1:1'b0; + + assign rdo_tx_serdes_rst_c = (rsl_enable&txs_rst)| rui_tx_serdes_rst_c; + +// ------------ rdo_tx_pcs_rst_c + assign plol_fedge = ~pll_lol_p2 & pll_lol_p3; + assign plol_redge = pll_lol_p2 & ~pll_lol_p3; + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + waita_plol0 <= 1'd0; + else if(plol_fedge==1'b1) + waita_plol0 <= 1'b1; + else if((plol0_cnt_tc==1)||(plol_redge==1)) + waita_plol0 <= 1'd0; + end + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + plol0_cnt <= 'd0; + else if((pll_lol_p2==1)||(plol0_cnt_tc==1)) + plol0_cnt <= 'd0; + else if(waita_plol0==1'b1) + plol0_cnt <= plol0_cnt+1; + end + assign plol0_cnt_tc = (plol0_cnt==lwait_after_plol0)?1'b1:1'b0; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + txp_cnt <= 'd0; // tx serdes reset pulse count + txp_rst <= 1'b0; // tx serdes reset + end + else if(plol0_cnt_tc==1) + txp_rst <= 1'b1; + else if(txp_cnt_tc==1) begin + txp_cnt <= 'd0; + txp_rst <= 1'b0; + end + else if(txp_rst==1) + txp_cnt <= txp_cnt+1; + end + assign txp_cnt_tc = (txp_cnt==lreset_pwidth)?1'b1:1'b0; + + genvar i; + for(i=0;i<pnum_channels;i=i+1) begin : ifor + assign rdo_tx_pcs_rst_c[i] = (rsl_enable&txp_rst)| rui_tx_pcs_rst_c[i]; + end + if(pnum_channels==1) + assign rdo_tx_pcs_rst_c[3:1] = 3'b000; + else if(pnum_channels==2) + assign rdo_tx_pcs_rst_c[3:2] = 2'b00; + + // ------------ ruo_tx_rdy + if(pport_tx_rdy=="ENABLED") begin + assign dual_or_serd_rst = rdo_serdes_rst_dual_c|rdo_tx_serdes_rst_c; + assign tx_any_pcs_rst = rdo_rst_dual_c|(|rdo_tx_pcs_rst_c[pnum_channels-1:0]); + assign tx_any_rst = dual_or_serd_rst | tx_any_pcs_rst; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txsr_appd <= 1'b1; // tx serdes reset applied + else if(dual_or_serd_rst==1) + txsr_appd <= 1'b1; + end + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txdpr_appd <= 1'b0; // tx dual (pcs) reset applied + else if(pll_lol_p2|rdo_serdes_rst_dual_c|rdo_tx_serdes_rst_c) + txdpr_appd <= 1'b0; + else if(rdo_rst_dual_c==1) + txdpr_appd <= 1'b1; + end + + genvar m; + for(m=0;m<pnum_channels;m=m+1) begin :mfor + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txpr_appd[m] <= 1'b0; // tx pcs reset applied + else if(pll_lol_p2|rdo_serdes_rst_dual_c|rdo_tx_serdes_rst_c) + txpr_appd[m] <= 1'b0; + else if(txsr_appd&(rdo_tx_pcs_rst_c[m]|txdpr_appd)) + txpr_appd[m] <= 1'b1; + end + end + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txr_wt_en <= 0; // tx ready wait counter enable + else if((txr_wt_tc==1)||(dual_or_serd_rst==1)) + txr_wt_en <= 0; + else if((~ruo_tx_rdyr)&(~pll_lol_p2)&(&txpr_appd)) + txr_wt_en <= 1; + end + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txr_wt_cnt <= 'd0; // tx ready wait count + else if((txr_wt_tc==1)||(tx_any_rst==1)) + txr_wt_cnt <= 'd0; + else if(txr_wt_en==1) + txr_wt_cnt <= txr_wt_cnt+1; + end + assign txr_wt_tc = (txr_wt_cnt==pwait_tx_rdy)?1'b1:1'b0; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + ruo_tx_rdyr <= 1'b0; // tx serdes reset applied + else if((tx_any_rst==1)||(pll_lol_p2==1)) + ruo_tx_rdyr <= 1'b0; + else if(txr_wt_tc==1) + ruo_tx_rdyr <= 1'b1; + end + assign ruo_tx_rdy = ruo_tx_rdyr; + end // if pport_tx_rdy + else + assign ruo_tx_rdy = 1'b0; + end // generate if(Rx and Tx) or (Tx only) + else begin // generate else (Rx only) + assign rdo_tx_serdes_rst_c = 1'b0; + assign rdo_tx_pcs_rst_c = 4'd0; + assign ruo_tx_rdy = 1'b0; + end + endgenerate + +// ================================================================== +// Rx +// ================================================================== + generate + if((pserdes_mode=="RX AND TX")||(pserdes_mode=="RX ONLY")) begin + assign comb_rlos = |rdi_rx_los_low_s[pnum_channels-1:0]; + assign comb_rlol = |rdi_rx_cdr_lol_s[pnum_channels-1:0]; + //assign rlols = comb_rlos|comb_rlol; + + // ------------ Synchronizing rlols to the rx ref clock + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + //rlols_p1 <= 1'd0; + //rlols_p2 <= 1'd0; + //rlols_p3 <= 1'd0; + //rlols_db_p1 <= 1'd1; + + rlol_p1 <= 1'd0; + rlol_p2 <= 1'd0; + rlol_p3 <= 1'd0; + rlol_db_p1 <= 1'd1; + + rlos_p1 <= 1'd0; + rlos_p2 <= 1'd0; + rlos_p3 <= 1'd0; + rlos_db_p1 <= 1'd1; + end + else begin + //rlols_p1 <= rlols; + //rlols_p2 <= rlols_p1; + //rlols_p3 <= rlols_p2; + //rlols_db_p1 <= rlols_db; + + rlol_p1 <= comb_rlol; + rlol_p2 <= rlol_p1; + rlol_p3 <= rlol_p2; + rlol_db_p1 <= rlol_db; + + rlos_p1 <= comb_rlos; + rlos_p2 <= rlos_p1; + rlos_p3 <= rlos_p2; + rlos_db_p1 <= rlos_db; + end + end + assign rx_all_well = ~rlol_db && ~rlos_db; + +//****************************************************************************** +// [ES:05.03.17] Unused registers for clean-up +//------------------------------------------------------------------------------ +// ------------ Debouncing rlols +// always @(posedge rui_rx_ref_clk or posedge rui_rst) begin +// if(rui_rst==1'b1) rdb_cnt <= lrdb_max; +// else if(rlols_p2==1) begin +// if(!rdb_cnt_max) rdb_cnt <= rdb_cnt+1; +// end +// else if(!rdb_cnt_zero) rdb_cnt <= rdb_cnt-1; +// end +// assign rdb_cnt_max = (rdb_cnt==lrdb_max); +// assign rdb_cnt_zero = (rdb_cnt==0); +// always @(posedge rui_rx_ref_clk or posedge rui_rst) begin +// if(rui_rst==1'b1) rlols_db <= 1; +// else if(rdb_cnt_max) rlols_db <= 1; +// else if(rdb_cnt_zero) rlols_db <= 0; +// end +//****************************************************************************** + +// ------------ Debouncing rlol + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlol_db_cnt <= lrdb_max; + else if(rlol_p2==1) begin + if(!rlol_db_cnt_max) rlol_db_cnt <= rlol_db_cnt+1; + end + else if(!rlol_db_cnt_zero) rlol_db_cnt <= rlol_db_cnt-1; + end + assign rlol_db_cnt_max = (rlol_db_cnt==lrdb_max); + assign rlol_db_cnt_zero = (rlol_db_cnt==0); + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlol_db <= 1; + else if(rlol_db_cnt_max) rlol_db <= 1; + else if(rlol_db_cnt_zero) rlol_db <= 0; + end + +// ------------ Debouncing rlos + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlos_db_cnt <= lrdb_max; + else if(rlos_p2==1) begin + if(!rlos_db_cnt_max) rlos_db_cnt <= rlos_db_cnt+1; + end + else if(!rlos_db_cnt_zero) rlos_db_cnt <= rlos_db_cnt-1; + end + assign rlos_db_cnt_max = (rlos_db_cnt==lrdb_max); + assign rlos_db_cnt_zero = (rlos_db_cnt==0); + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlos_db <= 1; + else if(rlos_db_cnt_max) rlos_db <= 1; + else if(rlos_db_cnt_zero) rlos_db <= 0; + end + +// ------------ Calib time trigger + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + wait_calib <= 1'd1; + end + else begin + if (rlol1_cnt_tc) begin + if (rlol_db) + wait_calib <= 1'd1; + else + wait_calib <= 1'd0; + end + else if (rlos_redge) + wait_calib <= 1'd0; + else if (rlos_fedge) begin + wait_calib <= 1'd1; + end + end + end + + //*************************************************************************** + // Total calibration time counter + // - this covers the band calibration time (256 cycles * 64) and + // DAC calibration time (16384 cycles * 10 bits) + //--------------------------------------------------------------------------- + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rlol1_cnt <= 'd0; // Counting when Rx LOL is 1 and Rx LOS is 0 + end + else begin + if(rxs_rst || rlol1_cnt_tc || rlos_redge) + rlol1_cnt <= 'd0; + else if (wait_calib) + rlol1_cnt <= rlol1_cnt+1; + end + end + assign rlol1_cnt_tc = (rlol1_cnt==wait_b4_rrst); + +// ------------ rdo_rx_serdes_rst_c + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rxs_cnt <= 'd0; // rx serdes reset pulse count + rxs_rst <= 1'b0; // rx serdes reset + end + else begin + if (rlos_db) + rxs_rst <= 1'b0; + else if (rlol1_cnt_tc && rlol_db) + rxs_rst <= 1'b1; + else if (rxs_cnt_tc==1) begin + rxs_rst <= 1'b0; + end + + if (rxs_cnt_tc) + rxs_cnt <= 'd0; + else + if (rxs_rst==1) + rxs_cnt <= rxs_cnt+1; + end + end + assign rxs_cnt_tc = (rxs_cnt==lreset_pwidth)?1'b1:1'b0; + + //*************************************************************************** + // [ES:05.03.17] Unused logic from CPRI rrst_wait + //--------------------------------------------------------------------------- + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rrst_cnt <= 'd0; + // else if(rlol1_cnt_tc) + // rrst_cnt <= 'd0; + // else if(rrst_wait) + // rrst_cnt <= rrst_cnt+1; + // end + // assign rrst_cnt_tc = (rrst_cnt==lwait_after_rrst) ? 1'b1 : 1'b0; + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rrst_wait <= 0; + // else if(pprotocol != "CPRI") + // rrst_wait <= 0; + // else if(rlol1_cnt_tc) + // rrst_wait <= 1; + // else if(rrst_cnt_tc==1) + // rrst_wait <= 0; + // end + //*************************************************************************** + + genvar j; + for(j=0;j<pnum_channels;j=j+1) begin :jfor + assign rdo_rx_serdes_rst_c[j] = (rsl_enable&rxs_rst)| rui_rx_serdes_rst_c[j]; + end + if(pnum_channels==1) + assign rdo_rx_serdes_rst_c[3:1] = 3'b000; + else if(pnum_channels==2) + assign rdo_rx_serdes_rst_c[3:2] = 2'b00; + +// ------------ rdo_rx_pcs_rst_c + //assign rlols_fedge = ~rlols_db & rlols_db_p1; + //assign rlols_redge = rlols_db & ~rlols_db_p1; + + assign rlol_fedge = ~rlol_db & rlol_db_p1; + assign rlol_redge = rlol_db & ~rlol_db_p1; + assign rlos_fedge = ~rlos_db & rlos_db_p1; + assign rlos_redge = rlos_db & ~rlos_db_p1; + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + waita_rlols0 <= 1'd0; + end + else begin + if ((rlos_fedge && ~rlol_db) || (rlol_fedge && ~rlos_db)) + waita_rlols0 <= 1'b1; + else if (rlos_redge || rlol_redge) + waita_rlols0 <= 1'd0; + else if (rlols0_cnt_tc==1) + waita_rlols0 <= 1'd0; + end + end + + //*************************************************************************** + // Post RLOL check before pcs_rst deassertion + // - allowance of 2-4 DAC calibration cycles + 1024 cycles for WA module + // (word alignment). + //--------------------------------------------------------------------------- + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rlols0_cnt <= 'd0; + end + else begin + if (rlol_redge || rlos_redge || rlols0_cnt_tc) + rlols0_cnt <= 'd0; + else if (waita_rlols0==1) + rlols0_cnt <= rlols0_cnt+1; + end + end + assign rlols0_cnt_tc = (rlols0_cnt == wait_after_lols); + assign rx_any_serd_rst = rdo_serdes_rst_dual_c|(|rdo_rx_serdes_rst_c); + + //*************************************************************************** + // [ES:05.03.17] Unused registers for clean-up + //--------------------------------------------------------------------------- + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rlolsz_cnt <= 'd0; // Counting when both Rx LOL is 0 and Rx LOS is 0 + // else if((rlol_db|rx_any_serd_rst)||(rlolsz_cnt_tc==1)) + // rlolsz_cnt <= 'd0; + // else if((rlolsz_cnt_tc==0)&&(rlol_db==0)) + // rlolsz_cnt <= rlolsz_cnt+1; + // end + // assign rlolsz_cnt_tc = (rlolsz_cnt==wait_after_lols); + //*************************************************************************** + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rxp_cnt2 <= 'd0; // pcs serdes reset pulse count + rxp_rst2 <= 1'b1; // rx pcs reset + end + else begin + if (rx_any_serd_rst || rlos_redge) begin + rxp_rst2 <= 1'b1; + end + else if (rlols0_cnt_tc) begin + rxp_rst2 <= 1'b0; + end + //*********************************************************************** + // [ES:05.03.17] No need for pulse width + //----------------------------------------------------------------------- + // else if(rxp_cnt2_tc==1) begin + // rxp_cnt2 <= 'd0; + // rxp_rst2 <= 1'b0; + // end + //*********************************************************************** + // [ES:05.03.17] No need for pulse width + //----------------------------------------------------------------------- + // else if (rxp_rst2==1) + // rxp_cnt2 <= rxp_cnt2+1; + //*********************************************************************** + end // else: !if(rui_rst==1'b1) + end // always @ (posedge rui_rx_ref_clk or posedge rui_rst) + //assign rxp_cnt2_tc = (rxp_cnt2==lreset_pwidth)?1'b1:1'b0; + + //*************************************************************************** + // [ES:05.03.17] No need for pulse width + //--------------------------------------------------------------------------- + //else begin + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rxp_rst2 <= 1'b1; // rx pcs reset + // else if(rx_any_serd_rst) + // rxp_rst2 <= 1'b1; + // else if(rlolsz_cnt_tc==1) + // rxp_rst2 <= 1'b0; + // end + //end + //*************************************************************************** + + genvar k; + for(k=0;k<pnum_channels;k=k+1) begin: kfor + assign rdo_rx_pcs_rst_c[k] = (rsl_enable&rxp_rst2)| rui_rx_pcs_rst_c[k]; + end + if(pnum_channels==1) + assign rdo_rx_pcs_rst_c[3:1] = 3'b000; + else if(pnum_channels==2) + assign rdo_rx_pcs_rst_c[3:2] = 2'b00; + +// ------------ ruo_rx_rdy + if(pport_rx_rdy=="ENABLED") begin + assign dual_or_rserd_rst = rdo_serdes_rst_dual_c|(|rdo_rx_serdes_rst_c[pnum_channels-1:0]); + assign rx_any_pcs_rst = rdo_rst_dual_c|(|rdo_rx_pcs_rst_c[pnum_channels-1:0]); + assign rx_any_rst = dual_or_rserd_rst | rx_any_pcs_rst; + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxsdr_appd <= 1'b1; // Serdes dual reset (macro reset) applied + else if(rdo_serdes_rst_dual_c==1) + rxsdr_appd <= 1'b1; + end + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxdpr_appd <= 1'b0; // Rx dual PCS reset (dual reset) applied + else if(~rx_all_well|dual_or_rserd_rst) + rxdpr_appd <= 1'b0; + else if(rdo_rst_dual_c==1) + rxdpr_appd <= 1'b1; + end + + genvar l; + for(l=0;l<pnum_channels;l=l+1) begin : lfor + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxsr_appd[l] <= 1'b0; // rx serdes reset applied + else if(rdo_rx_serdes_rst_c[l]==1) + rxsr_appd[l] <= 1'b1; + end + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxpr_appd[l] <= 1'b0; // rx pcs reset applied + else if(rdi_rx_los_low_s[l]|rdi_rx_cdr_lol_s[l]|rdo_serdes_rst_dual_c|rdo_rx_serdes_rst_c[l]) + rxpr_appd[l] <= 1'b0; + else if(rxsdr_or_sr_appd&(~rx_all_well)&rdo_rx_pcs_rst_c[l]) + rxpr_appd[l] <= 1'b1; + end + end + + assign rxsdr_or_sr_appd = rxsdr_appd|(&rxsr_appd); + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxr_wt_en <= 0; // rx ready wait counter enable + //else if((rxr_wt_tc==1)||(dual_or_rserd_rst==1)) + else if((rxr_wt_tc==1)||(dual_or_rserd_rst==1)||(rx_all_well==0)) // BM, 2/4/16 + rxr_wt_en <= 0; + else if(~ruo_rx_rdyr&rx_all_well&((&rxpr_appd)|rxdpr_appd)) + rxr_wt_en <= 1; + end + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxr_wt_cnt <= 'd0; // rx ready wait count + //else if((rxr_wt_tc==1)||(rx_any_rst==1)) + else if((rxr_wt_tc==1)||(rx_any_rst==1)||(rx_all_well==0)) // BM, 2/4/16 + rxr_wt_cnt <= 'd0; + else if(rxr_wt_en==1) + rxr_wt_cnt <= rxr_wt_cnt+1; + end + assign rxr_wt_tc = (rxr_wt_cnt==pwait_rx_rdy)?1'b1:1'b0; + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + ruo_rx_rdyr <= 1'b0; // rx serdes reset applied + else if((rx_any_rst==1)||(rx_all_well==0)) + ruo_rx_rdyr <= 1'b0; + else if(rxr_wt_tc==1) + ruo_rx_rdyr <= 1'b1; + end + assign ruo_rx_rdy = ruo_rx_rdyr; + end // if pport_rx_rdy + else + assign ruo_rx_rdy = 1'b0; + end // if ((pserdes_mode=="RX AND TX")||(pserdes_mode=="RX ONLY")) + + else begin // generate else (Tx only) + assign rdo_rx_serdes_rst_c = 4'd0; + assign rdo_rx_pcs_rst_c = 4'd0; + assign ruo_rx_rdy = 1'b0; + end // else: !if((pserdes_mode=="RX AND TX")||(pserdes_mode=="RX ONLY")) + + endgenerate + +endmodule + + +// =========================================================================== +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +// --------------------------------------------------------------------------- +// Copyright (c) 2015 by Lattice Semiconductor Corporation +// ALL RIGHTS RESERVED +// ------------------------------------------------------------------ +// +// Permission: +// +// Lattice SG Pte. Ltd. grants permission to use this code +// pursuant to the terms of the Lattice Reference Design License Agreement. +// +// +// Disclaimer: +// +// This VHDL or Verilog source code is intended as a design reference +// which illustrates how these types of functions can be implemented. +// It is the user's responsibility to verify their design for +// consistency and functionality through the use of formal +// verification methods. Lattice provides no warranty +// regarding the use or functionality of this code. +// +// --------------------------------------------------------------------------- +// +// Lattice SG Pte. Ltd. +// 101 Thomson Road, United Square #07-02 +// Singapore 307591 +// +// +// TEL: 1-800-Lattice (USA and Canada) +// +65-6631-2000 (Singapore) +// +1-503-268-8001 (other locations) +// +// web: http://www.latticesemi.com/ +// email: techsupport@latticesemi.com +// +// --------------------------------------------------------------------------- +// +// ============================================================================= +// FILE DETAILS +// Project : SLL - Soft Loss Of Lock(LOL) Logic +// File : sll_core.v +// Title : Top-level file for SLL +// Dependencies : 1. +// : 2. +// Description : +// ============================================================================= +// REVISION HISTORY +// Version : 1.0 +// Author(s) : AV +// Mod. Date : March 2, 2015 +// Changes Made : Initial Creation +// ============================================================================= +// REVISION HISTORY +// Version : 1.1 +// Author(s) : AV +// Mod. Date : June 8, 2015 +// Changes Made : Following updates were made +// : 1. Changed all the PLOL status logic and FSM to run +// : on sli_refclk. +// : 2. Added the HB logic for presence of tx_pclk +// : 3. Changed the lparam assignment scheme for +// : simulation purposes. +// ============================================================================= +// REVISION HISTORY +// Version : 1.2 +// Author(s) : AV +// Mod. Date : June 24, 2015 +// Changes Made : Updated the gearing logic for SDI dynamic rate change +// ============================================================================= +// REVISION HISTORY +// Version : 1.3 +// Author(s) : AV +// Mod. Date : July 14, 2015 +// Changes Made : Added the logic for dynamic rate change in CPRI +// ============================================================================= +// REVISION HISTORY +// Version : 1.4 +// Author(s) : AV +// Mod. Date : August 21, 2015 +// Changes Made : Added the logic for dynamic rate change of 5G CPRI & +// PCIe. +// ============================================================================= +// REVISION HISTORY +// Version : 1.5 +// Author(s) : ES/EB +// Mod. Date : March 21, 2017 +// Changes Made : 1. Added pdiff_sync signal to syncrhonize pcount_diff +// : to sli_refclk. +// : 2. Updated terminal count logic for PCIe 5G +// : 3. Modified checking of pcount_diff in SLL state +// : machine to cover actual count +// : (from 16-bits to 22-bits) +// ============================================================================= +// REVISION HISTORY +// Version : 1.6 +// Author(s) : ES +// Mod. Date : April 19, 2017 +// Changes Made : 1. Added registered lock and unlock signal from +// pdiff_sync to totally decouple pcount_diff from +// SLL state machine. +// : 2. Modified LPCLK_TC_4 to 1:1 clock ratio when CPRI +// is operating @ 4.9125Gbps data rate. +// ============================================================================= +`timescale 1ns/10ps + +module serdes0sll_core ( + //Reset and Clock inputs + sli_rst, //Active high asynchronous reset input + sli_refclk, //Refclk input to the Tx PLL + sli_pclk, //Tx pclk output from the PCS + + //Control inputs + sli_div2_rate, //Divide by 2 control; 0 - Full rate; 1 - Half rate + sli_div11_rate, //Divide by 11 control; 0 - Full rate; 1 - Div by 11 + sli_gear_mode, //Gear mode control for PCS; 0 - 8/10; 1- 16/20 + sli_cpri_mode, //Mode of operation specific to CPRI protocol + sli_pcie_mode, //Mode of operation specific to PCIe mode (2.5G or 5G) + + //LOL Output + slo_plol //Tx PLL Loss of Lock output to the user logic + ); + +// Inputs +input sli_rst; +input sli_refclk; +input sli_pclk; +input sli_div2_rate; +input sli_div11_rate; +input sli_gear_mode; +input [2:0] sli_cpri_mode; +input sli_pcie_mode; + +// Outputs +output slo_plol; + + +// Parameters +parameter PPROTOCOL = "PCIE"; //Protocol selected by the User +parameter PLOL_SETTING = 0; //PLL LOL setting. Possible values are 0,1,2,3 +parameter PDYN_RATE_CTRL = "DISABLED"; //PCS Dynamic Rate control +parameter PPCIE_MAX_RATE = "2.5"; //PCIe max data rate +parameter PDIFF_VAL_LOCK = 20; //Differential count value for Lock +parameter PDIFF_VAL_UNLOCK = 39; //Differential count value for Unlock +parameter PPCLK_TC = 65535; //Terminal count value for counter running on sli_pclk +parameter PDIFF_DIV11_VAL_LOCK = 3; //Differential count value for Lock for SDI Div11 +parameter PDIFF_DIV11_VAL_UNLOCK = 3; //Differential count value for Unlock for SDI Div11 +parameter PPCLK_DIV11_TC = 2383; //Terminal count value (SDI Div11) for counter running on sli_pclk + + +// Local Parameters +localparam [1:0] LPLL_LOSS_ST = 2'b00; //PLL Loss state +localparam [1:0] LPLL_PRELOSS_ST = 2'b01; //PLL Pre-Loss state +localparam [1:0] LPLL_PRELOCK_ST = 2'b10; //PLL Pre-Lock state +localparam [1:0] LPLL_LOCK_ST = 2'b11; //PLL Lock state +`ifdef RSL_SIM_MODE +localparam [15:0] LRCLK_TC = 16'd63; //Terminal count value for counter running on sli_refclk +`else +localparam [15:0] LRCLK_TC = 16'd65535; //Terminal count value for counter running on sli_refclk +`endif +localparam [15:0] LRCLK_TC_PUL_WIDTH = 16'd50; //Pulse width for the Refclk terminal count pulse +localparam [7:0] LHB_WAIT_CNT = 8'd255; //Wait count for the Heartbeat signal + +// Local Parameters related to the CPRI dynamic modes +// Terminal count values for the four CPRI modes +localparam LPCLK_TC_0 = 32768; +localparam LPCLK_TC_1 = 65536; +localparam LPCLK_TC_2 = 131072; +localparam LPCLK_TC_3 = 163840; +localparam LPCLK_TC_4 = 65536; + +// Lock values count values for the four CPRI modes and four PLOL settings (4x5) +// CPRI rate mode 0 CPRI rate mode 1 CPRI rate mode 2 CPRI rate mode 3 CPRI rate mode 4 +localparam LPDIFF_LOCK_00 = 9; localparam LPDIFF_LOCK_10 = 19; localparam LPDIFF_LOCK_20 = 39; localparam LPDIFF_LOCK_30 = 49; localparam LPDIFF_LOCK_40 = 19; +localparam LPDIFF_LOCK_01 = 9; localparam LPDIFF_LOCK_11 = 19; localparam LPDIFF_LOCK_21 = 39; localparam LPDIFF_LOCK_31 = 49; localparam LPDIFF_LOCK_41 = 19; +localparam LPDIFF_LOCK_02 = 49; localparam LPDIFF_LOCK_12 = 98; localparam LPDIFF_LOCK_22 = 196; localparam LPDIFF_LOCK_32 = 245; localparam LPDIFF_LOCK_42 = 98; +localparam LPDIFF_LOCK_03 = 131; localparam LPDIFF_LOCK_13 = 262; localparam LPDIFF_LOCK_23 = 524; localparam LPDIFF_LOCK_33 = 655; localparam LPDIFF_LOCK_43 = 262; + +// Unlock values count values for the four CPRI modes and four PLOL settings (4x5) +// CPRI rate mode 0 CPRI rate mode 1 CPRI rate mode 2 CPRI rate mode 3 CPRI rate mode 4 +localparam LPDIFF_UNLOCK_00 = 19; localparam LPDIFF_UNLOCK_10 = 39; localparam LPDIFF_UNLOCK_20 = 78; localparam LPDIFF_UNLOCK_30 = 98; localparam LPDIFF_UNLOCK_40 = 39; +localparam LPDIFF_UNLOCK_01 = 65; localparam LPDIFF_UNLOCK_11 = 131; localparam LPDIFF_UNLOCK_21 = 262; localparam LPDIFF_UNLOCK_31 = 327; localparam LPDIFF_UNLOCK_41 = 131; +localparam LPDIFF_UNLOCK_02 = 72; localparam LPDIFF_UNLOCK_12 = 144; localparam LPDIFF_UNLOCK_22 = 288; localparam LPDIFF_UNLOCK_32 = 360; localparam LPDIFF_UNLOCK_42 = 144; +localparam LPDIFF_UNLOCK_03 = 196; localparam LPDIFF_UNLOCK_13 = 393; localparam LPDIFF_UNLOCK_23 = 786; localparam LPDIFF_UNLOCK_33 = 983; localparam LPDIFF_UNLOCK_43 = 393; + +// Input and Output reg and wire declarations +wire sli_rst; +wire sli_refclk; +wire sli_pclk; +wire sli_div2_rate; +wire sli_div11_rate; +wire sli_gear_mode; +wire [2:0] sli_cpri_mode; +wire sli_pcie_mode; +wire slo_plol; + +//-------------- Internal signals reg and wire declarations -------------------- + +//Signals running on sli_refclk +reg [15:0] rcount; //16-bit Counter +reg rtc_pul; //Terminal count pulse +reg rtc_pul_p1; //Terminal count pulse pipeline +reg rtc_ctrl; //Terminal count pulse control + +reg [7:0] rhb_wait_cnt; //Heartbeat wait counter + +//Heatbeat synchronization and pipeline registers +wire rhb_sync; +reg rhb_sync_p2; +reg rhb_sync_p1; + +//Pipeling registers for dynamic control mode +wire rgear; +wire rdiv2; +wire rdiv11; +reg rgear_p1; +reg rdiv2_p1; +reg rdiv11_p1; + +reg rstat_pclk; //Pclk presence/absence status + +reg [21:0] rcount_tc; //Tx_pclk terminal count register +reg [15:0] rdiff_comp_lock; //Differential comparison value for Lock +reg [15:0] rdiff_comp_unlock; //Differential compariosn value for Unlock + +wire rpcie_mode; //PCIe mode signal synchronized to refclk +reg rpcie_mode_p1; //PCIe mode pipeline register + +wire rcpri_mod_ch_sync; //CPRI mode change synchronized to refclk +reg rcpri_mod_ch_p1; //CPRI mode change pipeline register +reg rcpri_mod_ch_p2; //CPRI mode change pipeline register +reg rcpri_mod_ch_st; //CPRI mode change status + +reg [1:0] sll_state; //Current-state register for LOL FSM + +reg pll_lock; //PLL Lock signal + +//Signals running on sli_pclk +//Synchronization and pipeline registers +wire ppul_sync; +reg ppul_sync_p1; +reg ppul_sync_p2; +reg ppul_sync_p3; + +wire pdiff_sync; +reg pdiff_sync_p1; + +reg [21:0] pcount; //22-bit counter +reg [21:0] pcount_diff; //Differential value between Tx_pclk counter and theoritical value + +//Heartbeat counter and heartbeat signal running on pclk +reg [2:0] phb_cnt; +reg phb; + +//CPRI dynamic mode releated signals +reg [2:0] pcpri_mode; +reg pcpri_mod_ch; + +//Assignment scheme changed mainly for simulation purpose +wire [15:0] LRCLK_TC_w; +assign LRCLK_TC_w = LRCLK_TC; + +reg unlock; +reg lock; + +//Heartbeat synchronization +sync # (.PDATA_RST_VAL(0)) phb_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (phb), + .data_out(rhb_sync) + ); + + +//Terminal count pulse synchronization +sync # (.PDATA_RST_VAL(0)) rtc_sync_inst ( + .clk (sli_pclk), + .rst (sli_rst), + .data_in (rtc_pul), + .data_out(ppul_sync) + ); + +//Differential value logic update synchronization +sync # (.PDATA_RST_VAL(0)) pdiff_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (ppul_sync), + .data_out(pdiff_sync) + ); + +//Gear mode synchronization +sync # (.PDATA_RST_VAL(0)) gear_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (sli_gear_mode), + .data_out(rgear) + ); + +//Div2 synchronization +sync # (.PDATA_RST_VAL(0)) div2_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (sli_div2_rate), + .data_out(rdiv2) + ); + +//Div11 synchronization +sync # (.PDATA_RST_VAL(0)) div11_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (sli_div11_rate), + .data_out(rdiv11) + ); + +//CPRI mode change synchronization +sync # (.PDATA_RST_VAL(0)) cpri_mod_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (pcpri_mod_ch), + .data_out(rcpri_mod_ch_sync) + ); + +//PCIe mode change synchronization +sync # (.PDATA_RST_VAL(0)) pcie_mod_sync_inst ( + .clk (sli_refclk), + .rst (sli_rst), + .data_in (sli_pcie_mode), + .data_out(rpcie_mode) + ); + +// ============================================================================= +// Synchronized Lock/Unlock signals +// ============================================================================= +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + unlock <= 1'b0; + lock <= 1'b0; + pdiff_sync_p1 <= 1'b0; + end + else begin + pdiff_sync_p1 <= pdiff_sync; + if (unlock) begin + unlock <= ~pdiff_sync && pdiff_sync_p1 ? 1'b0 : unlock; + end + else begin + unlock <= pdiff_sync ? (pcount_diff[21:0] > {6'd0, rdiff_comp_unlock}) : 1'b0; + end + if (lock) begin + lock <= ~pdiff_sync && pdiff_sync_p1 ? 1'b0 : lock; + end + else begin + lock <= pdiff_sync ? (pcount_diff[21:0] <= {6'd0, rdiff_comp_lock}) : 1'b0; + end + end +end + +// ============================================================================= +// Refclk Counter, pulse generation logic and Heartbeat monitor logic +// ============================================================================= +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rcount <= 16'd0; + rtc_pul <= 1'b0; + rtc_ctrl <= 1'b0; + rtc_pul_p1 <= 1'b0; + end + else begin + //Counter logic + if ((rgear_p1^rgear == 1'b1) || (rdiv2_p1^rdiv2 == 1'b1) || (rdiv11_p1^rdiv11 == 1'b1) || (rcpri_mod_ch_p1^rcpri_mod_ch_p2 == 1'b1) || (rpcie_mode_p1^rpcie_mode == 1'b1)) begin + if (rtc_ctrl == 1'b1) begin + rcount <= LRCLK_TC_PUL_WIDTH; + end + end + else begin + if (rcount != LRCLK_TC_w) begin + rcount <= rcount + 1; + end + else begin + rcount <= 16'd0; + end + end + + //Pulse control logic + if (rcount == LRCLK_TC_w - 1) begin + rtc_ctrl <= 1'b1; + end + + //Pulse Generation logic + if (rtc_ctrl == 1'b1) begin + if ((rcount == LRCLK_TC_w) || (rcount < LRCLK_TC_PUL_WIDTH)) begin + rtc_pul <= 1'b1; + end + else begin + rtc_pul <= 1'b0; + end + end + + rtc_pul_p1 <= rtc_pul; + end +end + + +// ============================================================================= +// Heartbeat synchronization & monitor logic and Dynamic mode pipeline logic +// ============================================================================= +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rhb_sync_p1 <= 1'b0; + rhb_sync_p2 <= 1'b0; + rhb_wait_cnt <= 8'd0; + rstat_pclk <= 1'b0; + rgear_p1 <= 1'b0; + rdiv2_p1 <= 1'b0; + rdiv11_p1 <= 1'b0; + rcpri_mod_ch_p1 <= 1'b0; + rcpri_mod_ch_p2 <= 1'b0; + rcpri_mod_ch_st <= 1'b0; + rpcie_mode_p1 <= 1'b0; + + end + else begin + //Pipeline stages for the Heartbeat + rhb_sync_p1 <= rhb_sync; + rhb_sync_p2 <= rhb_sync_p1; + + //Pipeline stages of the Dynamic rate control signals + rgear_p1 <= rgear; + rdiv2_p1 <= rdiv2; + rdiv11_p1 <= rdiv11; + + //Pipeline stage for PCIe mode + rpcie_mode_p1 <= rpcie_mode; + + //Pipeline stage for CPRI mode change + rcpri_mod_ch_p1 <= rcpri_mod_ch_sync; + rcpri_mod_ch_p2 <= rcpri_mod_ch_p1; + + //CPRI mode change status logic + if (rcpri_mod_ch_p1^rcpri_mod_ch_sync == 1'b1) begin + rcpri_mod_ch_st <= 1'b1; + end + + //Heartbeat wait counter and monitor logic + if (rtc_ctrl == 1'b1) begin + if (rhb_sync_p1 == 1'b1 && rhb_sync_p2 == 1'b0) begin + rhb_wait_cnt <= 8'd0; + rstat_pclk <= 1'b1; + end + else if (rhb_wait_cnt == LHB_WAIT_CNT) begin + rhb_wait_cnt <= 8'd0; + rstat_pclk <= 1'b0; + end + else begin + rhb_wait_cnt <= rhb_wait_cnt + 1; + end + end + end +end + + +// ============================================================================= +// Pipleline registers for the TC pulse and CPRI mode change logic +// ============================================================================= +always @(posedge sli_pclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + ppul_sync_p1 <= 1'b0; + ppul_sync_p2 <= 1'b0; + ppul_sync_p3 <= 1'b0; + pcpri_mode <= 3'b0; + pcpri_mod_ch <= 1'b0; + end + else begin + ppul_sync_p1 <= ppul_sync; + ppul_sync_p2 <= ppul_sync_p1; + ppul_sync_p3 <= ppul_sync_p2; + + //CPRI mode change logic + pcpri_mode <= sli_cpri_mode; + + if (pcpri_mode != sli_cpri_mode) begin + pcpri_mod_ch <= ~pcpri_mod_ch; + end + end +end + + +// ============================================================================= +// Terminal count logic +// ============================================================================= + +//For SDI protocol with Dynamic rate control enabled +generate +if ((PDYN_RATE_CTRL == "ENABLED") && (PPROTOCOL == "SDI")) begin +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rcount_tc <= 22'd0; + rdiff_comp_lock <= 16'd0; + rdiff_comp_unlock <= 16'd0; + end + else begin + //Terminal count logic + //Div by 11 is enabled + if (rdiv11 == 1'b1) begin + //Gear mode is 16/20 + if (rgear == 1'b1) begin + rcount_tc <= PPCLK_DIV11_TC; + rdiff_comp_lock <= PDIFF_DIV11_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_DIV11_VAL_UNLOCK; + end + else begin + rcount_tc <= {PPCLK_DIV11_TC[20:0], 1'b0}; + rdiff_comp_lock <= {PDIFF_DIV11_VAL_LOCK[14:0], 1'b0}; + rdiff_comp_unlock <= {PDIFF_DIV11_VAL_UNLOCK[14:0], 1'b0}; + end + end + //Div by 2 is enabled + else if (rdiv2 == 1'b1) begin + //Gear mode is 16/20 + if (rgear == 1'b1) begin + rcount_tc <= {1'b0,PPCLK_TC[21:1]}; + rdiff_comp_lock <= {1'b0,PDIFF_VAL_LOCK[15:1]}; + rdiff_comp_unlock <= {1'b0,PDIFF_VAL_UNLOCK[15:1]}; + end + else begin + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end + end + //Both div by 11 and div by 2 are disabled + else begin + //Gear mode is 16/20 + if (rgear == 1'b1) begin + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end + else begin + rcount_tc <= {PPCLK_TC[20:0],1'b0}; + rdiff_comp_lock <= {PDIFF_VAL_LOCK[14:0],1'b0}; + rdiff_comp_unlock <= {PDIFF_VAL_UNLOCK[14:0],1'b0}; + end + end + end +end +end +endgenerate + +//For G8B10B protocol with Dynamic rate control enabled +generate +if ((PDYN_RATE_CTRL == "ENABLED") && (PPROTOCOL == "G8B10B")) begin +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rcount_tc <= 22'd0; + rdiff_comp_lock <= 16'd0; + rdiff_comp_unlock <= 16'd0; + end + else begin + //Terminal count logic + //Div by 2 is enabled + if (rdiv2 == 1'b1) begin + rcount_tc <= {1'b0,PPCLK_TC[21:1]}; + rdiff_comp_lock <= {1'b0,PDIFF_VAL_LOCK[15:1]}; + rdiff_comp_unlock <= {1'b0,PDIFF_VAL_UNLOCK[15:1]}; + end + else begin + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end + end +end +end +endgenerate + + +//For CPRI protocol with Dynamic rate control is disabled +generate +if ((PDYN_RATE_CTRL == "DISABLED") && (PPROTOCOL == "CPRI")) begin +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rcount_tc <= 22'd0; + rdiff_comp_lock <= 16'd0; + rdiff_comp_unlock <= 16'd0; + end + else begin + //Terminal count logic for CPRI protocol + //Only if there is a change in the rate mode from the default + if (rcpri_mod_ch_st == 1'b1) begin + if (rcpri_mod_ch_p1^rcpri_mod_ch_p2 == 1'b1) begin + case(sli_cpri_mode) + 3'd0 : begin //For 0.6Gbps + rcount_tc <= LPCLK_TC_0; + case(PLOL_SETTING) + 'd0 : begin + rdiff_comp_lock <= LPDIFF_LOCK_00; + rdiff_comp_unlock <= LPDIFF_UNLOCK_00; + end + + 'd1 : begin + rdiff_comp_lock <= LPDIFF_LOCK_01; + rdiff_comp_unlock <= LPDIFF_UNLOCK_01; + end + + 'd2 : begin + rdiff_comp_lock <= LPDIFF_LOCK_02; + rdiff_comp_unlock <= LPDIFF_UNLOCK_02; + end + + 'd3 : begin + rdiff_comp_lock <= LPDIFF_LOCK_03; + rdiff_comp_unlock <= LPDIFF_UNLOCK_03; + end + + default : begin + rdiff_comp_lock <= LPDIFF_LOCK_00; + rdiff_comp_unlock <= LPDIFF_UNLOCK_00; + end + endcase + end + + 3'd1 : begin //For 1.2Gbps + rcount_tc <= LPCLK_TC_1; + case(PLOL_SETTING) + 'd0 : begin + rdiff_comp_lock <= LPDIFF_LOCK_10; + rdiff_comp_unlock <= LPDIFF_UNLOCK_10; + end + + 'd1 : begin + rdiff_comp_lock <= LPDIFF_LOCK_11; + rdiff_comp_unlock <= LPDIFF_UNLOCK_11; + end + + 'd2 : begin + rdiff_comp_lock <= LPDIFF_LOCK_12; + rdiff_comp_unlock <= LPDIFF_UNLOCK_12; + end + + 'd3 : begin + rdiff_comp_lock <= LPDIFF_LOCK_13; + rdiff_comp_unlock <= LPDIFF_UNLOCK_13; + end + + default : begin + rdiff_comp_lock <= LPDIFF_LOCK_10; + rdiff_comp_unlock <= LPDIFF_UNLOCK_10; + end + endcase + end + + 3'd2 : begin //For 2.4Gbps + rcount_tc <= LPCLK_TC_2; + case(PLOL_SETTING) + 'd0 : begin + rdiff_comp_lock <= LPDIFF_LOCK_20; + rdiff_comp_unlock <= LPDIFF_UNLOCK_20; + end + + 'd1 : begin + rdiff_comp_lock <= LPDIFF_LOCK_21; + rdiff_comp_unlock <= LPDIFF_UNLOCK_21; + end + + 'd2 : begin + rdiff_comp_lock <= LPDIFF_LOCK_22; + rdiff_comp_unlock <= LPDIFF_UNLOCK_22; + end + + 'd3 : begin + rdiff_comp_lock <= LPDIFF_LOCK_23; + rdiff_comp_unlock <= LPDIFF_UNLOCK_23; + end + + default : begin + rdiff_comp_lock <= LPDIFF_LOCK_20; + rdiff_comp_unlock <= LPDIFF_UNLOCK_20; + end + endcase + end + + 3'd3 : begin //For 3.07Gbps + rcount_tc <= LPCLK_TC_3; + case(PLOL_SETTING) + 'd0 : begin + rdiff_comp_lock <= LPDIFF_LOCK_30; + rdiff_comp_unlock <= LPDIFF_UNLOCK_30; + end + + 'd1 : begin + rdiff_comp_lock <= LPDIFF_LOCK_31; + rdiff_comp_unlock <= LPDIFF_UNLOCK_31; + end + + 'd2 : begin + rdiff_comp_lock <= LPDIFF_LOCK_32; + rdiff_comp_unlock <= LPDIFF_UNLOCK_32; + end + + 'd3 : begin + rdiff_comp_lock <= LPDIFF_LOCK_33; + rdiff_comp_unlock <= LPDIFF_UNLOCK_33; + end + endcase + end + + 3'd4 : begin //For 4.9125bps + rcount_tc <= LPCLK_TC_4; + case(PLOL_SETTING) + 'd0 : begin + rdiff_comp_lock <= LPDIFF_LOCK_40; + rdiff_comp_unlock <= LPDIFF_UNLOCK_40; + end + + 'd1 : begin + rdiff_comp_lock <= LPDIFF_LOCK_41; + rdiff_comp_unlock <= LPDIFF_UNLOCK_41; + end + + 'd2 : begin + rdiff_comp_lock <= LPDIFF_LOCK_42; + rdiff_comp_unlock <= LPDIFF_UNLOCK_42; + end + + 'd3 : begin + rdiff_comp_lock <= LPDIFF_LOCK_43; + rdiff_comp_unlock <= LPDIFF_UNLOCK_43; + end + + default : begin + rdiff_comp_lock <= LPDIFF_LOCK_40; + rdiff_comp_unlock <= LPDIFF_UNLOCK_40; + end + endcase + end + + default : begin + rcount_tc <= LPCLK_TC_0; + rdiff_comp_lock <= LPDIFF_LOCK_00; + rdiff_comp_unlock <= LPDIFF_UNLOCK_00; + end + endcase + end + end + else begin + //If there is no change in the CPRI rate mode from default + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end + end +end +end +endgenerate + +//For PCIe protocol with Dynamic rate control disabled +generate +if ((PDYN_RATE_CTRL == "DISABLED") && (PPROTOCOL == "PCIE")) begin +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rcount_tc <= 22'd0; + rdiff_comp_lock <= 16'd0; + rdiff_comp_unlock <= 16'd0; + end + else begin + //Terminal count logic + if (PPCIE_MAX_RATE == "2.5") begin + //2.5G mode is enabled + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end + else begin + //5G mode is enabled + if (rpcie_mode == 1'b1) begin + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end + else begin + //2.5G mode is enabled + rcount_tc <= {1'b0,PPCLK_TC[21:1]}; + rdiff_comp_lock <= {1'b0,PDIFF_VAL_LOCK[15:1]}; + rdiff_comp_unlock <= {1'b0,PDIFF_VAL_UNLOCK[15:1]}; + end + end + end +end +end +endgenerate + +//For all protocols other than CPRI & PCIe +generate +if ((PDYN_RATE_CTRL == "DISABLED") && ((PPROTOCOL != "CPRI") && (PPROTOCOL != "PCIE"))) begin +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + rcount_tc <= 22'd0; + rdiff_comp_lock <= 16'd0; + rdiff_comp_unlock <= 16'd0; + end + else begin + //Terminal count logic for all protocols other than CPRI & PCIe + rcount_tc <= PPCLK_TC; + rdiff_comp_lock <= PDIFF_VAL_LOCK; + rdiff_comp_unlock <= PDIFF_VAL_UNLOCK; + end +end +end +endgenerate + + +// ============================================================================= +// Tx_pclk counter, Heartbeat and Differential value logic +// ============================================================================= +always @(posedge sli_pclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + pcount <= 22'd0; + pcount_diff <= 22'd65535; + phb_cnt <= 3'd0; + phb <= 1'b0; + end + else begin + //Counter logic + if (ppul_sync_p1 == 1'b1 && ppul_sync_p2 == 1'b0) begin + pcount <= 22'd0; + end + else begin + pcount <= pcount + 1; + end + + //Heartbeat logic + phb_cnt <= phb_cnt + 1; + + if ((phb_cnt < 3'd4) && (phb_cnt >= 3'd0)) begin + phb <= 1'b1; + end + else begin + phb <= 1'b0; + end + + //Differential value logic + if (ppul_sync_p1 == 1'b1 && ppul_sync_p2 == 1'b0) begin + pcount_diff <= rcount_tc + ~(pcount) + 1; + end + else if (ppul_sync_p2 == 1'b1 && ppul_sync_p3 == 1'b0) begin + if (pcount_diff[21] == 1'b1) begin + pcount_diff <= ~(pcount_diff) + 1; + end + end + end +end + + +// ============================================================================= +// State transition logic for SLL FSM +// ============================================================================= +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + sll_state <= LPLL_LOSS_ST; + end + else begin + //Reasons to declare an immediate loss - Absence of Tx_pclk, Dynamic rate change for SDI or CPRI + if ((rstat_pclk == 1'b0) || (rgear_p1^rgear == 1'b1) || (rdiv2_p1^rdiv2 == 1'b1) || + (rdiv11_p1^rdiv11 == 1'b1) || (rcpri_mod_ch_p1^rcpri_mod_ch_p2 == 1'b1) || (rpcie_mode_p1^rpcie_mode == 1'b1)) begin + sll_state <= LPLL_LOSS_ST; + end + else begin + case(sll_state) + LPLL_LOSS_ST : begin + if (rtc_pul_p1 == 1'b1 && rtc_pul == 1'b0) begin + if (unlock) begin + sll_state <= LPLL_LOSS_ST; + end + else if (lock) begin + if (PLOL_SETTING == 2'd0) begin + sll_state <= LPLL_PRELOCK_ST; + end + else begin + sll_state <= LPLL_LOCK_ST; + end + end + end + end + + LPLL_LOCK_ST : begin + if (rtc_pul_p1 == 1'b1 && rtc_pul == 1'b0) begin + if (lock) begin + sll_state <= LPLL_LOCK_ST; + end + else begin + if (PLOL_SETTING == 2'd0) begin + sll_state <= LPLL_LOSS_ST; + end + else begin + sll_state <= LPLL_PRELOSS_ST; + end + end + end + end + + LPLL_PRELOCK_ST : begin + if (rtc_pul_p1 == 1'b1 && rtc_pul == 1'b0) begin + if (lock) begin + sll_state <= LPLL_LOCK_ST; + end + else begin + sll_state <= LPLL_PRELOSS_ST; + end + end + end + + LPLL_PRELOSS_ST : begin + if (rtc_pul_p1 == 1'b1 && rtc_pul == 1'b0) begin + if (unlock) begin + sll_state <= LPLL_PRELOSS_ST; + end + else if (lock) begin + sll_state <= LPLL_LOCK_ST; + end + end + end + + default: begin + sll_state <= LPLL_LOSS_ST; + end + endcase + end + end +end + + +// ============================================================================= +// Logic for Tx PLL Lock +// ============================================================================= +always @(posedge sli_refclk or posedge sli_rst) begin + if (sli_rst == 1'b1) begin + pll_lock <= 1'b0; + end + else begin + case(sll_state) + LPLL_LOSS_ST : begin + pll_lock <= 1'b0; + end + + LPLL_LOCK_ST : begin + pll_lock <= 1'b1; + end + + LPLL_PRELOSS_ST : begin + pll_lock <= 1'b0; + end + + default: begin + pll_lock <= 1'b0; + end + endcase + end +end + +assign slo_plol = ~(pll_lock); + +endmodule + + +// =========================================================================== +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +// --------------------------------------------------------------------------- +// Copyright (c) 2015 by Lattice Semiconductor Corporation +// ALL RIGHTS RESERVED +// ------------------------------------------------------------------ +// +// Permission: +// +// Lattice SG Pte. Ltd. grants permission to use this code +// pursuant to the terms of the Lattice Reference Design License Agreement. +// +// +// Disclaimer: +// +// This VHDL or Verilog source code is intended as a design reference +// which illustrates how these types of functions can be implemented. +// It is the user's responsibility to verify their design for +// consistency and functionality through the use of formal +// verification methods. Lattice provides no warranty +// regarding the use or functionality of this code. +// +// --------------------------------------------------------------------------- +// +// Lattice SG Pte. Ltd. +// 101 Thomson Road, United Square #07-02 +// Singapore 307591 +// +// +// TEL: 1-800-Lattice (USA and Canada) +// +65-6631-2000 (Singapore) +// +1-503-268-8001 (other locations) +// +// web: http://www.latticesemi.com/ +// email: techsupport@latticesemi.com +// +// --------------------------------------------------------------------------- +// +// ============================================================================= +// FILE DETAILS +// Project : Synchronizer Logic +// File : sync.v +// Title : Synchronizer module +// Description : +// ============================================================================= +// REVISION HISTORY +// Version : 1.0 +// Author(s) : AV +// Mod. Date : July 7, 2015 +// Changes Made : Initial Creation +// ----------------------------------------------------------------------------- +// Version : 1.1 +// Author(s) : EB +// Mod. Date : March 21, 2017 +// Changes Made : +// ============================================================================= + +`ifndef PCS_SYNC_MODULE +`define PCS_SYNC_MODULE +module sync ( + clk, + rst, + data_in, + data_out + ); + +input clk; //Clock in which the async data needs to be synchronized to +input rst; //Active high reset +input data_in; //Asynchronous data +output data_out; //Synchronized data + +parameter PDATA_RST_VAL = 0; //Reset value for the registers + +reg data_p1; +reg data_p2; + +// ============================================================================= +// Synchronization logic +// ============================================================================= +always @(posedge clk or posedge rst) begin + if (rst == 1'b1) begin + data_p1 <= PDATA_RST_VAL; + data_p2 <= PDATA_RST_VAL; + end + else begin + data_p1 <= data_in; + data_p2 <= data_p1; + end +end + +assign data_out = data_p2; + +endmodule +`endif + diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ipx b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ipx new file mode 100644 index 0000000..e254f08 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ipx @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<DiamondModule name="serdes1" module="PCS" VendorName="Lattice Semiconductor Corporation" generator="IPexpress" date="2020 11 25 09:49:41.974" version="8.2" type="Module" synthesis="synplify" source_format="VHDL"> + <Package> + <File name="serdes1.lpc" type="lpc" modified="2020 11 23 19:10:02.000"/> + <File name="serdes1.vhd" type="top_level_vhdl" modified="2020 11 23 19:10:02.000"/> + </Package> +</DiamondModule> diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.lpc b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.lpc new file mode 100644 index 0000000..a19a700 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.lpc @@ -0,0 +1,97 @@ +[Device] +Family=ecp5um +OperatingCondition=COM +Package=CABGA381 +PartName=LFE5UM-45F-8BG381C +PartType=LFE5UM-45F +SpeedGrade=8 +Status=P +[IP] +CoreName=PCS +CoreRevision=8.2 +CoreStatus=Demo +CoreType=LPM +Date=11/23/2020 +ModuleName=serdes1 +ParameterFileVersion=1.0 +SourceFormat=vhdl +Time=19:09:02 +VendorName=Lattice Semiconductor Corporation +[Parameters] +;ACHARA=0 00H +;ACHARB=0 00H +;ACHARM=0 00H +;RXMCAENABLE=Disabled +CDRLOLACTION=Full Recalibration +CDRLOLRANGE=3 +CDR_MAX_RATE=2 +CDR_MULT=10X +CDR_REF_RATE=200.0000 +CH_MODE=Rx and Tx +Destination=Synplicity +EDIF=1 +Expression=BusA(0 to 7) +IO=0 +IO_TYPE=G8B10B +LEQ=Disabled +LOOPBACK=Disabled +LOSPORT=Enabled +NUM_CHS=1 +Order=Big Endian [MSB:LSB] +PPORT_RX_RDY=Enabled +PPORT_TX_RDY=Enabled +PROTOCOL=G8B10B +PWAIT_RX_RDY=3000 +PWAIT_TX_RDY=3000 +RCSRC=Disabled +REFCLK_RATE=200.0000 +RSTSEQSEL=Enabled +RX8B10B=Enabled +RXCOMMAA=0010000011 +RXCOMMAB=0001111100 +RXCOMMAM=0011111111 +RXCOUPLING=AC +RXCTC=Disabled +RXCTCBYTEN=0 00H +RXCTCBYTEN1=0 00H +RXCTCBYTEN2=0 00H +RXCTCBYTEN3=0 00H +RXCTCMATCHPATTERN=M4-S4 +RXDIFFTERM=50 ohms +RXFIFO_ENABLE=Enabled +RXINVPOL=Non-invert +RXLDR=Off +RXLOSTHRESHOLD=0 +RXLSM=Enabled +RXSC=K28P157 +RXWA=Barrel Shift +RX_DATA_WIDTH=8/10-Bit +RX_FICLK_RATE=200.0000 +RX_LINE_RATE=2.0000 +RX_RATE_DIV=Full Rate +SCIPORT=Enabled +SOFTLOL=Disabled +TX8B10B=Enabled +TXAMPLITUDE=800 +TXDEPOST=Disabled +TXDEPRE=Disabled +TXDIFFTERM=50 ohms +TXFIFO_ENABLE=Enabled +TXINVPOL=Non-invert +TXLDR=Off +TXPLLLOLTHRESHOLD=1 +TXPLLMULT=10X +TX_DATA_WIDTH=8/10-Bit +TX_FICLK_RATE=200.0000 +TX_LINE_RATE=2.0000 +TX_MAX_RATE=2 +TX_RATE_DIV=Full Rate +VHDL=1 +Verilog=0 +[FilesGenerated] +serdes1.pp=pp +serdes1.sym=sym +serdes1.tft=tft +serdes1.txt=pcs_module +[SYSTEMPNR] +LN0=DCU0_CH1 diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ngd b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ngd new file mode 100644 index 0000000000000000000000000000000000000000..a2ec94e1121db04fd9e2627f0b586908a09c36dd GIT binary patch literal 252668 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	=Y!B9L4tT!rX-!O9=E*Di) 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 literal 0 HcmV?d00001 diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ngo b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.ngo new file mode 100644 index 0000000000000000000000000000000000000000..56d290ed24de9f629763173fd4b3994aad9fe5cb GIT binary patch literal 132921 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 literal 0 HcmV?d00001 diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.vhd b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.vhd new file mode 100644 index 0000000..39c1ff9 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1.vhd @@ -0,0 +1,396 @@ + +-- +-- Verific VHDL Description of module DCUA +-- + +-- DCUA is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes1rsl_core +-- + +-- serdes1rsl_core is a black-box. Cannot print a valid VHDL entity description for it + +-- +-- Verific VHDL Description of module serdes1 +-- + +library ieee ; +use ieee.std_logic_1164.all ; + +library ecp5um ; +use ecp5um.components.all ; + +entity serdes1 is + port (hdoutp: out std_logic; + hdoutn: out std_logic; + hdinp: in std_logic; + hdinn: in std_logic; + rxrefclk: in std_logic; + rx_pclk: out std_logic; + tx_pclk: out std_logic; + txdata: in std_logic_vector(7 downto 0); + tx_k: in std_logic_vector(0 downto 0); + tx_force_disp: in std_logic_vector(0 downto 0); + tx_disp_sel: in std_logic_vector(0 downto 0); + rxdata: out std_logic_vector(7 downto 0); + rx_k: out std_logic_vector(0 downto 0); + rx_disp_err: out std_logic_vector(0 downto 0); + rx_cv_err: out std_logic_vector(0 downto 0); + tx_idle_c: in std_logic; + signal_detect_c: in std_logic; + rx_los_low_s: out std_logic; + lsm_status_s: out std_logic; + rx_cdr_lol_s: out std_logic; + tx_pwrup_c: in std_logic; + rx_pwrup_c: in std_logic; + sci_wrdata: in std_logic_vector(7 downto 0); + sci_addr: in std_logic_vector(5 downto 0); + sci_rddata: out std_logic_vector(7 downto 0); + sci_en_dual: in std_logic; + sci_sel_dual: in std_logic; + sci_en: in std_logic; + sci_sel: in std_logic; + sci_rd: in std_logic; + sci_wrn: in std_logic; + sci_int: out std_logic; + cyawstn: in std_logic; + serdes_pdb: in std_logic; + pll_refclki: in std_logic; + rsl_disable: in std_logic; + rsl_rst: in std_logic; + serdes_rst_dual_c: in std_logic; + rst_dual_c: in std_logic; + tx_serdes_rst_c: in std_logic; + tx_pcs_rst_c: in std_logic; + pll_lol: in std_logic; + rsl_tx_rdy: out std_logic; + rx_serdes_rst_c: in std_logic; + rx_pcs_rst_c: in std_logic; + rsl_rx_rdy: out std_logic + ); + +end entity serdes1; + +architecture v1 of serdes1 is + component serdes1rsl_core is + generic (pnum_channels: integer := 1; + pprotocol: string := "G8B10B"; + pserdes_mode: string := "RX AND TX"; + pport_tx_rdy: string := "ENABLED"; + pwait_tx_rdy: integer := 3000; + pport_rx_rdy: string := "ENABLED"; + pwait_rx_rdy: integer := 3000); + port (rui_rst: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(132) + rui_serdes_rst_dual_c: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(133) + rui_rst_dual_c: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(134) + rui_rsl_disable: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(135) + rui_tx_ref_clk: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(137) + rui_tx_serdes_rst_c: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(138) + rui_tx_pcs_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(139) + rdi_pll_lol: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(140) + rui_rx_ref_clk: in std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(142) + rui_rx_serdes_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(143) + rui_rx_pcs_rst_c: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(144) + rdi_rx_los_low_s: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(145) + rdi_rx_cdr_lol_s: in std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(146) + rdo_serdes_rst_dual_c: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(149) + rdo_rst_dual_c: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(150) + ruo_tx_rdy: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(152) + rdo_tx_serdes_rst_c: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(153) + rdo_tx_pcs_rst_c: out std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(154) + ruo_rx_rdy: out std_logic; -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(156) + rdo_rx_serdes_rst_c: out std_logic_vector(3 downto 0); -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(157) + rdo_rx_pcs_rst_c: out std_logic_vector(3 downto 0) -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(158) + ); + + end component serdes1rsl_core; -- syn_black_box=1 -- /d/jspc29/lattice/diamond/3.11_x64/ispfpga/sa5p00/data/rsl_core_syn.v(88) + signal n48,n47,n1,n2,n3,n4,rx_pclk_c,tx_pclk_c,n5,n6,n7,n8,n9, + n10,n11,n12,rx_los_low_s_c,n13,n14,n15,n16,rx_cdr_lol_s_c,n17, + n18,rsl_tx_pcs_rst_c,rsl_rx_pcs_rst_c,rsl_rx_serdes_rst_c,rsl_rst_dual_c, + rsl_serdes_rst_dual_c,rsl_tx_serdes_rst_c,n19,n20,n21,n22,n23, + n24,n25,n26,n27,n28,n29,n30,n31,n32,n33,n34,n35,n36,n37, + n38,n39,n40,n41,n42,n43,n44,n45,n46,n49,n106,n105,n50,n51, + n52,n53,n54,n55,n56,n57,n58,n59,n60,n61,n62,n63,n64,n65, + n66,n67,n68,n69,n70,n71,n72,n73,n74,n75,n76,n77,n78,n79, + n80,n81,n82,n83,n84,n85,n86,n87,n88,n89,n90,n91,n92,n93, + n94,n95,n96,n97,n98,n99,n100,n101,n102,n103,n104,n115,n114, + n113,gnd,pwr,n116,n117,n118,n119,n120,n121,n122,n123,\_Z\ : std_logic; + attribute LOC : string; + attribute LOC of DCU0_inst : label is "DCU0"; + attribute CHAN : string; + attribute CHAN of DCU0_inst : label is "CH1"; +begin + rx_pclk <= rx_pclk_c; + tx_pclk <= tx_pclk_c; + rx_los_low_s <= rx_los_low_s_c; + rx_cdr_lol_s <= rx_cdr_lol_s_c; + DCU0_inst: component DCUA generic map (D_MACROPDB=>"0b1",D_IB_PWDNB=>"0b1", + D_XGE_MODE=>"0b0",D_LOW_MARK=>"0d4",D_HIGH_MARK=>"0d12",D_BUS8BIT_SEL=>"0b0", + D_CDR_LOL_SET=>"0b11",D_TXPLL_PWDNB=>"0b1",D_BITCLK_LOCAL_EN=>"0b1", + D_BITCLK_ND_EN=>"0b0",D_BITCLK_FROM_ND_EN=>"0b0",D_SYNC_LOCAL_EN=>"0b1", + D_SYNC_ND_EN=>"0b0",CH1_UC_MODE=>"0b1",CH1_PCIE_MODE=>"0b0",CH1_RIO_MODE=>"0b0", + CH1_WA_MODE=>"0b0",CH1_INVERT_RX=>"0b0",CH1_INVERT_TX=>"0b0",CH1_PRBS_SELECTION=>"0b0", + CH1_GE_AN_ENABLE=>"0b0",CH1_PRBS_LOCK=>"0b0",CH1_PRBS_ENABLE=>"0b0", + CH1_ENABLE_CG_ALIGN=>"0b1",CH1_TX_GEAR_MODE=>"0b0",CH1_RX_GEAR_MODE=>"0b0", + CH1_PCS_DET_TIME_SEL=>"0b00",CH1_PCIE_EI_EN=>"0b0",CH1_TX_GEAR_BYPASS=>"0b0", + CH1_ENC_BYPASS=>"0b0",CH1_SB_BYPASS=>"0b0",CH1_RX_SB_BYPASS=>"0b0", + CH1_WA_BYPASS=>"0b0",CH1_DEC_BYPASS=>"0b0",CH1_CTC_BYPASS=>"0b1", + CH1_RX_GEAR_BYPASS=>"0b0",CH1_LSM_DISABLE=>"0b0",CH1_MATCH_2_ENABLE=>"0b0", + CH1_MATCH_4_ENABLE=>"0b1",CH1_MIN_IPG_CNT=>"0b11",CH1_CC_MATCH_1=>"0x1BC", + CH1_CC_MATCH_2=>"0x11C",CH1_CC_MATCH_3=>"0x11C",CH1_CC_MATCH_4=>"0x11C", + CH1_UDF_COMMA_MASK=>"0x0ff",CH1_UDF_COMMA_A=>"0x083",CH1_UDF_COMMA_B=>"0x07C", + CH1_RX_DCO_CK_DIV=>"0b000",CH1_RCV_DCC_EN=>"0b0",CH1_TPWDNB=>"0b1", + CH1_RATE_MODE_TX=>"0b0",CH1_RTERM_TX=>"0d19",CH1_TX_CM_SEL=>"0b00", + CH1_TDRV_PRE_EN=>"0b0",CH1_TDRV_SLICE0_SEL=>"0b00",CH1_TDRV_SLICE1_SEL=>"0b00", + CH1_TDRV_SLICE2_SEL=>"0b01",CH1_TDRV_SLICE3_SEL=>"0b01",CH1_TDRV_SLICE4_SEL=>"0b01", + CH1_TDRV_SLICE5_SEL=>"0b00",CH1_TDRV_SLICE0_CUR=>"0b000",CH1_TDRV_SLICE1_CUR=>"0b000", + CH1_TDRV_SLICE2_CUR=>"0b11",CH1_TDRV_SLICE3_CUR=>"0b11",CH1_TDRV_SLICE4_CUR=>"0b01", + CH1_TDRV_SLICE5_CUR=>"0b00",CH1_TDRV_DAT_SEL=>"0b00",CH1_TX_DIV11_SEL=>"0b0", + CH1_RPWDNB=>"0b1",CH1_RATE_MODE_RX=>"0b0",CH1_RX_DIV11_SEL=>"0b0", + CH1_SEL_SD_RX_CLK=>"0b1",CH1_FF_RX_H_CLK_EN=>"0b0",CH1_FF_RX_F_CLK_DIS=>"0b0", + CH1_FF_TX_H_CLK_EN=>"0b0",CH1_FF_TX_F_CLK_DIS=>"0b0",CH1_TDRV_POST_EN=>"0b0", + CH1_TX_POST_SIGN=>"0b0",CH1_TX_PRE_SIGN=>"0b0",CH1_REQ_LVL_SET=>"0b00", + CH1_REQ_EN=>"0b0",CH1_RTERM_RX=>"0d22",CH1_RXTERM_CM=>"0b11",CH1_PDEN_SEL=>"0b1", + CH1_RXIN_CM=>"0b11",CH1_LEQ_OFFSET_SEL=>"0b0",CH1_LEQ_OFFSET_TRIM=>"0b000", + CH1_RLOS_SEL=>"0b1",CH1_RX_LOS_LVL=>"0b000",CH1_RX_LOS_CEQ=>"0b11", + CH1_RX_LOS_HYST_EN=>"0b0",CH1_RX_LOS_EN=>"0b1",CH1_LDR_RX2CORE_SEL=>"0b0", + CH1_LDR_CORE2TX_SEL=>"0b0",D_TX_MAX_RATE=>"2",CH1_CDR_MAX_RATE=>"2", + CH1_TXAMPLITUDE=>"0d800",CH1_TXDEPRE=>"DISABLED",CH1_TXDEPOST=>"DISABLED", + CH1_PROTOCOL=>"G8B10B",D_ISETLOS=>"0d0",D_SETIRPOLY_AUX=>"0b10",D_SETICONST_AUX=>"0b01", + D_SETIRPOLY_CH=>"0b10",D_SETICONST_CH=>"0b10",D_REQ_ISET=>"0b001", + D_PD_ISET=>"0b00",D_DCO_CALIB_TIME_SEL=>"0b00",CH1_CDR_CNT4SEL=>"0b00", + CH1_CDR_CNT8SEL=>"0b00",CH1_DCOATDCFG=>"0b00",CH1_DCOATDDLY=>"0b00", + CH1_DCOBYPSATD=>"0b1",CH1_DCOCALDIV=>"0b000",CH1_DCOCTLGI=>"0b011", + CH1_DCODISBDAVOID=>"0b0",CH1_DCOFLTDAC=>"0b00",CH1_DCOFTNRG=>"0b001", + CH1_DCOIOSTUNE=>"0b010",CH1_DCOITUNE=>"0b00",CH1_DCOITUNE4LSB=>"0b010", + CH1_DCOIUPDNX2=>"0b1",CH1_DCONUOFLSB=>"0b100",CH1_DCOSCALEI=>"0b01", + CH1_DCOSTARTVAL=>"0b010",CH1_DCOSTEP=>"0b11",CH1_BAND_THRESHOLD=>"0d0", + CH1_AUTO_FACQ_EN=>"0b1",CH1_AUTO_CALIB_EN=>"0b1",CH1_CALIB_CK_MODE=>"0b0", + CH1_REG_BAND_OFFSET=>"0d0",CH1_REG_BAND_SEL=>"0d0",CH1_REG_IDAC_SEL=>"0d0", + CH1_REG_IDAC_EN=>"0b0",D_CMUSETISCL4VCO=>"0b000",D_CMUSETI4VCO=>"0b00", + D_CMUSETINITVCT=>"0b00",D_CMUSETZGM=>"0b000",D_CMUSETP2AGM=>"0b000", + D_CMUSETP1GM=>"0b000",D_CMUSETI4CPZ=>"0d3",D_CMUSETI4CPP=>"0d3",D_CMUSETICP4Z=>"0b101", + D_CMUSETICP4P=>"0b01",D_CMUSETBIASI=>"0b00",D_SETPLLRC=>"0d1",CH1_RX_RATE_SEL=>"0d10", + D_REFCK_MODE=>"0b001",D_TX_VCO_CK_DIV=>"0b000",D_PLL_LOL_SET=>"0b01", + D_RG_EN=>"0b0",D_RG_SET=>"0b00") + port map (CH0_HDINP=>n106,CH1_HDINP=>hdinp,CH0_HDINN=>n106,CH1_HDINN=>hdinn, + D_TXBIT_CLKP_FROM_ND=>n47,D_TXBIT_CLKN_FROM_ND=>n47,D_SYNC_ND=>n47,D_TXPLL_LOL_FROM_ND=>n47, + CH0_RX_REFCLK=>n106,CH1_RX_REFCLK=>rxrefclk,CH0_FF_RXI_CLK=>n105,CH1_FF_RXI_CLK=>rx_pclk_c, + CH0_FF_TXI_CLK=>n105,CH1_FF_TXI_CLK=>tx_pclk_c,CH0_FF_EBRD_CLK=>n105, + CH1_FF_EBRD_CLK=>n48,CH0_FF_TX_D_0=>n106,CH1_FF_TX_D_0=>txdata(0),CH0_FF_TX_D_1=>n106, + CH1_FF_TX_D_1=>txdata(1),CH0_FF_TX_D_2=>n106,CH1_FF_TX_D_2=>txdata(2), + CH0_FF_TX_D_3=>n106,CH1_FF_TX_D_3=>txdata(3),CH0_FF_TX_D_4=>n106,CH1_FF_TX_D_4=>txdata(4), + CH0_FF_TX_D_5=>n106,CH1_FF_TX_D_5=>txdata(5),CH0_FF_TX_D_6=>n106,CH1_FF_TX_D_6=>txdata(6), + CH0_FF_TX_D_7=>n106,CH1_FF_TX_D_7=>txdata(7),CH0_FF_TX_D_8=>n106,CH1_FF_TX_D_8=>tx_k(0), + CH0_FF_TX_D_9=>n106,CH1_FF_TX_D_9=>tx_force_disp(0),CH0_FF_TX_D_10=>n106, + CH1_FF_TX_D_10=>tx_disp_sel(0),CH0_FF_TX_D_11=>n106,CH1_FF_TX_D_11=>n47, + CH0_FF_TX_D_12=>n106,CH1_FF_TX_D_12=>n106,CH0_FF_TX_D_13=>n106,CH1_FF_TX_D_13=>n106, + CH0_FF_TX_D_14=>n106,CH1_FF_TX_D_14=>n106,CH0_FF_TX_D_15=>n106,CH1_FF_TX_D_15=>n106, + CH0_FF_TX_D_16=>n106,CH1_FF_TX_D_16=>n106,CH0_FF_TX_D_17=>n106,CH1_FF_TX_D_17=>n106, + CH0_FF_TX_D_18=>n106,CH1_FF_TX_D_18=>n106,CH0_FF_TX_D_19=>n106,CH1_FF_TX_D_19=>n106, + CH0_FF_TX_D_20=>n106,CH1_FF_TX_D_20=>n106,CH0_FF_TX_D_21=>n106,CH1_FF_TX_D_21=>n106, + CH0_FF_TX_D_22=>n106,CH1_FF_TX_D_22=>n106,CH0_FF_TX_D_23=>n106,CH1_FF_TX_D_23=>n47, + CH0_FFC_EI_EN=>n106,CH1_FFC_EI_EN=>tx_idle_c,CH0_FFC_PCIE_DET_EN=>n106, + CH1_FFC_PCIE_DET_EN=>n47,CH0_FFC_PCIE_CT=>n106,CH1_FFC_PCIE_CT=>n47,CH0_FFC_SB_INV_RX=>n106, + CH1_FFC_SB_INV_RX=>n106,CH0_FFC_ENABLE_CGALIGN=>n106,CH1_FFC_ENABLE_CGALIGN=>n106, + CH0_FFC_SIGNAL_DETECT=>n106,CH1_FFC_SIGNAL_DETECT=>signal_detect_c,CH0_FFC_FB_LOOPBACK=>n106, + CH1_FFC_FB_LOOPBACK=>n47,CH0_FFC_SB_PFIFO_LP=>n106,CH1_FFC_SB_PFIFO_LP=>n47, + CH0_FFC_PFIFO_CLR=>n106,CH1_FFC_PFIFO_CLR=>n47,CH0_FFC_RATE_MODE_RX=>n106, + CH1_FFC_RATE_MODE_RX=>n106,CH0_FFC_RATE_MODE_TX=>n106,CH1_FFC_RATE_MODE_TX=>n106, + CH0_FFC_DIV11_MODE_RX=>n106,CH1_FFC_DIV11_MODE_RX=>n47,CH0_FFC_DIV11_MODE_TX=>n106, + CH1_FFC_DIV11_MODE_TX=>n47,CH0_FFC_RX_GEAR_MODE=>n106,CH1_FFC_RX_GEAR_MODE=>n47, + CH0_FFC_TX_GEAR_MODE=>n106,CH1_FFC_TX_GEAR_MODE=>n47,CH0_FFC_LDR_CORE2TX_EN=>n106, + CH1_FFC_LDR_CORE2TX_EN=>n106,CH0_FFC_LANE_TX_RST=>n106,CH1_FFC_LANE_TX_RST=>rsl_tx_pcs_rst_c, + CH0_FFC_LANE_RX_RST=>n106,CH1_FFC_LANE_RX_RST=>rsl_rx_pcs_rst_c,CH0_FFC_RRST=>n106, + CH1_FFC_RRST=>rsl_rx_serdes_rst_c,CH0_FFC_TXPWDNB=>n106,CH1_FFC_TXPWDNB=>tx_pwrup_c, + CH0_FFC_RXPWDNB=>n106,CH1_FFC_RXPWDNB=>rx_pwrup_c,CH0_LDR_CORE2TX=>n106, + CH1_LDR_CORE2TX=>n106,D_SCIWDATA0=>sci_wrdata(0),D_SCIWDATA1=>sci_wrdata(1), + D_SCIWDATA2=>sci_wrdata(2),D_SCIWDATA3=>sci_wrdata(3),D_SCIWDATA4=>sci_wrdata(4), + D_SCIWDATA5=>sci_wrdata(5),D_SCIWDATA6=>sci_wrdata(6),D_SCIWDATA7=>sci_wrdata(7), + D_SCIADDR0=>sci_addr(0),D_SCIADDR1=>sci_addr(1),D_SCIADDR2=>sci_addr(2), + D_SCIADDR3=>sci_addr(3),D_SCIADDR4=>sci_addr(4),D_SCIADDR5=>sci_addr(5), + D_SCIENAUX=>sci_en_dual,D_SCISELAUX=>sci_sel_dual,CH0_SCIEN=>n106,CH1_SCIEN=>sci_en, + CH0_SCISEL=>n106,CH1_SCISEL=>sci_sel,D_SCIRD=>sci_rd,D_SCIWSTN=>sci_wrn, + D_CYAWSTN=>cyawstn,D_FFC_SYNC_TOGGLE=>n106,D_FFC_DUAL_RST=>rsl_rst_dual_c, + D_FFC_MACRO_RST=>rsl_serdes_rst_dual_c,D_FFC_MACROPDB=>serdes_pdb,D_FFC_TRST=>rsl_tx_serdes_rst_c, + CH0_FFC_CDR_EN_BITSLIP=>n106,CH1_FFC_CDR_EN_BITSLIP=>n47,D_SCAN_ENABLE=>n47, + D_SCAN_IN_0=>n47,D_SCAN_IN_1=>n47,D_SCAN_IN_2=>n47,D_SCAN_IN_3=>n47, + D_SCAN_IN_4=>n47,D_SCAN_IN_5=>n47,D_SCAN_IN_6=>n47,D_SCAN_IN_7=>n47, + D_SCAN_MODE=>n47,D_SCAN_RESET=>n47,D_CIN0=>n47,D_CIN1=>n47,D_CIN2=>n47, + D_CIN3=>n47,D_CIN4=>n47,D_CIN5=>n47,D_CIN6=>n47,D_CIN7=>n47,D_CIN8=>n47, + D_CIN9=>n47,D_CIN10=>n47,D_CIN11=>n47,CH0_HDOUTP=>n50,CH1_HDOUTP=>hdoutp, + CH0_HDOUTN=>n51,CH1_HDOUTN=>hdoutn,D_TXBIT_CLKP_TO_ND=>n1,D_TXBIT_CLKN_TO_ND=>n2, + D_SYNC_PULSE2ND=>n3,D_TXPLL_LOL_TO_ND=>n4,CH0_FF_RX_F_CLK=>n52,CH1_FF_RX_F_CLK=>n5, + CH0_FF_RX_H_CLK=>n53,CH1_FF_RX_H_CLK=>n6,CH0_FF_TX_F_CLK=>n54,CH1_FF_TX_F_CLK=>n7, + CH0_FF_TX_H_CLK=>n55,CH1_FF_TX_H_CLK=>n8,CH0_FF_RX_PCLK=>n56,CH1_FF_RX_PCLK=>rx_pclk_c, + CH0_FF_TX_PCLK=>n57,CH1_FF_TX_PCLK=>tx_pclk_c,CH0_FF_RX_D_0=>n58,CH1_FF_RX_D_0=>rxdata(0), + CH0_FF_RX_D_1=>n59,CH1_FF_RX_D_1=>rxdata(1),CH0_FF_RX_D_2=>n60,CH1_FF_RX_D_2=>rxdata(2), + CH0_FF_RX_D_3=>n61,CH1_FF_RX_D_3=>rxdata(3),CH0_FF_RX_D_4=>n62,CH1_FF_RX_D_4=>rxdata(4), + CH0_FF_RX_D_5=>n63,CH1_FF_RX_D_5=>rxdata(5),CH0_FF_RX_D_6=>n64,CH1_FF_RX_D_6=>rxdata(6), + CH0_FF_RX_D_7=>n65,CH1_FF_RX_D_7=>rxdata(7),CH0_FF_RX_D_8=>n66,CH1_FF_RX_D_8=>rx_k(0), + CH0_FF_RX_D_9=>n67,CH1_FF_RX_D_9=>rx_disp_err(0),CH0_FF_RX_D_10=>n68, + CH1_FF_RX_D_10=>rx_cv_err(0),CH0_FF_RX_D_11=>n69,CH1_FF_RX_D_11=>n9,CH0_FF_RX_D_12=>n70, + CH1_FF_RX_D_12=>n71,CH0_FF_RX_D_13=>n72,CH1_FF_RX_D_13=>n73,CH0_FF_RX_D_14=>n74, + CH1_FF_RX_D_14=>n75,CH0_FF_RX_D_15=>n76,CH1_FF_RX_D_15=>n77,CH0_FF_RX_D_16=>n78, + CH1_FF_RX_D_16=>n79,CH0_FF_RX_D_17=>n80,CH1_FF_RX_D_17=>n81,CH0_FF_RX_D_18=>n82, + CH1_FF_RX_D_18=>n83,CH0_FF_RX_D_19=>n84,CH1_FF_RX_D_19=>n85,CH0_FF_RX_D_20=>n86, + CH1_FF_RX_D_20=>n87,CH0_FF_RX_D_21=>n88,CH1_FF_RX_D_21=>n89,CH0_FF_RX_D_22=>n90, + CH1_FF_RX_D_22=>n91,CH0_FF_RX_D_23=>n92,CH1_FF_RX_D_23=>n10,CH0_FFS_PCIE_DONE=>n93, + CH1_FFS_PCIE_DONE=>n11,CH0_FFS_PCIE_CON=>n94,CH1_FFS_PCIE_CON=>n12,CH0_FFS_RLOS=>n95, + CH1_FFS_RLOS=>rx_los_low_s_c,CH0_FFS_LS_SYNC_STATUS=>n96,CH1_FFS_LS_SYNC_STATUS=>lsm_status_s, + CH0_FFS_CC_UNDERRUN=>n97,CH1_FFS_CC_UNDERRUN=>n13,CH0_FFS_CC_OVERRUN=>n98, + CH1_FFS_CC_OVERRUN=>n14,CH0_FFS_RXFBFIFO_ERROR=>n99,CH1_FFS_RXFBFIFO_ERROR=>n15, + CH0_FFS_TXFBFIFO_ERROR=>n100,CH1_FFS_TXFBFIFO_ERROR=>n16,CH0_FFS_RLOL=>n101, + CH1_FFS_RLOL=>rx_cdr_lol_s_c,CH0_FFS_SKP_ADDED=>n102,CH1_FFS_SKP_ADDED=>n17, + CH0_FFS_SKP_DELETED=>n103,CH1_FFS_SKP_DELETED=>n18,CH0_LDR_RX2CORE=>n104, + CH1_LDR_RX2CORE=>n115,D_SCIRDATA0=>sci_rddata(0),D_SCIRDATA1=>sci_rddata(1), + D_SCIRDATA2=>sci_rddata(2),D_SCIRDATA3=>sci_rddata(3),D_SCIRDATA4=>sci_rddata(4), + D_SCIRDATA5=>sci_rddata(5),D_SCIRDATA6=>sci_rddata(6),D_SCIRDATA7=>sci_rddata(7), + D_SCIINT=>sci_int,D_SCAN_OUT_0=>n19,D_SCAN_OUT_1=>n20,D_SCAN_OUT_2=>n21, + D_SCAN_OUT_3=>n22,D_SCAN_OUT_4=>n23,D_SCAN_OUT_5=>n24,D_SCAN_OUT_6=>n25, + D_SCAN_OUT_7=>n26,D_COUT0=>n27,D_COUT1=>n28,D_COUT2=>n29,D_COUT3=>n30, + D_COUT4=>n31,D_COUT5=>n32,D_COUT6=>n33,D_COUT7=>n34,D_COUT8=>n35,D_COUT9=>n36, + D_COUT10=>n37,D_COUT11=>n38,D_COUT12=>n39,D_COUT13=>n40,D_COUT14=>n41, + D_COUT15=>n42,D_COUT16=>n43,D_COUT17=>n44,D_COUT18=>n45,D_COUT19=>n46, + D_REFCLKI=>pll_refclki,D_FFS_PLOL=>n49); + n48 <= '1' ; + n47 <= '0' ; + n1 <= 'Z' ; + n2 <= 'Z' ; + n3 <= 'Z' ; + n4 <= 'Z' ; + n5 <= 'Z' ; + n6 <= 'Z' ; + n7 <= 'Z' ; + n8 <= 'Z' ; + n9 <= 'Z' ; + n10 <= 'Z' ; + n11 <= 'Z' ; + n12 <= 'Z' ; + n13 <= 'Z' ; + n14 <= 'Z' ; + n15 <= 'Z' ; + n16 <= 'Z' ; + n17 <= 'Z' ; + n18 <= 'Z' ; + n19 <= 'Z' ; + n20 <= 'Z' ; + n21 <= 'Z' ; + n22 <= 'Z' ; + n23 <= 'Z' ; + n24 <= 'Z' ; + n25 <= 'Z' ; + n26 <= 'Z' ; + n27 <= 'Z' ; + n28 <= 'Z' ; + n29 <= 'Z' ; + n30 <= 'Z' ; + n31 <= 'Z' ; + n32 <= 'Z' ; + n33 <= 'Z' ; + n34 <= 'Z' ; + n35 <= 'Z' ; + n36 <= 'Z' ; + n37 <= 'Z' ; + n38 <= 'Z' ; + n39 <= 'Z' ; + n40 <= 'Z' ; + n41 <= 'Z' ; + n42 <= 'Z' ; + n43 <= 'Z' ; + n44 <= 'Z' ; + n45 <= 'Z' ; + n46 <= 'Z' ; + n49 <= 'Z' ; + n106 <= '0' ; + n105 <= '1' ; + n50 <= 'Z' ; + n51 <= 'Z' ; + n52 <= 'Z' ; + n53 <= 'Z' ; + n54 <= 'Z' ; + n55 <= 'Z' ; + n56 <= 'Z' ; + n57 <= 'Z' ; + n58 <= 'Z' ; + n59 <= 'Z' ; + n60 <= 'Z' ; + n61 <= 'Z' ; + n62 <= 'Z' ; + n63 <= 'Z' ; + n64 <= 'Z' ; + n65 <= 'Z' ; + n66 <= 'Z' ; + n67 <= 'Z' ; + n68 <= 'Z' ; + n69 <= 'Z' ; + n70 <= 'Z' ; + n71 <= 'Z' ; + n72 <= 'Z' ; + n73 <= 'Z' ; + n74 <= 'Z' ; + n75 <= 'Z' ; + n76 <= 'Z' ; + n77 <= 'Z' ; + n78 <= 'Z' ; + n79 <= 'Z' ; + n80 <= 'Z' ; + n81 <= 'Z' ; + n82 <= 'Z' ; + n83 <= 'Z' ; + n84 <= 'Z' ; + n85 <= 'Z' ; + n86 <= 'Z' ; + n87 <= 'Z' ; + n88 <= 'Z' ; + n89 <= 'Z' ; + n90 <= 'Z' ; + n91 <= 'Z' ; + n92 <= 'Z' ; + n93 <= 'Z' ; + n94 <= 'Z' ; + n95 <= 'Z' ; + n96 <= 'Z' ; + n97 <= 'Z' ; + n98 <= 'Z' ; + n99 <= 'Z' ; + n100 <= 'Z' ; + n101 <= 'Z' ; + n102 <= 'Z' ; + n103 <= 'Z' ; + n104 <= 'Z' ; + n115 <= 'Z' ; + rsl_inst: component serdes1rsl_core port map (rui_rst=>rsl_rst,rui_serdes_rst_dual_c=>serdes_rst_dual_c, + rui_rst_dual_c=>rst_dual_c,rui_rsl_disable=>rsl_disable,rui_tx_ref_clk=>pll_refclki, + rui_tx_serdes_rst_c=>tx_serdes_rst_c,rui_tx_pcs_rst_c(3)=>gnd, + rui_tx_pcs_rst_c(2)=>gnd,rui_tx_pcs_rst_c(1)=>gnd,rui_tx_pcs_rst_c(0)=>tx_pcs_rst_c, + rdi_pll_lol=>pll_lol,rui_rx_ref_clk=>rxrefclk,rui_rx_serdes_rst_c(3)=>gnd, + rui_rx_serdes_rst_c(2)=>gnd,rui_rx_serdes_rst_c(1)=>gnd,rui_rx_serdes_rst_c(0)=>rx_serdes_rst_c, + rui_rx_pcs_rst_c(3)=>gnd,rui_rx_pcs_rst_c(2)=>gnd,rui_rx_pcs_rst_c(1)=>gnd, + rui_rx_pcs_rst_c(0)=>rx_pcs_rst_c,rdi_rx_los_low_s(3)=>gnd,rdi_rx_los_low_s(2)=>gnd, + rdi_rx_los_low_s(1)=>gnd,rdi_rx_los_low_s(0)=>rx_los_low_s_c,rdi_rx_cdr_lol_s(3)=>gnd, + rdi_rx_cdr_lol_s(2)=>gnd,rdi_rx_cdr_lol_s(1)=>gnd,rdi_rx_cdr_lol_s(0)=>rx_cdr_lol_s_c, + rdo_serdes_rst_dual_c=>rsl_serdes_rst_dual_c,rdo_rst_dual_c=>rsl_rst_dual_c, + ruo_tx_rdy=>rsl_tx_rdy,rdo_tx_serdes_rst_c=>rsl_tx_serdes_rst_c, + rdo_tx_pcs_rst_c(3)=>n116,rdo_tx_pcs_rst_c(2)=>n117,rdo_tx_pcs_rst_c(1)=>n118, + rdo_tx_pcs_rst_c(0)=>rsl_tx_pcs_rst_c,ruo_rx_rdy=>rsl_rx_rdy,rdo_rx_serdes_rst_c(3)=>n119, + rdo_rx_serdes_rst_c(2)=>n120,rdo_rx_serdes_rst_c(1)=>n121,rdo_rx_serdes_rst_c(0)=>rsl_rx_serdes_rst_c, + rdo_rx_pcs_rst_c(3)=>n122,rdo_rx_pcs_rst_c(2)=>n123,rdo_rx_pcs_rst_c(1)=>\_Z\, + rdo_rx_pcs_rst_c(0)=>rsl_rx_pcs_rst_c); + n114 <= '1' ; + n113 <= '0' ; + gnd <= '0' ; + pwr <= '1' ; + n116 <= 'Z' ; + n117 <= 'Z' ; + n118 <= 'Z' ; + n119 <= 'Z' ; + n120 <= 'Z' ; + n121 <= 'Z' ; + n122 <= 'Z' ; + n123 <= 'Z' ; + \_Z\ <= 'Z' ; + +end architecture v1; + diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1_ngd.asd b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1_ngd.asd new file mode 100644 index 0000000..c265c78 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1_ngd.asd @@ -0,0 +1 @@ +[ActiveSupport NGD] diff --git a/media_interfaces/ecp5/dual_serdes/serdes1/serdes1_softlogic.v b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1_softlogic.v new file mode 100644 index 0000000..d6d7ac2 --- /dev/null +++ b/media_interfaces/ecp5/dual_serdes/serdes1/serdes1_softlogic.v @@ -0,0 +1,943 @@ + + +// =========================================================================== +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< +// --------------------------------------------------------------------------- +// Copyright (c) 2016 by Lattice Semiconductor Corporation +// ALL RIGHTS RESERVED +// ------------------------------------------------------------------ +// +// Permission: +// +// Lattice SG Pte. Ltd. grants permission to use this code +// pursuant to the terms of the Lattice Reference Design License Agreement. +// +// +// Disclaimer: +// +// This VHDL or Verilog source code is intended as a design reference +// which illustrates how these types of functions can be implemented. +// It is the user's responsibility to verify their design for +// consistency and functionality through the use of formal +// verification methods. Lattice provides no warranty +// regarding the use or functionality of this code. +// +// --------------------------------------------------------------------------- +// +// Lattice SG Pte. Ltd. +// 101 Thomson Road, United Square #07-02 +// Singapore 307591 +// +// +// TEL: 1-800-Lattice (USA and Canada) +// +65-6631-2000 (Singapore) +// +1-503-268-8001 (other locations) +// +// web: http://www.latticesemi.com/ +// email: techsupport@latticesemi.com +// +// --------------------------------------------------------------------------- +// +// ============================================================================= +// FILE DETAILS +// Project : RSL- Reset Sequence Logic +// File : rsl_core.v +// Title : Top-level file for RSL +// Dependencies : 1. +// : 2. +// Description : +// ============================================================================= +// REVISION HISTORY +// Version : 1.0 +// Author(s) : BM +// Mod. Date : October 28, 2013 +// Changes Made : Initial Creation +// ----------------------------------------------------------------------------- +// Version : 1.1 +// Author(s) : BM +// Mod. Date : November 06, 2013 +// Changes Made : Tx/Rx separation, ready port code exclusion +// ----------------------------------------------------------------------------- +// Version : 1.2 +// Author(s) : BM +// Mod. Date : June 13, 2014 +// Changes Made : Updated Rx PCS reset method +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Version : 1.3 +// Author(s) : UA +// Mod. Date : Dec 19, 2014 +// Changes Made : Added new parameter fro PCIE +// ----------------------------------------------------------------------------- +// Version : 1.31 +// Author(s) : BM/UM +// Mod. Date : Feb 23, 2016 +// Changes Made : Behavior of rx_rdy output modified. The output rx_rdy +// and the rx_rdy wait counter are reset to zero on +// LOL or LOS. Reverted back the counter value change for PCIE. +// ----------------------------------------------------------------------------- +// Version : 1.4 +// Author(s) : EB +// Mod. Date: : March 21, 2017 +// Changes Made : +// ----------------------------------------------------------------------------- +// Version : 1.5 +// Author(s) : ES +// Mod. Date: : May 8, 2017 +// Changes Made : Implemented common RSL behaviour as proposed by BM. +// ============================================================================= + +`timescale 1ns/10ps + +module serdes1rsl_core ( + // ------------ Inputs + // Common + rui_rst, // Active high reset for the RSL module + rui_serdes_rst_dual_c, // SERDES macro reset user command + rui_rst_dual_c, // PCS dual reset user command + rui_rsl_disable, // Active high signal that disables all reset outputs of RSL + // Tx + rui_tx_ref_clk, // Tx reference clock + rui_tx_serdes_rst_c, // Tx SERDES reset user command + rui_tx_pcs_rst_c, // Tx lane reset user command + rdi_pll_lol, // Tx PLL Loss of Lock status input from the SERDES + // Rx + rui_rx_ref_clk, // Rx reference clock + rui_rx_serdes_rst_c, // SERDES Receive channel reset user command + rui_rx_pcs_rst_c, // Rx lane reset user command + rdi_rx_los_low_s, // Receive loss of signal status input from SERDES + rdi_rx_cdr_lol_s, // Receive CDR loss of lock status input from SERDES + + // ------------ Outputs + // Common + rdo_serdes_rst_dual_c, // SERDES macro reset command output + rdo_rst_dual_c, // PCS dual reset command output + // Tx + ruo_tx_rdy, // Tx lane ready status output + rdo_tx_serdes_rst_c, // SERDES Tx reset command output + rdo_tx_pcs_rst_c, // PCS Tx lane reset command output + // Rx + ruo_rx_rdy, // Rx lane ready status output + rdo_rx_serdes_rst_c, // SERDES Rx channel reset command output + rdo_rx_pcs_rst_c // PCS Rx lane reset command output + ); + +// ------------ Module parameters +`ifdef NUM_CHANNELS + parameter pnum_channels = `NUM_CHANNELS; // 1,2,4 +`else + parameter pnum_channels = 1; +`endif + +`ifdef PCIE + parameter pprotocol = "PCIE"; +`else + parameter pprotocol = ""; +`endif + +`ifdef RX_ONLY + parameter pserdes_mode = "RX ONLY"; +`else + `ifdef TX_ONLY + parameter pserdes_mode = "TX ONLY"; + `else + parameter pserdes_mode = "RX AND TX"; + `endif +`endif + +`ifdef PORT_TX_RDY + parameter pport_tx_rdy = "ENABLED"; +`else + parameter pport_tx_rdy = "DISABLED"; +`endif + +`ifdef WAIT_TX_RDY + parameter pwait_tx_rdy = `WAIT_TX_RDY; +`else + parameter pwait_tx_rdy = 3000; +`endif + +`ifdef PORT_RX_RDY + parameter pport_rx_rdy = "ENABLED"; +`else + parameter pport_rx_rdy = "DISABLED"; +`endif + +`ifdef WAIT_RX_RDY + parameter pwait_rx_rdy = `WAIT_RX_RDY; +`else + parameter pwait_rx_rdy = 3000; +`endif + +// ------------ Local parameters + localparam wa_num_cycles = 1024; + localparam dac_num_cycles = 3; + localparam lreset_pwidth = 3; // reset pulse width-1, default=4-1=3 + localparam lwait_b4_trst = 781250; // 5ms wait with worst-case Fmax=156 MHz + localparam lwait_b4_trst_s = 781; // for simulation + localparam lplol_cnt_width = 20; // width for lwait_b4_trst + localparam lwait_after_plol0 = 4; + localparam lwait_b4_rrst = 180224; // total calibration time + localparam lrrst_wait_width = 20; + localparam lwait_after_rrst = 800000; // For CPRI- unused + localparam lwait_b4_rrst_s = 460; // wait cycles provided by design team + localparam lrlol_cnt_width = 19; // width for lwait_b4_rrst + localparam lwait_after_lols = (16384 * dac_num_cycles) + wa_num_cycles; // 16384 cycles * dac_num_cycles + 1024 cycles + localparam lwait_after_lols_s = 150; // wait cycles provided by design team + localparam llols_cnt_width = 18; // lols count width + localparam lrdb_max = 15; // maximum debounce count + localparam ltxr_wait_width = 12; // width of tx ready wait counter + localparam lrxr_wait_width = 12; // width of tx ready wait counter + +// ------------ input ports + input rui_rst; + input rui_serdes_rst_dual_c; + input rui_rst_dual_c; + input rui_rsl_disable; + + input rui_tx_ref_clk; + input rui_tx_serdes_rst_c; + input [3:0] rui_tx_pcs_rst_c; + input rdi_pll_lol; + + input rui_rx_ref_clk; + input [3:0] rui_rx_serdes_rst_c; + input [3:0] rui_rx_pcs_rst_c; + input [3:0] rdi_rx_los_low_s; + input [3:0] rdi_rx_cdr_lol_s; + +// ------------ output ports + output rdo_serdes_rst_dual_c; + output rdo_rst_dual_c; + + output ruo_tx_rdy; + output rdo_tx_serdes_rst_c; + output [3:0] rdo_tx_pcs_rst_c; + + output ruo_rx_rdy; + output [3:0] rdo_rx_serdes_rst_c; + output [3:0] rdo_rx_pcs_rst_c; + +// ------------ Internal registers and wires + // inputs + wire rui_rst; + wire rui_serdes_rst_dual_c; + wire rui_rst_dual_c; + wire rui_rsl_disable; + wire rui_tx_ref_clk; + wire rui_tx_serdes_rst_c; + wire [3:0] rui_tx_pcs_rst_c; + wire rdi_pll_lol; + wire rui_rx_ref_clk; + wire [3:0] rui_rx_serdes_rst_c; + wire [3:0] rui_rx_pcs_rst_c; + wire [3:0] rdi_rx_los_low_s; + wire [3:0] rdi_rx_cdr_lol_s; + + // outputs + wire rdo_serdes_rst_dual_c; + wire rdo_rst_dual_c; + wire ruo_tx_rdy; + wire rdo_tx_serdes_rst_c; + wire [3:0] rdo_tx_pcs_rst_c; + wire ruo_rx_rdy; + wire [3:0] rdo_rx_serdes_rst_c; + wire [3:0] rdo_rx_pcs_rst_c; + + // internal signals + // common + wire rsl_enable; + wire [lplol_cnt_width-1:0] wait_b4_trst; + wire [lrlol_cnt_width-1:0] wait_b4_rrst; + wire [llols_cnt_width-1:0] wait_after_lols; + reg pll_lol_p1; + reg pll_lol_p2; + reg pll_lol_p3; + // ------------ Tx + // rdo_tx_serdes_rst_c + reg [lplol_cnt_width-1:0] plol_cnt; + wire plol_cnt_tc; + + reg [2:0] txs_cnt; + reg txs_rst; + wire txs_cnt_tc; + // rdo_tx_pcs_rst_c + wire plol_fedge; + wire plol_redge; + reg waita_plol0; + reg [2:0] plol0_cnt; + wire plol0_cnt_tc; + reg [2:0] txp_cnt; + reg txp_rst; + wire txp_cnt_tc; + // ruo_tx_rdy + wire dual_or_serd_rst; + wire tx_any_pcs_rst; + wire tx_any_rst; + reg txsr_appd /* synthesis syn_keep=1 */; + reg txdpr_appd; + reg [pnum_channels-1:0] txpr_appd; + reg txr_wt_en; + reg [ltxr_wait_width-1:0] txr_wt_cnt; + wire txr_wt_tc; + reg ruo_tx_rdyr; + + // ------------ Rx + wire comb_rlos; + wire comb_rlol; + //wire rlols; + wire rx_all_well; + + //reg rlols_p1; + //reg rlols_p2; + //reg rlols_p3; + + reg rlol_p1; + reg rlol_p2; + reg rlol_p3; + reg rlos_p1; + reg rlos_p2; + reg rlos_p3; + + //reg [3:0] rdb_cnt; + //wire rdb_cnt_max; + //wire rdb_cnt_zero; + //reg rlols_db; + //reg rlols_db_p1; + + reg [3:0] rlol_db_cnt; + wire rlol_db_cnt_max; + wire rlol_db_cnt_zero; + reg rlol_db; + reg rlol_db_p1; + + reg [3:0] rlos_db_cnt; + wire rlos_db_cnt_max; + wire rlos_db_cnt_zero; + reg rlos_db; + reg rlos_db_p1; + + // rdo_rx_serdes_rst_c + reg [lrlol_cnt_width-1:0] rlol1_cnt; + wire rlol1_cnt_tc; + reg [2:0] rxs_cnt; + reg rxs_rst; + wire rxs_cnt_tc; + reg [lrrst_wait_width-1:0] rrst_cnt; + wire rrst_cnt_tc; + reg rrst_wait; + // rdo_rx_pcs_rst_c + //wire rlols_fedge; + //wire rlols_redge; + wire rlol_fedge; + wire rlol_redge; + wire rlos_fedge; + wire rlos_redge; + + reg wait_calib; + reg waita_rlols0; + reg [llols_cnt_width-1:0] rlols0_cnt; + wire rlols0_cnt_tc; + reg [2:0] rxp_cnt; + reg rxp_rst; + wire rxp_cnt_tc; + + wire rx_any_serd_rst; + reg [llols_cnt_width-1:0] rlolsz_cnt; + wire rlolsz_cnt_tc; + reg [2:0] rxp_cnt2; + reg rxp_rst2; + wire rxp_cnt2_tc; + reg [15:0] data_loop_b_cnt; + reg data_loop_b; + wire data_loop_b_tc; + + // ruo_rx_rdy + reg [pnum_channels-1:0] rxsr_appd; + reg [pnum_channels-1:0] rxpr_appd; + reg rxsdr_appd /* synthesis syn_keep=1 */; + reg rxdpr_appd; + wire rxsdr_or_sr_appd; + wire dual_or_rserd_rst; + wire rx_any_pcs_rst; + wire rx_any_rst; + reg rxr_wt_en; + reg [lrxr_wait_width-1:0] rxr_wt_cnt; + wire rxr_wt_tc; + reg ruo_rx_rdyr; + +// ================================================================== +// Start of code +// ================================================================== + assign rsl_enable = ~rui_rsl_disable; + +// ------------ rdo_serdes_rst_dual_c + assign rdo_serdes_rst_dual_c = (rui_rst&rsl_enable) | rui_serdes_rst_dual_c; + +// ------------ rdo_rst_dual_c + assign rdo_rst_dual_c = rui_rst_dual_c; + +// ------------ Setting counter values for RSL_SIM_MODE + `ifdef RSL_SIM_MODE + assign wait_b4_trst = lwait_b4_trst_s; + assign wait_b4_rrst = lwait_b4_rrst_s; + assign wait_after_lols = lwait_after_lols_s; + `else + assign wait_b4_trst = lwait_b4_trst; + assign wait_b4_rrst = lwait_b4_rrst; + assign wait_after_lols = lwait_after_lols; + `endif + +// ================================================================== +// Tx +// ================================================================== + generate + if((pserdes_mode=="RX AND TX")||(pserdes_mode=="TX ONLY")) begin + +// ------------ Synchronizing pll_lol to the tx clock + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + pll_lol_p1 <= 1'd0; + pll_lol_p2 <= 1'd0; + pll_lol_p3 <= 1'd0; + end + else begin + pll_lol_p1 <= rdi_pll_lol; + pll_lol_p2 <= pll_lol_p1; + pll_lol_p3 <= pll_lol_p2; + end + end + +// ------------ rdo_tx_serdes_rst_c + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + plol_cnt <= 'd0; + else if((pll_lol_p2==0)||(plol_cnt_tc==1)||(rdo_tx_serdes_rst_c==1)) + plol_cnt <= 'd0; + else + plol_cnt <= plol_cnt+1; + end + assign plol_cnt_tc = (plol_cnt==wait_b4_trst)?1'b1:1'b0; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + txs_cnt <= 'd0; // tx serdes reset pulse count + txs_rst <= 1'b0; // tx serdes reset + end + else if(plol_cnt_tc==1) + txs_rst <= 1'b1; + else if(txs_cnt_tc==1) begin + txs_cnt <= 'd0; + txs_rst <= 1'b0; + end + else if(txs_rst==1) + txs_cnt <= txs_cnt+1; + end + assign txs_cnt_tc = (txs_cnt==lreset_pwidth)?1'b1:1'b0; + + assign rdo_tx_serdes_rst_c = (rsl_enable&txs_rst)| rui_tx_serdes_rst_c; + +// ------------ rdo_tx_pcs_rst_c + assign plol_fedge = ~pll_lol_p2 & pll_lol_p3; + assign plol_redge = pll_lol_p2 & ~pll_lol_p3; + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + waita_plol0 <= 1'd0; + else if(plol_fedge==1'b1) + waita_plol0 <= 1'b1; + else if((plol0_cnt_tc==1)||(plol_redge==1)) + waita_plol0 <= 1'd0; + end + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + plol0_cnt <= 'd0; + else if((pll_lol_p2==1)||(plol0_cnt_tc==1)) + plol0_cnt <= 'd0; + else if(waita_plol0==1'b1) + plol0_cnt <= plol0_cnt+1; + end + assign plol0_cnt_tc = (plol0_cnt==lwait_after_plol0)?1'b1:1'b0; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + txp_cnt <= 'd0; // tx serdes reset pulse count + txp_rst <= 1'b0; // tx serdes reset + end + else if(plol0_cnt_tc==1) + txp_rst <= 1'b1; + else if(txp_cnt_tc==1) begin + txp_cnt <= 'd0; + txp_rst <= 1'b0; + end + else if(txp_rst==1) + txp_cnt <= txp_cnt+1; + end + assign txp_cnt_tc = (txp_cnt==lreset_pwidth)?1'b1:1'b0; + + genvar i; + for(i=0;i<pnum_channels;i=i+1) begin : ifor + assign rdo_tx_pcs_rst_c[i] = (rsl_enable&txp_rst)| rui_tx_pcs_rst_c[i]; + end + if(pnum_channels==1) + assign rdo_tx_pcs_rst_c[3:1] = 3'b000; + else if(pnum_channels==2) + assign rdo_tx_pcs_rst_c[3:2] = 2'b00; + + // ------------ ruo_tx_rdy + if(pport_tx_rdy=="ENABLED") begin + assign dual_or_serd_rst = rdo_serdes_rst_dual_c|rdo_tx_serdes_rst_c; + assign tx_any_pcs_rst = rdo_rst_dual_c|(|rdo_tx_pcs_rst_c[pnum_channels-1:0]); + assign tx_any_rst = dual_or_serd_rst | tx_any_pcs_rst; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txsr_appd <= 1'b1; // tx serdes reset applied + else if(dual_or_serd_rst==1) + txsr_appd <= 1'b1; + end + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txdpr_appd <= 1'b0; // tx dual (pcs) reset applied + else if(pll_lol_p2|rdo_serdes_rst_dual_c|rdo_tx_serdes_rst_c) + txdpr_appd <= 1'b0; + else if(rdo_rst_dual_c==1) + txdpr_appd <= 1'b1; + end + + genvar m; + for(m=0;m<pnum_channels;m=m+1) begin :mfor + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txpr_appd[m] <= 1'b0; // tx pcs reset applied + else if(pll_lol_p2|rdo_serdes_rst_dual_c|rdo_tx_serdes_rst_c) + txpr_appd[m] <= 1'b0; + else if(txsr_appd&(rdo_tx_pcs_rst_c[m]|txdpr_appd)) + txpr_appd[m] <= 1'b1; + end + end + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txr_wt_en <= 0; // tx ready wait counter enable + else if((txr_wt_tc==1)||(dual_or_serd_rst==1)) + txr_wt_en <= 0; + else if((~ruo_tx_rdyr)&(~pll_lol_p2)&(&txpr_appd)) + txr_wt_en <= 1; + end + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + txr_wt_cnt <= 'd0; // tx ready wait count + else if((txr_wt_tc==1)||(tx_any_rst==1)) + txr_wt_cnt <= 'd0; + else if(txr_wt_en==1) + txr_wt_cnt <= txr_wt_cnt+1; + end + assign txr_wt_tc = (txr_wt_cnt==pwait_tx_rdy)?1'b1:1'b0; + + always @(posedge rui_tx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + ruo_tx_rdyr <= 1'b0; // tx serdes reset applied + else if((tx_any_rst==1)||(pll_lol_p2==1)) + ruo_tx_rdyr <= 1'b0; + else if(txr_wt_tc==1) + ruo_tx_rdyr <= 1'b1; + end + assign ruo_tx_rdy = ruo_tx_rdyr; + end // if pport_tx_rdy + else + assign ruo_tx_rdy = 1'b0; + end // generate if(Rx and Tx) or (Tx only) + else begin // generate else (Rx only) + assign rdo_tx_serdes_rst_c = 1'b0; + assign rdo_tx_pcs_rst_c = 4'd0; + assign ruo_tx_rdy = 1'b0; + end + endgenerate + +// ================================================================== +// Rx +// ================================================================== + generate + if((pserdes_mode=="RX AND TX")||(pserdes_mode=="RX ONLY")) begin + assign comb_rlos = |rdi_rx_los_low_s[pnum_channels-1:0]; + assign comb_rlol = |rdi_rx_cdr_lol_s[pnum_channels-1:0]; + //assign rlols = comb_rlos|comb_rlol; + + // ------------ Synchronizing rlols to the rx ref clock + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) begin + //rlols_p1 <= 1'd0; + //rlols_p2 <= 1'd0; + //rlols_p3 <= 1'd0; + //rlols_db_p1 <= 1'd1; + + rlol_p1 <= 1'd0; + rlol_p2 <= 1'd0; + rlol_p3 <= 1'd0; + rlol_db_p1 <= 1'd1; + + rlos_p1 <= 1'd0; + rlos_p2 <= 1'd0; + rlos_p3 <= 1'd0; + rlos_db_p1 <= 1'd1; + end + else begin + //rlols_p1 <= rlols; + //rlols_p2 <= rlols_p1; + //rlols_p3 <= rlols_p2; + //rlols_db_p1 <= rlols_db; + + rlol_p1 <= comb_rlol; + rlol_p2 <= rlol_p1; + rlol_p3 <= rlol_p2; + rlol_db_p1 <= rlol_db; + + rlos_p1 <= comb_rlos; + rlos_p2 <= rlos_p1; + rlos_p3 <= rlos_p2; + rlos_db_p1 <= rlos_db; + end + end + assign rx_all_well = ~rlol_db && ~rlos_db; + +//****************************************************************************** +// [ES:05.03.17] Unused registers for clean-up +//------------------------------------------------------------------------------ +// ------------ Debouncing rlols +// always @(posedge rui_rx_ref_clk or posedge rui_rst) begin +// if(rui_rst==1'b1) rdb_cnt <= lrdb_max; +// else if(rlols_p2==1) begin +// if(!rdb_cnt_max) rdb_cnt <= rdb_cnt+1; +// end +// else if(!rdb_cnt_zero) rdb_cnt <= rdb_cnt-1; +// end +// assign rdb_cnt_max = (rdb_cnt==lrdb_max); +// assign rdb_cnt_zero = (rdb_cnt==0); +// always @(posedge rui_rx_ref_clk or posedge rui_rst) begin +// if(rui_rst==1'b1) rlols_db <= 1; +// else if(rdb_cnt_max) rlols_db <= 1; +// else if(rdb_cnt_zero) rlols_db <= 0; +// end +//****************************************************************************** + +// ------------ Debouncing rlol + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlol_db_cnt <= lrdb_max; + else if(rlol_p2==1) begin + if(!rlol_db_cnt_max) rlol_db_cnt <= rlol_db_cnt+1; + end + else if(!rlol_db_cnt_zero) rlol_db_cnt <= rlol_db_cnt-1; + end + assign rlol_db_cnt_max = (rlol_db_cnt==lrdb_max); + assign rlol_db_cnt_zero = (rlol_db_cnt==0); + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlol_db <= 1; + else if(rlol_db_cnt_max) rlol_db <= 1; + else if(rlol_db_cnt_zero) rlol_db <= 0; + end + +// ------------ Debouncing rlos + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlos_db_cnt <= lrdb_max; + else if(rlos_p2==1) begin + if(!rlos_db_cnt_max) rlos_db_cnt <= rlos_db_cnt+1; + end + else if(!rlos_db_cnt_zero) rlos_db_cnt <= rlos_db_cnt-1; + end + assign rlos_db_cnt_max = (rlos_db_cnt==lrdb_max); + assign rlos_db_cnt_zero = (rlos_db_cnt==0); + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) rlos_db <= 1; + else if(rlos_db_cnt_max) rlos_db <= 1; + else if(rlos_db_cnt_zero) rlos_db <= 0; + end + +// ------------ Calib time trigger + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + wait_calib <= 1'd1; + end + else begin + if (rlol1_cnt_tc) begin + if (rlol_db) + wait_calib <= 1'd1; + else + wait_calib <= 1'd0; + end + else if (rlos_redge) + wait_calib <= 1'd0; + else if (rlos_fedge) begin + wait_calib <= 1'd1; + end + end + end + + //*************************************************************************** + // Total calibration time counter + // - this covers the band calibration time (256 cycles * 64) and + // DAC calibration time (16384 cycles * 10 bits) + //--------------------------------------------------------------------------- + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rlol1_cnt <= 'd0; // Counting when Rx LOL is 1 and Rx LOS is 0 + end + else begin + if(rxs_rst || rlol1_cnt_tc || rlos_redge) + rlol1_cnt <= 'd0; + else if (wait_calib) + rlol1_cnt <= rlol1_cnt+1; + end + end + assign rlol1_cnt_tc = (rlol1_cnt==wait_b4_rrst); + +// ------------ rdo_rx_serdes_rst_c + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rxs_cnt <= 'd0; // rx serdes reset pulse count + rxs_rst <= 1'b0; // rx serdes reset + end + else begin + if (rlos_db) + rxs_rst <= 1'b0; + else if (rlol1_cnt_tc && rlol_db) + rxs_rst <= 1'b1; + else if (rxs_cnt_tc==1) begin + rxs_rst <= 1'b0; + end + + if (rxs_cnt_tc) + rxs_cnt <= 'd0; + else + if (rxs_rst==1) + rxs_cnt <= rxs_cnt+1; + end + end + assign rxs_cnt_tc = (rxs_cnt==lreset_pwidth)?1'b1:1'b0; + + //*************************************************************************** + // [ES:05.03.17] Unused logic from CPRI rrst_wait + //--------------------------------------------------------------------------- + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rrst_cnt <= 'd0; + // else if(rlol1_cnt_tc) + // rrst_cnt <= 'd0; + // else if(rrst_wait) + // rrst_cnt <= rrst_cnt+1; + // end + // assign rrst_cnt_tc = (rrst_cnt==lwait_after_rrst) ? 1'b1 : 1'b0; + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rrst_wait <= 0; + // else if(pprotocol != "CPRI") + // rrst_wait <= 0; + // else if(rlol1_cnt_tc) + // rrst_wait <= 1; + // else if(rrst_cnt_tc==1) + // rrst_wait <= 0; + // end + //*************************************************************************** + + genvar j; + for(j=0;j<pnum_channels;j=j+1) begin :jfor + assign rdo_rx_serdes_rst_c[j] = (rsl_enable&rxs_rst)| rui_rx_serdes_rst_c[j]; + end + if(pnum_channels==1) + assign rdo_rx_serdes_rst_c[3:1] = 3'b000; + else if(pnum_channels==2) + assign rdo_rx_serdes_rst_c[3:2] = 2'b00; + +// ------------ rdo_rx_pcs_rst_c + //assign rlols_fedge = ~rlols_db & rlols_db_p1; + //assign rlols_redge = rlols_db & ~rlols_db_p1; + + assign rlol_fedge = ~rlol_db & rlol_db_p1; + assign rlol_redge = rlol_db & ~rlol_db_p1; + assign rlos_fedge = ~rlos_db & rlos_db_p1; + assign rlos_redge = rlos_db & ~rlos_db_p1; + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + waita_rlols0 <= 1'd0; + end + else begin + if ((rlos_fedge && ~rlol_db) || (rlol_fedge && ~rlos_db)) + waita_rlols0 <= 1'b1; + else if (rlos_redge || rlol_redge) + waita_rlols0 <= 1'd0; + else if (rlols0_cnt_tc==1) + waita_rlols0 <= 1'd0; + end + end + + //*************************************************************************** + // Post RLOL check before pcs_rst deassertion + // - allowance of 2-4 DAC calibration cycles + 1024 cycles for WA module + // (word alignment). + //--------------------------------------------------------------------------- + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rlols0_cnt <= 'd0; + end + else begin + if (rlol_redge || rlos_redge || rlols0_cnt_tc) + rlols0_cnt <= 'd0; + else if (waita_rlols0==1) + rlols0_cnt <= rlols0_cnt+1; + end + end + assign rlols0_cnt_tc = (rlols0_cnt == wait_after_lols); + assign rx_any_serd_rst = rdo_serdes_rst_dual_c|(|rdo_rx_serdes_rst_c); + + //*************************************************************************** + // [ES:05.03.17] Unused registers for clean-up + //--------------------------------------------------------------------------- + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rlolsz_cnt <= 'd0; // Counting when both Rx LOL is 0 and Rx LOS is 0 + // else if((rlol_db|rx_any_serd_rst)||(rlolsz_cnt_tc==1)) + // rlolsz_cnt <= 'd0; + // else if((rlolsz_cnt_tc==0)&&(rlol_db==0)) + // rlolsz_cnt <= rlolsz_cnt+1; + // end + // assign rlolsz_cnt_tc = (rlolsz_cnt==wait_after_lols); + //*************************************************************************** + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if (rui_rst==1'b1) begin + rxp_cnt2 <= 'd0; // pcs serdes reset pulse count + rxp_rst2 <= 1'b1; // rx pcs reset + end + else begin + if (rx_any_serd_rst || rlos_redge) begin + rxp_rst2 <= 1'b1; + end + else if (rlols0_cnt_tc) begin + rxp_rst2 <= 1'b0; + end + //*********************************************************************** + // [ES:05.03.17] No need for pulse width + //----------------------------------------------------------------------- + // else if(rxp_cnt2_tc==1) begin + // rxp_cnt2 <= 'd0; + // rxp_rst2 <= 1'b0; + // end + //*********************************************************************** + // [ES:05.03.17] No need for pulse width + //----------------------------------------------------------------------- + // else if (rxp_rst2==1) + // rxp_cnt2 <= rxp_cnt2+1; + //*********************************************************************** + end // else: !if(rui_rst==1'b1) + end // always @ (posedge rui_rx_ref_clk or posedge rui_rst) + //assign rxp_cnt2_tc = (rxp_cnt2==lreset_pwidth)?1'b1:1'b0; + + //*************************************************************************** + // [ES:05.03.17] No need for pulse width + //--------------------------------------------------------------------------- + //else begin + // always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + // if(rui_rst==1'b1) + // rxp_rst2 <= 1'b1; // rx pcs reset + // else if(rx_any_serd_rst) + // rxp_rst2 <= 1'b1; + // else if(rlolsz_cnt_tc==1) + // rxp_rst2 <= 1'b0; + // end + //end + //*************************************************************************** + + genvar k; + for(k=0;k<pnum_channels;k=k+1) begin: kfor + assign rdo_rx_pcs_rst_c[k] = (rsl_enable&rxp_rst2)| rui_rx_pcs_rst_c[k]; + end + if(pnum_channels==1) + assign rdo_rx_pcs_rst_c[3:1] = 3'b000; + else if(pnum_channels==2) + assign rdo_rx_pcs_rst_c[3:2] = 2'b00; + +// ------------ ruo_rx_rdy + if(pport_rx_rdy=="ENABLED") begin + assign dual_or_rserd_rst = rdo_serdes_rst_dual_c|(|rdo_rx_serdes_rst_c[pnum_channels-1:0]); + assign rx_any_pcs_rst = rdo_rst_dual_c|(|rdo_rx_pcs_rst_c[pnum_channels-1:0]); + assign rx_any_rst = dual_or_rserd_rst | rx_any_pcs_rst; + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxsdr_appd <= 1'b1; // Serdes dual reset (macro reset) applied + else if(rdo_serdes_rst_dual_c==1) + rxsdr_appd <= 1'b1; + end + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxdpr_appd <= 1'b0; // Rx dual PCS reset (dual reset) applied + else if(~rx_all_well|dual_or_rserd_rst) + rxdpr_appd <= 1'b0; + else if(rdo_rst_dual_c==1) + rxdpr_appd <= 1'b1; + end + + genvar l; + for(l=0;l<pnum_channels;l=l+1) begin : lfor + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxsr_appd[l] <= 1'b0; // rx serdes reset applied + else if(rdo_rx_serdes_rst_c[l]==1) + rxsr_appd[l] <= 1'b1; + end + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxpr_appd[l] <= 1'b0; // rx pcs reset applied + else if(rdi_rx_los_low_s[l]|rdi_rx_cdr_lol_s[l]|rdo_serdes_rst_dual_c|rdo_rx_serdes_rst_c[l]) + rxpr_appd[l] <= 1'b0; + else if(rxsdr_or_sr_appd&(~rx_all_well)&rdo_rx_pcs_rst_c[l]) + rxpr_appd[l] <= 1'b1; + end + end + + assign rxsdr_or_sr_appd = rxsdr_appd|(&rxsr_appd); + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxr_wt_en <= 0; // rx ready wait counter enable + //else if((rxr_wt_tc==1)||(dual_or_rserd_rst==1)) + else if((rxr_wt_tc==1)||(dual_or_rserd_rst==1)||(rx_all_well==0)) // BM, 2/4/16 + rxr_wt_en <= 0; + else if(~ruo_rx_rdyr&rx_all_well&((&rxpr_appd)|rxdpr_appd)) + rxr_wt_en <= 1; + end + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + rxr_wt_cnt <= 'd0; // rx ready wait count + //else if((rxr_wt_tc==1)||(rx_any_rst==1)) + else if((rxr_wt_tc==1)||(rx_any_rst==1)||(rx_all_well==0)) // BM, 2/4/16 + rxr_wt_cnt <= 'd0; + else if(rxr_wt_en==1) + rxr_wt_cnt <= rxr_wt_cnt+1; + end + assign rxr_wt_tc = (rxr_wt_cnt==pwait_rx_rdy)?1'b1:1'b0; + + always @(posedge rui_rx_ref_clk or posedge rui_rst) begin + if(rui_rst==1'b1) + ruo_rx_rdyr <= 1'b0; // rx serdes reset applied + else if((rx_any_rst==1)||(rx_all_well==0)) + ruo_rx_rdyr <= 1'b0; + else if(rxr_wt_tc==1) + ruo_rx_rdyr <= 1'b1; + end + assign ruo_rx_rdy = ruo_rx_rdyr; + end // if pport_rx_rdy + else + assign ruo_rx_rdy = 1'b0; + end // if ((pserdes_mode=="RX AND TX")||(pserdes_mode=="RX ONLY")) + + else begin // generate else (Tx only) + assign rdo_rx_serdes_rst_c = 4'd0; + assign rdo_rx_pcs_rst_c = 4'd0; + assign ruo_rx_rdy = 1'b0; + end // else: !if((pserdes_mode=="RX AND TX")||(pserdes_mode=="RX ONLY")) + + endgenerate + +endmodule + diff --git a/media_interfaces/med_ecp5_sfp_sync_2.vhd b/media_interfaces/med_ecp5_sfp_sync_2.vhd index 4e22911..5003888 100644 --- a/media_interfaces/med_ecp5_sfp_sync_2.vhd +++ b/media_interfaces/med_ecp5_sfp_sync_2.vhd @@ -34,7 +34,7 @@ entity med_ecp5_sfp_sync_2 is --SFP Connection SD_PRSNT_N_IN : in std_logic_vector(1 downto 0); -- SFP Present ('0' = SFP in place, '1' = no SFP mounted) SD_LOS_IN : in std_logic_vector(1 downto 0); -- SFP Loss Of Signal ('0' = OK, '1' = no signal) - SD_TXDIS_OUT : out std_logic_vector(1 downto 0) := x"0"; -- SFP disable + SD_TXDIS_OUT : out std_logic_vector(1 downto 0) := "00"; -- SFP disable --Control Interface BUS_RX : in CTRLBUS_RX; BUS_TX : out CTRLBUS_TX @@ -46,7 +46,7 @@ entity med_ecp5_sfp_sync_2 is end entity; -architecture arch of med_ecp5_sfp_sync_4 is +architecture arch of med_ecp5_sfp_sync_2 is -- Placer Directives @@ -90,7 +90,7 @@ signal sci_data_out_i : std_logic_vector(7 downto 0); signal sci_read_i : std_logic; signal sci_write_i : std_logic; -signal wa_position : std_logic_vector(7 downto 0) := x"FF"; +signal wa_position : std_logic_vector(15 downto 0) := x"FFFF"; signal wa_position_sel : std_logic_vector(1 downto 0); signal stat_rx_control_i : std_logic_vector(63 downto 0); @@ -321,7 +321,10 @@ THE_SCI_READER : entity work.sci_reader MEDIA_STATUS_REG_IN(63 downto 32) => stat_tx_control_i(31 downto 0), MEDIA_STATUS_REG_IN(95 downto 64) => stat_fsm_reset_i(31 downto 0), MEDIA_STATUS_REG_IN(159 downto 96) => stat_med, - MEDIA_STATUS_REG_IN(255 downto 160) => (others => '0'), + MEDIA_STATUS_REG_IN(191 downto 160) => stat_rx_control_i(63 downto 32), + MEDIA_STATUS_REG_IN(223 downto 192) => stat_tx_control_i(63 downto 32), + MEDIA_STATUS_REG_IN(255 downto 224) => stat_fsm_reset_i(63 downto 32), +-- MEDIA_STATUS_REG_IN(255 downto 160) => (others => '0'), DEBUG_OUT => open ); -- 2.43.0