From 67d1efa23216e9ae463154346b1e3c8b16fb48a4 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <f.schreuder@nikhef.nl>
Date: Wed, 27 Mar 2019 14:39:54 +0100
Subject: [PATCH 01/19] Added new TTC Emulator registers as requested by Israel

---
 sources/templates/build-doc.sh       |    2 +-
 sources/templates/build.sh           |    6 +-
 sources/templates/dma_control.vhd    |   57 +-
 sources/templates/pcie_package.vhd   |   48 +-
 sources/templates/registers-4.7.yaml | 2665 ++++++++++++++++++++++++++
 sources/templates/version.txt        |    2 +-
 6 files changed, 2763 insertions(+), 17 deletions(-)
 create mode 100644 sources/templates/registers-4.7.yaml

diff --git a/sources/templates/build-doc.sh b/sources/templates/build-doc.sh
index 43ea55de1..df086b20e 100755
--- a/sources/templates/build-doc.sh
+++ b/sources/templates/build-doc.sh
@@ -1,7 +1,7 @@
 #!/bin/sh -e
 
 wuppercodegen=../../../software/wuppercodegen/wuppercodegen/cli.py
-registers=registers-4.6.yaml
+registers=registers-4.7.yaml
 $wuppercodegen --version
 $wuppercodegen $registers registermap.tex.template registermap.tex
 latex registers.tex
diff --git a/sources/templates/build.sh b/sources/templates/build.sh
index d55885ff2..c8b84c020 100755
--- a/sources/templates/build.sh
+++ b/sources/templates/build.sh
@@ -3,9 +3,9 @@
 #
 # Script to rebuild the derived files from templates
 #
-prev_version=4.5
-current_version=4.6
-next_version=4.6
+prev_version=4.6
+current_version=4.7
+next_version=4.7
 
 #
 # firmware directory:
diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 107bd8825..862cc9923 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -6,11 +6,11 @@
 -- DO NOT EDIT THIS FILE
 -- 
 -- This file was generated from template '../../sources/templates/dma_control.vhd.template'
--- and register map ../../sources/templates/registers-4.6.yaml, version 4.6
+-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7
 -- by the script 'wuppercodegen', version: 0.8.0,
 -- using the following commandline:
 -- 
--- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd
+-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd
 -- 
 -- Please do NOT edit this file, but edit the source file at '../../sources/templates/dma_control.vhd.template'
 -- 
@@ -6941,7 +6941,7 @@ end process;
           register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= REG_TTC_DEC_CTRL_XL1ID_RST_C;            -- giving a trigger signal to reset XL1ID value
           register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= REG_TTC_DEC_CTRL_MASTER_BUSY_C;          -- L1A trigger throttling
           register_map_control_s.TTC_EMU.SEL                    <= REG_TTC_EMU_SEL_C;                       -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Enable TTC data generator (10 bit counter)
+          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Enable TTC data generator
           register_map_control_s.TTC_DELAY_00                   <= REG_TTC_DELAY_00_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_01                   <= REG_TTC_DELAY_01_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_02                   <= REG_TTC_DELAY_02_C;                      -- Controls the TTC Fanout delay values
@@ -6993,6 +6993,19 @@ end process;
           register_map_control_s.TTC_BUSY_TIMING_CTRL.PRESCALE  <= REG_TTC_BUSY_TIMING_CTRL_PRESCALE_C;     -- Prescales the 40MHz clock to create an internal slow clock
           register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C;   -- Minimum number of 40MHz clocks that the busy is asserted
           register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C;   -- Number of prescaled clocks a given busy must be asserted before it is recognized
+          register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= REG_TTC_EMU_CONTROL_LAST_LINE_C;         -- Last line of the sequence
+          register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= REG_TTC_EMU_CONTROL_REPEAT_C;            -- Repeat the sequence
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST6     <= REG_TTC_EMU_CONTROL_BROADCAST6_C;        -- Broadcast 6
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= REG_TTC_EMU_CONTROL_BROADCAST5_C;        -- Broadcast 5
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= REG_TTC_EMU_CONTROL_BROADCAST4_C;        -- Broadcast 4
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= REG_TTC_EMU_CONTROL_BROADCAST3_C;        -- Broadcast 3
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST2     <= REG_TTC_EMU_CONTROL_BROADCAST2_C;        -- Broadcast 2
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST1     <= REG_TTC_EMU_CONTROL_BROADCAST1_C;        -- Broadcast 1
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST0     <= REG_TTC_EMU_CONTROL_BROADCAST0_C;        -- Broadcast 0
+          register_map_control_s.TTC_EMU_CONTROL.ECR            <= REG_TTC_EMU_CONTROL_ECR_C;               -- Event counter reset
+          register_map_control_s.TTC_EMU_CONTROL.BCR            <= REG_TTC_EMU_CONTROL_BCR_C;               -- Bunch counter reset
+          register_map_control_s.TTC_EMU_CONTROL.L1A            <= REG_TTC_EMU_CONTROL_L1A_C;               -- Level 1 Accept
+          register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER   <= REG_TTC_EMU_CONTROL_STEP_COUNTER_C;      -- Step counter value
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -8975,6 +8988,7 @@ end process;
           register_map_control_s.CR_BLOCK_COUNT_GBT23.RESET     <= REG_CR_BLOCK_COUNT_GBT23_RESET_C;  -- Any write clears the counter value
       end if;
       register_map_control_s.TTC_BUSY_CLEAR                 <= REG_TTC_BUSY_CLEAR_C;              -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+      register_map_control_s.TTC_EMU_CONTROL.WE             <= REG_TTC_EMU_CONTROL_WE_C;          -- Any write to this register executes a write enable
       register_map_control_s.XOFF_FM_HIGH_THRESH.CLEAR_LATCH <= REG_XOFF_FM_HIGH_THRESH_CLEAR_LATCH_C; -- Writing this register will clear all CROSS_LATCHED bits
       register_map_control_s.DMA_BUSY_STATUS.CLEAR_LATCH    <= REG_DMA_BUSY_STATUS_CLEAR_LATCH_C; -- Any write to this register clears TOHOST_BUSY_LATCHED
       register_map_control_s.FM_BUSY_CHANNEL_STATUS.CLEAR_LATCH <= REG_FM_BUSY_CHANNEL_STATUS_CLEAR_LATCH_C; -- Any write to this register will clear the BUSY_LATCHED bits
@@ -13559,8 +13573,9 @@ end process;
                                                        register_read_data_25_s(9 downto 2)     <= register_map_control_s.TTC_DEC_CTRL.XL1ID_SW;         -- set XL1ID value, the value to be set by XL1ID_RST signal
                                                        register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_DEC_CTRL.XL1ID_RST;        -- giving a trigger signal to reset XL1ID value
                                                        register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY;      -- L1A trigger throttling
-            when REG_TTC_EMU                        => register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Enable TTC data generator (10 bit counter)
+            when REG_TTC_EMU                        => register_read_data_25_s(2 downto 2)     <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL;                  -- TTC Emulator memory full indication
+                                                       register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
+                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Enable TTC data generator
             when REG_TTC_DELAY_00                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_00;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_01;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_02;                  -- Controls the TTC Fanout delay values
@@ -13613,6 +13628,20 @@ end process;
                                                        register_read_data_25_s(31 downto 16)   <= register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH; -- Minimum number of 40MHz clocks that the busy is asserted
                                                        register_read_data_25_s(15 downto 0)    <= register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME; -- Number of prescaled clocks a given busy must be asserted before it is recognized
             when REG_TTC_BUSY_CLEAR                 => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_BUSY_CLEAR;                -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+            when REG_TTC_EMU_CONTROL                => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_EMU_CONTROL.WE;            -- Any write to this register executes a write enable
+                                                       register_read_data_25_s(35 downto 35)   <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE;     -- Last line of the sequence
+                                                       register_read_data_25_s(34 downto 34)   <= register_map_control_s.TTC_EMU_CONTROL.REPEAT;        -- Repeat the sequence
+                                                       register_read_data_25_s(33 downto 33)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST6;    -- Broadcast 6
+                                                       register_read_data_25_s(32 downto 32)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5;    -- Broadcast 5
+                                                       register_read_data_25_s(31 downto 31)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4;    -- Broadcast 4
+                                                       register_read_data_25_s(30 downto 30)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3;    -- Broadcast 3
+                                                       register_read_data_25_s(29 downto 29)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST2;    -- Broadcast 2
+                                                       register_read_data_25_s(28 downto 28)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST1;    -- Broadcast 1
+                                                       register_read_data_25_s(27 downto 27)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST0;    -- Broadcast 0
+                                                       register_read_data_25_s(26 downto 26)   <= register_map_control_s.TTC_EMU_CONTROL.ECR;           -- Event counter reset
+                                                       register_read_data_25_s(25 downto 25)   <= register_map_control_s.TTC_EMU_CONTROL.BCR;           -- Bunch counter reset
+                                                       register_read_data_25_s(24 downto 24)   <= register_map_control_s.TTC_EMU_CONTROL.L1A;           -- Level 1 Accept
+                                                       register_read_data_25_s(21 downto 0)    <= register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER;  -- Step counter value
             when REG_XOFF_FM_CH_FIFO_THRESH_LOW     => register_read_data_25_s(47 downto 44)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_read_data_25_s(43 downto 40)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_read_data_25_s(39 downto 36)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -14619,7 +14648,7 @@ end process;
 
 
 -- GenericBoardInformation
-              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= REG_MAP_VERSION;                                                                  -- Register Map Version, 4.6 formatted as 0x0406
+              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= REG_MAP_VERSION;                                                                  -- Register Map Version, 4.7 formatted as 0x0407
               when REG_BOARD_ID_TIMESTAMP             => register_read_data_25_s(39 downto 0)    <= BUILD_DATETIME;                                                                   -- Board ID Date / Time in BCD format YYMMDDhhmm
               when REG_BOARD_ID_SVN                   => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(SVN_VERSION,16));                                    -- Board ID SVN Revision
               when REG_GIT_COMMIT_TIME                => register_read_data_25_s(39 downto 0)    <= COMMIT_DATETIME;                                                                  -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
@@ -20679,7 +20708,7 @@ end process;
                                                        register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= register_write_data_25_v(1 downto 1);    -- giving a trigger signal to reset XL1ID value
                                                        register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= register_write_data_25_v(0 downto 0);    -- L1A trigger throttling
             when REG_TTC_EMU                        => register_map_control_s.TTC_EMU.SEL                    <= register_write_data_25_v(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Enable TTC data generator (10 bit counter)
+                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Enable TTC data generator
             when REG_TTC_DELAY_00                   => register_map_control_s.TTC_DELAY_00                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_map_control_s.TTC_DELAY_01                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_map_control_s.TTC_DELAY_02                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
@@ -20732,6 +20761,20 @@ end process;
                                                        register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= register_write_data_25_v(31 downto 16);  -- Minimum number of 40MHz clocks that the busy is asserted
                                                        register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= register_write_data_25_v(15 downto 0);   -- Number of prescaled clocks a given busy must be asserted before it is recognized
             when REG_TTC_BUSY_CLEAR                 => register_map_control_s.TTC_BUSY_CLEAR                 <= "1";                                     -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+            when REG_TTC_EMU_CONTROL                => register_map_control_s.TTC_EMU_CONTROL.WE             <= "1";                                     -- Any write to this register executes a write enable
+                                                       register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= register_write_data_25_v(35 downto 35);  -- Last line of the sequence
+                                                       register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= register_write_data_25_v(34 downto 34);  -- Repeat the sequence
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST6     <= register_write_data_25_v(33 downto 33);  -- Broadcast 6
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= register_write_data_25_v(32 downto 32);  -- Broadcast 5
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= register_write_data_25_v(31 downto 31);  -- Broadcast 4
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= register_write_data_25_v(30 downto 30);  -- Broadcast 3
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST2     <= register_write_data_25_v(29 downto 29);  -- Broadcast 2
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST1     <= register_write_data_25_v(28 downto 28);  -- Broadcast 1
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST0     <= register_write_data_25_v(27 downto 27);  -- Broadcast 0
+                                                       register_map_control_s.TTC_EMU_CONTROL.ECR            <= register_write_data_25_v(26 downto 26);  -- Event counter reset
+                                                       register_map_control_s.TTC_EMU_CONTROL.BCR            <= register_write_data_25_v(25 downto 25);  -- Bunch counter reset
+                                                       register_map_control_s.TTC_EMU_CONTROL.L1A            <= register_write_data_25_v(24 downto 24);  -- Level 1 Accept
+                                                       register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER   <= register_write_data_25_v(21 downto 0);   -- Step counter value
             when REG_XOFF_FM_CH_FIFO_THRESH_LOW     => register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= register_write_data_25_v(47 downto 44);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= register_write_data_25_v(43 downto 40);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= register_write_data_25_v(39 downto 36);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index 4e7f59c08..94202ddda 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -6,11 +6,11 @@
 -- DO NOT EDIT THIS FILE
 -- 
 -- This file was generated from template '../../sources/templates/pcie_package.vhd.template'
--- and register map ../../sources/templates/registers-4.6.yaml, version 4.6
+-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7
 -- by the script 'wuppercodegen', version: 0.8.0,
 -- using the following commandline:
 -- 
--- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd
+-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd
 -- 
 -- Please do NOT edit this file, but edit the source file at '../../sources/templates/pcie_package.vhd.template'
 -- 
@@ -1007,6 +1007,7 @@ package pcie_package is
   constant REG_TTC_DELAY_47                   : std_logic_vector(19 downto 0) := x"084a0";
   constant REG_TTC_BUSY_TIMING_CTRL           : std_logic_vector(19 downto 0) := x"084b0";
   constant REG_TTC_BUSY_CLEAR                 : std_logic_vector(19 downto 0) := x"084c0";
+  constant REG_TTC_EMU_CONTROL                : std_logic_vector(19 downto 0) := x"084d0";
 
   --** XOFF_BUSYControlsAndMonitors
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW     : std_logic_vector(19 downto 0) := x"08800";
@@ -1529,7 +1530,7 @@ package pcie_package is
 
   type bitfield_ttc_emu_w_type is record
     SEL                            : std_logic_vector(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-    ENA                            : std_logic_vector(0 downto 0);    -- Enable TTC data generator (10 bit counter)
+    ENA                            : std_logic_vector(0 downto 0);    -- Enable TTC data generator
   end record;
 
   type bitfield_ttc_busy_timing_ctrl_w_type is record
@@ -1538,6 +1539,23 @@ package pcie_package is
     LIMIT_TIME                     : std_logic_vector(15 downto 0);   -- Number of prescaled clocks a given busy must be asserted before it is recognized
   end record;
 
+  type bitfield_ttc_emu_control_t_type is record
+    WE                             : std_logic_vector(64 downto 64);  -- Any write to this register executes a write enable
+    LAST_LINE                      : std_logic_vector(35 downto 35);  -- Last line of the sequence
+    REPEAT                         : std_logic_vector(34 downto 34);  -- Repeat the sequence
+    BROADCAST6                     : std_logic_vector(33 downto 33);  -- Broadcast 6
+    BROADCAST5                     : std_logic_vector(32 downto 32);  -- Broadcast 5
+    BROADCAST4                     : std_logic_vector(31 downto 31);  -- Broadcast 4
+    BROADCAST3                     : std_logic_vector(30 downto 30);  -- Broadcast 3
+    BROADCAST2                     : std_logic_vector(29 downto 29);  -- Broadcast 2
+    BROADCAST1                     : std_logic_vector(28 downto 28);  -- Broadcast 1
+    BROADCAST0                     : std_logic_vector(27 downto 27);  -- Broadcast 0
+    ECR                            : std_logic_vector(26 downto 26);  -- Event counter reset
+    BCR                            : std_logic_vector(25 downto 25);  -- Bunch counter reset
+    L1A                            : std_logic_vector(24 downto 24);  -- Level 1 Accept
+    STEP_COUNTER                   : std_logic_vector(21 downto 0);   -- Step counter value
+  end record;
+
   type bitfield_xoff_fm_ch_fifo_thresh_low_w_type is record
     CH11                           : std_logic_vector(47 downto 44);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
     CH10                           : std_logic_vector(43 downto 40);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -2282,6 +2300,7 @@ package pcie_package is
     TTC_DELAY_47                   : std_logic_vector(3 downto 0);    -- Controls the TTC Fanout delay values
     TTC_BUSY_TIMING_CTRL           : bitfield_ttc_busy_timing_ctrl_w_type;
     TTC_BUSY_CLEAR                 : std_logic_vector(64 downto 64);  -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+    TTC_EMU_CONTROL                : bitfield_ttc_emu_control_t_type;
     XOFF_FM_CH_FIFO_THRESH_LOW     : bitfield_xoff_fm_ch_fifo_thresh_low_w_type;
     XOFF_FM_CH_FIFO_THRESH_HIGH    : bitfield_xoff_fm_ch_fifo_thresh_high_w_type;
     XOFF_FM_HIGH_THRESH            : bitfield_xoff_fm_high_thresh_t_type;
@@ -5476,7 +5495,7 @@ package pcie_package is
   constant REG_TTC_DEC_CTRL_XL1ID_RST_C            : std_logic_vector(1 downto 1)     := "0";                   -- giving a trigger signal to reset XL1ID value
   constant REG_TTC_DEC_CTRL_MASTER_BUSY_C          : std_logic_vector(0 downto 0)     := "0";                   -- L1A trigger throttling
   constant REG_TTC_EMU_SEL_C                       : std_logic_vector(1 downto 1)     := "0";                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Enable TTC data generator (10 bit counter)
+  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Enable TTC data generator
   constant REG_TTC_DELAY_00_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_01_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_02_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
@@ -5529,6 +5548,20 @@ package pcie_package is
   constant REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C   : std_logic_vector(31 downto 16)   := x"000f";               -- Minimum number of 40MHz clocks that the busy is asserted
   constant REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C   : std_logic_vector(15 downto 0)    := x"000f";               -- Number of prescaled clocks a given busy must be asserted before it is recognized
   constant REG_TTC_BUSY_CLEAR_C                    : std_logic_vector(64 downto 64)   := "0";                   -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+  constant REG_TTC_EMU_CONTROL_WE_C                : std_logic_vector(64 downto 64)   := "0";                   -- Any write to this register executes a write enable
+  constant REG_TTC_EMU_CONTROL_LAST_LINE_C         : std_logic_vector(35 downto 35)   := "0";                   -- Last line of the sequence
+  constant REG_TTC_EMU_CONTROL_REPEAT_C            : std_logic_vector(34 downto 34)   := "0";                   -- Repeat the sequence
+  constant REG_TTC_EMU_CONTROL_BROADCAST6_C        : std_logic_vector(33 downto 33)   := "0";                   -- Broadcast 6
+  constant REG_TTC_EMU_CONTROL_BROADCAST5_C        : std_logic_vector(32 downto 32)   := "0";                   -- Broadcast 5
+  constant REG_TTC_EMU_CONTROL_BROADCAST4_C        : std_logic_vector(31 downto 31)   := "0";                   -- Broadcast 4
+  constant REG_TTC_EMU_CONTROL_BROADCAST3_C        : std_logic_vector(30 downto 30)   := "0";                   -- Broadcast 3
+  constant REG_TTC_EMU_CONTROL_BROADCAST2_C        : std_logic_vector(29 downto 29)   := "0";                   -- Broadcast 2
+  constant REG_TTC_EMU_CONTROL_BROADCAST1_C        : std_logic_vector(28 downto 28)   := "0";                   -- Broadcast 1
+  constant REG_TTC_EMU_CONTROL_BROADCAST0_C        : std_logic_vector(27 downto 27)   := "0";                   -- Broadcast 0
+  constant REG_TTC_EMU_CONTROL_ECR_C               : std_logic_vector(26 downto 26)   := "0";                   -- Event counter reset
+  constant REG_TTC_EMU_CONTROL_BCR_C               : std_logic_vector(25 downto 25)   := "0";                   -- Bunch counter reset
+  constant REG_TTC_EMU_CONTROL_L1A_C               : std_logic_vector(24 downto 24)   := "0";                   -- Level 1 Accept
+  constant REG_TTC_EMU_CONTROL_STEP_COUNTER_C      : std_logic_vector(21 downto 0)    := "0000000000000000000000"; -- Step counter value
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C   : std_logic_vector(47 downto 44)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C   : std_logic_vector(43 downto 40)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C   : std_logic_vector(39 downto 36)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -6302,7 +6335,7 @@ package pcie_package is
 
   -- GenericBoardInformation
   type register_map_gen_board_info_type is record
-    REG_MAP_VERSION                : std_logic_vector(15 downto 0);   -- Register Map Version, 4.6 formatted as 0x0406
+    REG_MAP_VERSION                : std_logic_vector(15 downto 0);   -- Register Map Version, 4.7 formatted as 0x0407
     BOARD_ID_TIMESTAMP             : std_logic_vector(39 downto 0);   -- Board ID Date / Time in BCD format YYMMDDhhmm
     BOARD_ID_SVN                   : std_logic_vector(15 downto 0);   -- Board ID SVN Revision
     GIT_COMMIT_TIME                : std_logic_vector(39 downto 0);   -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
@@ -7412,6 +7445,10 @@ end record;
     TTC_BIT_ERR                    : std_logic_vector(2 downto 0);    -- double bit, single bit and comm error in TTC data
   end record;
 
+  type bitfield_ttc_emu_r_type is record
+    FULL                           : std_logic_vector(2 downto 2);    -- TTC Emulator memory full indication
+  end record;
+
 
   -- TTCBUSYControlsAndMonitors
   type register_map_ttc_monitor_type is record
@@ -7441,6 +7478,7 @@ end record;
     TTC_BUSY_ACCEPTED21            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
     TTC_BUSY_ACCEPTED22            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
     TTC_BUSY_ACCEPTED23            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
+    TTC_EMU                        : bitfield_ttc_emu_r_type;      
 end record;
 --
 -- XOFF_BUSYControlsAndMonitors
diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml
new file mode 100644
index 000000000..726de4c24
--- /dev/null
+++ b/sources/templates/registers-4.7.yaml
@@ -0,0 +1,2665 @@
+Registers:
+  version: '4.7'
+  warning: |
+    ***************************************************************************
+    ***************************************************************************
+    ***************************************************************************
+    ***************************************************************************
+    ***************************************************************************
+    DO NOT EDIT THIS FILE
+
+    This file was generated from template '{{ metadata.template }}'
+    and register map {{ metadata.config }}, version {{ tree.version }}
+    by the script '{{ metadata.name }}', version: {{ metadata.version }},
+    using the following commandline:
+
+    {{ metadata.cmdline }}
+
+    Please do NOT edit this file, but edit the source file at '{{ metadata.template }}'
+
+    ***************************************************************************
+    ***************************************************************************
+    ***************************************************************************
+    ***************************************************************************
+    ***************************************************************************
+
+  type: R
+  step: 0x010
+  default: 0
+  endpoints: 0,1
+  entries:
+    - ref: Bar0
+      offset: 0x0000
+    - ref: Bar1
+      offset: 0x0000
+    - ref: Bar2
+      offset: 0x0000
+    - ref: Monitorsections
+      offset: 0x0000
+    
+Monitorsections:
+  endpoints: 0,1
+  entries:
+    - name: GenericBoardInformation
+      record_name: register_map_gen_board_info
+      bitfield: 
+        - range: 0..0
+          type: R
+    - name: CentralRouterControlsAndMonitors
+      record_name: register_map_cr_monitor
+      bitfield: 
+        - range: 0..0
+          type: R
+    - name: GBTEmulatorControlsAndMonitors
+      record_name: register_map_gbtemu_monitor
+      bitfield:
+        - range: 0..0
+          type: R
+    - name: GBTWrapperMonitors
+      record_name: register_map_gbt_monitor
+      bitfield: 
+        - range: 0..0
+          type: R
+    - name: TTCBUSYControlsAndMonitors
+      record_name: register_map_ttc_monitor
+      bitfield:
+        - range: 0..0
+          type: R
+    - name: XOFF_BUSYControlsAndMonitors
+      record_name: register_map_xoff_monitor
+      bitfield:
+        - range: 0..0
+          type: R
+    - name: HouseKeepingControlsAndMonitors
+      record_name: register_map_hk_monitor
+      bitfield: 
+        - range: 0..0
+          type: R
+    - name: Generators
+      record_name: register_map_generators
+      bitfield: 
+        - range: 0..0
+          type: R
+
+Bar0:
+  endpoints: 0,1
+  entries:
+    - ref: DMA_DESC
+    - ref: DMA_DESC_STATUS
+      offset: 0x0200
+    - name: BAR0_VALUE
+      offset: 0x0300
+      bitfield:
+        - range: 31..0
+          desc: Copy of BAR0 offset reg.
+    - name: BAR1_VALUE
+      bitfield:
+        - range: 31..0
+          desc: Copy of BAR1 offset reg.
+    - name: BAR2_VALUE
+      bitfield:
+        - range: 31..0
+          desc: Copy of BAR2 offset reg.
+    - name: DMA_DESC_ENABLE
+      offset: 0x0400
+      bitfield:
+        - range: 7..0
+          type: W
+          desc: Enable descriptors 7:0. One bit per descriptor. Cleared when Descriptor is handled.
+    - name: DMA_FIFO_FLUSH
+      type: T
+      bitfield:
+        - range: any
+          desc: Flush (reset). Any write clears the DMA Main output FIFO
+    - name: DMA_RESET
+      type: T
+      bitfield:
+        - range: any
+          desc: Reset Wupper Core (DMA Controller FSMs)
+    - name: SOFT_RESET
+      type: T
+      bitfield:
+        - range: any
+          desc: Global Software Reset. Any write resets applications, e.g. the Central Router.
+    - name: REGISTER_RESET
+      type: T
+      bitfield:
+        - range: any
+          desc: Resets the register map to default values. Any write triggers this reset.
+    - name: FROMHOST_FULL_THRESH
+      type: W
+      bitfield:
+        - range: 22..16
+          name: THRESHOLD_ASSERT
+          desc: Assert value of the FromHost programmable full flag
+        - range: 6..0
+          name: THRESHOLD_NEGATE
+          desc: Negate value of the FromHost programmalbe full flag
+    - name: TOHOST_FULL_THRESH
+      type: W
+      bitfield:
+        - range: 27..16
+          name: THRESHOLD_ASSERT
+          desc: Assert value of the ToHost programmable full flag
+        - range: 11..0
+          name: THRESHOLD_NEGATE
+          desc: Negate value of the ToHost programmalbe full flag
+    
+    - name: BUSY_THRESHOLD_ASSERT
+      type: W
+      desc: Tohost or Fromhost busy will be asserted in circular DMA mode when the server PC buffer gets full (space below ASSERT threshold)..
+      default: 0x6400000
+      bitfield:
+        - range: 63..0
+        
+    - name: BUSY_THRESHOLD_NEGATE
+      type: W
+      desc: Tohost or Fromhost busy will be negated in circular DMA mode when the server PC buffer gets less full (space above NEGATE threshold).
+      default: 0x6E00000
+      bitfield:
+        - range: 63..0
+
+    - name: BUSY_STATUS
+      type: R
+      bitfield:
+        - range: 1
+          name: FROMHOST_BUSY
+          desc: A fromhost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set
+        - range: 0
+          name: TOHOST_BUSY
+          desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set
+
+
+DMA_DESC:
+  number: 8
+  type: W
+  entries:
+    - name: DMA_DESC_{index}
+      bitfield:
+        - range: 127..64
+          name: END_ADDRESS
+          desc: End Address
+        - range: 63..0
+          name: START_ADDRESS
+          desc: Start Address
+    - name: DMA_DESC_{index}a
+      bitfield:
+        - range: 127..64
+          name: SW_POINTER
+          desc: Pointer controlled by the software, indicating read or write status for circular DMA
+        - range: 12
+          name: WRAP_AROUND
+          desc: Wrap around
+        - range: 11
+          name: FROMHOST
+          desc: "1: fromHost/ 0: toHost"
+        - range: 10..0
+          name: NUM_WORDS
+          desc: Number of 32 bit words
+
+DMA_DESC_STATUS:
+  number: 8
+  entries:
+    - name: DMA_DESC_STATUS_{index}
+      bitfield:
+        - range: 66
+          name: EVEN_PC
+          desc: Even address cycle PC
+        - range: 65
+          name: EVEN_DMA
+          desc: Even address cycle DMA
+        - range: 64
+          name: DESC_DONE
+          desc: Descriptor Done
+        - range: 63..0
+          name: FW_POINTER
+          desc: Pointer controlled by the firmwarre, indicating where the DMA is busy reading or writing
+
+Bar1:
+  endpoints: 0,1
+  type: W
+  entries:
+    - ref: INT_VEC
+    - name: INT_TAB_ENABLE
+      offset: 0x100
+      bitfield:
+        - range: 7..0
+          desc: |
+            Interrupt Table enable
+            Selectively enable Interrupts
+
+INT_VEC:
+  number: 16
+  type: W
+  entries:
+    - name: INT_VEC_{index}
+      bitfield:
+        - range: 127..96
+          name: INT_CTRL
+          desc: Interrupt Control
+        - range: 95..64
+          name: INT_DATA
+          desc: Interrupt Data
+        - range: 64..0
+          name: INT_ADDRESS
+          desc: Interrupt Address
+
+Bar2:
+  entries:
+    - ref: GenericBoardInformation
+      offset: 0x0000
+    - ref: CentralRouterControlsAndMonitors
+      offset: 0x1000
+    - ref: GBTEmulatorControlsAndMonitors
+      offset: 0x5000
+    - ref: GBTWrapperControls
+      offset: 0x6000
+    - ref: GBTWrapperMonitors
+      offset: 0x7000
+    - ref: TTCBUSYControlsAndMonitors
+      offset: 0x8000
+    - ref: XOFF_BUSYControlsAndMonitors
+      offset: 0x8800
+    - ref: HouseKeepingControlsAndMonitors
+      offset: 0x9000
+    - ref: Generators
+      offset: 0xA000
+
+GenericBoardInformation:
+  group: GEN
+  desc: Generic Board Information
+  endpoints: 0,1
+  entries:
+    - name: REG_MAP_VERSION
+      bitfield:
+        - range: 15..0
+          value: REG_MAP_VERSION
+          desc: Register Map Version, {{ tree.version }} formatted as {{ tree.version|version|xhex }}
+
+    - name: BOARD_ID_TIMESTAMP
+      bitfield:
+        - range: 39..0
+          value: BUILD_DATETIME
+          desc: Board ID Date / Time in BCD format YYMMDDhhmm
+
+    - name: BOARD_ID_SVN
+      bitfield:
+        - range: 15..0
+          value: std_logic_vector(to_unsigned(SVN_VERSION,16))
+          desc: Board ID SVN Revision
+
+    - name: GIT_COMMIT_TIME
+      bitfield:
+        - range: 39..0
+          value: COMMIT_DATETIME
+          desc: Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
+          
+    - name: GIT_TAG
+      bitfield:
+        - range: 63..0
+          value: GIT_TAG(63 downto 0)
+          desc: String containing the current GIT TAG
+
+    - name: GIT_COMMIT_NUMBER
+      bitfield:
+        - range: 31..0
+          value: std_logic_vector(to_unsigned(GIT_COMMIT_NUMBER,32))
+          desc: Number of GIT commits after current GIT_TAG
+          
+    - name: GIT_HASH
+      bitfield:
+        - range: 31..0
+          value: GIT_HASH(159 downto 128)
+          desc: Short GIT hash (32 bit)
+
+    - name: STATUS_LEDS
+      type: W
+      bitfield:
+        - range: 7..0
+          default: 0xAB
+          desc: Board GPIO Leds
+
+    - name: GENERIC_CONSTANTS
+      bitfield:
+        - range: 15..8
+          name: INTERRUPTS
+          value: std_logic_vector(to_unsigned(NUMBER_OF_INTERRUPTS,8))
+          desc: Number of Interrupts
+        - range: 7..0
+          name: DESCRIPTORS
+          value: std_logic_vector(to_unsigned(NUMBER_OF_DESCRIPTORS,8))
+          desc: Number of Descriptors
+
+    - name: NUM_OF_CHANNELS
+      bitfield:
+        - range: 7..0
+          desc: Number of GBT Channels
+
+    - name: CARD_TYPE
+      bitfield:
+        - range: 63..0
+          value: std_logic_vector(to_unsigned(CARD_TYPE,64))
+          desc: |
+            Card Type:
+              - 709 (0x2c5): VC-709
+              - 710 (0x2c6): HTG-710
+              - 711 (0x2c7): BNL-711
+              - 712 (0x2c8): BNL-712
+
+    - name: GBT_MAPPING
+      bitfield:
+        - range: 7..0
+          desc: |
+            CXP-to-GBT mapping:
+              0: NORMAL CXP1 1-12 CXP2 13-24
+              1: ALTERNATE CXP1 1-4,9-12,17-20
+
+    - name: GENERATE_GBT
+      bitfield:
+        - range: 0
+          desc: 1 when the GBT Wrapper is included in the design
+
+    - name: OPTO_TRX_NUM
+      bitfield:
+        - range: 7..0
+          desc: Number of optical transceivers in the design
+
+    - name: TTC_EMU_CONST
+      type: R
+      bitfield:
+        - range: 1
+          type: R
+          name: GENERATE_TTC_EMU
+          desc: 1 when TTC emulator is generated
+        - range: 0
+          type: R
+          name: TTC_TEST_MODE
+          desc: 1 when TTC Test mode is anabled
+
+    - name: CR_INTERNAL_LOOPBACK_MODE
+      type: R
+      bitfield:
+        - range: 0
+          desc: 1 when Central Router internal loopback mode is enabled
+
+    - ref: INCLUDE_EGROUP
+      
+
+    - name: WIDE_MODE
+      type: R
+      bitfield:
+        - range: 0
+          desc: GBT is configured in Wide mode
+
+    - name: DEBUG_MODE
+      type: R
+      bitfield:
+        - range: 0
+          desc: |
+            0: SMA X3 is constant 0, SMA X4 is connected to clk40 (output).
+            1: Debug port module (SMA X3 and SMA X4) can be controlled using DEBUG_PORT_GBT and DEBUG_PORT_CLK
+
+    - name: FIRMWARE_MODE
+      type: R
+      bitfield:
+        - range: 3..0
+          desc: |
+            0: GBT mode
+            1: FULL mode
+            2: LTDB mode (GBT mode with only IC and TTC links)
+            3: FEI4 mode
+            4: ITK Pixel
+            5: ITK Strip
+            6: FELIG
+            7: FULL mode emulator
+                        
+    - name: GTREFCLK_SOURCE
+      type: R
+      bitfield:
+        - range: 1..0
+          desc: |
+            0: Transceiver reference Clock source from Si5345
+            1: Transceiver reference Clock source from Si5324
+            2: Transceiver reference Clock from internal BUFG (GREFCLK)
+            
+    - name: CR_GENERICS
+      type: R
+      bitfield:
+        - range: 2
+          name: XOFF_INCLUDED
+          desc: Xoff bits (usually full mode) can be generated by the FromHost Central Router
+        - range: 1
+          name: DIRECT_MODE_INCLUDED
+          desc: Indicates that the Direct mode functionality was built in the Central Router
+        - range: 0
+          name: FROM_HOST_INCLUDED
+          desc: Indicates that the From Host path of the Central router was included in the design
+          
+    - name: BLOCKSIZE
+      type: R
+      desc: Number of bytes in a block
+      bitfield:
+        - range: 15..0
+          
+    - name: PCIE_ENDPOINT
+      type: R
+      desc: Indicator of the PCIe endpoint on BNL71x cards with two endpoints. 0 or 1
+      bitfield:
+        - range: 0
+          value: std_logic_vector(to_unsigned(PCIE_ENDPOINT, 1))
+
+
+INCLUDE_EGROUP:
+  number: 7
+  entries:
+    - format_name: INCLUDE_EGROUP_{index}
+      name: INCLUDE_EGROUP
+      #type_name: INCLUDE_EGROUP
+      type: R
+      bitfield:
+        - range: 8
+          name: FROMHOST_02
+          desc: FromHost EPROC02 is included in this EGROUP
+        - range: 7
+          name: FROMHOST_04
+          desc: FromHost EPROC04 is included in this EGROUP
+        - range: 6
+          name: FROMHOST_08
+          desc: FromHost EPROC8 is included in this EGROUP
+        - range: 5
+          name: FROMHOST_HDLC
+          desc: FromHost HDLC is included in this EGROUP
+        - range: 4
+          name: TOHOST_02
+          desc: ToHost EPROC02 is included in this EGROUP
+        - range: 3
+          name: TOHOST_04
+          desc: ToHost EPROC04 is included in this EGROUP
+        - range: 2
+          name: TOHOST_08
+          desc: ToHost EPROC08 is included in this EGROUP
+        - range: 1
+          name: TOHOST_16
+          desc: ToHost EPROC16 is included in this EGROUP
+        - range: 0
+          name: TOHOST_HDLC
+          desc: ToHost HDLC is included in this EGROUP
+
+
+CentralRouterControlsAndMonitors:
+  group: CRC
+  desc: Central Router Controls and Monitors
+  endpoints: 0,1
+  entries:
+    - name: IC_FROMHOST_PACKET_RDY
+      type: W
+      bitfield:
+        - range: 23..0
+          desc: Rising edge indicates the complete packet can be read
+
+    - name: TIMEOUT_CTRL
+      type: W
+      descr: Controls the timout mechanism in the ToHost central router.
+      bitfield:
+        - range: 32
+          name: ENABLE
+          default: 1
+          desc: 1 enables the timout trailer generation for ToHost mode
+        - range: 31..0
+          name: TIMEOUT
+          default: 0xFFFFFFFF
+          desc: Number of 40 MHz clock cycles after which a timeout occurs.
+
+    - ref: CR_GBT_CTRL
+      desc: See Central Router Doc
+      offset: 0x0100
+
+    - ref: IC_FIFOS
+      desc: See Central Router Doc
+      offset: 0x1400
+
+    - ref: MINI_EGROUP_CTRL
+      desc: Controls EC and TTC channels of Mini Egroups
+
+    - name: CR_FALLBACK_OPTIONS
+      desc: Julias personal register with Hello Kitty options
+      type: W
+      bitfield:
+        - range: 63..0
+
+    - name: CR_TTC_TOHOST
+      desc: Enables the ToHost Mini Egroup in TTC mode
+      type: W
+      bitfield:
+        - range: 63
+          name: EMU_FAKE_READY_ENABLE
+          default: 0
+        - range: 60..48
+          name: EMU_FAKE_READY_VALUE
+          default: 0x1000
+        - range: 15..4
+          name: TIMEOUT_VALUE
+          default: 0xFFF
+        - range: 2
+          name: EMU_ENABLE
+          default: 0
+        - range: 1
+          name: TIMEOUT_ENABLE
+          default: 1
+        - range: 0
+          name: ENABLE
+          default: 1
+
+    - name: CR_REVERSE_10B
+      desc: Reverse 10-bit word of elink data
+      type: W
+      bitfield:
+        - range: 1
+          name: FROMHOST
+          default: 1
+          desc: |
+                1: Serialize 10-bit word in FromHost EPROCS MSB first
+                0: Serialize 10-bit word in FromHost EPROCS LSB first
+        - range: 0
+          name: TOHOST
+          default: 1
+          desc: |
+                1: Receive 10-bit word in ToHost EPROCS, MSB first
+                0: Receive 10-bit word in ToHost EPROCS, LSB first
+                
+    - name: CR_LTDB_TTC_DELAY
+      desc: Controls TTC BCR delay in LTDB mode firmware
+      type: W
+      bitfield: 
+        - range: 7
+          name: EGROUP4_EPATH6
+          default: 0
+          desc: |
+                Egroup 4, Epath 6
+                1: Half a clock delay
+                0: no delay
+        - range: 6
+          name: EGROUP4_EPATH5
+          default: 0
+          desc: |
+                Egroup 4, Epath 5
+                1: Half a clock delay
+                0: no delay
+        - range: 5
+          name: EGROUP4_EPATH4
+          default: 0
+          desc: |
+                Egroup 4, Epath 4
+                1: Half a clock delay
+                0: no delay
+        - range: 4
+          name: EGROUP4_EPATH3
+          default: 0
+          desc: |
+                Egroup 4, Epath 3
+                1: Half a clock delay
+                0: no delay
+        - range: 3
+          name: EGROUP4_EPATH0
+          default: 0
+          desc: |
+                Egroup 4, Epath 0
+                1: Half a clock delay
+                0: no delay
+        - range: 2
+          name: EGROUP3
+          default: 0
+          desc: |
+                Egroup 3, Epath 0
+                1: Half a clock delay
+                0: no delay
+        - range: 1
+          name: EGROUP2
+          default: 0
+          desc: |
+                Egroup 2, Epath 0
+                1: Half a clock delay
+                0: no delay
+        - range: 0
+          name: EGROUP1
+          default: 0
+          desc: |
+                Egroup 1, Epath 0
+                1: Half a clock delay
+                0: no delay
+#    - ref: CR_XOFF_CTRL
+#      offset: 0x2800
+#      desc: Configure FromHost Xoff
+
+
+#Central Router monitors          
+    - ref: CR_GBT_MON
+      offset: 0x3000
+    - name: CR_STATIC_CONFIGURATION
+      type: R
+      bitfield:
+        - range: 0
+    - ref: CR_DEFAULT_EPROC_ENA
+    - ref: CR_DEFAULT_EPROC_ENCODING
+    - name: MAX_TIMEOUT
+      type: R
+      desc: Maximum allowed timeout value
+      bitfield: 
+        - range: 31..0
+    - ref: CR_BLOCK_COUNTERS
+    
+ 
+CR_GBT_CTRL:
+  number: 24
+  bitfield:
+    - range: 50..0
+  type: W
+  generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+  entries:
+    - ref: EGROUP_TOHOST
+    - ref: EGROUP_FROMHOST
+
+EGROUP_TOHOST:
+  number: 7
+  format_name: GBT{index:02}
+  name: GBT
+  entries:
+    - name: TOHOST
+      format_name: CR_{name}_{parent}_EGROUP{index:1}_CTRL
+      type_name: CR_TOHOST_EGROUP_CTRL
+      bitfield:
+        - range: 58..51
+          name: INSTANT_TIMEOUT_ENA
+          default: 0x0
+          desc: instantly initiate a timeout for the given epath
+        - range: 50..43
+          name: REVERSE_ELINKS
+          default: 0x0
+          desc: enables bit reversing for the elink in the given epath
+        - range: 42..31
+          name: MAX_CHUNK_LEN
+          default: MAX_CHUNK_LEN_array
+          desc: set the maximum length of a chunk, 0 disables truncation
+        - range: 30..15
+          name: PATH_ENCODING
+          desc: |
+            Encoding for every EPATH, 8 EPATHS per EGROUP
+            0: direct mode
+            1: 8b10b mode
+            2: HDLC mode
+          default: 
+            - PATH_ENCODING_array(0)
+            - PATH_ENCODING_array(1)
+            - PATH_ENCODING_array(2)
+            - PATH_ENCODING_array(3)
+            - PATH_ENCODING_array(4)
+            - PATH_ENCODING_array(5)
+            - PATH_ENCODING_array(6)
+
+        - range: 14..0
+          name: EPROC_ENA
+          desc: Enable bits per EPROC
+          default:
+            - EPROC_ENA_bits_array(0)
+            - EPROC_ENA_bits_array(1)
+            - EPROC_ENA_bits_array(2)
+            - EPROC_ENA_bits_array(3)
+            - EPROC_ENA_bits_array(4)
+            - EPROC_ENA_bits_array(5)
+            - EPROC_ENA_bits_array(6)
+      
+EGROUP_FROMHOST:
+  number: 5
+  format_name: GBT{index:02}
+  entries:
+    - name: FROMHOST
+      desc: See Central Router Doc, indices [3,4] are optimized out in wideMode
+      format_name: CR_{name}_{parent}_EGROUP{index:1}_CTRL
+      type_name: CR_FROMHOST_EGROUP_CTRL
+      bitfield:
+        - range: 54..47
+          name: REVERSE_ELINKS
+          default: 0x0
+          desc: enables bit reversing for the elink in the given epath
+        - range: 46..15
+          name: PATH_ENCODING
+          desc: |
+            Encoding for every EPATH, 8 EPATHS per EGROUP
+            0: direct mode
+            1: 8b10b mode
+            2: HDLC mode
+            greater than 3: TTC mode, see CentralRouter doc
+          default:
+            - FROMHOST_PATH_ENCODING_array(0)
+            - FROMHOST_PATH_ENCODING_array(1)
+            - FROMHOST_PATH_ENCODING_array(2)
+            - FROMHOST_PATH_ENCODING_array(3)
+            - FROMHOST_PATH_ENCODING_array(4)
+            - FROMHOST_PATH_ENCODING_array(5)
+            - FROMHOST_PATH_ENCODING_array(6)
+        - range: 14..0
+          desc: Enable bits per EPROC
+          name: EPROC_ENA
+
+#CR_XOFF_CTRL:
+#  number: 24
+#  type: W
+#  bitfield:
+#    - range: 39..0
+#  entries:
+#    - name: FROMHOST_XOFF_ENABLE
+#      format_name: FROMHOST_XOFF_ENABLE_{index:02}
+#      desc: When the corresponding ToHost (FULL Mode) channel reports full, this FromHost 2-bit elink will transmit Xoff
+#      range: 39..0
+#      default: 0
+#    - name: FROMHOST_SOFT_XOFF
+#      format_name: FROMHOST_SOFT_XOFF_{index:02}
+#      desc: Transmit Xoff on corresponding 2-bit FromHost elink if configured in 8b10b mode. Transmit Xon when cleared
+#      range: 39..0
+#      default: 0
+
+
+IC_FIFOS:
+  number: 24
+  format_name: IC_FROMHOST_TOHOST_FIFOS
+  entries:
+    - name: FROMHOST
+      format_name: IC_FROMHOST_FIFO_{index:02}
+      type_name: IC_FROMHOST_FIFO
+      type: W
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      bitfield:
+        - range: any
+          type: T
+          value: not register_map_monitor_s.register_map_cr_monitor.IC_FROMHOST_FIFO_{index:02}.FULL
+          name: WE
+          format_name: IC_FROMHOST_FIFO_{index:02}_{bitfield}
+          desc: Any write to this register will trigger a write to the FIFO
+        - range: 8
+          type: R
+          name: FULL
+          format_name: IC_FROMHOST_FIFO_{index:02}_{bitfield}
+          desc: Full flag of the fifo, do not write if 1
+        - range: 7..0
+          type: W
+          name: DATAIN
+          format_name: IC_FROMHOST_FIFO_{index:02}_{bitfield}
+          desc: Data input of fifo
+    - name: TOHOST
+      format_name: IC_TOHOST_FIFO_{index:02}
+      type_name: IC_TOHOST_FIFO
+      type: W
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      bitfield:
+        - range: any
+          type: T
+          value: not register_map_monitor_s.register_map_cr_monitor.IC_TOHOST_FIFO_{index:02}.EMPTY
+          name: RE
+          format_name: IC_TOHOST_FIFO_{index:02}_{bitfield}
+          desc: Any write to this register will trigger a read enable from the fifo
+        - range: 8
+          type: R
+          name: EMPTY
+          format_name: IC_TOHOST_FIFO_{index:02}_{bitfield}
+          desc: Empty flag of the fifo, do not read if 1
+        - range: 7..0
+          type: R
+          name: DATAOUT
+          format_name: IC_TOHOST_FIFO_{index:02}_{bitfield}
+          desc: Data output of fifo
+
+
+MINI_EGROUP_CTRL:
+  number: 24
+  format_name: MINI_EGROUP_CTRLS
+  entries:
+    - name: EC_TOHOST
+      format_name: EC_TOHOST_{index:02}
+      type_name: EC_TOHOST
+      desc: Configures the ToHost Mini egroup in EC mode
+      type: W
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      bitfield:
+        - range: 7
+          name: SCA_AUX_BIT_SWAPPING
+          desc: "0: two input bits of SCA AUX e-link are as documented, 1: two input bits are swapped"
+          default: 0
+        - range: 6
+          name: SCA_AUX_ENABLE
+          desc: Enables the SCA AUX channel
+          default: 1
+        - range: 5
+          name: IC_BIT_SWAPPING
+          desc: "0: two input bits of IC e-link are as documented, 1: two input bits are swapped"
+          default: 1
+        - range: 4
+          name: IC_ENABLE
+          desc: Enables the IC channel
+          default: 1
+        - range: 3
+          name: BIT_SWAPPING
+          desc: "0: two input bits of EC e-link are as documented, 1: two input bits are swapped"
+          default: 0
+        - range: 2..1
+          name: ENCODING
+          desc: Configures encoding of the EC channel
+          default: 0x2
+        - range: 0
+          name: ENABLE
+          desc: Enables the EC channel
+          default: 1
+    - name: EC_FROMHOST
+      format_name: EC_FROMHOST_{index:02}
+      type_name: EC_FROMHOST
+      type: W
+      desc: Configures the FromHost Mini egroup in EC mode
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      bitfield:
+        - range: 9
+          name: SCA_AUX_BIT_SWAPPING
+          desc: "0: two input bits of SCA AUX e-link are as documented, 1: two input bits are swapped"
+          default: 0
+        - range: 8
+          name: SCA_AUX_ENABLE
+          desc: Enables the SCA AUX channel
+          default: 1
+        - range: 7
+          name: IC_BIT_SWAPPING
+          desc: "0: two input bits of IC e-link are as documented, 1: two input bits are swapped"
+          default: 1
+        - range: 6
+          name: IC_ENABLE
+          desc: Enables the IC channel
+          default: 1
+        - range: 5
+          name: BIT_SWAPPING
+          desc: "0: two output bits of EC e-link are as documented, 1: two output bits are swapped"
+          default: 0
+        - range: 4..1
+          name: ENCODING
+          desc: Configures encoding of the EC channel
+          default: 0x2
+        - range: 0
+          name: ENABLE
+          default: 1
+
+
+CR_GBT_MON:
+  desc: See Central Router Doc
+  endpoints: 0
+  number: 24
+  entries:
+    - name: TOHOST
+      type_name: TOHOST
+      format_name: CR_{name}_GBT{index:02}_MON
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      bitfield:
+        - range: 58
+          name: CROUTFIFO_PROG_FULL
+        - range: 57
+          name: WMFIFO_FULL
+        - range: 56
+          name: MINI_EGROUP_ALMOST_FULL
+        - range: 55..48
+          name: EPATH6_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP6
+        - range: 47..40
+          name: EPATH5_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP5
+        - range: 39..32
+          name: EPATH4_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP4
+        - range: 31..24
+          name: EPATH3_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP3
+        - range: 23..16
+          name: EPATH2_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP2
+        - range: 15..8
+          name: EPATH1_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP1
+        - range: 7..0
+          name: EPATH0_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP0
+    - name: FROMHOST
+      type_name: FROMHOST
+      format_name: CR_{name}_GBT{index:02}_MON
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      bitfield:
+        - range: 40
+          name: MINI_EGROUP_ALMOST_FULL
+        - range: 39..32
+          name: EPATH4_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP4
+        - range: 31..24
+          name: EPATH3_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP3
+        - range: 23..16
+          name: EPATH2_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP2
+        - range: 15..8
+          name: EPATH1_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP1
+        - range: 7..0
+          name: EPATH0_ALMOST_FULL
+          desc: Almost full bits of the EPATH fifos in EGROUP0
+      
+CR_DEFAULT_EPROC_ENA:
+  desc: Static CR default enable bits
+  endpoints: 0,1
+  number: 8
+  type: R
+  bitfield:
+    - range: 14..0
+  entries:
+    - name: ENABLE
+      format_name: CR_DEFAULT_EPROC_ENA{index}
+      
+CR_DEFAULT_EPROC_ENCODING:
+  desc: Static CR default encoding bits
+  endpoints: 0,1
+  number: 8
+  type: R
+  bitfield:
+    - range: 15..0
+  entries:
+    - name: ENCODING
+      format_name: CR_DEFAULT_EPROC_ENCODING{index}      
+
+CR_BLOCK_COUNTERS:
+  desc: Counters to count blocks per GBT channel
+  endpoints: 0,1
+  number: 24
+  entries:
+    - name: BLOCK_COUNT
+      type_name: CR_BLOCK_COUNT
+      format_name: CR_{name}_GBT{index:02}
+      generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1}
+      type: W
+      bitfield:
+        - range: any
+          type: T
+          name: RESET
+          desc: Any write clears the counter value
+          value: 1
+        - range: 31..0
+          type: R
+          name: VAL
+          desc: Counts the number of blocks that were transferred ToHost in the specified GBT
+
+GBTEmulatorControlsAndMonitors:
+  group: GEC
+  desc: GBT Emulator Controls and Monitors
+  endpoints: 0
+  entries:
+    - name: GBT_EMU_ENA
+      type: W
+      bitfield:
+        - range: 1
+          name: TOFRONTEND
+          desc: Enable GBT dummy emulator ToFrontEnd
+        - range: 0
+          name: TOHOST
+          desc: Enable GBT dummy emulator ToHost
+
+    - name: GBT_EMU_CONFIG_WE_ARRAY
+      type: W
+      bitfield:
+        - range: 6..0
+          desc: write enable array, every bit is one emulator RAM block
+
+    - name: GBT_EMU_CONFIG
+      type: W
+      bitfield:
+        - range: 63..48
+          name: RDDATA
+          type: R
+          desc: read data bus
+        - range: 45..32
+          name: WRADDR
+          desc: write address bus
+        - range: 15..0
+          name: WRDATA
+          desc: write data bus
+
+    - name: GBT_FM_EMU_ENA_TOHOST
+      type: W
+      bitfield:
+        - range: 0
+          desc: Enable FULL mode dummy emulator ToHost
+
+    - name: GBT_FM_EMU_CONFIG_WE_ARRAY
+      type: W
+      bitfield:
+        - range: 0
+          desc: write enable for the full mode emulator ram block
+
+    - name: GBT_FM_EMU_CONFIG
+      type: W
+      bitfield:
+        - range: 53..40
+          name: WRADDR
+          desc: write address bus
+        - range: 35..0
+          name: WRDATA
+          desc: write data bus
+
+    - name: GBT_FM_EMU_READ
+      type: R
+      bitfield:
+        - range: 35..0
+          desc: read emu ram data
+
+
+    - name: CR_FM_PATH_ENA
+      type: W
+      bitfield:
+        - range: 11..0
+          desc: FULL mode CR enable array, every bit is one path
+
+
+GBTWrapperControls:
+  group: GWC
+  desc: GBT Wrapper Controls
+  type: W
+  endpoints: 0
+  entries:
+    - name: GBT_CHANNEL_DISABLE
+      offset: 0x0400
+      bitfield:
+        - range: 47..0
+          desc: Disable selected GBT or FULL mode channel
+
+    - name: GBT_GENERAL_CTRL
+      bitfield:
+        - range: 63..0
+          desc: Alignment chk reset (not self clearing)
+
+    - name: GBT_MODE_CTRL
+      bitfield:
+        - range: 2
+          name: RX_ALIGN_TB_SW
+          desc: RX_ALIGN_TB_SW
+        - range: 1
+          name: RX_ALIGN_SW
+          desc: RX_ALIGN_SW
+        - range: 0
+          name: DESMUX_USE_SW
+          desc: DESMUX_USE_SW
+
+    - name: GBT_RXSLIDE_SELECT
+      offset: 0x0480
+      desc: RxSlide select [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RXSLIDE_MANUAL
+      desc: RxSlide select [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+      
+    - name: GBT_TXUSRRDY
+      desc: TxUsrRdy [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+          default: 0xFFFFFFFFFFFF
+
+    - name: GBT_RXUSRRDY
+      desc: RxUsrRdy [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+          default: 0xFFFFFFFFFFFF
+
+    - name: GBT_SOFT_RESET
+      desc: SOFT_RESET [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_GTTX_RESET
+      desc: GTTX_RESET [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_GTRX_RESET
+      desc: GTRX_RESET [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_PLL_RESET
+      bitfield:
+        - range: 59..48
+          name: QPLL_RESET
+          desc: QPLL_RESET [11:0]
+        - range: 47..0
+          name: CPLL_RESET
+          desc: CPLL_RESET [47:0]
+
+    - name: GBT_SOFT_TX_RESET
+      offset: 0x0500
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 59..48
+          name: RESET_ALL
+          desc: SOFT_TX_RESET_ALL [11:0]
+        - range: 47..0
+          name: RESET_GT
+          desc: SOFT_TX_RESET_GT [47:0]
+
+    - name: GBT_SOFT_RX_RESET
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 59..48
+          name: RESET_ALL
+          desc: SOFT_TX_RESET_ALL [11:0]
+        - range: 47..0
+          name: RESET_GT
+          desc: SOFT_TX_RESET_GT [47:0]
+
+    - name: GBT_ODD_EVEN
+      desc: OddEven [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TOPBOT
+      desc: TopBot [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TX_TC_DLY_VALUE1
+      bitfield:
+        - range: 47..0
+          default: 0x333333333333
+          desc: TX_TC_DLY_VALUE [47:0]
+
+    - name: GBT_TX_TC_DLY_VALUE2
+      bitfield:
+        - range: 47..0
+          default: 0x333333333333
+          desc: TX_TC_DLY_VALUE [95:48]
+
+    - name: GBT_TX_TC_DLY_VALUE3
+      bitfield:
+        - range: 47..0
+          default: 0x333333333333
+          desc: TX_TC_DLY_VALUE [143:96]
+
+    - name: GBT_TX_TC_DLY_VALUE4
+      bitfield:
+        - range: 47..0
+          default: 0x333333333333
+          desc: TX_TC_DLY_VALUE [191:144]
+
+    - name: GBT_DATA_TXFORMAT1
+      desc: DATA_TXFORMAT [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_DATA_TXFORMAT2
+      desc: DATA_TXFORMAT [95:48]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_DATA_RXFORMAT1
+      desc: DATA_RXFORMAT [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_DATA_RXFORMAT2
+      desc: DATA_RXFORMAT [95:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TX_RESET
+      desc: TX Logic reset [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RX_RESET
+      desc: RX Logic reset [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TX_TC_METHOD
+      desc: TX time domain crossing method [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_OUTMUX_SEL
+      desc: Descrambler output MUX selection [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TC_EDGE
+      desc: Sampling edge selection for TX domain crossing [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TXPOLARITY
+      desc: |
+        0: default polarity
+        1: reversed polarity for transmitter of GTH channels
+      bitfield:
+        - range: 47..0
+          default: 0
+
+    - name: GBT_RXPOLARITY
+      desc: |
+        0: default polarity
+        1: reversed polarity for the receiver of the GTH channels
+      bitfield:
+        - range: 47..0
+          default: 0
+
+    - name: GTH_LOOPBACK_CONTROL
+      bitfield:
+        - range: 2..0
+          default: 0x0
+          desc: |
+            Controls loopback  for loopback: read UG476 for the details. NOTE: the TXBUFFER is disabled, near end PCS loopback is not supported.
+              000: Normal operation
+              001: Near-End PCS Loopback
+              010: Near-End PMA Loopback
+              011: Reserved
+              100: Far-End PMA Loopback
+              101: Reserved
+              110: Far-End PCS Loopback 
+
+    - name: GBT_TOHOST_FANOUT
+      offset: 0x0700
+      bitfield:
+        - range: 48
+          name: LOCK
+          default: 0x0
+          desc: Locks this particular register. If set prevents software from touching it.
+        - range: 47..0
+          name: SEL
+          default: 0xFFFFFFFFFFFF
+          desc: |
+            ToHost FanOut/Selector. Every bitfield is a channel:
+              1 : GBT_EMU, select GBT Emulator for a specific CentralRouter channel
+              0 : GBT_WRAP, select real GBT link for a specific CentralRouter channel
+
+    - name: GBT_TOFRONTEND_FANOUT
+      bitfield:
+        - range: 48
+          name: LOCK
+          default: 0x0
+          desc: Locks this particular register. If set prevents software from touching it.
+        - range: 47..0
+          name: SEL
+          default: 0xFFFFFFFFFFFF
+          desc: |
+            ToFrontEnd FanOut/Selector. Every bitfield is a channel:
+              1 : GBT_EMU, select GBT Emulator for a specific GBT link
+              0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
+              
+
+GBTWrapperMonitors:
+  group: GWM
+  desc: GBT Wrapper Monitors
+  endpoints: 0
+  entries:
+    - name: GBT_VERSION
+      offset: 0x0600
+      bitfield:
+        - range: 63..48
+          name: DATE
+          desc: Date
+        - range: 47..32
+          name: GBT_VERSION
+          desc: GBT Version
+        - range: 31..16
+          name: GTH_IP_VERSION
+          desc: GTH IP Version
+        - range: 15..3
+          name: RESERVED
+          desc: Reserved
+        - range: 2
+          name: GTHREFCLK_SEL
+          desc: GTHREFCLK SEL
+        - range: 1
+          name: RX_CLK_SEL
+          desc: RX CLK SEL
+        - range: 0
+          name: PLL_SEL
+          desc: PLL SEL
+
+    - name: GBT_TXRESET_DONE
+      offset: 0x0680
+      desc: TX Reset done [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RXRESET_DONE
+      desc: RX Reset done [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_TXFSMRESET_DONE
+      desc: TX FSM Reset done [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RXFSMRESET_DONE
+      desc: RX FSM Reset done [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_CPLL_FBCLK_LOST
+      desc: CPLL FBCLK LOST [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_PLL_LOCK
+      bitfield:
+        - range: 59..48
+          name: QPLL_LOCK
+          desc: QPLL LOCK [11:0]
+        - range: 47..0
+          name: CPLL_LOCK
+          desc: CPLL LOCK [47:0]
+
+    - name: GBT_RXCDR_LOCK
+      desc: RX CDR LOCK [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_CLK_SAMPLED
+      desc: clk sampled [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RX_IS_HEADER
+      desc: RX IS HEADER [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RX_IS_DATA
+      desc: RX IS DATA [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_RX_HEADER_FOUND
+      desc: RX HEADER FOUND [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_ALIGNMENT_DONE
+      desc: RX ALIGNMENT DONE [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_OUT_MUX_STATUS
+      desc: GBT output mux status [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_ERROR
+      desc: Error flags [47:0]
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_GBT_TOPBOT_C
+      desc: TopBot_c [47:0]
+      generate: GBT_GENERATE_ALL_REGS = true
+      bitfield:
+        - range: 47..0
+
+    - name: GBT_FM_RX_DISP_ERROR1
+      offset: 0x0800
+      bitfield:
+        - range: 47..0
+          desc: Rx disparity error [47:0]
+
+    - name: GBT_FM_RX_DISP_ERROR2
+      bitfield:
+        - range: 47..0
+          desc: Rx disparity error [96:48]
+
+    - name: GBT_FM_RX_NOTINTABLE1
+      bitfield:
+        - range: 47..0
+          desc: Rx not in table [47:0]
+
+    - name: GBT_FM_RX_NOTINTABLE2
+      bitfield:
+        - range: 47..0
+          desc: Rx not in table [96:48]
+
+TTCBUSYControlsAndMonitors:
+  group: TTCBUSY
+  desc: TTC and BUSY Controls and Monitors
+  endpoints: 0
+  entries:
+
+    - ref: TTC_DEC_CTRLMON
+      desc: control and monitor bits for TTC decoder
+
+    - ref: TTC_BUSY_ACCEPTED
+
+    - name: TTC_EMU
+      type: W
+      bitfield:
+        - range: 2
+          name: FULL
+          type: R
+          desc: TTC Emulator memory full indication
+        - range: 1
+          name: SEL
+          desc: Select TTC data source 1 TTC Emu | 0 TTC Decoder
+        - range: 0
+          name: ENA
+          desc: Enable TTC data generator
+
+    - ref: TTC_DELAY
+ 
+    - name: TTC_BUSY_TIMING_CTRL
+      descr: Controls the BUSY Logic
+      type: W
+      bitfield:
+        - range: 51..32
+          name: PRESCALE
+          default: 0x0000F
+          desc: Prescales the 40MHz clock to create an internal slow clock
+        - range: 31..16
+          name: BUSY_WIDTH
+          default: 0x000F
+          desc: Minimum number of 40MHz clocks that the busy is asserted
+        - range: 15..0
+          name: LIMIT_TIME
+          default: 0x000F
+          desc: Number of prescaled clocks a given busy must be asserted before it is recognized
+    
+    - name: TTC_BUSY_CLEAR
+      desc: clears the latching busy bits in TTC_BUSY_ACCEPTED
+      type: T
+      value: 1
+      bitfield:
+        - range: any
+        
+    - name: TTC_EMU_CONTROL
+      type: W
+      bitfield:
+        - range: any
+          name: WE
+          type: T
+          desc: Any write to this register executes a write enable
+          value: 1
+        - range: 35
+          name: LAST_LINE
+          desc: Last line of the sequence
+        - range: 34
+          name: REPEAT
+          desc: Repeat the sequence
+        - range: 33
+          name: BROADCAST6
+          desc: Broadcast 6
+        - range: 32
+          name: BROADCAST5
+          desc: Broadcast 5
+        - range: 31
+          name: BROADCAST4
+          desc: Broadcast 4
+        - range: 30
+          name: BROADCAST3
+          desc: Broadcast 3
+        - range: 29
+          name: BROADCAST2
+          desc: Broadcast 2
+        - range: 28
+          name: BROADCAST1
+          desc: Broadcast 1
+        - range: 27
+          name: BROADCAST0
+          desc: Broadcast 0
+        - range: 26
+          name: ECR
+          desc: Event counter reset
+        - range: 25
+          name: BCR
+          desc: Bunch counter reset
+        - range: 24
+          name: L1A
+          desc: Level 1 Accept
+        - range: 21..0
+          name: STEP_COUNTER
+          desc: Step counter value
+        
+TTC_DEC_CTRLMON:
+  group: TDCM 
+  format_name: TTC_DEC_CTRLMON
+  entries:
+    - name: TTC_DEC_CTRL
+      format_name: TTC_DEC_CTRL
+      type_name: TTC_DEC_CTRLS
+      type: W
+      bitfield:
+        - range: 14
+          name: BUSY_OUTPUT_STATUS
+          type: R
+          desc: Actual status of the BUSY LEMO output signal
+        - range: 13
+          name: ECR_BCR_SWAP
+          default: 0
+          desc: ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
+        - range: 12
+          name: BUSY_OUTPUT_INHIBIT
+          default: 0
+          desc: forces the Busy LEMO output to BUSY-OFF
+        - range: 11
+          name: TOHOST_RST
+          desc: reset toHost in ttc decoder
+          default: 0
+        - range: 10
+          name: TT_BCH_EN
+          desc: trigger type enable / disable for TTC-ToHost
+          default: 1
+        - range: 9..2
+          name: XL1ID_SW
+          desc: set XL1ID value, the value to be set by XL1ID_RST signal
+          default: 0x00
+        - range: 1
+          name: XL1ID_RST
+          desc: giving a trigger signal to reset XL1ID value
+          default: 0
+        - range: 0 
+          name: MASTER_BUSY
+          desc: L1A trigger throttling
+          default: 0
+    - name: TTC_DEC_MON
+      format_name: TTC_DEC_MON
+      type_name: TTC_DEC_MONS
+      type: R 
+      bitfield:
+        - range: 15..5
+          name: TH_FF_COUNT
+          desc: ToHostData Fifo counts
+        - range: 4
+          name: TH_FF_FULL
+          desc: ToHostData Fifo status 1:full 0:not full
+        - range: 3 
+          name: TH_FF_EMPTY
+          desc: ToHostData Fifo status 1:empty 0:not empty
+        - range: 2..0
+          name: TTC_BIT_ERR
+          desc: double bit, single bit and comm error in TTC data
+
+TTC_BUSY_ACCEPTED:
+  desc: busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
+  number: 24
+  endpoints: 0,1
+  type: R
+  bitfield: 
+    - range: 56..0
+  entries:
+    - name: BUSY_ACCEPTED
+      format_name: TTC_BUSY_ACCEPTED{index:02}
+
+
+TTC_DELAY:
+  number: 48
+  type: W
+  entries:
+    - name: TTC_DELAY
+      format_name: TTC_DELAY_{index:02}
+      type_name: TTC_DELAY
+      desc: Controls the TTC Fanout delay values
+      bitfield:
+        - range: 3..0
+          default: 0
+          
+XOFF_BUSYControlsAndMonitors:
+  group: XOFF
+  desc: XOFF Controls and Monitors, see table 2 of Busy specs manual
+  endpoints: 0, 1
+  entries:
+    - name: XOFF_FM_CH_FIFO_THRESH_LOW
+      desc: Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
+      type: W
+      bitfield:
+        - range: 47..44
+          name: CH11
+          default: 0xB
+        - range: 43..40
+          name: CH10
+          default: 0xB
+        - range: 39..36
+          name: CH09
+          default: 0xB
+        - range: 35..32
+          name: CH08
+          default: 0xB
+        - range: 31..28
+          name: CH07
+          default: 0xB
+        - range: 27..24
+          name: CH06
+          default: 0xB
+        - range: 23..20
+          name: CH05
+          default: 0xB
+        - range: 19..16
+          name: CH04
+          default: 0xB
+        - range: 15..12
+          name: CH03
+          default: 0xB
+        - range: 11..8
+          name: CH02
+          default: 0xB
+        - range: 7..4
+          name: CH01
+          default: 0xB
+        - range: 3..0
+          name: CH00
+          default: 0xB
+          
+    - name: XOFF_FM_CH_FIFO_THRESH_HIGH
+      desc: Controls the high theshold of the channel fifo in FULL mode on which an Xoff will be asserted, bitfields control 4 MSB
+      type: W
+      bitfield:
+        - range: 47..44
+          name: CH11
+          default: 0xB
+        - range: 43..40
+          name: CH10
+          default: 0xB
+        - range: 39..36
+          name: CH09
+          default: 0xB
+        - range: 35..32
+          name: CH08
+          default: 0xB
+        - range: 31..28
+          name: CH07
+          default: 0xB
+        - range: 27..24
+          name: CH06
+          default: 0xB
+        - range: 23..20
+          name: CH05
+          default: 0xB
+        - range: 19..16
+          name: CH04
+          default: 0xB
+        - range: 15..12
+          name: CH03
+          default: 0xB
+        - range: 11..8
+          name: CH02
+          default: 0xB
+        - range: 7..4
+          name: CH01
+          default: 0xB
+        - range: 3..0
+          name: CH00
+          default: 0xB  
+          
+    - name: XOFF_FM_LOW_THRESH_CROSSED
+      desc: FIFO filled beyond the low threshold, 1 bit per channel
+      type: R
+      bitfield:
+        - range: 11..0
+    - name: XOFF_FM_HIGH_THRESH
+      type: W
+      bitfield:
+        - range: any
+          name: CLEAR_LATCH
+          desc: Writing this register will clear all CROSS_LATCHED bits
+          type: T
+          value: 1
+        - range: 23..12    
+          type: R
+          name: CROSS_LATCHED
+          desc: FIFO filled beyond the high threshold, 1 latch bit per channel
+        - range: 11..0
+          type: R
+          name: CROSSED
+          desc: FIFO filled beyond the high threshold, 1 bit per channel
+        
+    - name: XOFF_FM_SOFT_XOFF
+      type: W
+      desc: Set any bit in this register to assert XOFF for the given channel, clearing bits will assert XON
+      bitfield:
+        - range: 23..0 
+        
+    - name: XOFF_ENABLE
+      type: W
+      desc: Enable XOFF assertion (To Frontend) in case the FULL mode CH FIFO gets beyond thresholds. One bit per channel
+      bitfield:
+        - range: 23..0
+
+    - name: DMA_BUSY_STATUS
+      type: W
+      bitfield:
+        - range: any
+          type: T
+          value: 1
+          name: CLEAR_LATCH
+          desc: Any write to this register clears TOHOST_BUSY_LATCHED
+        - range: 4
+          type: W
+          name: ENABLE
+          desc: Enable the DMA buffer on the server as a source of busy
+          default: 0
+        - range: 3
+          type: R
+          name: TOHOST_BUSY_LATCHED
+          desc: A tohost descriptor has passed BUSY_THRESHOLD_ASSERT in the past, busy flag was set
+          value: (others => tohost_busy_latched_40_s) 
+        - range: 2
+          type: R
+          name: FROMHOST_BUSY_LATCHED
+          desc: A fromhost descriptor has passed BUSY_THRESHOLD_ASSERT in the past, busy flag was set
+          value: (others => fromhost_busy_latched_40_s) 
+        - range: 1
+          type: R
+          name: FROMHOST_BUSY
+          desc: A fromhost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set
+          value: (others => fromhost_busy_40_s)
+        - range: 0
+          type: R
+          name: TOHOST_BUSY
+          desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set
+          value: (others => tohost_busy_40_s)
+    
+    - name: FM_BUSY_CHANNEL_STATUS
+      type: W
+      bitfield:
+        - range: any
+          name: CLEAR_LATCH
+          type: T
+          value: 1
+          desc: Any write to this register will clear the BUSY_LATCHED bits
+        - range: 23..12
+          type: R
+          name: BUSY_LATCHED
+          desc: one Indicates that the given FULL mode channel has received BUSY-ON
+        - range: 11..0
+          type: R
+          name: BUSY
+          desc: one Indicates that the given FULL mode channel is currently in BUSY state
+          
+    - name: BUSY_MAIN_OUTPUT_FIFO_THRESH
+      type: W
+      bitfield:
+        - range: 24
+          name: BUSY_ENABLE
+          desc: Enable busy generation if thresholds are crossed
+          default: 0
+        - range: 23..12
+          name: LOW
+          desc: Low, Negate threshold of busy generation from main output fifo
+          default: 0x3FF
+        - range: 11..0
+          name: HIGH
+          desc: High, Assert threshold of busy generation from main output fifo
+          default: 0x4FF
+          
+    - name: BUSY_MAIN_OUTPUT_FIFO_STATUS
+      type: W
+      bitfield:
+        - range: any
+          name: CLEAR_LATCHED
+          value: 1
+          desc: Any write to this register will clear the 
+          type: T
+        - range: 2
+          type: R
+          name: HIGH_THRESH_CROSSED_LATCHED
+          desc: Main output fifo has been full beyond HIGH THRESHOLD, write to clear
+        - range: 1
+          type: R
+          name: HIGH_THRESH_CROSSED
+          desc: Main output fifo is full beyond HIGH THRESHOLD
+        - range: 0
+          type: R
+          name: LOW_THRESH_CROSSED
+          desc: Main output fifo is full beyond LOW THRESHOLD
+    - ref: ELINK_BUSY_ENABLE
+    
+          
+ELINK_BUSY_ENABLE:
+  desc: Per elink (and FULL mode link) enable of the busy signal towards the LEMO output
+  number: 24
+  endpoints: 0
+  type: W
+  bitfield: 
+    - range: 56..0
+  entries:
+    - name: ELINK_BUSY_ENABLE
+      format_name: ELINK_BUSY_ENABLE{index:02}          
+
+HouseKeepingControlsAndMonitors:
+  group: HKC
+  desc: House Keeping Controls and Monitors
+  endpoints: 0
+  entries:
+ 
+    - name: HK_CTRL_I2C
+      type: W
+      bitfield:
+        - range: 1
+          name: CONFIG_TRIG
+          desc: i2c_config_trig
+        - range: 0
+          name: CLKFREQ_SEL
+          desc: i2c_clkfreq_sel
+
+    - name: HK_CTRL_FMC
+      type: W
+      bitfield:
+        - range: 7
+          name: SI5345_LOL
+          type: R
+          desc: Loss of lock pin, only connected on FLX711
+        - range: 6..5
+          name: SI5345_INSEL
+          default: 0x0
+          desc: |
+            Selects the input clock source
+              0 : FPGA (FMC LA01)
+              1 : FMC OSC (40.079 MHz)
+              2 : FPGA (FMC LA18)
+        - range: 4..3
+          name: SI5345_A
+          default: 0x0
+          desc: Si5345 I2C address select 2 LSB (0x0:default, dev id 0x68)
+        - range: 2
+          name: SI5345_OE
+          default: 0x1
+          desc: Si5345 active low output enable  (0:enable)
+        - range: 1
+          name: SI5345_RSTN
+          default: 0x0
+          desc: Si5345 active low output enable  (0:reset)
+        - range: 0
+          name: SI5345_SEL
+          default: 0x1
+          desc: |
+            Si5345 programming mode
+              1 : I2C mode (default)
+              0 : SPI mode
+
+    - name: HK_MON_FMC
+      type: W
+      bitfield:
+        - range: 1
+          name: SI5345_LOL
+          desc: Si5345 Loss Of Lock pin
+        - range: 0
+          name: SI5345_INTR
+          desc: Si5345 Interrupt flagging chip change of status
+
+    - name: MMCM_MAIN
+      type: W
+      offset: 0x0300
+      bitfield:
+        - range: 3
+          type: W
+          name: LCLK_SEL
+          default: 0x1
+          desc: |
+              1: LCLK
+              0: TTC
+        - range: 2..1
+          type: R
+          name: MAIN_INPUT
+          desc: |
+              Main MMCM Oscillator Input
+              2: LCLK fixed
+              1: TTC fixed
+              0: selectable
+        - range: 0
+          type: R
+          name: PLL_LOCK
+          desc: Main MMCM PLL Lock Status
+
+    - name: LMK_LOCKED
+      type: R
+      bitfield:
+        - range: 0
+          desc: LMK Chip on BNL-711 locked
+
+    - name: FPGA_CORE_TEMP
+      type: R
+      bitfield:
+        - range: 11..0
+          desc:  |
+                 XADC temperature monitor for the FPGA CORE
+                 for FLX709, FLX710
+                 temp (C)= ((FPGA_CORE_TEMP* 503.975)/4096)-273.15
+                 for FLX711
+                 temp (C)= ((FPGA_CORE_TEMP* 502.9098)/4096)-273.8195
+    - name: FPGA_CORE_VCCINT
+      type: R
+      bitfield:
+        - range: 11..0
+          desc:  XADC voltage measurement VCCINT = (FPGA_CORE_VCCINT *3.0)/4096
+    - name: FPGA_CORE_VCCAUX
+      type: R
+      bitfield:
+        - range: 11..0
+          desc:  XADC voltage measurement VCCAUX = (FPGA_CORE_VCCAUX *3.0)/4096
+    - name: FPGA_CORE_VCCBRAM
+      type: R
+      bitfield:
+        - range: 11..0
+          desc:  XADC voltage measurement VCCBRAM = (FPGA_CORE_VCCBRAM *3.0)/4096
+
+    - name: FPGA_DNA
+      type: R
+      bitfield:
+        - range: 63..0
+          desc: Unique identifier of the FPGA
+
+
+    - name: SPI_WR
+      type: W
+      offset: 0x0400
+      bitfield:
+        - range: any
+          type: T
+          value: not register_map_monitor_s.register_map_hk_monitor.SPI_WR.SPI_FULL
+          name: SPI_WREN
+          desc: Any write to this register triggers an SPI Write
+        - range: 32
+          type: R
+          name: SPI_FULL
+          desc: SPI FIFO Full
+        - range: 31..0
+          type: W
+          name: SPI_DIN
+          desc: SPI WRITE Data
+
+    - name: SPI_RD
+      type: T
+      bitfield:
+        - range: any
+          type: T
+          value: not register_map_monitor_s.register_map_hk_monitor.SPI_RD.SPI_EMPTY
+          name: SPI_RDEN
+          desc: Any write to this register pops the last SPI data from the FIFO
+        - range: 32
+          type: R
+          name: SPI_EMPTY
+          desc: SPI FIFO Empty
+        - range: 31..0
+          type: R
+          name: SPI_DOUT
+          desc: SPI READ Data
+
+    - name: I2C_WR
+      type: W
+      bitfield:
+        - range: any
+          name: I2C_WREN
+          type: T
+          value: not register_map_monitor_s.register_map_hk_monitor.I2C_WR.I2C_FULL
+          desc: Any write to this register triggers an I2C read or write sequence
+        - range: 25
+          type: R
+          name: I2C_FULL
+          desc: I2C FIFO full
+        - range: 24
+          name: WRITE_2BYTES
+          type: W
+          desc: Write two bytes
+        - range: 23..16
+          name: DATA_BYTE2
+          type: W
+          desc: Data byte 2
+        - range: 15..8
+          name: DATA_BYTE1
+          type: W
+          desc: Data byte 1
+        - range: 7..1
+          name: SLAVE_ADDRESS
+          type: W
+          desc: Slave address
+        - range: 0
+          name: READ_NOT_WRITE
+          type: W
+          desc: READ/<o>WRITE</o>
+
+    - name: I2C_RD
+      type: T
+      bitfield:
+        - range: any
+          name: I2C_RDEN
+          type: T
+          value: not register_map_monitor_s.register_map_hk_monitor.I2C_RD.I2C_EMPTY
+          desc: Any write to this register pops the last I2C data from the FIFO
+        - range: 8
+          type: R
+          name: I2C_EMPTY
+          desc: I2C FIFO Empty
+        - range: 7..0
+          type: R
+          name: I2C_DOUT
+          desc: I2C READ Data
+
+
+    - name: DEBUG_PORT_GBT
+      offset: 0x0500
+      type: W
+      bitfield:
+        - range: 6..0
+          desc: Debug GBT data bit N (119..0) on SMA HTGx#3
+
+    - name: DEBUG_PORT_CLK
+      type: W
+      bitfield:
+        - range: 3..0
+          desc: Debug clock and L1A port on SMA HTGx#4
+
+    - name: INT_TEST_4
+      offset: 0x0800
+      type: T
+      value: 1
+      bitfield:
+        - range: any
+          desc: Fire a test MSIx interrupt \#4
+
+    - name: CONFIG_FLASH_WR
+      type: W
+      bitfield:
+        - range: 57
+          type: W
+          name: FAST_WRITE
+          desc: Write command only. Only used for fast programming.
+        - range: 56
+          type: W
+          name: FAST_READ
+          desc: Status reading without command writing. Only used for fast programming.
+        - range: 55
+          type: W
+          name: PAR_CTRL
+          desc: Choose use FW or uC to select the Flash partition. 1 FW | 0 uC.
+        - range: 54..53
+          type: W
+          name: PAR_WR
+          desc: Choose Flash partition. Valid when PAR_CTRL is 1.
+        - range: 52
+          type: W
+          name: FLASH_SEL
+          desc: 1 takes control over flash, 0 gives JTAG control over flash
+        - range: 51
+          type: W
+          name: DO_INIT
+          desc: Untested feature, don't use it yet.
+        - range: 50
+          type: W
+          name: DO_READSTATUS
+          desc: Reads status from flash
+        - range: 49
+          type: W
+          name: DO_CLEARSTATUS
+          desc: Clears status reading from flash, back to normal flash operation
+        - range: 48
+          type: W
+          name: DO_ERASEBLOCK
+          desc: Erased the current block of the flash, this register has to be cleared by software
+        - range: 47
+          name: DO_UNLOCK_BLOCK
+          type: W
+          desc: Unlock writes to the current block, this register has to be cleared by software
+        - range: 46
+          name: DO_READ
+          type: W
+          desc: Reads the 16 bits from current address, this register has to be cleared by software
+        - range: 45
+          name: DO_WRITE
+          type: W
+          desc: Writes the 16 bits to current address, this register has to be cleared by software
+        - range: 44
+          name: DO_READDEVICEID
+          type: W
+          desc: DIN should return 0x0089, this register has to be cleared by software
+        - range: 43
+          name: DO_RESET
+          type: W
+          desc: Can be used in the future, currently disconnected in firmware
+        - range: 42..16
+          name: ADDRESS
+          type: W
+          desc: Address for read and write operations (25 bits, upper 2 bits are controlled by uC)
+        - range: 15..0
+          name: WRITE_DATA
+          type: W
+          desc: Value of data to write towards flash
+    - name: CONFIG_FLASH_RD
+      type: R
+      bitfield:
+        - range: 19..18
+          name: PAR_RD
+          type: R
+          desc: Show which Flash partition is selected.
+        - range: 17
+          name: FLASH_REQ_DONE
+          type: R
+          desc: Request done
+        - range: 16
+          name: FLASH_BUSY
+          type: R
+          desc: Flash operation busy
+        - range: 15..0
+          name: READ_DATA
+          type: R
+          desc: Value of data read from flash
+    - name: SI5324_STATUS
+      type: R
+      bitfield:
+        - range: 15..8
+          name: LOL
+          desc: Loss of Lock Si5324
+        - range: 8..0
+          name: LOS
+          desc: Loss of Signal Si5324
+          
+    - name: TACH_CNT
+      type: R
+      desc: Readout of the Fan tachometer speed of the BNL712 board
+      bitfield:
+        - range: 19..0
+
+Generators:
+  group: GEN
+  desc: Specific registers for Hardware based Generators
+  endpoints: 0
+  generate: EMU_GENERATE_REGS = true
+  entries:
+
+    - ref: FELIG_DATA_GEN_CONFIG_ARR
+      offset: 0x20
+    - ref: FELIG_ELINK_CONFIG_ARR
+    - ref: FELIG_ELINK_ENABLE_ARR
+    
+    - name: FELIG_GLOBAL_CONTROL
+      type: W
+      bitfield:
+        - range: 63..36
+          name: FAKE_L1A_RATE
+          default: 0
+          desc: Sets the internal fake L1 trigger rate. [25ns/LSB]
+        - range: 35..14
+          name: PICXO_OFFSET_PPM
+          default: 0
+          desc: When OFFSET_EN is 1, this directly sets the output frequency, within the given adjustment range.
+        - range: 12..12
+          name: TRACK_DATA
+          default: 0
+          desc: FELIG GT core control.  Must be set to enable normal operation.
+        - range: 11..11
+          name: RXUSERRDY
+          default: 0
+          desc: FELIG GT core control.  Must be set to enable normal operation.
+        - range: 10..10
+          name: TXUSERRDY
+          default: 0
+          desc: FELIG GT core control.  Must be set to enable normal operation.
+        - range: 9..9
+          name: AUTO_RESET
+          default: 0
+          desc: FELIG GT core control.  If set the GT core automatically resets on data error.
+        - range: 8..8
+          name: PICXO_RESET
+          default: 0
+          desc: FELIG GT core control.  Manual PICXO reset.
+        - range: 7..7
+          name: GTTX_RESET
+          default: 0
+          desc: FELIG GT core control.  Manual GT TX reset
+        - range: 6..6
+          name: CPLL_RESET
+          default: 0
+          desc: FELIG GT core control.  Manual CPLL reset.
+        - range: 5..0
+          name: X3_X4_OUTPUT_SELECT
+          default: 0
+          desc: X3/X4 SMA output source select.
+    
+    - ref: FELIG_LANE_CONFIG_ARR
+    - ref: FELIG_MON_TTC_0_ARR
+    - ref: FELIG_MON_TTC_1_ARR
+    - ref: FELIG_MON_COUNTERS_ARR
+    - ref: FELIG_MON_FREQ_ARR
+
+    - name: FELIG_MON_FREQ_GLOBAL
+      type: W
+      bitfield:
+        - range: 63..32
+          name:  XTAL_100MHZ
+          default: 0
+          desc: FELIG local oscillator frequency[Hz].
+        - range: 31..0
+          name: CLK_41_667MHZ
+          desc: FELIG PCIE MGTREFCLK frequency[Hz].
+    
+    - ref: FELIG_MON_L1A_ID_ARR
+    - ref: FELIG_MON_PICXO_ARR
+    
+    - name: FELIG_RESET
+      type: W
+      bitfield:
+        - range: 63..48
+          name: LB_FIFO
+          default: 0
+          desc: One bit per lane.  When set to 1, resets all loopback FIFOs.
+        - range: 47..24
+          name: FRAMEGEN
+          default: 0
+          desc: One bit per lane.  When set to 1, resets all FELIG link checking logic.
+        - range: 23..0
+          name: LANE
+          default: 0
+          desc: One bit per lane.  When set to 1, resets all FELIG lane logic.
+    
+    - name: FELIG_RX_SLIDE_RESET
+      type: W
+      bitfield:
+        - range: 23..0
+          default: 0
+          desc: One bit per lane.  When set to 1, resets the gbt rx slide counter.
+          
+    - name: FMEMU_EVENT_INFO
+      type: W
+      offset: 0x1800
+      bitfield:
+        - range: 63..32
+          name: L1ID
+          default: 0
+          desc: 32b field to show L1ID
+        - range: 31..0
+          name: BCID
+          default: 0
+          desc: 32b field to show BCID
+
+    - name: FMEMU_COUNTERS
+      type: W
+      bitfield:
+        - range: 63..48
+          name: WORD_CNT
+          default: 32
+          desc: Number of 32b words in one chunk
+        - range: 47..32
+          name: IDLE_CNT
+          default: 3
+          desc: Minimum number of idles between chunks 
+        - range: 31..16
+          name: L1A_CNT
+          default: 256
+          desc: Number of chunks to send if not in TTC mode
+        - range: 15..8
+          name: BUSY_TH_HIGH
+          default: 20
+          desc: Assert BUSY-ON above this threshold
+        - range: 7..0
+          name: BUSY_TH_LOW
+          default: 15
+          desc: De-assert BUSY-ON below this threshold
+
+    - name: FMEMU_CONTROL
+      type: W
+      bitfield:
+        - range: 63..56
+          type: W
+          name: L1A_BITNR
+          default: 32
+          desc: Bitfield for L1A in TTC frame
+        - range: 55..48
+          type: W
+          name: XONXOFF_BITNR
+          default: 32
+          desc: Bitfield for Xon/Xoff in TTC frame
+        - range: 47..47
+          type: W
+          name: EMU_START
+          default: 0
+          desc: Start emulator functionality
+        - range: 46..46
+          type: W
+          name: TTC_MODE
+          default: 0
+          desc: Control the emulator by TTC input or by RegMap (1/0)
+        - range: 45..45
+          type: W
+          name: XONXOFF
+          default: 0
+          desc: Debug Xon/Xoff functionality (1/0)
+        - range: 44..44
+          type: W
+          name: INLC_CRC32
+          default: 0
+          desc: |
+            0: No checksum
+            1: Append the data with a CRC32
+        - range: 43..43
+          type: W
+          name: BCR
+          default: 0
+          desc: Reset BCID to 0
+        - range: 42..42
+          type: W
+          name: ECR
+          default: 0
+          desc: Reset L1ID to 0
+        - range: 41..41
+          type: W
+          name: DATA_SRC_SEL
+          default: 0
+          desc: | 
+            Data source select
+            0: Data input comes from EMURAM
+            1: Data input comes from PCIe
+        - range: 40..32
+          type: R
+          name: INT_STATUS_EMU
+          default: 0
+          desc: Read internal status emulator
+        - range: 31..16
+          type: W
+          name: FFU_FM_EMU_T
+          default: 0
+          desc: For Future Use (trigger registers)
+        - range: 15..0
+          type: W
+          name: FFU_FM_EMU_W
+          default: 0
+          desc: For Future Use (write registers)
+    
+    - name: FMEMU_RANDOM_RAM_ADDR
+      type: W
+      desc: Controls the address of the ramblock for the random number generator
+      bitfield:
+        - range: 9..0 
+    - name: FMEMU_RANDOM_RAM
+      type: W
+      bitfield:
+        - range: any 
+          type: T 
+          name: WE
+          value: 1
+          desc: Any write to this register (DATA) triggers a write to the ramblock
+        - range: 39..16
+          name: CHANNEL_SELECT
+          value: 0xFFFFFF
+          desc: Enable write enable only for the selected channel
+        - range: 15..0
+          name: DATA
+          type: W
+          desc: DATA field to be written to FMEMU_RANDOM_RAM_ADDR
+    - name: FMEMU_RANDOM_CONTROL
+      type: W
+      desc: Controls the random chunk length generator
+      bitfield:
+        - name: SELECT_RANDOM
+          range: 20
+          desc: 1 enables the random chunk length, 0 uses a constant chunk length
+          default: 0
+        - name: SEED
+          range: 19..10
+          desc: Seed for the random number generator, should not be 0
+          default: 0x200
+        - name: POLYNOMIAL
+          range: 9..0
+          desc: POLYNOMIAL for the random number generator (10b LFSR) Bit9 should always be 1
+          default: 0x240
+         
+    
+#Registers that are replicated 24 times under Generators:
+FELIG_DATA_GEN_CONFIG_ARR:
+  number: 24
+  type: W
+  entries:
+    - name: FELIG_DATA_GEN_CONFIG
+      format_name: FELIG_DATA_GEN_CONFIG_{index:02}
+      type_name: FELIG_DATA_GEN_CONFIG
+      desc: FELIG specific configuration test registers
+      bitfield:
+        - name: USERDATA
+          range: 63..48
+          default: 0
+          desc: Sets static payload word. When PATTERN_SEL=1.
+        - name: CHUNK_LENGTH
+          range: 47..32
+          default: 0
+          desc: FELIG data generator chunk-length in bytes.
+        - name: RESET
+          range: 19..15
+          default: 0
+          desc: FELIG data generator reset. One bit per group, 0:normal operation, 1:egroup emulation held in reset.
+        - name: SW_BUSY
+          range: 14..10
+          default: 0
+          desc: FELIG elink bus state. One bit per group, 0:normal operation, 1:elink enter busy state.
+        - name: DATA_FORMAT
+          range: 9..5
+          default: 0
+          desc: FELIG data generator format. 0:8b10b, 1:direct.
+        - name: PATTERN_SEL
+          range: 4..0
+          default: 0
+          desc: FELIG data payload type. One bit per group, 0:byte counter, 1:USERDATA
+    
+FELIG_ELINK_CONFIG_ARR:
+  number: 24
+  type: W
+  entries:
+    - name: FELIG_ELINK_CONFIG
+      format_name: FELIG_ELINK_CONFIG_{index:02}
+      type_name: FELIG_ELINK_CONFIG
+      desc: FELIG specific configuration test registers
+      bitfield:
+        - name: ENDIAN_MOD
+          range: 39..35
+          default: 0
+          desc: FELIG elink data input endian control. One bit per egroup. 0:little-endian (8b10b), 1:big-endian.
+        - name: INPUT_WIDTH
+          range: 34..30
+          default: 0
+          desc: FELIG elink data input width. One bit per egroup. 0:8-bit (direct), 1:10-bit (8b10b).
+        - name: OUTPUT_WIDTH
+          range: 9..0
+          default: 0
+          desc: FELIG elink data output width.
+          
+FELIG_ELINK_ENABLE_ARR:
+  number: 24
+  type: W
+  entries:
+    - name: FELIG_ELINK_ENABLE
+      format_name: FELIG_ELINK_ENABLE_{index:02}
+      type_name: FELIG_ELINK_ENABLE
+      desc: FELIG specific configuration registers
+      bitfield:
+        - range: 39..0
+          default: 0
+          desc: FELIG elink enable.  One bit per elink. 0:disabled, 1:enabled.
+    
+FELIG_LANE_CONFIG_ARR:
+  number: 24
+  type: W
+  entries:
+    - name: FELIG_LANE_CONFIG
+      format_name: FELIG_LANE_CONFIG_{index:02}
+      type_name: FELIG_LANE_CONFIG
+      desc: FELIG specific configuration registers
+      bitfield:
+        - name: B_CH_BIT_SEL
+          range: 63..42
+          default: 0
+          desc: When OFFSET_EN is 1. this directly sets the output frequency. within the given adjustment range.
+        - name: A_CH_BIT_SEL
+          range: 41..35
+          default: 0
+          desc: Selects the bit from the received FELIX data from which to extract the L1A.
+        - name: LB_FIFO_DELAY
+          range: 34..30
+          default: 0
+          desc: When the GTH or GTB loopback is enabled, this controls the loopback latency in clock cycles.
+        - name: ELINK_SYNC
+          range: 7..7
+          default: 0
+          desc: When set, synchronizes the elink word boundaries.  Must be set back to 0 to resume normal operation.
+        - name: PICXO_OFFEST_EN
+          range: 6..6
+          default: 0
+          desc: FELIG TX frequency override. 0:frequency tracking enabled, 1:TX frequency set by PICXO_OFFSET_PPM.
+        - name: PI_HOLD
+          range: 5..5
+          default: 0
+          desc: FELIG phase-interpolator hold. 0:frequency tracking enabled, 1:freeze TX frequency.
+        - name: GBT_LB_ENABLE
+          range: 4..4
+          default: 0
+          desc: FELIG GBT direct loopback enable. 0:disabled, 1:enabled.
+        - name: GBH_LB_ENABLE
+          range: 3..3
+          default: 0
+          desc: FELIG GTH direct loopback enable. 0:disabled, 1:enabled.
+        - name: L1A_SOURCE
+          range: 2..2
+          default: 0
+          desc: FELIG L1A data source select.  0:from local counter, 1:from FELIX.
+        - name: GBT_EMU_SOURCE
+          range: 1..1
+          default: 0
+          desc: FELIG emulation data source select.  0:state-machine emulator, 1:ram-based emulator.
+        - name: FG_SOURCE
+          range: 0..0
+          default: 0
+          desc: FELIG link check data source selection control.  0:normal operation, 1:PRBS link checker (not elink emulation data) 
+    
+FELIG_MON_TTC_0_ARR:
+  number: 24
+  type: R
+  entries:
+    - name: FELIG_MON_TTC_0
+      format_name: FELIG_MON_TTC_0_{index:02}
+      type_name: FELIG_MON_TTC_0
+      desc: FELIG specific configuration registers
+      bitfield:
+        - name: L1ID
+          range: 63..40
+          default: 0
+          desc: Live TTC data monitor.
+        - name: XL1ID
+          range: 39..32
+          default: 0
+          desc: Live TTC data monitor.
+        - name: BCID
+          range: 31..20
+          default: 0
+          desc: Live TTC data monitor.
+        - name: RESERVED0
+          range: 19..16
+          default: 0
+          desc: Live TTC data monitor.
+        - name: LEN
+          range: 15..8
+          default: 0
+          desc: Live TTC data monitor.
+        - name: FMT
+          range: 7..0
+          default: 0
+          desc: Live TTC data monitor.
+    
+FELIG_MON_TTC_1_ARR:
+  number: 24
+  type: R
+  entries:
+    - name: FELIG_MON_TTC_1
+      format_name: FELIG_MON_TTC_1_{index:02}
+      type_name: FELIG_MON_TTC_1
+      desc: FELIG specific configuration registers
+      bitfield:
+        - name: RESERVED1
+          range: 63..48
+          default: 0
+          desc: Live TTC data monitor.
+        - name: TRIGGER_TYPE
+          range: 47..32
+          default: 0
+          desc: Live TTC data monitor.
+        - name: ORBIT
+          range: 31..0
+          default: 0
+          desc: Live TTC data monitor.
+    
+FELIG_MON_COUNTERS_ARR:
+  number: 24
+  type: R
+  entries:
+    - name: FELIG_MON_COUNTERS
+      format_name: FELIG_MON_COUNTERS_{index:02}
+      type_name: FELIG_MON_COUNTERS
+      desc: FELIG specific configuration registers
+      bitfield:
+        - name: SLIDE_COUNT
+          range: 63..32
+          default: 0
+          desc: Counts the number of rx slides commanded by the GBT logic.  Should be static once a link is established.
+        - name: FC_ERROR_COUNT
+          range: 31..0
+          default: 
+          desc: When FG_DATA_SELECT is 1, this counter reports the number of detected data errors.
+    
+FELIG_MON_FREQ_ARR:
+  number: 24
+  type: R
+  entries:
+    - name: FELIG_MON_FREQ
+      format_name: FELIG_MON_FREQ_{index:02}
+      type_name: FELIG_MON_FREQ
+      desc: FELIG specific configuration registers
+      bitfield:
+        - name: TX
+          range: 63..32
+          default: 0
+          desc: FELIG regenerated TX clock frequency[Hz].
+        - name: RX
+          range: 31..0
+          default: 0
+          desc: FELIG recovered RX clock frequency[Hz].
+    
+FELIG_MON_L1A_ID_ARR:
+  number: 24
+  type: R
+  entries:
+    - name: FELIG_MON_L1A_ID
+      format_name: FELIG_MON_L1A_ID_{index:02}
+      type_name: FELIG_MON_L1A_ID
+      desc: FELIG specific configuration registers
+      bitfield:
+        - range: 31..0
+          default: 0
+          desc: FELIG's last L1 ID.
+    
+FELIG_MON_PICXO_ARR:
+  number: 24
+  type: R
+  entries:
+    - name: FELIG_MON_PICXO
+      format_name: FELIG_MON_PICXO_{index:02}
+      type_name: FELIG_MON_PICXO
+      desc: FELIG specific configuration registers
+      bitfield:
+        - name: VLOT
+          range: 53..32
+          default: 0
+          desc: Value indicates TX clock (recovered RX clock)  to RX reference clock frequency offset.
+        - name: ERROR
+          range: 20..0
+          default: 0
+          desc: Value indicates RX to TX frequency tracking error.
+
diff --git a/sources/templates/version.txt b/sources/templates/version.txt
index 07de8fc4e..f5ce831ef 100644
--- a/sources/templates/version.txt
+++ b/sources/templates/version.txt
@@ -1 +1 @@
-0406
\ No newline at end of file
+0407
\ No newline at end of file
-- 
GitLab


From 053264016856959cd3218909249fe10265552c00 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <f.schreuder@nikhef.nl>
Date: Thu, 28 Mar 2019 17:27:16 +0100
Subject: [PATCH 02/19] Changed comment of ENA register in TTC_EMU

---
 sources/templates/dma_control.vhd    | 6 +++---
 sources/templates/pcie_package.vhd   | 4 ++--
 sources/templates/registers-4.7.yaml | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 862cc9923..807ec5846 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -6941,7 +6941,7 @@ end process;
           register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= REG_TTC_DEC_CTRL_XL1ID_RST_C;            -- giving a trigger signal to reset XL1ID value
           register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= REG_TTC_DEC_CTRL_MASTER_BUSY_C;          -- L1A trigger throttling
           register_map_control_s.TTC_EMU.SEL                    <= REG_TTC_EMU_SEL_C;                       -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Enable TTC data generator
+          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
           register_map_control_s.TTC_DELAY_00                   <= REG_TTC_DELAY_00_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_01                   <= REG_TTC_DELAY_01_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_02                   <= REG_TTC_DELAY_02_C;                      -- Controls the TTC Fanout delay values
@@ -13575,7 +13575,7 @@ end process;
                                                        register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY;      -- L1A trigger throttling
             when REG_TTC_EMU                        => register_read_data_25_s(2 downto 2)     <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL;                  -- TTC Emulator memory full indication
                                                        register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Enable TTC data generator
+                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
             when REG_TTC_DELAY_00                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_00;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_01;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_02;                  -- Controls the TTC Fanout delay values
@@ -20708,7 +20708,7 @@ end process;
                                                        register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= register_write_data_25_v(1 downto 1);    -- giving a trigger signal to reset XL1ID value
                                                        register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= register_write_data_25_v(0 downto 0);    -- L1A trigger throttling
             when REG_TTC_EMU                        => register_map_control_s.TTC_EMU.SEL                    <= register_write_data_25_v(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Enable TTC data generator
+                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
             when REG_TTC_DELAY_00                   => register_map_control_s.TTC_DELAY_00                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_map_control_s.TTC_DELAY_01                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_map_control_s.TTC_DELAY_02                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index 94202ddda..273face1a 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -1530,7 +1530,7 @@ package pcie_package is
 
   type bitfield_ttc_emu_w_type is record
     SEL                            : std_logic_vector(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-    ENA                            : std_logic_vector(0 downto 0);    -- Enable TTC data generator
+    ENA                            : std_logic_vector(0 downto 0);    -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
   end record;
 
   type bitfield_ttc_busy_timing_ctrl_w_type is record
@@ -5495,7 +5495,7 @@ package pcie_package is
   constant REG_TTC_DEC_CTRL_XL1ID_RST_C            : std_logic_vector(1 downto 1)     := "0";                   -- giving a trigger signal to reset XL1ID value
   constant REG_TTC_DEC_CTRL_MASTER_BUSY_C          : std_logic_vector(0 downto 0)     := "0";                   -- L1A trigger throttling
   constant REG_TTC_EMU_SEL_C                       : std_logic_vector(1 downto 1)     := "0";                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Enable TTC data generator
+  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
   constant REG_TTC_DELAY_00_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_01_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_02_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml
index 726de4c24..4def8602e 100644
--- a/sources/templates/registers-4.7.yaml
+++ b/sources/templates/registers-4.7.yaml
@@ -1458,7 +1458,7 @@ TTCBUSYControlsAndMonitors:
           desc: Select TTC data source 1 TTC Emu | 0 TTC Decoder
         - range: 0
           name: ENA
-          desc: Enable TTC data generator
+          desc: Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
 
     - ref: TTC_DELAY
  
-- 
GitLab


From fa19fc4ef4dc925f78f08f9a5925805220f283a5 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <f.schreuder@nikhef.nl>
Date: Thu, 18 Apr 2019 13:08:20 +0200
Subject: [PATCH 03/19] Removed BROADCAST6 bitfield as requested by Israel,
 regenerated VHDL and doc

---
 sources/templates/dma_control.vhd    |   3 ---
 sources/templates/pcie_package.vhd   |   2 --
 sources/templates/registermap.tex    |  27 ++++++++++++++++++++++-----
 sources/templates/registers-4.7.yaml |   3 ---
 sources/templates/registers.pdf      | Bin 197747 -> 199259 bytes
 5 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 807ec5846..1a2a29400 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -6995,7 +6995,6 @@ end process;
           register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C;   -- Number of prescaled clocks a given busy must be asserted before it is recognized
           register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= REG_TTC_EMU_CONTROL_LAST_LINE_C;         -- Last line of the sequence
           register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= REG_TTC_EMU_CONTROL_REPEAT_C;            -- Repeat the sequence
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST6     <= REG_TTC_EMU_CONTROL_BROADCAST6_C;        -- Broadcast 6
           register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= REG_TTC_EMU_CONTROL_BROADCAST5_C;        -- Broadcast 5
           register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= REG_TTC_EMU_CONTROL_BROADCAST4_C;        -- Broadcast 4
           register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= REG_TTC_EMU_CONTROL_BROADCAST3_C;        -- Broadcast 3
@@ -13631,7 +13630,6 @@ end process;
             when REG_TTC_EMU_CONTROL                => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_EMU_CONTROL.WE;            -- Any write to this register executes a write enable
                                                        register_read_data_25_s(35 downto 35)   <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE;     -- Last line of the sequence
                                                        register_read_data_25_s(34 downto 34)   <= register_map_control_s.TTC_EMU_CONTROL.REPEAT;        -- Repeat the sequence
-                                                       register_read_data_25_s(33 downto 33)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST6;    -- Broadcast 6
                                                        register_read_data_25_s(32 downto 32)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5;    -- Broadcast 5
                                                        register_read_data_25_s(31 downto 31)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4;    -- Broadcast 4
                                                        register_read_data_25_s(30 downto 30)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3;    -- Broadcast 3
@@ -20764,7 +20762,6 @@ end process;
             when REG_TTC_EMU_CONTROL                => register_map_control_s.TTC_EMU_CONTROL.WE             <= "1";                                     -- Any write to this register executes a write enable
                                                        register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= register_write_data_25_v(35 downto 35);  -- Last line of the sequence
                                                        register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= register_write_data_25_v(34 downto 34);  -- Repeat the sequence
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST6     <= register_write_data_25_v(33 downto 33);  -- Broadcast 6
                                                        register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= register_write_data_25_v(32 downto 32);  -- Broadcast 5
                                                        register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= register_write_data_25_v(31 downto 31);  -- Broadcast 4
                                                        register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= register_write_data_25_v(30 downto 30);  -- Broadcast 3
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index 273face1a..e9badc7b7 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -1543,7 +1543,6 @@ package pcie_package is
     WE                             : std_logic_vector(64 downto 64);  -- Any write to this register executes a write enable
     LAST_LINE                      : std_logic_vector(35 downto 35);  -- Last line of the sequence
     REPEAT                         : std_logic_vector(34 downto 34);  -- Repeat the sequence
-    BROADCAST6                     : std_logic_vector(33 downto 33);  -- Broadcast 6
     BROADCAST5                     : std_logic_vector(32 downto 32);  -- Broadcast 5
     BROADCAST4                     : std_logic_vector(31 downto 31);  -- Broadcast 4
     BROADCAST3                     : std_logic_vector(30 downto 30);  -- Broadcast 3
@@ -5551,7 +5550,6 @@ package pcie_package is
   constant REG_TTC_EMU_CONTROL_WE_C                : std_logic_vector(64 downto 64)   := "0";                   -- Any write to this register executes a write enable
   constant REG_TTC_EMU_CONTROL_LAST_LINE_C         : std_logic_vector(35 downto 35)   := "0";                   -- Last line of the sequence
   constant REG_TTC_EMU_CONTROL_REPEAT_C            : std_logic_vector(34 downto 34)   := "0";                   -- Repeat the sequence
-  constant REG_TTC_EMU_CONTROL_BROADCAST6_C        : std_logic_vector(33 downto 33)   := "0";                   -- Broadcast 6
   constant REG_TTC_EMU_CONTROL_BROADCAST5_C        : std_logic_vector(32 downto 32)   := "0";                   -- Broadcast 5
   constant REG_TTC_EMU_CONTROL_BROADCAST4_C        : std_logic_vector(31 downto 31)   := "0";                   -- Broadcast 4
   constant REG_TTC_EMU_CONTROL_BROADCAST3_C        : std_logic_vector(30 downto 30)   := "0";                   -- Broadcast 3
diff --git a/sources/templates/registermap.tex b/sources/templates/registermap.tex
index 4cf0db475..faf9a73c5 100644
--- a/sources/templates/registermap.tex
+++ b/sources/templates/registermap.tex
@@ -6,11 +6,11 @@
 % DO NOT EDIT THIS FILE
 % 
 % This file was generated from template 'registermap.tex.template'
-% and register map registers-4.6.yaml, version 4.6
+% and register map registers-4.7.yaml, version 4.7
 % by the script 'wuppercodegen', version: 0.8.0,
 % using the following commandline:
 % 
-% ../../../software/wuppercodegen/wuppercodegen/cli.py registers-4.6.yaml registermap.tex.template registermap.tex
+% ../../../software/wuppercodegen/wuppercodegen/cli.py registers-4.7.yaml registermap.tex.template registermap.tex
 % 
 % Please do NOT edit this file, but edit the source file at 'registermap.tex.template'
 % 
@@ -20,7 +20,7 @@
 % ***************************************************************************
 % ***************************************************************************
 
-\section{FELIX register map, version 4.6}
+\section{FELIX register map, version 4.7}
 
 Starting from the offset address of BAR0, BAR1 and BAR2, the register map for BAR0 expands from 0x0000 to 0x0430 for the PCIe control registers. BAR0 only contains registers associated with DMA. The offset for BAR0 is usually 0xFBB00000.
 
@@ -176,7 +176,7 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA
 \multicolumn{7}{|c|}{Generic Board Information} \\
 \hline
 0x0000 & 0,1 & \multicolumn{2}{l|}{REG\_MAP\_VERSION} &
-15:0 & R & Register Map Version, 4.6 formatted as 0x0406 \\
+15:0 & R & Register Map Version, 4.7 formatted as 0x0407 \\
 \hline
 0x0010 & 0,1 & \multicolumn{2}{l|}{BOARD\_ID\_TIMESTAMP} &
 39:0 & R & Board ID Date / Time in BCD format YYMMDDhhmm \\
@@ -805,8 +805,9 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA
 \hline
 0x81A0 & 0 & \multicolumn{5}{l|}{TTC\_EMU} \\
 \cline{3-7}
+ & & & FULL & 2 & R & TTC Emulator memory full indication \\
  & & & SEL & 1 & W & Select TTC data source 1 TTC Emu | 0 TTC Decoder \\
- & & & ENA & 0 & W & Enable TTC data generator (10 bit counter) \\
+ & & & ENA & 0 & W & Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence \\
 \hline
 \multicolumn{7}{|c|}{TTC\_DELAY} \\
 \hline
@@ -827,6 +828,22 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA
 0x84C0 & 0 & \multicolumn{2}{l|}{TTC\_BUSY\_CLEAR} &
 any & T & clears the latching busy bits in TTC\_BUSY\_ACCEPTED \\
 \hline
+0x84D0 & 0 & \multicolumn{5}{l|}{TTC\_EMU\_CONTROL} \\
+\cline{3-7}
+ & & & WE & any & T & Any write to this register executes a write enable \\
+ & & & LAST\_LINE & 35 & W & Last line of the sequence \\
+ & & & REPEAT & 34 & W & Repeat the sequence \\
+ & & & BROADCAST5 & 32 & W & Broadcast 5 \\
+ & & & BROADCAST4 & 31 & W & Broadcast 4 \\
+ & & & BROADCAST3 & 30 & W & Broadcast 3 \\
+ & & & BROADCAST2 & 29 & W & Broadcast 2 \\
+ & & & BROADCAST1 & 28 & W & Broadcast 1 \\
+ & & & BROADCAST0 & 27 & W & Broadcast 0 \\
+ & & & ECR & 26 & W & Event counter reset \\
+ & & & BCR & 25 & W & Bunch counter reset \\
+ & & & L1A & 24 & W & Level 1 Accept \\
+ & & & STEP\_COUNTER & 21:0 & W & Step counter value \\
+\hline
 \multicolumn{7}{|c|}{XOFF\_BUSY Controls And Monitors} \\
 \hline
 0x8800 & 0, 1 & \multicolumn{5}{l|}{XOFF\_FM\_CH\_FIFO\_THRESH\_LOW} \\
diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml
index 4def8602e..320f00785 100644
--- a/sources/templates/registers-4.7.yaml
+++ b/sources/templates/registers-4.7.yaml
@@ -1500,9 +1500,6 @@ TTCBUSYControlsAndMonitors:
         - range: 34
           name: REPEAT
           desc: Repeat the sequence
-        - range: 33
-          name: BROADCAST6
-          desc: Broadcast 6
         - range: 32
           name: BROADCAST5
           desc: Broadcast 5
diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf
index 7f18b070c1798ea358b4e8bc6966a46ccdafb2cf..b18942337de4300233f4e74f37253a1a015d17bc 100644
GIT binary patch
delta 93897
zcmYJaV{|S&6E<4gwr$((u5H`4+q<@H+qUiQ+TFEn_dM@e=X~FvOlH<(tt697t|T*$
z5pY{6a1C}Kz$4A}AgAbHnXb#C&01K-WT5^;^38pG?9gE1)Q=>=uYcNK{{SN(0ytl}
zI{s`kdKcSc*lD$uI7uQ*BOWpQSr|Ny;%%|~b9R^;Idlx9x3UzQ)ryY*PN*3?Tg3;2
zLdoiM>2Nzratr>O{`>oJy))h)^=crn6Zy$_+t-_XPI&wHtKZ-IyH5)JH-C|ClgsV*
z?X&w?&Wo{FCrI^Gpo*O4qrBbY7vTOe8{8z5^6`|9SU+MM`ZAUO(;+}xh$l$fpHVP;
z4$H8*`)R3gOQ>&kjDfszj*dx-UHkJo-fwXobw{TpHo0l18w4AM#Mejcm%ren%_!cz
zBuGiGuKDp4PcUK})Be<{K&U_Yhw7M~)^z{u`Fxy=D3v_793ab-@+h7w05F1XW;)9!
z!(tBGlmB<u+$i1Q_>r`WMnPkDd`|n*#xfW#Pj;C&m+zn7XB<j;?tw@{7u5giuO|A;
z^^FFmcs#GMP7$UI>i=a|WfHSnKK4F&xWjn6j5757x*Q1bkdTv-!@co?%JY7^&P~;4
ztor(X-l@NxA)%AfkSg!w1Zb+_D%)E_!x~Vd9~qZ+zb+%GQYKZA%j;Yuk+s_B?h7z1
zP+R=%0NKdKc-Yk$ayYWq%`e%+6<#dobl80~U>Tt@;UK3@O)97KM*tgJwV>>&z9vuA
zh+YF~Pm>)^wG9@3bxan9Fbj^GB&uXIKH5c#E*?bF3!^uV0gC^L1yqIJNl)_eVPfL?
zBHm)w=yFl!s<FjE<s*!JENy{F>kxpg*AbS#w24E?s85d$E=qpTtb|9&*af{lJh{>P
zJt|g<b2wlkveSYup_|w|QM{mk?psqVdV`+z9pZ>n$5N~BPY&R4I9PoZsVygYxw65f
z;ME-56Qh_ng)Zf10!msazGkAbq(jrzqtJ7tUP3vPWXcAyr8tNov)}HmQ8#4{yM96_
zczaJQ6pqeOl2^=U?dU-@pt5+=dGooLuoGi8QOs6hv}-}x(N!DLgurR>7uNNA{_sqZ
zGcu?}$m*C|m2fy4EkmW_>f5pNArBqEC9<d`Ko~T_l=&Cu033H7;}?Zo*nn{VeM%y+
z^%G`b?Cw?;RFq)I3c*D2luC>cC_~qpxQ8ky8ccb%Ji^CQoOWR$dbTvE8Y2J|F)F%T
z5-8b3*G2k|&MV<8<dm&$RQnK5{Qa?dZk&o}Xv$+jqv&wCtnP(-(e&xmj^PMA0B_0A
zbq-c-Bq68v1SDB%9ARVdFPX2H(TI|&)!R|1$0cs&|3vdHOI*)Tw<s@2T0Y)y+o?~q
zn&LRSW#cCB?u>$R?39}7d)!A>@NS`d4LwkmwCboc786yQNSd-n3PvndjI1U>OC|=1
z8+l7=#EU+#SxbEzAW`GcMK}dvm5^c}@)zlh?Z0DH1N7F#^)5v&)Ri+zlrM+QCds+H
zbqk18J@NRj?3cou>^P7c4D?*dQ9%;T&9%r-5*HG{6LppU*xM=)W0Ib^O`_Qo>pLmI
z;L86dEka>}fgAVBJH@mUS1k2&WUlT{@jj4!G0($G;@5$vPH3|LC)lpn8dw4)3L+CB
zB%)pM0H$=?%+^H)f)mFJ*uVmOtXEt0%maNMuuP_nVFd&dl412drAf~wCCzvqcPzc^
zTJVC`%wfnqbDKkOI!W|5u-0>$4WT80MWB@^nN!}-m|Ki|G5k43*}rmBbWIdgzo6lQ
z*K8~_rMIaZEfnneO8c#p1C14>SGgZgRW)Iy0pI=lsP@vbc|thk?g9@jeUi*W-OIaT
zb%`$Sb8~j(ABcCWn6y0mYaB(=NVMC6KVLWZ4(;O2m}wB;>uB-jt3<MxO{U(j;-e^i
zieHCbZ&pR_3WUHZn(zbf5>&ewMiX#P)T74~Fw(b+HR3;aoS(5X2kH|p>JDkZeDyv}
zfK}ORoQbZU<$JeO9PFOrD+=}m&+$z;>%Dug19yEDi&NY48A8hZ4(5Oq6oFV>hl-0Z
zXodSPDf$ec5-KKkegd{$3?ek4#mF&oQ%8TleiD{A=_6#xqjA3v5JM4|pIOj9OC*a-
zqm2l8hcUJ`hzM7_^X>RtdpdrB4!BW)fWT8~Ohd(HzMpZS7PUjk-bdYTqfTw)%croR
zmJ(aRyF{d2(~}~B?e?~ZL{PY9mS#QApS@<tJmxZm9)t4~3m`_9yQNpFDz){SN6A<|
zczjQk;e&MP=L4Xt?wJ84eMjgkNnh7-E*`&-s(;<2dGWA|;mRr!ZHd(%d;~FzfR7UM
zTzCyWiT3kt9?mZYx$Pw`j_!loX56yzf4Qsgj>w@mAGpWiX%^TIuuj!E|M+iDJ+?TW
z*)w+XUFakI3y9Y`Jx$CqqfRH~9Y-e=6sy0>YEFK;!`1IyIJL%~&$xIMsC{)o<Y7`?
zc@(rt#s6)1O;NDF&CRKBR1SI&0Pa$vKv{lSsN;&m$_AmR<*73joOl8VX-0wfxJS8x
z_{zEP?-VqO<(r?q?4xs11i#_(lqg<9C_t~L+G&(>>|5go=?U+KG{NtNE`l)asUZ4&
z2Vgm|bo4u{@xC8`8Dr4@k(OK>>E|b#9T+>trN8Ar>{xa+t{n@c;(VuS0ifh_Zcy%f
z=0VRrXnplJyIJy$v1N8|Rz8sB{K6B~+*WnzJq60oHqS||NdIgZLg}T?-1#(`oKY-0
zxnDuygd{YXjL#E=#PI(i$;`7WnX+=}`$)j07vD;TVj*k$ruf8WF{jpwB>t4z2t97S
z)n-Z7(|i~#ghX(On>U);2CQVEY}l2N!=}3h1WX?Zqys~lwo{{JP63TVq_T(Ncg|AL
z$*!vTP_hW}?-P1eBtu?@dzZ%L4|;|kl;1vtz>(u;DETJ4B*t0nA+I+>%#mPBd3R>C
zFMq|zXjgk&q4>}^1qlMFiqu=hq46+ODi1KoRV7FzTR$z9z+|&k0>&8Ctdr!qy5aT@
zj45hVHM=#v$0yvVg(eNLm8dhdDxjj}41n->v1u~2f=f)I=75rwp3veAi+0n`VFRE~
zVu*BkO)5A4#I{lRR4k$uC19q1(8#f)#deq*q2*aKwRu)qgPmk8YevG*B0L4;w6ZDz
z$7A{T8Vob04>6KJ0W5l?ySX18tn+jmDBAdR-D?_|K}G66mQH!KY=7X)qzE-6=N&gS
zxH5y1v2l5l{$kRj`ZK8Xksyw7+3I;0=Jh0985MP%E?MIbG_3H@_|ceQgg0t=&v)f1
zR;x-h{;B$Fkt`BLuN*3njizjymPMwz8-?`fy5kTyL8Kb41o)zU($rxN<Kq$g00OMk
z5J*|!5X`M4W%6ak%x@7`3GVoa+q4!YoR)1?F5+0n*9!XsbzX<opdb;S&kEC^tr6KN
z>8`9N?xu`MJFP=yGp8e_$5O@i+KOp=jq?sFJ02gME5vTRnA<QHi#`(`PteQLm+sVc
zAT7JoyuVLP1GKS@j(cA|aw_$>iC*BxdRvveOrtCf?NS#v$gx;pCEnq6Ldk6kz}PTl
zvB0rGflFSg7hv@AMzUibq2R$HJF{(M)(xDQ8?-znwl{`gsk0|^zVQ}a{SmFYq+&;6
z+2EByok-<^mxZ<=EwvwpY5-PQWo@SdU|DnIkd`=!fZaUK_A%U!FCaJ4BG?U<3Ifef
zAPLSLT)Z8&xEjBJ;>I?nA;-Pi5Q~^4lOi3+{q)SE5C#jvA_PW)Rr$ZdBBkH%)_}R|
z_BpICM$dXyV;gg3WjzVo!7{%92cN3x&s&;CwaU1QC{^M%icnRJ5|~DI>XNQbd_d+p
z9CP9X02%zIbTqZm-$!lwop^j_*QemE0HIp((i*EAI9jdM)ZSfjo#5rFNX4jUvq~~h
zB~}{?aY1jQTbNaOFXuwmQ|=k#pIRtBs5~{DZ@AkILBo4Ps^SA^$#M1qg+H$I-1WKW
zOh0qx%?1{B9cA=p8NMIfIHD|5p)7J8uAa;!0A4xNyl0s&D!?<yi7%YJKXco23SoA{
z{9&3^HuaI_Xe_!pVcPtGenKaEQrN?6%WB7q)vNsTW%kH4Yorf>BRM_kef9{yB%3pt
zQ_PI@ov)}VvqzN8MZWl17uUA-bc(<^**#qxkFB!=myJV_6$_8;%Z<{<L9di&nqGMn
z;Gc!IshLRA*C~~Xl92VZy38rR{&?=8IXHaoVcjyp80xlEmJ}$hOP`qyK)l4nN$8og
zE{cDHOTGy@pdJw>P33z;#>-i*H?ZU~bUE1-K-}hWqK2*V(|{@KwvUAtiAU31vY$8G
zfHe{Y)sQ|}NNoUK&|AmZbzMuc+OYux?28wla3Af}>oL*k_sDf#T|@rb!iz3eu4=f&
z1BDTMyS`<eD>C2At#1GYHiA_6@(8}K<20CbZU>}hQ^}nMezcu3vdd<vR>t)&Gg&Q`
zB>W$eD1|E87~O;$9g4XT#g&&0x=xdhXGja?Os~U^7g~Gbgx0n>3<yL67k(OhuNsnQ
z?M`Sc^RA|#hq@VRL{p3nVJq+ci+Ir|CaC5iA*s@31G1!Z{>%N*`CcKD9a7mHPK^5r
zESp~-{skeQ<(u0~U+t3M_kvE=FR(Rb1ENty4evCU*}BGyp(d(L1~M9^7n1((lB-!d
zmTuF@JQ+u`<#2|A9nf$FJg4eQaxOkq;#>!<XwJYblo@cSJ!Z=UV=^~P6$8yglssq)
z(tc_DlUnZU33-L>vl@qc_9Wy9Da4q=3_J^(OF*Qc=oiUbeUT`K7-FB>`tw^L-v~t<
zA(GMyP}2bZw|$*NB`;UXt2Wh((}C{3BWRqei%6qrmXmp+0?6T+#|cheb+CN0*ImEL
zY~380Xq~9x!D<5D?o!_sHMdhHT_b4@S|0dMO2qDX&DVS}!D^M>UT3#ETsX0Am2r-B
zE=o;A_Mu}+pTWIs;aS)f9<sFF;os4Fug;Ul0U{e_A-;^P7*@2!)w1-C)^DW&<l6k5
zDWx+Huggma$Z!u>cJJ~vO2bEjC*xD-#4mx(*>a7i<0Gth@A_x!0^YRg@;PA27^Je7
zNx5`V7yp2hi>nUbUOqX`t^`$iKrVL)Q_$y1=JXq~E+4nsc(~O%q`ldj+dDi2>=2<c
zw+bFUc;4bS$w|<=<>6BL7E_T;9J?HQ37Mq<8xmLv_^bRM6esp`F8F@onN6-&nKAZy
z&RU;J{>O^joIbxBBDQRbg%bbonE?6&E&f`U#bsjZk=>ua>^xOW_`Z$}ND=nb%h{WN
zC?D`>4D<%g>sIUPfrRgF0-|@?z@_ywS9CqbQEKhb`Z@?AbE_fxkYtN<ZAssuU51sm
z7&R;jU}9$k0cV87XlY4a{&{!-r*~w+#Av}e(q@70q_eaWHpe0i%->oUP$8{`s7#p=
zox0S;FWFk_Jaf}a6IykvQ)cO(TM^C@aF{Z1K>(uZvm87J1v-a~ZUY@aWH)T~<7&lz
zKT@p05u?s%3&)8v+A%yH+960~cPup}(2JY`AnlY^)Lhh&FLl|dhIKJdZSX}&@&AVB
z1{CP2EjgIf-ou<^|2x99^dscp=f4K$LbAWw4tHE}Uq5vq_4Gg8a+Eh-slS_wa{JH`
zFYXS3N{dnWZ9uRWK<;WmLTMY+-*kaEMf|XAY8~9v3winM{igYg_Sr3QF$>b&eWG~{
zcpRrU<Yi{AF;;0akL8*OE|GzknGB&WXT>;&E!ntczA828geNphg5^yJi&vO}bO9se
z)^7DL+y`ag=iSbUf#Pgp@8&}Eq@ip<s&EpCHD4?R(L2kLu}`33jzjZ$bchc2?3wS#
z!<wv!$RlUB<0ce36jnyE?!hL2<<D;i2>)5uE+wf-O)k<0PNhx%uiX^7dYlKZ2RFp?
z()Qc{&Kq>1d0aj0mm#r$KKdK`1p8ffm@a5P`~)YMKTsu@|6_vmUU&iph#-veDnB>-
z-84BQh+v2-*IhM`%^oLw1B5@+T`;(R6_~$HHJnY(8e9>W|I&*hs9?=j;Q%6FAa%fj
zKo9y0X(x1`{=6>mU&{^7Tj5PVgg*fO>&F5_@c2Ug2JbC3>3twRDjjJh8q7a{5z-&>
z?s%Yn_*FU3;1CQdn1(XNGpxiHI(F5wEM=QWt%v|-;q7TnCni|(a7M&7(mSP8b3~ta
z2V4oUZLzeW+&E0g62%4Dr;Q2VFvcn85$$R2cKTMf<mclnT0j2GGmG*sCF%XGEI8#_
zQ@P(Y8=q*EyZvZW-f*imcgo#r6q4g%zs$C{v!q#RZjmpKnaW_C{2vATCN#r)(DL8n
zjw4v*Qm~SfG~d)RC+cU|t9F|+=|Q#*6lJ$P20T5;mH%B{5i)po(m?=aRo!W_mkhuv
z<)2ZhtOZZ@KBHsuO-Jb->T9dVJ-)q`+=9D)jvl1rA2j4^dSY$_l&xF`7qM=%F|p6f
zuEHl{{De{v8oc+~iH`|nkq!p=UUP)4%@X3m<_W}lP@yvk|3u9#l}R;-SOb;^&?n&j
z^I@aF<_T#Iq5S<bAW48aKMu<X2yd<d2&l6mVk<@dyJ27s%Pvj?c#c?7TD-l0*b@a#
zbi)DxTjGl2;nI8Rm-vrkjQzFY)sLr^=E8%a+1TTWwkwe@;&7fZuS+irpAQ*%%-GWP
z%55B1J(2|%^ci|S4?!GoBG%Vpc37OsGExk5u1|1dsoV2F%_@MZ1iLp;+JDfb7}D5E
zS(5z&s&PW7_jspNW`OBLz$6U@y3!m*$tVqBAv6+OF;<tgoR<~$Y}Yugs_`(3IyO|R
zYf~hyLxSRb(Fs3wu)*+C8yk)#0Ov1o`gux)yC2U@rFT2G;N46wcRTasjs8OAomEHs
zi^D1t<+XNbw>7|kr>bio<*E0Qq7U4uhI?-Ns#oV`D84OUa`W?qNkL<p)Bc@4opOKl
zR(F9v9qPt@OS}<b7`U|+A)FzJFc&K0AiSZO1y4|{I-j>vT0D0P$Nwg_#Prw2q4Wr%
z@?e*Y*>?mlTUVQmC2MmIBZ)EPOVroT-fabe*O+dXT^4YQieK8S_hkd%Sx(A?w~fNr
zkGJ|X^!6YX{IyJeaCUhwbC<L0TJ@_vx8{^A{xra(CFhhpu7eJA$QhXakctW)2$bTb
zhWqtBn00aIV)rqcs}rs(Tx2_9v1kYOvYA3qO@Fh|cgt%MU1^_RU)YK>$>K2i4~SS?
zAuR|Gs{_7@c@}_Xo|2)I2m&hKfFu=p{oIWXH7|QnLgYR4;YEN&bvk<7XOVzX|GE+=
zLCet=#ZI(P*Cd{|4B=#opb8mwJ#JC(avldft=6BdJ5KadB9r_qDR9#u>~`<$yv_fh
z42ZwArSlrgJ;VcbM%Xw)+Lvu}1^wf}+?KlDJ^)~V{F2zV2bZQasQxg&kjVP=ae?=b
z=)*8%!KONbYDJzL@ZSq{!A3k_>74|3sHxor>J8Caf%I0aVqfd#NQO5>AstWguzj>@
zrz^;j;Xe7c;yC0U<O2hIp?sB0CJ{@V8Cv<9(b<i7xP(KQ8Ju$o(uO9T+nv&WPyumN
z(gYL9TH%dQQ?<A;J*2X}1N6YIyKEvq$2$N}liQQqbQ>FBJWvi+=JY5VU@?H+bP{>H
z(~id*skhfwAvOALfJe!*>)#~u)?inv9wdvI@Y$2<Kk--f9_Hu?TtaGk?!{p(VX8C6
z_Qj7F2mySQs8m4TE7yFLTbaMdzXk%^Ur(>+FNfpV?=Oeh_4dmT(_3Hvro*>9ZYKl$
zRoz)uFSkD9?N=SDbW*?2Qu_e#QVLQ_^#t}mo?gH5-PF`B?<Y5-e4QI$_zVVh`Oh`{
zfK{WWg^_81V<R*%naBIbP3VGuR&rm@o^fpw>#zT>f^IhjpGsEp!KPkTQG6QGc7M^w
zkJvv}^QJL_AG6BQ**Jplc#lU@JIALEgMYn>OEqqey2QBUh75wFprru(6|eVG@UWM`
zi)mh4BT9(xM{sdz=8x&quMHmlPtW&^KJKlOSe0~z_l?alB-~`(_=o+6g$FcFpQfJ!
z`Eje0Q@>ty(d&*c5V(e^SM_y{(M6D-x534+6cJ6H)6-YZ{_X{pnD%-rAb^*so|GQ0
zgJ?{k_}l(ir6Gl${}15m1d-D{3tua`l#>s~)|yVuzBD8@-x7W0D5W2M8F`taDG9{^
z4}Q|v?M(NcLvGT>VWE@cJv(#7&N1X))k^2CmbQaMQ(uqwGy89eu{4dDhO)Gco7d5N
z;sDqC)#+Yoe+q&(48)%FB$Mu_fTbL)htoub9-EbuBu;dSCmY~&5;ZevzTq?lWuW+<
zQZtf1HFo&v(vh*{{&yH{ey_%^)dBK8>q3{Km!=T*IN5;z_xa+#xvaAZn@%ns<Hd3r
zpNftaim(EPe5vzlUMrmUo@|ho8Z<c0m|o`fWsa+z6}c2xjKANRIvFWVZJvLKAgkAd
zNPmhnBqzCeiUI-Zxf<L5$cJS69N!5ss7;^*tBVR3H>j@u09#=GisUCG89AyaDpbr-
z`nP?AKu>*`^A%1rFuuDG-9JSqNwuH!sVCxs?c`4TX|g#wk)+0uPNqQcn2@-kvnfg!
z1d>RMTvKzU6ze{W)kY;?E1;=T*`W<ppw@Zx>|T1Jct!zAkD66?_)a^x6UTg%Rh>6p
zObQR$s=-iP^MsO4u<NyW3%ojyu+>W^tvOWK)}hB9EfHLU&UnH7t`|3<AElwphK?DZ
zl)}aAdPcOZX-(2J_mZ>p=>8QS)K0*fQ)7?Ok@N?5R(7Ac)pn=Etm&cQUG^C~fF}iM
z3d~J)lCJ_3J>CmwOW0Ik(BCgp+%3aWBps8IlYk{7m2)=Q61eIYo0+L86{S@;NGD^M
z+3b}R)RRlTbnpkWrY$eaO@S%N?Ny89_ev-eO3pASJ(btv3?pS&0!j@%zsMAcp;Uyw
zK*4tK(~~q+kyDeLB*}TyBvbnS{aRo;mxxni*C_!+5Zpzc)nO2}$(%D=%9haVsOZZl
zX8lY+kNagh3VZULg<ABR;Ip@7QR5}%YVm<%-bNMnytw%hQv!(Xv|;Ee*z5{a!@t5w
z@=rS<DF2yr^bJA^^=*XC4p*Qx#*X~-W`Fkol9K;{$NLZ{t!Q?@d7!LYN4cj~(mbW#
z)%^i<Uyuw9-uk)RU5)2D(gwpS{ejRZ3eH+VLlqC#eSoXRW2U-%217G}D(zoxVPy_!
zk;8rd!g{z_GL{^rV>ZQV9!bET@nHtLU|=@wxj_+axCz8!neV|0U?xk?i6Dl84nH=~
zfQ)06ll^Jn@^xgs_}&{-cq9O_uB{x&0g?nLWW+Rg`<3xGUaS#qUrK{yDm!OS7sEK^
zT3IF4a_jngwNKu(79(LIaqxRS?8Dg_H@@yD)|*^dv8=W1y?$|1^ZG<A;Z|0}Q7Hq*
zNzR>fW0TWPZ+N2zDlbL^l#BD(vKe_P?r&Q!sxYm!DwAfr%4*3<T2mH}mV7}`%wGW%
zlv!jtyW;cEW(U6Vq%DggbD_Ktz3H9=PU;eHRv2F*CG92NtvayDVXd<EtB9(;L%<%;
z{Bp9<5{}26Qn;CcQ+Ok#>g4_L>gr6%!%d>4BoHd%L@ti+$-f#<V=YQuKSSL%6nMWw
zmPb}=jOz%SM=Z07_5E9u)@SDoemnq``a0F^lVj7tV29CW)M+_O92CE;MY4s$@8Ibd
zk(gV5-zpp$c=xC~{hZV#HdF&|PgU;#Fguy__~n1zJIxX7b|Ro3TkIp!LiKT?B=G9Y
zVpn<GymFT$vmrhZahIyjE?RmkI1Vbb=J_s2{j9Qh{m^JtWgBU-G;4*}Mymi5#;qVb
zbn3w(=blE}d2nZZuf?ZJ!*qV(q{aIa6(y!X1^*H4fLjwZgYpKKrt7CY4fY6!BP|}J
zC-0hHu|nj$clFRPW5Az6TKT_M!UcayX#esjrr{{Hja#GTj@1eCf1!0m_DFnt4uH$&
zQ1jOW8MfH;ZDlUs`b!?g*8s%IGEMz*!RHQY?uxTu?N{D6c=|8Yxrk*@B5b)}#B%+c
zpIj7q5Ohij?1?xphlAyP>5{cz7`d3@ZJ6I(R9+8F*1C(X>{O9aGqfC5G<uMqJ3LJi
zbuiC7fY-dIUljwY)fgwK1`JoESYVhm-I9Do0#;ZswIxBgPv%_B?g7kn;gi6U%(HFj
z<>GmYjVQ?=thg?d5h$pO&(J|n)U4HqY@IJAlrxmBSOb9*T^9A*z-{ue3YPT&TZy~c
zMvP;WC79laoCVVV%97^FC@aaLlMcT@$PB$XJ9Rah6xW)xLrjN^4t64kHl92cBp$^>
zOjq$iI^`-HFBfxL`v9?6`KPX1my}i~MnFE>b)1Wisp4sl>{~qJish+kf%Cg=3YgLH
zM8XEBHZtFTW34wF0`;Cx(Tn2CqLH^2cps2+vICO`*YQfB+-Tfp!?OmIJ6FSTbcxAn
z1w(<NNlX9po#c|4LeG12fi<>XcHC`o7kpl!IG&i0GH)7bN&s5Zh{E86X_gCuqh2%B
zif-|fg|0^yYn9i>bfxplNd8iW;<TiDvt@|I4YOsK2D;)nP`c>~cp**XEj@7BOVcsr
z_D7KHhsP6kJ^bw~NVqsV=uh~$nxwfgMKMuG^z?6BTE@18K9Q<>0GdkNi_g#MktND|
zsq+Ll1TAA?KcMo9%DCvK&Y}LK04LOc6$VS(CFbEyPV8Y)eV$WgFy7^$aHrKUdU#Vj
z8xiqhptOP|xlsaE!z{}6>%oZ>XZ1lu0G{l(-*%bk`Oq&|nT4q(&A@RHHDXz*lXL;9
zIopgpJBy0(2H#e@S>Qa9z3~86?A>yHub8Ot9XjF`AK*^=AC8*GbKN_vA}}?~BG<jr
zXVOad)@|V>){_Ji-hJr~|L=Li7e2_1!7EG+dN0I58b_38v}rP?CRI}Mv=?zuK(J(3
zAkKzZk4Q9uFocfS5AwlYvfgctNKo4Y`dsr>NOJ9nRpx?%m_I!S>Kux?yN<-0L&X^C
z7HKT^1OV*~UaD4t;sb)lANal)6vXtiRhsW<x|yEGTaU|~!1<!F%fDI(;Xb99?hzlS
z8Yls*nI?mirWAfZ!Ds8aR&x`fc6%{<A>VqD)1<Xisa^_JGp6q0`M#CGhYI+eii%j)
zg9)onTZXD8kcy=#QD%v&ED?`5x3(rrm6>!r1|;Da9lu#)qQ>(D=NEVPjD=KWKXcqp
z((zLf^aS%x<Z;ke^>8(2I?GJ8=v8XAE81CneMh(2S%=JjPyZ-Gn%jKxmbTT)P$xPg
zXlUeZ`0Xgm^bhosrDUw&(-GUTOYv1|P^;qN`WcdY3w<{(+2XcVsuu{Z(AdCgs(n|g
z1GIDosxIO+V=Lj^#*ZRtzl~XVc;{$dF%zsH_TQA8oTqb=Kyu(q4Navdw<?B-xpW1_
zG+pV^S}&`-5ngnWry=lq#$2{~$|{HpDx$byNH0kT*0reX*n?ydRyD=$EmgD7$D3x-
zWktJ-CvoX?Zy0a^pD|5Z2VWP4AQ31bfR$ozH^v?uvx*&PZQ>p3DItYYU(A$3-+Cp8
z#*5Y>r7-Iit3SnXD^*KTs8a*k&3*(Y-~5VP@HVUNo`hWaP}?feLz02pN>5;<$jnTO
z`bMUI7M%WLXk+-rrDORe6quYXD&GDQD<4d|;TyCQ>@xN_A`J0*{%F5Z<gTy+8uoGb
z^UZac4Ej!Gr#Ty~u{3L7x~tGx8Z^<})o4u%aJ@CO-^7Jg%Nz8nfp5Ok(j`UCUa*Ji
z(t>j%Ad!7J)y+7hVH4{`;nBQ}LG#;gkrauH#tqTD)v<h@QgCpG5LT$3_;5CYNfEIm
z4eYd<H$vJWbfzNJ2o(LN(qt9^O<{VSW<z)oTX;`;ed+P=P%a}?MjDMYGnMKSb;fEL
zDzyoEqUDMqGHL$j?)quI;kujAESWruB4lfo&Ej&P9<K>@ovKPi-SWANAXq-SNjSLf
zxjY80TulynGA}UcC1&v5s@<4*5J7xUl_Lhz)h;4A#><Y?Sm?VE$ja3KEcDF?WELA+
z=7zh8yENJF-iHai#|kziFZN}DLgY3?OINdI1@OQg98o1rRi&%O3f1+$))gYe3kwZ>
zUMQKgWHj(Lnk#l;4Zi47k0++z+TCVd+N~|t?XtmY!`1H7Y?|yNJk4gC*2B@}|7hc1
z7OQ4(t&Bu#SbegxAy%^hjOQ?kG*MyN7VdPQG5i!#vGnb8SDFHN8=MN{excHfO=-H<
zHyRHttexh1B2MxZ+6<BC4b|G{C#uy`b=LozADZqF>jW9r@1~kbfP(I(Of`#JNocBW
zFgzNA5on;yJxn@H)Kr}kR;Ud67(sf8xZ#>%>`-ZOqTi#gvId}oj2_foY8u7`t{*%P
z)R`K9*r{6U?M|FNP-TMY3|+(H9_uohVB3M#ufcGAtWN7@4a@5s>r!b&<Y;wk95I6@
zw9sgiBLid-F4H=er+28!^IzBJOW!kOTFv;oaTvfsF7FQlj(v72W2{#is(Dj^|Fi3j
zDugESe-@i!0xaB>k*v=&(uINY(o}NfF?uGzl*@Ax;W>WMN=yKODeo^chea9B-<A%A
zL6^rd+e#R1z(aW0;PtYn#hzcU4hQ23AuuqX>sK=3qO7DYA-supPxc=tKB*4ZG(q<^
zjG?x}<=JcZVH!`9Hd<$>)xg;Nx45e{(N|SzP1UhB0H{=a50MU;+ccQA;5|(y9U>z3
z@Wd!I#3Xx*shqt5ARFuu#g3Ij>!iuc>wj%3#EF*{6!DmWi$^Kn;iNujOOl_|L>vCv
zQ?kmVo+rqCwK5FSa=>?YJ;~c9=;%39a!k~yROUYB_}T3)4oh)Pta8xNcqXWoqcDen
z;&naP1KNy*lyjwrX(IR`Qa^B{bESt6#(;L7_RiKVHnw7mk*9IDvY&7&-S2qZdUHHp
zr>fErO84OfyYOa5*!FD-ze>a4M$1ejL?IfjHWm_uZMEHVh=NyCvL0z>=SILd;t$8d
z&MbNw2R<VS&6cwkt>v-?i*sbgUbx?np@D7<0rT_(kKCI8So#hOVwu-AUBN-S5X5bP
zj=y_T2i~Ep)&tN}8n!+ujL&X3jzJH+c^Hv>5|s4)GfEG<l04(L$y+pH=jHM&cVuAS
zVT?<`{G0zf@&D*foUiE!3jwxM!d^6(CP9Q(6WQ42BLowgDJB{XYQ7q&$-dy)y|`Hc
zvq!2twGIq#AZHItKrEQ=VP_Z{sPQlK@+R<AqnN4oIucH{J-MHZs~y4$@=l?{-*d-~
zj+Tftc&hz7W8FfN7GZvXFxyM-1DL&-1DFGK?-f|b>i=CF4y>iQ3CtV??8Z5o(wcd~
z@-y<h)yo;4g4FeSt5uL?CaDgbRV@IB%*Ag~8%dqrR1CtsAT;E|0T1uF5Q=5>(^sw3
ziT&nd-uzn++?w!vT-l0|`6chpymO3i%Q5LmiN$<ZNqv99g#w5jeaFwNo}=JG2nyfW
zrn!*3L0akCgoN;3>bMq16b1A^xjcXW`NBZH$LAf|htqXMrBl|u)<3L377PIj+R~Ot
zLry_>hp{~wWGCJ3m_md6t>aknx4$4?UsboMGbTZ8hfkq(xq!3tn3R-v|Jw(nUE;UF
zg?JX#1tMcrl_F!#Ls2ns|I$DgGh`HTS`XPEQxo%RH$l~nmnV{~=QY$wQ{Ywz>Z`=f
zNPxtHS%E(Uxd5?*8SMo9Z>RuU@@RrE3M)2|t=^F?sp9KoiUoA@$%=8Ow3M!cZK=vq
z5vj^>+LRn`Uh`iC4{1UJO3&x9TJu;KfK!0gsXT56>-`2K8JkrNKc7N8??5B2prB=d
zZao$QVEkMrYLfG{pw?o;6QQUMKiMHZLwJC}>Xs!RIMIjE;80xU`2<jw<D03#Qr7R&
z4X1NSHJ!@GtgBC$Teqb%3U{+vo3<T<NTj!`KA~~mGbZiWBdFu|m-i80?}T*rOA5aX
zf8Kiv9g69M>sHL%Fw`-2aS-fvV_C0jN>iDin<a8BcfSOeLM6L_N@Qh3YK7oIMGE%^
zR~FF^Y9v4-whJi&7!eS&`9Jbs$whESRbM!AXDt!|eEW9oJGv@9a38QH6zu4J*N%GS
zmcrc!Ji`GN2gx_kiF#)pst1LK=*esHQVi?K&h`~>fWN)@;ttv49<n?3_q90ML#@0E
zYJG%PKbnneSf?*-lNENQ3OcZozXeDg3sl9&8n}iDs*Dvdj`7BV=J2$V0coS{lbzx+
zgX)L{7T%Crux7~WLlk#&+TY{`>1d3F2bxt(0JIbBt!#n{8E#Ey<Y2M>gYmNa((pPQ
z;l?E8jT^l4=+O1KAHt7ZMS)cI5^BOEgXOahCIaVUygV)(<GoS=8;tc-rGyEtFv4ez
z2EVOhvbzf~3VH~?V`*c6$b<5NvU@E{2^5r4F>+_V6C0`Kdi~MXuWUdJqy*V@pZUSK
z+kFXG3yp3UeCgeJ>>+$aDVJ0ygwtwz_?O1$L(1oHws04IEHkL)RgCh2RIa!yl7S+)
zDDKP%+P;V+nJQJ@qQPpA^E-4GntX)eZdDLRd?KhGhu0I$YQXyw6oX2AGF58Z)RRzp
zA9chFo8D4(QdggDcR;FhRVUs&e=pE4$$!$CxcU8H!Ic@zMi&`bZmX(Fd)sabnN|G4
zMw>jp*xld#F8D2gO`g8s1&j;E&ce-+e&+?O3;;ibceVE)r#>~xuI!jf4W`p-QqiVe
zrBM31-tpvY5RC#+OWiq6L&yU6fdByQe2dP*y+5Y0HXiRA{QOR?oP5_Cetvlmx6gA5
zI*5HaX8-y)w|+auL%fy$m9?U6|Fp<<EnA0an1StdBf^&aI<tPfet6AggA39AY4#b(
z1nf^qwSUp#%P`n+rNvp*e?9nFs?TvVO;_)blG7g&rAriQ!7yDAehP-|l3y4N2#4&#
zGdc8%gMXH<|1;rJpe{?*`@!*H-rg$}+;l2yW%cZw_lO5OROUhDfg9UfeqhFdvTB$=
zR!|CSk)J*eHZ0Ua`j$!o-s{!#hZ*0L1lWH+;LRW5l&~1TGwbSD-}+i4eIl>Y&mXA4
zwOf8WQ}Q3~d)F&-a>X617z=fOkxZ`cO+yXsb2`NU&5cgJoA$pulV-kdt#t(C+d0xW
zS%0s3-8zQWbBJ?|n!bOIo?OP7Zx^_=w$RjwGpXV5uC<b5<y#(uvkuwg%Y(&118S|K
z)gaQzwDDaT`oSU8wdHcBi~Fe=+U5%U>62XikR<B4wHX!i`(Oajh(tu)Nl403$2@pG
zXeJkp$8)RiD2q}jXo)&HWyeu_!P?Kx#iHI;Jway)9T-4H?A*;*vWCsJ2tZ;4{$ayK
z57N^;e6TZ~Ytx@DXE{2wHHlaffC>dKyKQImKh&r}0dtq1PJOZJy9H}u<_=6r{xOGx
zCoDL(Ihy**tL5E1Y)@Xpc-UH283dYl;^l>e>*14fAx>EppB`AmP=#*yFyRQRE!@HP
zGQCA@Gu6XP3C4F(-w2AVA43l^lFHJBKMCmQZO-Ipbm~q#ADGXPn=JJ50N5vJ=C_gY
zNy-$|P4`QwGFvZ{ID85PTvn~zRlc>MaNxxAx$D(YJgi*F0G14vOQ2X~g7PT1hPDLY
zRo9Tl*_^_2s`j2xHF>2~A3_!KNn;oZ%vfpT3UM+Iwqm@z*@{1otRSSw|Ah{7Di#OB
zQmtVqIuEjq)9#5GA(exF0jMC#Mg#PIkgS4`j_mhmS9JOD4x6lPoOq~f!^l(1vLF@^
z018d9wzK|!%;Lr=nnSN@=1>acC~pj3ey@t_+$Dz`n}%^*IoD*hD4F?&BEW8d7sEgf
z;W;TXx`)WD!g&L*96Kr`g{|=)Yaxc6F5U3mF(Ha)mQVpiYty)BfN-cOO6Qq-tKcGL
zX@l}_XrB2*+C8fYHT!g%k3nELg={HJMPjUvU-#cp^WScVbMATN`4i1?>HRcF*C|mg
zP<F2z4k?6`OY{43&<}$nIYRf3Exq*suZ9G7`-~7U`y2hT_Xm*@)3j4s1Egk%6k#m{
zGgT*xaA;8(&7ZU`0PDKZ&IUC)g6RBIhS*M$m%*4^6Yz>0o?hFo($JrQ?ql{`h^i;(
z^WSjOc_+~v3uz~_^Q&#$!j9V(qK<o7y~7hXFS+hw+Fuf{Vs`6ygz#fg!Y=qft|WE!
z=R=AHls7_hXHPwA>U1$gXFoS5zG6!6)=|6#Hb4BC6gXHdfb>fY+-2bT$Zak`X-1xR
z_w~PJMI%ObMrrkjVBGPjX)hdB#P$QtC)6TKS>-ghWN9{I$a|$r1(5o!7sycj_gQM=
zLT8C<H9Sy5*fY%&p7u|bGtJ?d8l!GVISc9qYgWlNd;DPheqi2m7U6@`g_+)BXE@K+
z@%)e$-gN6a0IfF2s~xwi9mG{+$A5p;pYz<b)~h3{Ac<YKSuyD3k&pES;+^ZYV#!Lj
zN!3B2sb3>jgoao<Fj1&6%bn-(j`UGE1Mc8%l<Y#RFJiY3!#gEh5y<$0edNwyUbW*%
zq38E@XU)2~ZnSdVKf(J1PIv9VcFk^(T@BFQw99am0PBGYM7${^d$gx+d)4ZsFuZr{
z)xe?nZ&@n=Ltb~-!Gtti=)N|ost^X~oC%HuzPTLEHmIwE5_GE<iy(bvE<*c!ZxMgl
z?^XyT(B^_2%r+Phd=bI_)fVscQok*m1=X8ZA%~**ZaNO1Z9(0$?FepEi{nGN{hHQe
zD<NF`04DWWi?EhY`8HVb%E$7*Ocn4$^jE}*xyWl-;-yK&SRG9B_-1-2l0_WlErj)#
zI)i#Pjm8Hm5oqu2>o!J_<4ab3f_lQ0Z{3k@m1TOfDtN#yeirhETtIW{#KDyJ*o%P!
z(L6^gB#6KXm@kmI5cz6{VO=N%S9L_CKy;T@0jQ1yp1Ev6&7k#7cwT@|%gatq1#S}i
zQ0Lm=K%d7H9j%J!V!RE%f233VJp;}*0Uk~%Hj&nQ`V!paYzz>Ex_ojkh!0t6kOCWm
z6Qt@XzD<Axi5jYpBW}b8;}dsE!3orGDUDI3CpjzHipv&!Pn+Y3Y8o+Q^4**gI4%+^
z0K8-CID(f7KgLik-QQ8<o5Hy6*?{h9&F&+fI<u-cuO@(LxECZ=dHmIs7n;+obqK*9
zyhfY?31o>Hh_l>4F6xX!O2H-_A80b<+DP0C4~T<`Hc-Y2JTKZ%Dx8A<*sK!tkyZkU
z|8zUDVO^afx;+q239LJGz`LVKb!7mmq>pDFkAJ6_pB7(sdKMor)I-xC5b2P#i_pyp
zcoT7^*WyY?mn|P|1cQYP$$lB>P{&$Uju8wj?KnTrt_RTlRb4eE!A_EsrZwW%$RM$A
zQ%%j+swTSRETcBZjMSBW+MLSIvhgWU$!8zZLjXWCuH3v@lkBsqa(e4AP*4DkA(@K~
z{(F`R8hX?VBG1z66(!=0OKy!azj1v-NwWS4kvo)(oG)yVI~XpGf3RBrDB1C`{>r-Y
zh%`JjyB2^--DpsXkq#_!uCj&*z)zn6dq7*^$1eAf16#2%ZB4Q=a1C=m#E3${J-k@i
zmyDK3ye1ojnjnEdXZXtjH)jK0$-S^|FI#ZzH$861xkl*{YaO45qg@}H)I1SvAvuec
z1u1oA=iQ&9S8b~GU2Nc$lk98~jQ2LraE+!KEt1$>U}v+2ba4AL{M<<67jcTUVk@Ip
zu|}*VDO<*f)Jrdj)LqyiiXzYNjPDb1OrDKqHBH!@O3yM@)vaUXb-DotFDJa#<MwsP
zxuqDHm|3)lB(9|omi(*Qrd{L8UNv-Ezm*S~8`WdceDP~-NjTfviGAH&CAN9vG+;|f
z{APH!4RF*=>Q#~Lb+QKyjz$XfqJR4xqy3$+gFdCPYyyX?pE*LIxi~Q>8Yk|;s}lZ^
zy%T+jp(~g5tHRwj;Y0$OT_vm&NbAa*<0mVtO2``%OYu=dg=_v2f>NKl$=0ZolJin<
zR0k&Eqh_xNO?pwlSU82dfAwwMvy?J5M&S~1&yUFC67L4;IDT}@42_hz6dduPM*d}|
zSS65<o?~?~+qgkPT>(WSEO-MN?FJjo8Woofqe}y*H*7}_w~PX6$oi=@apKJRY@v6}
z!Dc-XU_TtC=s-GDjz5Ql`=91)WS`?h#yX6+#hhJgPMwtaBG5>bdB|1pYk`+4VC^eR
z@5no^JP0TUr@oq9MYN-7Ke@s%=J-QAhs1#>7WF^}8&@%Np8+2C64Xwq!?NKMC;FSA
zqv$Oa)YixE<D@W`U;dr%=(GdSKL10esBj!aOhgXG)-Ws_+-&LUA;5nCGA?-RNaMG#
zgvN2&Ftpx+9mk{9Ab*ld3us1(*CSDB<cT1ZeSNfXVwaOFIHFg%Gh~nV8rvj3+CT1>
z)=__%nWi8yeoE`hF|&2zza0HLjfUS(;^E^75zeR2M;$F7A@1lkRB1@Vb{=OvDG56`
zmz|h387naF7Di8?->ql?Y|pw${cV&n))ci3N3ZwVOh!Yk4XWJd6U|I?wXOQe?OUkS
zaAx`m$xL(|YY*u=?M80E-W3*k;VZ4>b6nss?iLNZDjf>aRVBoNBWi3*OwT*?#nM{v
zOMcD#`zg>yZkkM3KD3kkOnV~3Sx4PeqFB{no%nQU@I|*0*t@&{i-}9e+7`pHM3;_a
zYQ~b2BeM)0DhoZcq}Bbgq*Eu1Svbx94HyZnjN9uDxHsWGF$m8|$YR^$og?9nFYb@C
z-c~1<n_CV<&LAGno?syV*1+13TDM@gIgt=Xjw~Ii(Wmd~*~8c(*<iOeHWo3`3~BJ_
zYCe=0#1`iqYkLR)EH1D>pc(<QvZ!Ryim`L&po&9?5?3eQQMRdX1I`nz0L9w%S+B97
z+}zx5*lovS-e-z*4(#BhS%*83_^His&E)53DEhKA8E3rf^f57HYR&Ojh^q+ixrvAf
zT@T`d>9P>BSF$PVEq@YZexQ!#F54pGyk}Kz?Xe#rhQ%1bu^4<A`7Bx9N`|3`s!|kr
z&#xE#RfqPR&D0Ld9f#)J><KcA(jlicr)R3zV(SX$sHY6Wiv!-37o%x`#(>w|LKd~I
zR^;Lbj=*~^HLGbzBnaJ3UG)2)W`gwlq5uxep~<-Yxd7Wa@C!97C8a>n^$&EhtaDGa
zR!-D=s0#@o-ZfeU&pC*b+sR=D+NzU9jc*|>ammrH&?{?w@}aG)_k@8fq>VQg7uUy7
zmgJ^1EG-j%S(#^@=E#sh7~#YntW~ad?3ya}3$l8-D25%u8kCbh0JQ_NwrozZM)8$O
zy;3Mqjrzd&xD{y5u$nEX79*JIB!~*DJZccGK}!)ZVS;o!cEG0Ca&#$)21MK(lIr^S
z-c&nFQio<!-lm(anVo|w+$Tg2sg;49SxJ>Rr`*viQqDpzvX9sNSzFiJL{c?2hwgH%
z2cONRE|dzE&V>g)<^rCApQBI^8fvGEfdJBYLsSPOYKy;B_mDLReZ_*u!iJVT%-JXO
zSn2|Z0!P{3Pq$2Z<l?-;zz#8VlqdEI-wB?*X{Pi!3GW8(n@N!Q8VovUzSlg`GrRXy
zwVEOJ&nY5roLsu!Gwp3zN$b;3h&GkG!8xG>2=0WrWIc|>L-L)e;mrj&h~vjSS|MT=
zu+|{&1PzQW5wswY^SwLi$`1#<w@{jO#83jX=_ODUcHZRpxNH~?1y=fol@_~0YdUdi
zJy-|hL=+N>Fq6-EJd&hX--i~JmObZOTOTOTV`lNa!cWJX{MpURfH48!^}2tH?p`2g
zg{k%5A5g|2PX(u7Y=b<`A6sOMdN=qKTqMo;<8D}6Nb3_gJ#VI+?9ZCiUi2j3PnQ9~
zHz`5o%5jlT+s6C%qRHb<#Wlh4V~6ut8MMCia&X9;oQ*SLo?$_UbjAm+2BRakE6PpA
z#*NlgTFi}_>?v0kMa*|I!y|>VuG6wJ2RM>1tc{Cd5#|4;#TvsS|5%7l`cse;y2#GZ
zw*9AjAiJ(kQ75aL*}?K(Fkzgju|2?;o}3x=&;o^&c_%C}BUW47m;|F3A`vTMw1U`F
z5V18J(#n%TAR*j6F<eV$c-$XPeG%#EjSpee-<t9bJrkbr(<;Js?k^ML`avUM7%Q`m
zQOA&D=swIaBIxk;ur`k|1`X+uLpu`Ol3hmVXhk8ZIWbGsd4yI(j5QCzpa=k%+Ipps
zF6UGDXriyEHtZ0YZe(!;FFswfB26p8bk&tFDD=-M9PD%uJbt|4{z}FU6~<INL>Omk
zKt=Q}9N6l*zLDoF6P;YmAZb|P(~Ph_36^}j5e`OmT0B<xL=`aE32~D()CQs$IO=&Y
z08oMHrP;zBa0N+{7G_ELZyF%lHX};b{NGTKqUW#)(!g~@UO?}yXYA1sHSp@Vbe-Oe
zoILqJWe%+?HH8yC-*65_(dpEYX4L61XrVBwA)?X2qSb;&{h`9-=avW2a(s5B(f%_7
z-HS@YVwgWe*Bu6Y)A}O@{NhGHBVn-Q86M<g6g~DQHy3IfdI&94Jpei6_&FLqgpeM}
z<<xp1LKy0U{>cVz$dwSnsPTV%L=6s`F%n5NM65(Wg0Mv@WIqonrm*G+yD1+?h$imP
z_E0tJgz<betE5Hn7^#qE$Xq}}&3e&26p}vt7R(TO$R+AN%#aP3(YY=?4l`6Id(eRa
z@_#dgU|x(7gB1)It=K0iGi0`ISVt5l2Hm+XM9L|ip6IEm4Kx-6rL~H1guR`<@{%gE
zw2@q&=O?od^YI$Q2>D*mhF*prBDkph^|@KOek()1GdDs!UYY9Uc#b1AyfLCjp#@?w
z8-x}caMb}H`0tmt5yX(WDp3=-0c%C_3X+Hu!gX2{cp@DDoYA@>b_HojZnr<1!Cya2
zB+L%^Ss9KttHj8-?%0s;&AOmf*{<wRx+~p_DAv0@jDrwHkoE&L`2@Hvv{EAdYe19<
z@$$lp1?|l~{*5qkF`NQ}@XpcNEzyXEHN$Vuf*Hmt`~&ezG%uP~aaQ2CN-c7TfO9<%
zBHRddSQrY3drpx(FwhSK;+Y@!Mj4W3{;5ScE<D~$=v59uLo;o6YcLU?=;;ci^TfGC
zIye%&cRJ>(fr$@o9Lq$7fXb|Yy!kKm4z}B@)Yr`3)Wy}=%*YPrzuNym1~VJW{|`5q
znVJ5tl=J_S^6@dsre7xjGXivy@mkUS4IW5O8aYF8cNo1636#N{H_%Fm5Jw<HVNC8I
za=t!uidT<S6y`m}n{7Z-AA)^aElLy?7v2T%D=h%)ky<xkztg{hzRu5M1_w9y*Qx9L
zeINVMWd=770L1*O-7aF#52Y+E+;VqL13miu6khBdypqlLij#^n4S+(OK(;`qx_g|m
zf}p-2QZxD{t)O2&-~XFCE|^^~{6vmvbL-c#)O-o4-KizU&cA0&UcB<#@ebNv2Q`oP
zCuO@U*2QrUDJWZFc^C7EyVjz3=c#--3O%jL|5JNr%u{B?&+%JmPK4T_Q<x)8U*R?(
zP&I8c=O@FE>NGYBuxkp-%6jI38iOV3xa9F=TZ6(N8-JcWBvx9R)3@K13N7GD(TRWl
z^`urc3L~+qP_LE&zV>Qs752g03kk7)6b@^PDtZnq=%4k0Rs3q@xZB(L@tB$=y3St?
z?fV-QmK4Tu<qMT({x+GKsy|=#^>w{sP(MRQr==lN?!~bVP{p<0UPj>%SfH8MkZylu
zLt3V6`d{LBR+6dP-_9Y1x&I}OcY?fUV>qAE?{hjk)p4ra#u8ngFBDsRCBrdKW#~ys
zmmaxJ&j${ye_Vxlxb>7gSij)xttJ_DB>DY4Bd~X#D6sv@%uP1?Cx$QE*u5pAXu9D~
z4D#N>ZG{d1sy-!V*u|-B@b&KhVe1^D1BtdaopfxglXPs`wrzFnbnK)$cE`4D+qRu_
zI<~FJz4Oh?pZQa#uvTf+I;YON-~DX<e?vh|b6R4jp;yO0E3&gl71wTvdmMa7qMF&b
zHE*=(5tG#CI7$Unbv@BKlINQn?`B=jzubSBe0N{&Kex!v+4L2+v&uoaf_uoB_jE7p
zLe?VpAPOk!m5##u2z@1)q1jnxMaO*%j^$X!cm~<eeZoS3ZRfD0q*T=+EMK!Xb<f}k
zt<eNKBX$qXaUboHmOr<XwJKc!yY84szza5uUaXG0!lT0UFJiC#q2r+nysSKFeiJ&g
zHB{x2Uob4Urc6!%8{X_%R_CC7g3MIS7}1yqmWA!l8Dhu03$k)loHPv4XtP8tO3g;G
zjfy<A0Tv4&QD)}kFKJn&l&bKQxFQ0pW<yM}ls6BZyhMcSi;odHvG5MX>_#PD)v_7b
zGUh2^QyV)<x*ee}l!F<ZqQ39%61rI>NmC(q$pTHgkHzY`CE|+qUd&VK^=!iPj=cLG
zy*SaA2>+ZfhiRZcMs(D*=(A<eEIjIYt_y4pxwa6XeVVi%SZIoI6<{FZqZRA^50CZ(
zlG-EVgxm}QEDN5>+;M($GDL%;`~6Jv{mwE^Yo|!(Z4h)I8WR*<#Qb{Ef38*K<r+Cn
zG@b!7Y%l*|Gsf2qguaJ*(}g(c<KrL=Lo1Y?UinYn7l+`{xfi8?)|fJsv^8phE^VdY
zlv4967+%~>H>qV+bHZKu%w(xijx|N+@Msw~!hXUk@3Sq%I%MBt{a}9jJY+(Vg9JLe
z4B?E=L)Sp#gQDf!Mj3Rj?Mqi~iBoi_$uV`?9AVCV@=u^t!><+_&v$4-vUY!6CxhS)
zxPoQvRr2JEMs03BK5Rv#^B!1zM-|`GIYI!IeA*Y}t{ZN<+BN$Z?<u+WM_E>fRkw28
z*DO|!t1WZ9a}4N&%~MnO$Zdt-TN)v2`(jP@Q}l2plHyn@VB^1|NQ!)mkHeT8kX)g?
z*;Zm<9gta>ASJRi{0yP^lhneZVo{hI8^JB@nz%$`Lii#yVhUFSk!ol%+^{9*2&M$Y
zA|oiFVdRI_om?XOc*@m^(eU_mNCsd_-5mbhPhiAu`Ob|=&Fm-_`*0-H22SnJXab^V
zQtiyg4IbC24{f`yuVKZ;;2Z0wh|yrv2O(Gjd7^XVCz$e)A~C^(dX~-FTjrbtk%JPN
z>v=}T8JUr(_53!;EHkE*A;k2E<x38D$f-6KAW-H6D&_?s<XQ>P*sSZ85n?GV{)Ez=
zJwRP)P!G~VAdsAiTu_9<Os)_2?jS4_q~%$d!I_$+%yqf*qHe5;BiDh#8qHJIxLW@<
zIIIF;4Yo{rM%hNI$>VG*`p6zyX^UJRV9PM);^jxKb=%AQLt9DGD;i7c=guu~jd}<_
zNj5{HObr`|5mm1V-C(<o3D;m;q-^y@cxa}#DiZ`IoCp;ynv5)}F?R7ob${4HY#{x{
zHJH76x_*iss$3$EU}nG?L&Vx2uV&;oNjUlFL5_;6i}41?QkP^01<_`C>`8KtLYaYj
zrVu@!Oc*ywa)zN=L&!}a>R>2<GEn@1%9JN%%jMC9JzE?W>yN!KO8Bo#j2$^USByG`
zTwWX$gUbImeLQg*Z}@jmsyG??7~;?i6DnmtRVrrq0%;U*|AtRc#hKS-HXbN)glv>F
z9Q><U-g)v{RBv&W_@-gEVbns%(0@M2B4v-U5=9saAXFP3kr1um#(rc#-QM@CihQu5
zr?gosA){cV$QLnx7=A`-s%|sZq;01-^>9|Nf3POh@Ym_%U5Yy2JyIZ$t7VsxtQ$KV
zN7zORLyfFPL6nKb3DhM)x6+pzq@z@eZj;Yd_q8t?LFpWSIrGZM*NLQtO{FQ0%6Z@@
z`}&5RdVNPi#)#s8FO}p40>O<Nim$cT)pnzr^y=dE*0b$3|MaHGPyP&s8bCThMu&{P
z6)L+6DL_?sZ>PkzMT9LGmSZuDZ+^weP3ZMVx|QFv8+KGFd~2cPF3{-y>&NW>m3QxI
z6B$-PQt5yj136WmfaDho&$J4LTXcY`ZWWimhl+<7f7XniN5z-~#DQklkh+0OFx}8S
z|8t=&Xk5VvJ?0{}EPU?qQ93winAkY~SXI1z#SnAO-I}XrJ?Xk*+6;NIT7Uq)8neJ&
zgU8%19K$ODoJZ6Xx*b<vfraem=wQw2(OMFX^i*ZbB&w>U$N|r<CWIUNRAK$9*+E<y
z8|R=81mCr>6j*fVMzREPaX&?3jHL{=H`6|{|FQbqT*Q-w9S)L;(N+YQ;(n@Cy(fs&
z?n_UPufC`#=Ap>x08%>}uKl67P9XJb!%k$n+c2}P*&m39D9ZGG9SH?OPRD<~ITKuw
z@qzPpGZ35-`!;Gj31Z!(FNTA+rEFKI)7lHoaCpy=0|wGJ4Lb%9%W(cwechBEuz%H=
z?){O&kNyPBtUYj-=p&2No*Nj#+Y;?IAh+TD`OK>?W}q=&+i<`~X2O-07rzKGuP@yD
zGA(mO72BgTDG00k#p~`$snC>s<Fog-mX}UrAE8@_7N*ylryD6YmjhKQOf(ebvRxx;
zqqLP~15iwNVC<-H6w+Of<mJ-Y3CV1^5eo|BcnC)#a7j!pV(p5wjwD7sR6r!xZKl%o
zL1Nt1VcWT)xt$mOT>bTs`!_jGT^`M?#RYoa)9EhZ95?`~TX=8i95jI27DeM#IVgUR
zPnYC0P4`PW6&wEV#E&zEfur(q6}GKUHzuMo0booh+>O+$c{IT&i<d1#+=bI4MPgbZ
zkLa>;S~~URxdfg6-FemZD(Wqs!MSi<yYGT7#IAAfpQKDc6q~KUOS}8CJ7%3d$u~2=
zd9LLnA#@CTS;4#Y<Z!_!)NhQfH!C}QV`BATbaie%3OBmg^iaC%At4=b+k+*bn@$fA
z18m<p?iZE-C843g5!rcFMJlfTG7B>DfY4X@x*IX2C`+>M7~!1P-jyZ_^U@fObU4Af
z4Re@#EDg#cs?tL!rj-jsZIU!fav4M5m0vp=l|$%@hsmS@{%ul`rA=SX1?jZxw)(6!
z7sH>VB>C?U(T(MR`J^&id}T*)wpGA?MShc*OX!y3b}%EDSJFiJcc1J8o{Doqh%g>+
z?%CUUqu-~xXrqK)t~Relz(1c8`0d2d(@0sO%xePwS#D}GJi}dX=0;3GRf$zUp`)SP
zKi{6Z#<~A3<3lBNyrAo#vlmxyQQ9eWd$Lro;Cn~>^e+)$-c_E`$Vecj{%}wQ`YTke
zj(uADFE-xy!!D?!op_p2RwUPUrJwD9nCJb-h&X-*rp3)XRXRUPwZt%Je}xOd)V;5<
zuTFb*c4c24P+?W|YuRh+B99|E6fo#+iNBKx*g&78+{-g)BFwHb08vt7?GLT<Jw|S%
z<tJCE6NHX!%FoeG5uye387={<_&<j7rDP;!gEyurKhUV-@Gt@_k};I~_Ae)k$kfqi
z&A+l^XaAWl@*~Dr<(Srg3l+p{yOC10#h3o&oYQWolw_QK++?yYn|x|vQuwTFt>al(
zpySCdIz_>^suSsMvRJY75iOzqv++iXx9(fH@;7y333XD@1HwLh1F3ny&&058L#L`B
zG47hi5`T`TEpAD?0UaL6f=l%DC*p<_m}H>|p32e^evxtVoc3;`Nz1jP>k``^uRIsm
zsOm;Y9zKDcuJ0Y9t(nc-_f6lsAxkc(=9}iYc42b-7s@W0Fky?K=ql?OD6Z+3hdLXa
zKj1Mqs&hie9_Jc%f7wX^=?wiS+Dmbu)r3{hrI13xD?k1bGn}3L=5>k<x?Ex03PV@I
z<)7Xjvxng|18eqoqj)^f1fB66zjRX8bFxl4SqWacu0XFt0OYGyinLwcNHlEbD`J4X
zaN9JDo9K>ETX>Bb+g7yd4Xw2TzaeOWz*b1-0UJaLu^dbIePdf7xo2~2OESCxv;B#0
z!6<6!mBraod2i6*TTKNbO4O--+?2s?gWZ9IyDyy(4ES|WwX~3U&Nd3e<?#Afgh_Vp
zZJ|lr>oFN2-Z%S<%EL{k>xtTGZ4Qk3jJPQP&+!i3<lP0n1B#n7v>Dg2U?}gzSg#|_
z$649?enTu${*4QuYd>13XmeMqaHRc46R9ysJxpBF=Uy0sZWbob8r-n60uVq-p)qv+
zXq#~PE9jXkFV*9tiCFL)F<>>i;^(YsWziGD;i^w|Ve`Zp$pygh{|a06j=t3Yh0W0{
zD2#m*{{0iBgCFlR*U}`gwn^q~xG8$W!`jwugK@#t^qURP9%!`h*{hd7;g|8(mJ3Pu
zP(g?N+K_;;{7Gc+ozJ_)I(s@Y(b?UiBX(n4$t?h;OTc6!$g`)5z)E7UJU6N~ng_$%
zw|4rf*~~*jMtp#+8#cx&B~wL@P(~PIk*cF2E?He#V;3VVDoVsNm~5k@T`7d{5(CoH
zj0_<)2I~%pv`X1m7CFVC9*lCcnPYK9@a$N-;0@h7?Y)B{$2~;<w~`r{hl==u?tOQk
z(faU$O>=nJsycr-y~d_oapS<(;gQvqsJw#J{&xNl+xO$PIc3fgbhA6BGEkY7w&!i%
z3IA53yb<##rCY1AL2&qO(y9<*C^efi<4wiQZF>&btn5r*kAUu>y{I9qX=r!dXc+tT
zOM6XM$3O<Mt>2)$ZDFR3r2@)7-rE-u1dI;tm>zUwPN@Q9tD3N6t4<ku*FOgg*kdEM
z@FYVSf)HAMU=mVX*Ov)&5SnR3@CW(jfX~Twfv6TO4Iv{pnjNosv{i&N4~y*0fB{Es
zv4#ZXYmSg%g+gp4cUYAwzN!`W*>{(zTD-q>D{^X4vbqUqQ7kCdt0R`66{y)gJShvm
z=$ggm!KSGd<AtlKL;MUH%hfbh15q!*8*-;P1;+`?+9;2KS*T0TgiKYG9y0y*V5UlD
zqHY@y)xpEM6l8|7Ike-mqiTWU;Z|`xQMUrzp~TtBxi#=CI1_2vykJe$N}$$Y*|gu|
zE0sEn=3u6<Vnw2r?p2?#eqg9ro@*G+?f7C4pTD?psE#!RYxHqzS8i{)as;|jM>j5R
zFr}X{=t@~W<1Y9O&m9UY7%!HPG|kj&vIy(L@rALG6g1|V*z7R&OYA*n>?Z|pyAK1j
zZd5qaj&3~+`{mqKl0Qj~sP%~2NZg8ZO-*WYi{SJO=ZBxl*f*J0X1F|ZX>8Jrz+@th
z_MWATZt_;GoIWc=|2a3wf6`Khs+>&`LG8!ENlM=0E4`OVl{{3`&Dc*<BN$Hm4zj9Z
zSxU&hkIN~~IYWVQpv#Qns0Vdh>`wqgg!!@ldvKY%8li=ZP76MayvMM$0>`ip0UOwE
z=#H(z9T3lVGy}g&=3W`|yn|Xq8m@)e-xut`&6qyWbkwJ~^>7ilZpb?l;Q#*IOtAvN
z>t8h)HSi<^%`ws|?SlY$4!S1P06`*+VEXyjmc%<a&=Jn55=vgID;0sye!vyb)|&$}
zhiN_WvM0dGP6wJe=ilmey~$~~c9&)LzBP>k*%iJ%3={<DZw__J_Rh#9fjA4&c;J_Z
zDO>J@nMc;znR*%1a0mh_D|tu<0>iNp^ENni!U^NfRD)Qy{F-+lFzD03jWCU`7aIa8
z!XK6AF0x8|ig}(&)=Biq`3K!pSmTU+VN7LC98>f6`J3hQyqGr){1i^noK6qV&Ox3&
z6H0qtN+76esyDm(0}8(;Zsq@@c5(iXuEom1#`=HNF1F-eRZz6#-vywQz<L~Mvx86e
zmBfT`biYpDdme`}$9NH$^7o*<m^VQuIqe5}jXlY{`$zelm>$rwGOnn#s1-sC@1IEQ
zxE>&+@;`LTUdp{{N4#P`Xg)vB?l+NqF)q8^+t3~jHhf$tZUwfIKYbovKKdn?a|8;t
z8XQhOu5a7#({J>}o54#j03THu)jNgiOJCsm{J*5co8%BIqgr9FeFi{VfF@V>rQ*%V
zA2In;dT`B);C%ly1WUVBOw`3AHasy>{d0J?oAmO(sKnHc^%ig}cp`UisSp0bOUq8|
zb9w@E26fG{7YQUIrXiiOi$f%aJ>rBLb}reW+0*gpQ9)`MfS=(r$?!|?YV(evorn|s
zB<&An0(X06_F-3t!J;>q;Rp(o*70~YF4IZ<D`KwvCV9w^eW+bwZ}NU16eL#g(xtzt
z$U`px0p|QX3%fqhLnlc9B(HxdUad~PH|~$4ncBiFpTUq<=57m#3ynKlA%86c4Ysw8
z@AIB6HQc&^E|!QI6Fs_2`TSVfMxw)_B+^}TZHQLQ;|o3)@W!wTtFZZ`U{W1?NR5_g
z8Rsz^_$tBcqM(k)q$}K3$YrS3d-0h2{r&Ok`Tw#KVgAEPOfJ6TLdMn+;MvhTXDIE^
z?tpChg6mbuGFdnyaX^_UvLB^@#SIY;v8EY00IaEbH2+)l>i)`j{gFKJrFqqUX<oju
z8E}UM_2CC7JM+DofJdf~WjZ<N!zq#@ppzd^SR(fYOO$;vwnM^jvi^c4-jpSEd6&rL
zr!+@|Bsugt_ban{qP+(Dv;>DWY=N{16k~qD5_d|j(0?MNH?smv)K;Us+-Z=~0HV_M
z6EY0TVBh|)u>Zgk!!XzqVd-kIXgK3{;f(W=WCK{@jD!)Hu6NnU8<K}yc472fpJ{y_
zM6>8ww9c32mYEA6h1`-I4_TlN2;-D=@+Q^<%UyD+{2`Z6Eq)e~q^(CZOG<nt>(dlb
zmXd*r%~4~=shI{_vDHa5{exKpDuSglD)ZD5%xA)7dQR+-7q<whztDdrkoZ_cGKe2a
zSs8!GZ6}Gft4GDCrRiy+xxaryVd$35w#>)~rOUUFp6xBtUL-~!DzuRxD@&3kEHu0`
z6okFvcZarOQpQOmq=NgtAJ|{?cB?HLKlcl|@ZqS3vAMq@(4SF2ufD1f&|c=fEDbOj
zLDPIL$y}Y23}8hb2PZE=836BWC=5ICCjGOXsgWjlNcOv+#*ZhkA+s29v`<1Y_=%ha
z3<0a~G!ax5JwY-w1g#vKAVQuPN0cD<PL7&PO3D&n`V)8Kr;CC${sJ1-T}tb?;#M)?
z3-K*&kS~N01l2<E4=Ltm;0~gK{JtUqPHz5nIQrtp=k;UqubD@hl5@2_!?1(9vFJgL
zG{PbUf;d>rfeHhTQI8qjC;e{;KfR&BuF^58YlwAyGf5V$tuFSrHE`k9`V@T)c*UAY
z=aQue)6lWE7URM|m<+G25hBoc)+w4|mXg9MGpo_k1KVjx3lrsG0UwOn1i=p{o`+Tu
z8NhOfWU!Y#b-|Lc2ul`Z%Im~u@AHOj@6(Ev9K7JujCBvp<ZD?FfVRhQmzN27Juemv
z=dY?429N9iZ$y$k>Ne30Zc!mo3B7&d*<ad(E_KJ-v3_X=MBb7Apt`|bMfkL36ui+b
zWWt^ph0t{oJ>3o<0HFP~n*Nz}j3Oc&#L&x=LJerewXKdKEZ(Qk$`?R7zZb=xC-a3A
zuAb%VVhP?sLFk&_-26-emS)YS2DE29KYw>w3v=$x=f(wEOA2YMG%G-@FT|ns8`Lv0
z4&4`gnkqjJ#8uJ0hRH^T^UAS!rr;BhS&OVKSIRIa?f(L95Mg(g^^yyJ6#0eDy74v5
z+bh#{ojx->rbmoMpiL_Y@K?T<oEu_(z-x!?b1ndt{$(s4t%#P|58FvkOPvLAM7}T{
z2UzE~<hBbq%m=ab*2pNaNRqgx%fSswl`o>qdr@EP%{U?l)^hs9j8VKPr5g<j7ATcp
zgUb%rI2XYAU(ot7p9>5P=w`oD$|v|;*P|*XyZcS2E1a=&Z-9U@IjQ(I<7=*%njy24
zhJM1r^~lN5A%-dcjsZQt)hF@j{fSiqQR*I&<g`0W13yf2rK;}Ypy`qL3-xg@Q^}KD
zshAx4<fm?=UNq;$Syufi-l-O^E03_r{tG@4eJju#ew>9)JqSY%f+4p?((0prYu22<
zdT!}@sHL|eJNNWqAQO?B7(C>E<q!gHeNh@iBp@ezfN;q-0y88~DPkRFzlTUX<%FO#
z9#kJX_QNgY=$VUdAZI-lws57U0G`xXS9Pk@4;BwgwkID1!5RW#%kypzqOzuqFR^b~
z=mqFeE?j?99%~URg=DDSGRX*$z$j?c53$3LO;SJeIo#p?*loP^UvEBcDn@U#tA$kb
zN-Ua!SwJ6hJeu#j35ISu9nLPoPe$(Sb7iwp8Wywa!KBKX5+oT56$$xAjg{O~0~Il@
z3$MIFx*BJYDJB@=f;l_kXlXtyg&S`Lt_{$TNm{d06O-`v@2)8=vzN!}C@%XiGHxp^
z`(vDH*Q6~p_RThg|1y^dq^>VzS^oo_JaHN73}QH9Smze_+jeDho?y}aR84(%K2v*<
z(<nF-*@?Ct6k`0s1Dm!TH*)+J!H>^kto2D_jP>~+<ttl=>RY*@$AM`O%`{39euRJo
znyQULMPq1@;31;FYeLv=(|xSJ@ck0Q_d3ys&aT&v%1pPrO+RM=?RSA(l&7J02i2tt
zyGjO~eaHIl>Gp#X-&ybuUOt3%m^1VKLONe@*K^Iev>4{q(=3jtORYL>myS{OiMUBv
zkNC<IvUH3av)VLcDO~izi*uz71{EO0>yT}-8lhShPm)!IF-3zL`<HbHhCMOXBq-ek
znBZedvFBNf#TW_8^eps#x+wbk!HpcoT1&Bu^P5XY-B`TTkE(42`O}UuIEyO}6|?ok
z+t;x_ATObo_RGH?W!p2so&V_2pOL#x)!u{LD?s6^HmUP2J|bC8VuO{gAi4tOUNSyx
zzj>HxL3P9A$*DySWDK0z%=y_*N@Ai?4$4rNiEx?5)ksMDj98_-26Tv%0;Cgm1fY_h
zS4BEs9QXeTiG`eTLR7^O`SUdHuhtNeP5Bvrv-$e~9fR*0$+=&1vpuC~>f7H6EBo7K
zU;z82&?WI3uJ)7Dvv9*@41_VD2o(1|rbBW?^61kVPIv{Hh;H%H7PWqjSL8F!T~*xD
ziS)?087oqxRe5Yciw^}8zcodzkX@tzT&f%DBcT95fr7kv#~f91M(P?mbwR3Z$}Og{
zF1;7`+&O^wceQf>GKK@~5Hx9X0CBs0O%8m+l;;}!!bPCA-^We>Wd^9k4X5a-<O#>;
zjO-eAPA7lraB6U?Hlwhbr<zCtIaRevSSdpNMG==s{$1RThHS((tOzS=c(2v<oV#_U
zg4^G)oH@4_mV!?Q!v|Wu0=w5ro+(Xol(b`iypdc?a#dZIVcBu?ZC@MwMgCH&QQvHz
zXLGc|8|8H%NJntM(+&8cJlhU^yymlh&@R1gxlQXc`}la?MrXs)1@&ml<7gwYIcth@
zBJHJJ`hiXcOy414u$KRUmitr$)g(em`^f!PBTUR{{)3vaKuv6>7;{WoEB%IWQEZgT
zfJV(v+Nw9Q1)6Hy?P%*}^t%}7zEx03XJ`XDAK3a~2)5ToPcLu|sYH=@)dk-7fti-X
zZauLCLKlCsK=ECWE#_pw2W-nWsZ=P+(ww@;I!WkC;~~12jXZ^GJ41fvF%iyq(k=OC
zk@vE*f7iIO5RNq7GUmTA`o5=lI0rGDkb?IeVO||Y`EJj~gc!<90`Qzs1@`y%nSfVW
zTM02IZlPsp=XgMC3EbiD<uA)uy=QL*cn--cef&$Kzf~Ce{p&a6EHg2n4nBd2i6CXu
z2+0w)K_nJ1WjszD@38T%ncl?8Iw!%aR7`%a)WeTES&2nTn0Hbw@-g&uNYNyxDe}h-
z=e^tgq#G4O4UtmV6~X_r^d^Q;fe4QNJw<L<hzBTflI|!oW(T5dwoCURuu<%ItYieD
zJo3o&S<hK1F%>kf(qei(@w6Ld)c4%SEX$iP-T9D3ux%Ubr%xJHJ-%<yCQbdw^ch|s
zJ;l(Yimp21XSu%8Q2C|Yhv{D;v-*lPQE;4ywOw4$ko$qDX3Tt4lAS~E&KJ<V#3X<l
zRSM*gd|0uX`2Tq<pN)Y&urz=&;_Sp&ZFgfy$g8RuVD&qatB#;eo_1_C3H}QsSOxmK
z!zI|wsut0qU6Skt-VQ6Q(Ixs-kA*k-v*+n{JOS}NQDp1D<L8@)@1?H6uA3_#>c<;#
zq0_rw@uQ*X4W_1#4BEm;BKa2X%Rvs#Gae8vH#$;08R6Q{L&l-Wbd9SZH{7pQR~M0r
z8oflPub48YdP`(Oe<_TW!#T{;`I*N5IK3B-x-27`ION<Rf`|QWFs+&lO;98!70oke
zKKfB=*J9*5Kb=n-lGita#TrhZjo8CqLd#cW{YWU9A>F~sTll^8wDhgLWr4}zQw%^J
z9OucA*u))L_JOq=3G(K7@$-s@#-Cf<1L~k6rdx-P9|xTQURRT_)?02|EtlTOaO-j0
zegQ-5s}U@$w<}ZdiA)8!M5^UFMr$sFu|=56(g!A4j$m_WNYt9rI?#-KW>p(FzqKo<
zJk}ErizxNaSJ2qY{jHRG<E*$T%L;(Lq!q}%P49Zdp4yW%iQ%&H-1XM4e^T{Yw)5I>
zy0hr$c>NjXI|>hPRkMXzYtV-u(35q0z;jzl+uKf@Eu{|hCRHmw4oQd4fpOdZu50>r
z>!mbhdh*lnAws%Zru!gs!2R#|+{x7tKL5@u9a4Zz6<E^vhKho?z+vCt`CedgG(SYk
zokRE4H@jJ1aGIeJ-Sv|xYLW!sHTI!N!&Wt@qc9$i*fjI6<!B1HCHMHlyWZ{kGT5LA
z3B?+(&A0qX5lmQWOYJaWKN-6kBQBK4qFfLzA$8B2umQ=*aMeNs;_j<ox$=eVIKP6U
zWdqmwOG0xru$63e8JW)|1$P1IQ3Umkzk5T5NZ|PM2SXh>%K8jb1Lm;Q6TiOP0%iW;
zM9cn`BNfFDgqJ6!Cuwj8dRSbGt-jWd;Z_I{YJ|ltCi?O&lG9^UAews%Fu%p*&z<+B
zxEf!37R2Qp6tA}DnR>0ttVg)m)M_1id0U8!KsK^cj6xcJt`S+6R&fAbVA|53da^zo
zgA1<(h3?<k4QGoC)u1gC|Jlb!|L2ib2}xiGqJ)j`BTMH|@@5lA66E<B_%eZc_Zqk#
z?hAE=L!INa&n&K|C_LUuMh23+2Oyv89B-P2cT@2^tKW+;cmsW$Auw7X2?ROqyE|p#
zax2h!S}vA`w{ZE^kpW@!MWTuw!hF4EYHQAfINS<O(ZKxG2qqHav{&<i;?M-zJ+^Bc
zo#PAFQML2YQ0rdSe`S1b$d^{r|9u(t52DNN4>c6DxBrNGL!Zk?cA)i(l0%$E!T;R#
z!wlVX{@rifClx#SO%dTEuct<a05!|@TV?LWx!d#y-eQb0V2*^C$Qjxn?7>s+zVb6|
z(Qx;W4}J2@uu@&xzHKB0x>l#^VC*&i(QFaQ7Pv!H*YmzNzx=5tJ!5ro#rIwZvwu3d
z%Jc&}-)P%I6uQckYqL$)Qi0DV9xB~8G$8LcwM?{u!zj4b_dhwN(ccwLuAP5m|Fml6
z8@d-hRn=#d1s<swu(_Qzs%ZVJ^^qoC=}$qgI_rN}{5bXhxkkbO-L_=3q#`HX3#YWc
z<Jo3{k1-H3OI`pr_xzOeJqbA&rDr?^ielUzd#k`!<Rnm^F(yhT^Kcr(<rt!_3JR9^
z_DKB%k=v|}y@_x2p24Yb^lwsV#o+d-X1R70?^3OLJ@DPV!no3m?P>*PNtyvpNoVO>
zr9m9|{^*~2#Hvg0xuYr+>?kkKSz@kn(IjZvA~)^DIGk@0$8Hucka)U%tD_YYT8%PL
zs64$|&_`pKkS#wn&%n*uw!Jdc`2Ntk`q$SqvSg@<<T)-mOR7!@%SvF4I7sXqZGu0A
z_Gm=y{RXBQWV-`EqU_}lr1-a?CB~@W(Qc1_KAOwuxr9nE_p8BcVSJcs4gIHcJmyLZ
zMa1GUDU27*G&mdaM!G(sk$c4AnO?W}72{V(L3C?nj&!qS1?A0gk$tb1#FKexPVaWa
z<E!VAxF}DRVsPe6IYsMA&8mMYE3#WC4~5`_4P5Z+YMnL+1$d}KMSY!ne-wWzS$S>}
zD}IXZib|oXGag~l3VuzVowb~(gL`$Rq6NHy+%%vu0@Wei#eocr=j}?n>ES?v@pt1N
z#qpD#0z~;kO3^w|%P*AapE&)jzg{z&ox@GS?Zg;X9FD!t4C<x7f4^ar&geRgcKk|$
z1&&_FqBak{AdRn8c{@J|+macYYzG{?^y3}Rq7lZ3z{tAkxBGEMrizXZV*IjAPZ=Qd
z#XkL=d|lq|i<c0~xII@<eeeJ7xNY%o{?*-1Stj@^`1pa?WbE^rxAEGt-}4=cgr<m-
zQh;J@EBHdPqvuzcWA9>0ZrnnIy3xdwGjRF4jMRaWSD&%iY-G+wnTu*}{LP?X*`%QO
zRqlcd!<+IEwWHoo7W_WgF}BbCyuc`K8CE<3d4J7N+Cy(-LKIdfo11}8G0pek=9&n3
zJC?J2D{}(MdSR9|>sd^F4qQrK3eub(U5Jag_odbKlEUp1sT@G1{6A75*8g+Hv9bP-
zR>;Q4!JdrL3MvBZ>yE~eN}zN$U!(X;B+ZttV5K_D1S3P|7J{Zq;mz25pOMVBr0ZGU
zt?eEOuc-Q?JkHpEz^FB=zr#SXk<EakwXIi|Xi#^>@cDT(ICz@<G;ZFEb#}8l=!V7n
zan1bscr>`L!$B%Y(5hX?{O{)ASnP$odvB}aPlU|r;0XlqemppMIBrlKsLz)?j-;_{
zvnZ==n4En4za9DIj&pPheKieBo}C?SZApC<6A}B|@NgH6Z|jqn0j@&s>eIYPYmEk(
z4&lffyyQMW@ugHNwPjLt9_A#g-1`HDPGVhJk=N%*TD2^6c|afGS*7k45hy+DvF-=9
zA+&KKpt%K)YK4%q9mUw;HbuJ~Xk7@wV&@^gZ88Q|`h3GXL6=Zpg*NKhQae7+8DSP&
z(A|k@XKL7`A%(Cxe4~Rbm`FgnGS==0wR2PN9=)Z5i*>k}9udtjaI&$l(BOBeH={f^
z*CunCQHbyBklUJAPMO`^^>im(DI4#c$jW>Mh$AP4CzNxe1}Y>tdM|G1YHLHceU(ok
z5w}{4qx>qLaxquE1)V?Bg14G(@-}DHSMAPR#j(3dBR)62J6zpIanW(epN@Jce6`Q6
z%kwS&w9#;B;r?G=_@eZ09f_iyo1X#F5BB*&+_{-|vxJrm9Z2n?>LOEna>0`wk6-0e
z0P*IatFaMY-d&Az8>GwroD7`)D9k;HKn3o?^BZFSIBrhRs?$@4&c-<T_{Ctu;?el5
z;n&<9M~*4&E^j>v0)s^zlJw>BARZd9c@E5qS?cZW6`fJpmL}L4AA*Y+rz+K2SQ*Hr
z8ZEhx2z4cigV|VI=&suEbQ*<}QOqO&fQpNYyMj_rU>zeJR;&1{+Q85d#?6c%?@$NR
zRU76OCnq_cc>I8tWaEKeMHgEfCaa#zR?X(N6a2IFwxu=}EFZ;zflbM*Q;4oGztA7I
zg2X-`@y|%JMtSU?n-RVOW-*+6JTY)mI#_vUFQqa@k@#;97RswaLS<YI@i*FvK!#8$
zufKA8I;D6zCAI-ZK8{80NbEeh@Ava<t3y$v^s|Y!)pVQWGCg)bOkGkmYvsRv2%R}7
zqZ*f|Bj6UydMLC=LL@UIvi^M>^_!CePa_b6!{2`tZq&)>Y>9Kkm+P!T_@y=J|ANPQ
z{H+Y4M3Sl{8KnH3bgb3xWA;{b9)O-;Dy_X4=o!E(<O(B457IP4J*TP0xf~`aw3f>b
z4ec+Zk~yBRl}-qS`*~F^$zb9(lq5T*T;ZKnWQHE8TxUuJ#==jQtn~)f^1<)3=&sd3
zK={UfkY}P@hW2cpPIg8{;k2Bv<!kS7yLLE!-t3S+3hPr$k4ltEYf7<c0@T2oGWUC@
zMv=vsteeP4D;*r$O2dSiCtOj5Fit5l>TI=_IcMCeGHl!o#xW}#q|zE-q<zHPXv-Xz
z7TuAYz`(fQW+W)!OsBdA7HnbuN;c4K97S68-wyHx_Y>a8jsv`^ZOx@H3Xd+O*#u$8
z_W|o0zG2&t%_bQG2C$po0M^bMy<v`HFYRX-c3|E&!fi%dY&4hdk?kA&h|kn_e>un3
z*F}isAy{NP8k&XQl1m+^5FI_p$5d2DU`C1l$g2g?f;P%@qU@!p$myzZv1(TIgx@Qv
zCf!@yC2wVzaY92(P56Hho2{G#fM_I_i*<}HQiCG0l{<LHOZ?LT0~Uz4X!G#4zvn5r
zm%|eMm7}KJvHi&y8_#%lbYM}Z_l@UxgP(AEDwsToZQ#4wzjM-^2BgXe#c>&O1Pm#<
zxW8=Ti4@2pzhw4UJzF~^K>jS#Eg=#s8*>u=(2Z$!bP5Px`!n`C@KY?g&(jk9PZubS
z|6?d)Hn~OIs;>{@+!rF5=bL4JH5h%p^r4&iC(}P-M}h(7jl*Hfc#F(o4pZ`$<}}(G
z2e#F*hREYZslBZ$KBMJ7UgfI8Lt<r&w(-L3^vXe&>F9M1Nojlfb{az)U~vq^>j!wF
z9MKs<UC`WQlnE$|P-4TND9eo^W?9;8(gUHwc)1%z-=*B;-Ex7ABCml~HRItvmG3l%
zi17Qgb7EsFR9yBa1nDvYqxf2Jg1%vNI)%?SDla@3h2!#|Al!cvNOAuy<`pGLs&4lr
z-|(TxwtKgV1Sn8jUMexiUE-(xJMn?RSQ1xxzi{X)f0$GH*_15&YmK_~<<Hg4W6V|B
zLejU`D?uv}KS_6hurasCqi>%7&f~lvC96o(KC#Em<7d_d_eeH)N*2x9d}Nj|qk)}r
z7%6;|h>V#`fUOuu2d6>+K6jTwK#r$K<Si?78x-pbt6i8w7No?%?Wb5k4DjK|$~jV*
zzeJxMyv`-<Hc8(EzA}qn42vgY{gMWYxK*o%^6kZ1IOq&0Q#9@-S8b_+WxFXCj#o7w
z;a&h^Pjj(QrnF&Aj%69KL%Nef*l!Dux+KS{ox}ZSC~;J2W#`RN-d3Zd!e`W+hkRtG
zY)IDJyOu3x$50)pCwAG@BR0K8CQV2-1eLK*r125M?HcgIi8Ph{_;+pFv7^kYOshsv
z)`~dak^mu4v~!`_88po!&8rU-SDoPByV)?|<qmH?uzv?_lG#?!Y@BD2S*v%bHO@J-
z8s2{<gb8v5<t3mcd5odvo$5ou@D7($wo<d|a~hk4n(Tu?S*`^yK7xvZ-WJD=65Qk@
zPX4Y&Z34|3A2WU(g0d&?2BZE(%QmlXyIl>I=WqocKV!5@zfWs&inXKL2mW!lAhkF5
zaG%f>C$|qIVIRBWbX3S@Ds3<RLBQ@!_s#J@7_8NgxR0FW!Tfg~j(V}D>~m^Bo^DzH
zqbu(`Q4~hVhw397Z^Z@Hc`nQ()?|u7s<6iBS73QeOPUa&4fgu{;aNETo7evOAspc%
zZNx7io8h<WXn>#<J(6-(^$ln?!_1rKqUKFv>@zDglZX>my56gnqRv1Zq+GS3Q~>gH
zEHM&mGOLBYi+n)Zi4f)j`Vy;!_SX@}2S;^G@K>l&1y5SRzhOo(c3B7JJ9=3<-^w4>
zi?>^!qwd$8pkHEe@EOH)c>W@GojaA!Jl_JE(218Wc#4Hh6*CTk@oP20!=Q3j{jlct
zzZ=Uvda95nFZ=Ysp!Q-}I6)XM@mqVl6s!^Ok%jeU5kxYCpg}GqwZPLj&>bL&R2NBv
zOJJM-vx@h9ditRQMFwkR<{FfEN!&du>|@+FO;hq}KSG1(^KL4=tIU(VqF27U1kmOS
zw7FYEgzB826&vi!;&hE1Dy!xFhDm2*x#0*m9>M|F-(u7pLh(KQ+=dFZ93Deny|IJJ
zm-qNGh(9qO59@j1s%OVMfk4`cdSftbKLl?PZ+I*^9DBtV)uEJMJXB&)LS<8Uq~b)^
z+qsOX^asU?X$qX=Ck})$W-)B%643J^yB@=r9GfaxD6(IVgrtDpiPZR6vT1PMOiPgB
zuGgguM=2I7t<$i|JC{nANOUZ8F%;9zngeTVQ#}4HO|g4i4|OJROcE_^0@MPA^n8}R
zRNl+B<!DN2PdTA%y6GI<Oatp+))2vRS&Wmw?rYFwM?u7F`LW))o@HA*2K1b1FJAp|
z|C2%SZPL_4+Xd!Q?w+zsBgn->-4Nl@z1m)#;i1==H_`JaT`Ue_B^d|(3-)NR%E3gG
zLuLCZNuf{sV-%2|J%?zAIGS9Yo6lZad74-3zcA!Bt0rW%+hP7hUAQQIdaJ1jJ+5)u
zXOjAtQtxo5(w~_*J|iSK0B}aKXW*HpQ!y{m{dAJ{!GnO^xU8gU9^80(!0C!q%-so<
zfQ(+a`)#p%Xa2+~{C$CLusQvr@-utq0&G4U%7e*rV_}8~U~5CWoCYy&6HI+Sq3j>5
z`@kf)Fe-|o^Yj)Br(!CoIliW^{Fd}BB%@x#NS5yqV?G1>E8tf84wNkt#l-)chj-Uy
z<g{lo+xLN$L(&iI=>F%^$G>}aP^vHx;fKcv+y>ave(7pDpdAKX3)jA=tHFMM?&?R#
zA)O<$#n?f=I!ux2K(|Yy11Pzl@&R`e_6p4>{mcDcgG?l7tVSmzvf|{>;par>4L^yT
z@OWD(BeO8A`!8>ufh|y;IZrB24px4JwakCU1)1o-xV*D!c?OZjR$hy+wskp*?@b=J
zCHpRBSI@&crgZ-F=!1vVsFo$nRYh)yP|t^58RFJB2o+tb^Y5AzIuL1<q$&8=!A8OP
zD(~hA*}ZYVwK~&_$4F$t&FF=>XuH|zIk(l5S=qLMbD_o70m^K$SrKZYXGV*$tr!Ri
z(`dgth~szLe_xPFReaqc4>Wn90B6<8QjO#B8LIk2hw&?{p8v^M@q8PcU)}`?_?k0^
zbmpQSmvfDZ-#`qSOdmP#+^(LjUVkl7dg(Gx`que$;dfq9iSy;Kvwu9KSKNdIdOzwc
zfitGKS{Ji^U}y(inRCpM^zc-(k<NE_wdpB{IS4Du2vyMxr!_>iNGY%BiGLn0XYKb3
zygr8f48h{N$9=;sC4z(Tn$$p$x<sf%18f=1>{QuQ#aihU1%2etlM%Q)!xf$p(Jumr
zxPnvceTuWMAAA2PH?v6Hj%e7$HE25VXkYDBuMDFwV9}+Gcoaye!g2xc%nH^Tb~?MW
zEBVtsQlX|qr|p-Q&NJX>4Y%(0_leP`hkhj19c0BSFa;vHUkK_#lGCD0=XZ*#UY=0#
z3(H?io9e=ri4Nw*yo-7Df`tnkv!}0U{FTn*;Pu~_!=}#K$Fz@Yjav?LWF~9`k!2wP
zv8y)`Ktc5cZX3U{;_%p@aXY>36$@G3YZ}i0_d*1Bz~GG7l%`ZbFp)K(Yf!HS1s&XQ
z1Ay+Efv~JTEY{#)vmN&--px;isy@%QFkrgRG0EehhAR&iK&*Kq*X22goDY%NoQx4D
zsNMw7;<v3*TiEdS?D?N6*;(^WM*?@P>K)60K6vz7_#uBUY$^Xk;Y-|EF1aG3X`#cr
zlR0<<eAhh?iDU;~@TMDWbByJo0@Z`IGxaAJE<RQTPWxKnZL|u^GvuNk<C*c(broFk
zvzFhhsi5&%ObeZ03DGkM78i&2muT^41|tMJ>;w};t&0PfsCade6Fj7oHDlTR1faUW
z!!S#aDIjX!oxu~%v*~cA!E<?NK27Sz`(&F6GmXcq+mc+}mJ9aGhjbx5o;1>ER8Q_$
zXhxcA|Au5W#O#Pvsw=^b3kyz3D-{~PjuXz1NT!95n$Q85a`C!2D{83^C|b!A(<kmj
zUzgO`l<Aamm2+z(WuCCm$fU_UCYk~`snxVR-sWma2zsTohqH-ebs~?+Gb6FWuJ59R
z8)%3lcH@(6JC$!48<)y<uA$S^9Jo#Dz?A>^zS-9o(5j^-^3GM-mXMx#@|u`_)yIPF
z%5&Lxp5egvB5t6;^RHGX<Ln`@%^4_~#M!<%*jOsa$0tZ*{qZa8eLh{)UkWIeCMK&?
zaU)ZHx-|{CBgw=smZyF*VqFEP6!shzvm_#Z-HT0KkQ%sEXBFY3_K-g@$u!`x|3f>q
z=G4<#6I=!6HY7gVxFB4fAQBc+8^Isqc|Mf@=9syQF`k(k%f+jr-iaTVaB@zzo+Ijm
z@r?jEDV8u1SZITu53dsM`7!_{`{kz#kr*nm4o}wXaJq6TpR1dha`m9Ai*qu2w4Gba
z<BGo}P4FN|sN~vAdt{vu3RB;*Qz;affWb%!T}#2OkxBU4iC(BF1+w#g(1R^1?A7r<
zu_1VN-<U*a;9Pi6yc@qrIZwOypu7IzGMuB=7D?%=wif%nQ#^i3?hWOAZSZ|*PB!_^
z_*a<#7G{p*%JDBefnN20EK}Vh(Jg}d2j5rJZ`0x9K;mpxrSW*0G-45Wkebw$6D;l<
z!%g44u-diMLiqUdaURGq36F$2I~MhdN6S>yNYiikcX?BXTR)aRK6}4La$mh40>1Z*
z0={oo`vF=XPb(jfz2n2pS@9t6^G~DC76jSAUCox|54kWvh5dmEg9k$f@O-{{oqtte
zmmO@G|K#UOFJ^2vnLm!WUz=iIvQ8(@*5milOxKex4V>3dn9hir*F8JdvTZ5?f6Si#
zEVOD4G^ciAQuCrz`Ll}Vf5;%YO>oSANPhY6cpHn(5b^G)Is0Jr75&KJlAn)d-o_SI
z%@BirG}9N5{Wb(S=kd}E5gawTKA*1Er+{&%fQenWho_LeXiad2cYAEy=JYVw_ESE4
z!CWU><w7*=2ip8`{yvrAAJX^d_{n+Q?8n8j;H}*|MChEc?CKhy(KpEZo91zzq`0{`
zE&-2^t8yrw{kJCsgue;|B{Zehx5i^!v(Vk%(B!Sa=uNkP&(mZ;_JQCWF^(R76!i%&
z)#IFU(659sGgxwd@)KxJinzF>qi+bK#4fWfH^!;b4YT<Urga<~>BH#I-5li(ovj_6
z*-|fe{{}Vg4ak#?q*=&}E7*!P?zz!Y2$vn?m0reIOp5nFsv6+?*%l!?Pj~1cQ*B48
zXd$HlV<l<)NssV7Su*w&Cn|`)v)f0F$UmAR`y)(Yx$dugl@h0!(y(ctQFfeGL!3QZ
ze>>)Ke>tacWdNv4N5b;TNv;?QpSlhtw%hf+go$GnOP_1fYH@agBJf{B2>lG|l}yib
z-77lfsVOnMIj?P9hD<|VP2r-DMJvjLpJL@eOp=519^{fu#lL42q6rhY;$JjUToO+-
zG~8C1nZ5ex_P(_Y4KS8CkcSAXfvYP6(HiOYqfaYQ6wa&10iKzmyt{oSbCs3Va#alA
zo11IK+MM=G#45UkV+mOBQ>G`>?n0J+Sm@lu+gZwj+*WkedSxhDw5iy6`RuTU3oy$7
z&z626yQh$2SL5#CB4(saaraE2+@Kghy>_yo*`Yt>=pp_K76<wla^1{2;@70Yn0ltt
zhP^Dk70!i0X@14RynD`OBKGb5Zl0ocg=6_3E;CqKn)*%E(MP?i1lk~Xhf+uz@+y({
z`5q?x@;r!u<oe(^+4^_0?^LnD@~IK<hPSNwi+0cxVUHc#2vX3TPD^J3YGxLV5^0pL
z?bAIEePT6<f-U2;Frw5<=>8J@yZj}cmfQr({dt_%fYCurb7a+SCAt9TM&A+iO37gV
zzJOrP8k6|JFOXt9f$%>#__N0)Stv~>kgx;`bb(QAhKgx})yr(%jkmg?L)&(MR<%>H
z08OKJmoqlbPc37%)GHgSgbJS%wEZ+d*GY~;#qPaU8fZxy$XHrt3*HEc`^*;L{hYmA
z-pGw0$O;AIH~aPJ8bO0l$6A*`gj2aqU7n7{6~2O*A8qOg37^XREse*6G1Inbj&F~D
z4ZACma%4L*J}hDERjW;=t1*DXzRUZN`LwNRQ&(C3y?KuiZ(Vs#R4df3B`Fh-q2#oH
zcq#Bc{nY$M_!QBa`^*zGtDD~&^&NL(d|l|m%N438@ZqpqWzA0srFFv2sb_SBBu9?t
z0~`6cKZ@6K4JYHX#bk_yq_b=97nQFhtn%d<iW5mQ<Z5FF=H5amux9{{hRstlNvzJu
zanlC#(ug*0QkH)w8Fn!X8^yRAjv?q2Wb`pv;8IewR4RiGgj8W{Gb?@tq#H>I&?a&!
z;zUl$bx<B0R7#t1MewI~Qc}gQKb3{2^JF^&mHX&+rKCbG6_xXjIH_<XhQBs0+T-Gy
z3EMzT;5|=e<<rcurT}Ji9B(Nt@!>3%uW)ZIyjZW)6mw*iDJ6cJHBR`^QiiE2hdE{D
z#idv<YN^DBD-~?5+{g}($hHpZo_h~`A)yzhJk?Kbg)Vlg3F|2x;@Uyc-AWI*=Ey_3
zyTDQL+wV7+g3C8aU`N_pbGcsc0n6r0GIh^BlE#5ZthGw~F#z~rkfeMljI?#DNO(M^
z@f<Zo7(yY*f#i4Nesn6mHlC=k=0c`#IH>7DBXL7#f?IONs?Fr=`E6WLLYorv*fNj_
zs6|Yb`-0yCo|bxcbfr$wo5-xP9$O=fJDpR_zykQldkIkdW?NnZy8Y*!f1=|<0iten
zPZ4&KP>?P%SAfLkWu}Cf<5itJ%quglv4Vkc!$8ft`Yf}UHaY+r-D}YS)0RQ<w-V5x
zE8fd<qwndO6B8KW;<xf^_gVw)pXe0=JMwc++R*MHX)<WQz&dEbNZzbuQ#yovZRy-3
z*`^Rwe-cCBiaap>s~7HN;iFo|rE+(ZfBg=@(a|#!0JsMMZdVuA3^eN8Kh!4nBEo@s
z(p;)N8=iI#jZsk)Q-wQ=Q?R*&<j@!@)plY!upH*i7Jeb2&TbJRo8(HK9{WO`l8ApM
zWze~4XxN0!&X6e;ry9}85)4THn6P4}VAHBxoK?Yxtx>4hP8%ru=x80yab$e<%-b@@
z@K4|00Wb@>NKzewzhP2Vwt5_D;0#}v2o2tS0f)HfFDlU9Gk)6`l07H0!#*WNOu^4m
zw}Qwfqg^q%sUvQ4?AJ;G=iOk2E*Ts_oVjfzvDtu$E7Q^*Vs#2UV>R~sO?0--_A;r;
z;Tr%!Im7}jOVET*<_uGry{ulgDBFrYaOF@9ESW2E=+b)Rj(vbz-DvQkMpnF~+#<s~
z>Us((y6JEKVyk!(*)*G7yveStW;1_~8`Iug;;=RtK0Em+6xFi1!eTn_KH*{rUv!pT
zWzwg-BPH$dRFFvs+R-c_=}qulLL({=!Zb=kBO>j~?a)n$mR_-d6i#L|s8I3yky_md
z;QizWU%X*7P(H?F@$kaX^4HIDAbiAj{HGWK14qnWf^oM0A}B<N_9yq}i3qyJ7?{$g
z(oT%kP8WW}>f^A>6#N%|%n)%e^Q5@7!bwbRC4RB;OM{4X0hj;bTlUBMqV}yR6Rub;
z>7PhOxLC2C9Zlzaxa#Fl;iGoq$y>`EU{|i3NrEKTQNR5n?C>Bt^e@67!uxuC$+71b
z3Of2Tf&}}qXCLwVg2$yKM_4m4@zv6+`4gz_;gZPFN(2UeQ03ug=e6GKiq~zZxWg8H
zed|HTW&Z{p_pk9LGc@5z@$wcD-(U>T$n96OkHZTZh7BI)<8Z^cn*m(Sh=wE{pkU<|
z|2~3Y1j5CrJ+k0jmo21ieRA7?HGMtYObA|<Ei~oy0Dqv}w7yLJ1y^m8+FX@SnREWV
z^d%2-YJ*vylcdP(gPjK{(ABPWj_v389GkKjPuVfp1<YT}1}OuhWThqvV|y!No%EiO
z0pj%9{+a<|ym&zqMsh6~d}q>Rpkb+6M}w5SF$s(bMyR)pC9rsX?088JFD=+hMi}iI
zE@d$el0?3PAYK&mOrv9)Wl{-ig;pM_)kkjPe2qk<uU0%wjNS1YoZzF?Ik<%3<4uNZ
zq9mD7*#x9`Q39sD%r-V4BlP|)%U4JB(j120{|u=eMgQ7VhUkp0+C@bO=#7{*SKW+s
z8{fbOGsj(yVjdZt?;tXa71qY2IxtN9W`;>sWR&>L(X5n-{UH^bwZ(zG2&%z;&}M>e
z*Ji`-+g6Z|KqSL3mz&4IrMi*5A-(wq?f)X{ouVTPy2tHcVrM3kiEZ1M*vZ7UZ6_Vu
z=xE}OZF^$dwrzcRfBIj1H+!$@o6~)|>YTl5)qb9L7-PN#ADKzKnbi|-L2z6?*!*}$
zm|dyds@C{|L1z}aON}Y3vb)6|Hy{9i@x1qU<7?~2FQc{Sz@4d^gQK0dgPoq53xB4g
z*?ayJuk4>C6QddteCh>L|C`pQIKa+kzfl*F@MmhT0;&1eHIbiK0|M&d-6(hdt?OF$
z*wXlf#PH3T><oroOd*2#35OC04_-tcRkk!8UEumkG&MiQFzGm50^V)3Gw}RR&FU2C
zqUE5DUR`Z3USc&REh}+U>vML1JfKu$A=p!xS}829#c_sRC2;;9Cy|by+I}4t^nye*
zfM}tE7C*iruSD=1Ep-QVw+zH1XUIqcw<BM^zX;VXC4X(*PU+!F_e%ODMwhg~`je2S
z8`zxBksI{Sk+Z-E0aT0fVD{2x;US0|JGQO+$GLhciX{`cLS5xwy9M^SdTJ0<w%{c_
z3ZieBW=@y-iaB}wg;_-}mg%dtGumc~%_g)8Xngl^&_CxIGMWvVQ%JdqK=G1b!T;!X
zQ#r|r3d?T6^0YNWlBE@d_64>|{60SmT*j6v_+#B3GQ6+*0S>m?Py!6)p(ayGZy)3k
z%M*Y@)J~y!HCKFFH#+)rg6@utbpT&>q=g$I!ApUNfEP6%F|$htLrYePXz8vk&`?*E
zYVUv21uOF=oebY1rc9p<pHiz)eDPukByY4IGTo<@8&NRIJ&=(-AP^s34IW0+zn%{|
zP!bzppiP4-;x@P<+!~zkhIjyPv&Kn>O4;_fZoED86U=9GB6;<-Hlvj}g$?agdpUT*
zL8a8m1e1FZiptppXlV<tcr;>Ld}SMR8c_scOOe@g?+UxsMgX($r`A6U!%|O;!!=&B
zydH5Y-#SGq9htx#-WU3br+Gs>Vis5HaX}6s3LrR9a=k=IeK)y;Mm@STqD*(AiOBQ;
zFRgaEAqqa5$)s9u@wZ*}5IAJlIvmdK(uf&O?@Kpop<12IJ|VCP(thY==ao{P_^Y|u
z?Buk#C`+$GAzF0s%3bucq$0yju0j!q<MOX&0lTelcL`h@Rj}FYiE68-`a*{MvLY40
zimyeo@-TS%>dePi-=_4I;hrfen9d;WrhQnVFN|k#X%lkwdYhY}YaO$fzn#NkLtDMo
zes>l|`<H(Jir!N-3^~Lu27}sPoGyW_eR$`|anap{Ym{aWJ8h1!DZ1Zl2bT|<{gX%s
zV28G}cJ(f26Va!}!%?#Yqdw<aunwAl_!HcWf+Y(Tc)b5fUPq@04!f<2rnd$hF;ue1
z?e6c7&EHANc`}!@T@8-~?@n?*zEg<hm@<rC{N>cU)`kl0<o#M}YSZT)mF8#O9uoQP
zws!KLm|0ep?v?F-4o6!)5mTcE<<LgA_xWd2`l#ohYmY|_;)L|reYgOKibtad5?p5x
zE}@f$R@Mp*ozKQH=jEQ}@h?-ho;D}%cM7$qCd(Dr?pJG!J3~JPe2xrsIg`PE?$VFB
z?!4+q*B4|@?}oN&;No5vUBZta>Q;nJO%4*)sL_D<s(waiW}{gAsM@G$FoCl*JDu3s
zIo-zI5D!%{r1Wodx$*><-Pp=DJ>J-O%*TL@6^2!A){(D~_dU8?&?{;|9IfdTuz#Cs
zX_K;n-STT|dl7eP6hQsEx7OAwo3o%uT6G|d=9I}oTGf;oAA&}~Azekn{-%g8zqpi<
z+tdT}w8apF&z<7I?fC)02E?B`s)w8nLp%yGN4|pZZL3X3DdhkpIr<4IKjQm`4bT<f
z62{@3c616d^ng!bKMw{|M9}<z(pTFMs7hjjp}w$tLlsPF6hHXerX)L&)%kgx={gTg
zus6sCoecX|{~h@%x0qZs63I7Z@#98b*m|FCy6XHnsn@&SP?ArQ_W{9(+B~pnDW8vo
zmvo<jwkB79)@=aKU9&!)H(h1l_Vw?(*bo^$+}v%yuJZ~dqwx~_2p*@LV~sCc+mIu<
zf}3)mlwu|pajjC&=<0us0b(Z!`-+^M0dxA^6=gop7qWQmts>e63(<n@?O)HIQ)xU9
zN%l8$fWs5^1wEWzn2o+LnBYz|drWvAwqa`{kzlekAP7g59t}D9bBg`j5&273PZ9WL
zM=i&L3D}wAldlhU&OuwjZ45B+-lhMH4837HHYo@w3LmCfkP1|h3jd$9g6R8m-aO5-
zAWM#QXvEn~U7*cK^#JIgDkf5OISO{pvwzl8X%r!rqjrGzyUy{p_+;Q;@ykeFS1B~W
z6kmCqx7~=b%4+<x!3RF)5{aJflI}uNfcnB0F5vPMR~^(yzs^-HWux8dq@TRfd<PCw
zImq~LyM1Iqm>c~-WzDfW5N)Og1-yQc-PgO@25mhUZjj~{>T4f=3uX<ANaxmUy5s%|
z@}u2IKn?e0Vf@p#6t25w{PU$%Yj6P2y0IXf%8W1jU;iGs`Yb=1Lc)+k`N-DE=8KHW
zX2oIkC4Q%G#f#d|h<bip%gbh9yV`r8?RJmBdd177bGC}1GSpZuojQFe&{ZT)oSAxZ
z{JsnW+eS}@=gvE3&Jbi0<Y~lr(G(g%FsjX&h^L6L=GIW|4au+O)r;SA2-s0%c7EDw
z9%*`5bf0Wi6H^;<ceW4qLi^L6?S&Cvea%REpc`DzqE?2T94O8Pzni7?)ElSH`~jzk
zzxMG|lLhkR&uRCnlnQb*QW+R*$QLVD>{>wSUPY8h?VDI!Uw__f4O*km?<XmvpnR;v
z4V4vRY}u)Xf0JoS-euOH0U#Hf^||7R_CK&dZOkJ~1$Pes<Wrm`7AAg9ob$)Z8De8s
z&9RbREVaDDNB+xPa12$B6g6EA5APYCu&`!G`BwCT>`TbG?kW{cxM0o}p>8;fywkA+
zDkW1#Dm$18D%CSGXWo+><uF1|*Bteq3Q~v-A@3i|wZJ6^CI1K01we=JqWN&S-#r^=
zXB?iA%E89d2$zOE{0QvAi2GJ*Ac710F)gQ#9*kWih9RZQ&2bT597M3NrTadaLV!>i
zy6sB*S$E@+3A^MS9h89yv<qkP-SS5>6@F4Xkap`7PIzjRd9&S>89vtht6?9X7Bz?o
z;OZRuWz{{+bkJ=O0k9LlbK2Vasxvs-=c;n~@WUh&<KK1#y_xRaAZ0q4I`=wq9N9Wy
zjiWj9<G8xdet+@nOSOb1sxN*TaIbTw-9|bgu*fz2N%bU@E`1C&>66fTqb)Jq2FA}%
z3iUr03Mji_-lxZMGVj0pP?9U4Ky{m)8cAMr@_P!c|6bi)1-$a-Lm^?&hZE=L_y5VC
z<*gQji6f0eG_rIsva5GpJW_6fPX4oxE6lymc^`>jnxVqH)Yb?j_BafTBU5cRER|~^
zF(ftr+x;S~g(#Cd8!MnY&Dz4H^P&H<is|USZYJu97h+xNkr^Kw%$YZ6_|yVoeX_}E
z6i;#NA{Spa4Dk9OK^>E+!r)DClVrztM7*gZ2WyA~mLC>;F^P6r+fn-SgFtoM8l{xs
z&G_fd$AsnxI*zM!q(mMlNA8$m)JYk*m~F8Ij2{U&neMmz!Rnj1dLFTG47;YjHUqMS
z33e&Kukcqmeg}I6Q<NuZs1aSucE9jsZaj(NZfw^G1%PDq@|~m)mB|aRk9G4h=JDXx
z^Ae=|Ey{jqrAn1xlqzcp{Z|E6BTBY=%Fr;{bJ~J$(CXb#D^T4=v>BrO$TOY)bjPWM
zqDnWz3|3WmbNc<qMo&f2iq9J3npXlQA#W;+q#Ct^Xb;^kBPWK!FE28Xc@oed8vV1)
z0qYIm{bRJx_fuR4P1lU6b$`1o*r;Ortgv>~SEkeN`GKl!7(?o(zL=v~8GP;SzF9?!
zjI++bRHk|lj4{aec2qMTI<U()7;x#ke51K=E&950*lUZuln{je^i&z!wy`-}xWd})
z8j|u_U8GgROQ>Jd{=&4j%kh$^#xCbj@@ojty=GjnU7D;YeIBhpB_(O4F#%pCpdKV%
zftH=-svK4`t&sI__+qqU5z+H!M0GQ$nCA7qLJ=`d#5BT<UGd8D5RW}R*qkzVtiPP7
z#<#~zP4^}kx8PmTBPUdCXKZeBntK|5+>sukALC@E|0H@cq(19xrNF8150WR{`fC|X
zXcq)0RFy(X*A6%y1RG1r#?IGK!ShV56tV`F!A-Ay;X5rkFOP^Boe><&Kv`J0W}^g?
zH?S!13=72Bf8Q5ILMMSzDW9q;nOx#*yRSR`Ea^H06|0vFHYKc^n-hu6nY)1JPd(nX
z_G^dc_mgYW&i9jpSDg5d8}`r3$k5fMi($VH$~#bfa?_*U2CaOA7TVb!Ah_M-x7_a;
zJ-)TKm%HIiRwdMvI{`QOgW<6eNw=3T$+MZouH7;Dd9uJeJ2}mvHe=DDn|xCJEbiX1
zqzsVw*L}w8qtQjeTUsx!$k=+&uvXP@;A>IRrrF(J#YEMII|3?9797v}RkvGE1It~j
z-Wng;ENuY`Q=d8RU+xZJ0JISH$nBloFp@<ku!ti+I4f^fK-xBFtAo!62Vg~Fb}Fwo
zomhvgh~@C2<J~m3;bEF^i?)#2DPzY}M|LW(CMhs}?K7ETU5s1g)&o}erthEyqbG$5
z_)w!Zf}JQBd0u`W7w2%i`FMb0+w$U2PF8OC_!3VP2NT#v*;^(6_9rK8eLeDvmgD}T
zo@f+fRY_-FWFy1YGvDtw4(f1GMpGuQEu~V$vP>{;SZ#T;NexI=H9EYR+nl4d%_RD4
zQ0HFED7o__Kb@T|n%vC}LiruEmK+qP_!ocIPJSZwWp!d=;RStWc$mt*sSvS^#*knx
zqAi0Plrm5j$4v@o5QVK_I~<<Thi7l&3q|ebd*Pw}*{Y^EuwG}tyy5W3AC)$_0B=Pa
zO>*-e|HLs7SAh)fH}xtz&<ne!hj0fwxtB1>v0DjmlD5=t=Jz5qw)<lpI_!H77A{H+
z$zSy9XVG#ny46iUTjHqMt#y=|px>|+(pC0zJ?VB6Q%`_?-9JhL9r*@?qKh;amk`e~
zKHGOjK}m{x08n1uoCaKZ|H)sucZ63FSu9sMgp==ir(YO7A0e(>IxG3&+F8u&CKC4*
zky_1)mdfB*sDP7+;{`J4LOId^=Abc6!ThA6(g28sAC&t2Xwm1xSpWXWwe(VxjG)_4
z9HVNI$|(cdja7!G%Kh-isZkWFEd!f1phzUmrl^Z@=50wvD#ViNQtxE!az^s}+gW$o
z+_HWwYqo&RLNnn2UQDntCfpfHP{eYlXC|U~6tTs*@%8rePf?PDqPK-*vFu~NeNl?c
zFMM!WP=qF3(RhhUgi_1?{M|2Cw&&y4TxSC!s_FnlVO~sE;_B}YBha=)^9PD?g3-p2
z(nZ!kvryiEBsuzwgWOj&TP<$x=}o9qyUmL+2RPYuw@7TWZ}17Tdok*QiG>m&oXdY^
zXc==fFsbe!P-J_h$Nz5b1UQnyoKJs)#xtEsG5JWE?b6geKAy%jhs5_rIsiz}iLO&J
z4yFTKtObe4v2B_j3D(v=_ZAU)Yu&D%`T_*(M5lXth00-_?~j=i5m<|L^{?I5CWcK5
zv6vYg?hRVK@)|PD?>=6crGyF1rk=3cc`U;~5e=<BW+rlz64<`8OFVc^+$srG<WO0s
zXIlo`-LfMLbPaO5^QyINu228a(_A3P0p<d#&Hby)TqZS5x+e9J#IlovB=zDG+2aHq
zPXtTz^pgqg{V9_UQz@0pbjedGS<B@9Ck}}Aya<j)Gh>p;PO;Dhpw=Vx6GGNS%TM>!
zSI0?0Cq+kwBrp?0TGo!@lnUDwVSx(L$V$;7gf+ma8WjCCH8N?V%D`Hoi2?c(VS-M1
ziNOwN=DOAvg5%X{!4633O<}ciuFla2uGlH?gIBwDI3%89BCb4|>+NmDJQZb-7!+x<
zxFkkmaM6Ez+}b<Z^Jf17pP`R`t!IH7GvVca_9cYgTgt1r!UtTL2)=RC{Em}uC+Rw<
z8xq2H52&%FgF8%uIKhiwbO6M#s2d|CpPCZZupit3o{QLvT2^jMi{H0t|5!DhVU31S
zXQmko<{cdV`ctMdsV+8WI?n_|YtV3s;uBQ<E-Y*Kqom$2??nuBkOV0q8p}VNhJcMl
zW4ds1MCj?4mdYWh)Rg@RQS+@@!K`}a?M%=MtZaOmu5tm_YX*OdS`{$PsQ&5M3`zN+
zGNvxse;7GrJk~OnoypU2bfl&6Zj)7^>EJu20g3kgvY4#+xS=|pWUkquFe#mJs?ncW
zk|AeByTLl^-&nxZ%3FA1>QS4cx8zl-5P>{yhm<7X6;#a=Qr{oUvb<vBg-+roi^^ZQ
zO~4tBacEm-NUHj`O&<{aU+F7`Hq+pKHSb=DVPm8(Br=MxMZ3ItTl@-;j3k#JBa2Rb
z+F*PZF*Y$A0~I1Zl^Qy!U(j$v^u)ZE*p%_@Jt*v}$m9!y8ML4nTtU?E9*FtdI~hUt
z(us%c=i<@?)oj`D*MHx5GS#TZ4#`4aQ}9BA+#_yxHv{ay($?un%Dfxt^rf^T?JJoL
z_Ga??;L8S}u$OP?)qNgo&<=8C%_U}&(I>}CM&f8{HIzb>romo3_O!i97@jQnL+gTn
zcuC{`Zf{*lU>_)^FRQqTxi@}Fc+moHbde0vo(EshlqA6g)5<dPt5D^0#L~}D3Dt&P
zGMy)K!v$1_U?&dfEPtciUc?Px23d9XBnH_e9AjZ)vG*q8rim0&LHdG-aGD9a{DyZ!
zqj$*o`azAv%TNUkS=@~=`AID>lo)0TEA2;H+%bywMhFFLgZP!ZlqOK0^1oa?M3lPB
z5~ZQzGVjoXNcRkr&|vPNwhuc}Z{=?xHmQC(ZUFqJ1vp%72cqY7B^rWYTbG@~>E3=B
z;myFrC{vEiNp(Ui*bL!IA_|Iya6aL4CY0}km8v32_LpuIY7iwvsPxFz36U=6`s;xi
zpNT{Uo`M<E9w&%_?I%Hk2?<m#mz+E-=5fy4eU8`b<_=RMI39rSnJEz{%~7d=mEA{)
z-~dVw;2CN0!L0cqs}G=vZN{P@st*Q!c3Z|ES_pHg`q|W5X=mG5E0L`bvW$=_uq5f!
zunmAWv8;N84b<rAv9D{*<}G0FidQy_KpW%<OGG~XJzEHzkGK|gJ?$|Kev4c8tkxhB
z*o(i<nZ9=Zk}G21rHvKRaP5Q9O`$AJ`vFXjv2jNf`h-EYfw=4yX0bW>s@%24#S=8#
z)#a!=2xe2$?SiRMEq|t_*Or9D$K!j9DF-8BTu6$-CO6oHBic&{*>H|yO&~>Ll=kM&
zs~)weY)YJ|N}N}&yPOTMhYLG+d?tvK#y=2J?|f!^eNt>c^|yiN1<i5dk8T{d*#No;
zjg#R+_(WdA22_;V7k9)6aYT04dZo5A5#6T4e5>X~-*J0}XH8|T!{Sh)wOc3Hua>G^
z{B2}aybH7o{rT+=ur)JbWrW3^O!ri`GK4j!5%A`G0zZdT4BLOWB+=6^bbkCp5LxG7
zg>R>ZHocZ?tCp?8Z{T@G;QmLx*?^-h(ZMH35j$IJ)Q<fnmJhJ$MY=LlHYxnJx->qV
zw%BI!3Z9>Bhw(GDamu{rKVeq28f+EtQWnV68)>Qdgej#IHsl<$?3@98CA|hHch8Pg
zKnKjE6U~#$_ISInB(8_7uOqv_k|mt!;0|{}Sm@RsDTM~0q&&3;ui3{l1i**w)Ro^)
zoM&<ZUiH-h=Q_^4`Tf@0&(f#0tYMwRuAO>C;GdaI6n2-yCe9f7p=?8Y;=PpZO3o=%
z*l=_XfwdhKU&>=$*_tv9xnO_k(ARVXr&blUO~-(rT0-^&;^4)0a08Op%)h^bH4MY;
z8uqn!OY%eWhu#GOk*;ZQ09VVUOLZtu))*cJ&69TiKPum38p04jEZk}tzk=<GgCi%H
z1b!c`VP#tB=G;WL#JeD`EzPu~lPGoO;zmx`xRk2Q{Y3d`j8sE?hpk9@nIK#lwq1L+
z&7x0u(z!yI$?g3qI((AnOq#i%UFd8D?BX8RiisJzg=nG`W>9Kw1`K2BX7+AtlLFhR
z)^9AbRI1dLPAH8OQ^YmmnM^t|>%|O4Cv&UW%5+Z@mbyz5xqq-%pMWm>s>iQW_g#K7
zOVxSHSAlTj*zb0S1_>$>xGOjbk&bXA`qE+rx+CRiktKwkjD)c@V>;Av<3ggvTKMrl
zZu0BwQ-=?}|LSF40uV3Vyw06L>^W*kl!mymyPoR?>Yk}g%w{gK{PCtus3`+j^*_DN
zhs(Wv{!5q^(_<i(VHQEXj=F@zM9XhB{<`hN{iPCObwX%Vs-n#47!hGuTr29N!fDMN
zXO#(vCIMg_5&&FGgahy_vkjhmaOT>XNKIi%LSYQ$yMPuLfTzO&584$3hVfW*Ip)>?
zP<IYDEdX&}{Vt$M8dtan2fw_<kS%9&a6&iJS-aK$s)-QwQ(f^*1Ng(Ho~eH*zoOXx
zuJ@n(6hX5g?1!j9onZvg6K1e}@c*S4??1%{j8r65v!Prdl&9asjw9g7f&!J?1&{(g
zPXM(@hZRtdQYfkhq*eWrUPb+jI2U&5M=8I$wE{s$75^60$#g1?s82c$&dIE!u_tSi
zkxI5pS4LoC0ohDV2MQ*l#o-hGzlp`|Uk?GX3J;u4J;!~vpTJ#rTirK1o^HgFtJ$XP
z+;^D>L1~AswlmH1B3h}}BISVIt**HBM8H0eB8_etSUvJ2>F+BP!h%Aqq`r>l8{F@H
zmh;jO-~CMICI372HiJn}kegMl(&n1=?%78xC=NjRJ=f5I@w{G}AxAaApQ7^1SszfK
zzK+4feJ$!M2g5)dt$&qV4~PU5>@=K1=5DcKoxz4Uh?v@X)0y@oB`KFw)_`oUl}^z;
zlfjAaWTWltX=*Knl=x?xZ)lO#4tG{W+*y??TwtH)u6*~KV|H-DM0RmJ<Ja=%_1zco
z<&aMm9ZfLIJ1IlE=I>!o<C8?b87e5o{}|L=1jXJ0RABZXp9<joP{D2cj9AuKDIlng
zo{VJ&oHu^>K5|+^9X+{&g#wNQwyJ$1hB|-QWzYXb7z)hB6G8#2<7x#T0~*CnL3XcM
zt(+RcoR>zYtY0{7`_Hh(ba1)B&3ueK_Tue26Obd!wl91K+8AkO@$->6X}*n9yY(B}
zuCOU%ie|Q=FuqO(ckXr>O`FR+ib``?IzpO_r--%#k3Y!3WTzQwS^#{GdsgEo*e7#R
z)MI-V$8}7Sn=RgZvuz8!G%roLOQ+!ZU5Vd>pzh=+uiw{9|LytN9R{G4f^UvPk^BfG
z$!O_abv`&y(AFMEFHD&lHRk2P74T}Jo|u*%88W-9CszsJd6F}ZhCPPveZUZY(O)tL
ztx7prj_1PSEpMCn`U7%OZHBpSiGDnVj5rx@V*XuCNJ}UBo<*|SS<bHOs{|7><j62w
zt~w~TtH!Eb?8<L7)WinkJ52c1G|Q`7uZr`q;y5|?JiKpdm9bC^Y7-_fXdpN88}SN$
zHdNdW%I@tg-#45|a12)2PQAA5Er!5ari%KuI+8rvs~8PLFaX@Tqk^hXo8al@?Iw2E
zL;eI?UN<|q&Fwm#-T((_PXkWUT?(G<7oNpTfNWtuvnI#HImfM^R1ANK`(E0*99R9d
zX)n}K$Fd6#uO^2A-7Cvt{YhjTuSv{VtlHyGMlBqwJ1C3MBf)o2`HuFo0UMtc-R*_v
zSdg|_Y&|X`O8}r)nU+Y3ExWxMp|W=GFJt&-dwQ5s7cR_p^1_+H$x5<;v-~d?D>=!O
zmD6D=Yp4LGiuU_8|AGGYNNobMuL;)ek#{6eQm_J;z^F;%qUy)rT~65UOyqg6`^&x#
zg!rmK4!i2o(E6+0L`O-iu2KnV47&>EAcMx^&vPEFU@O3@U7?Q&@!n<CvE>d}_fB?j
z+VNQa)Y8zAw>CAO$YW67fwRE5ZmHzfZnTC@1jK8>AULJ3woyeiS%+%W52pPZK+yy(
z=OS2(wik?cNTq33zN0hiCKYb2RDFHHbIe;8FY%pxb_#R){zy2}gM@IWJ7M}XPDea9
z3$MBmfRAo1Afc3v9{qVLxNVGU>ohHvxf_A>A{WQaE!_rbDV;<3B6rlS>E>c`%NIrY
zNY#jLM@<fo3oxw1aTsu1k&4K%Zc@p*G`B}PL&k6Rl*}?7aXoNFW7ZAtVe~c94{m1?
zul$R~iUr(en=(Q6)PPiN-AjUW{;hYdR2B_*B}@qX^dTQmJVh6OR8U#yiMr7F)nKQ)
zb%pPgk7(+=yQW|1QMb*P<c2qf({a2Lsio&M)rJ?f6f#V*DZM9B?9%_s;HiO`U$=CG
zABt}B3+|yZ2}=s0?h++P?58pq=0N<7MFXwZpFssAgIO@0;oUw=!6c|4CHw2Q;Mp2r
zt!ewovaA6ade<nM%ayVle!?a0mw2ySVrAUa%>@xt%s1d;HrtZtKL6$w3`gk2s<rG?
z9ZX-I?$I#Ln_8xnRQ<^3PhF<Q>lX#MPgGq=&eh^1bZMh+?4?dhVO1cN>$4j-CFc3W
zyNOeGkxbRGJN-_30SXFdbGBDPpa&G-x8N|@T@mE{56n+l0kV>^ROeSEk+QK!aiWTX
zm}`ynScS|2%c6h3thKo7QcFVNOy39h7nEoG6LnV{9%ksJrNos)@M7`EVRpOR)wQ<s
zGd^KJE##&D+o${g+H^VoS75=)#l-f1NWYYoM{r)iSGVq<L&u}q9h268<Ur??42;4S
zxgvTB@Hev}3_7GB>Xfi!`j6nQ6t95?V(Pk9no<~aGjmQto&lDf0<))Evi8yscN$d>
zny0R}Pk92{&eu`**Z$q;=J%b0SPsY6!PU2}uaCO`@(_1LtYz$S>l*;y#EYaR=2kWd
zms3E#W_}*Pv-$b{W;nCfD#`QtcAch1Gq>YrlwhU-edM~~rVNgoHv78zVMDyFy~C>@
zSxZ!Tlm=gwS@WIX@pGt*rngQEjjYOc7h9V#XzPQm;!&$r{&e2F>CIcKA6{DNvoBLU
z`WjgHI=oKP0$<R+52eBB+2Jh%p{Swh^b9CM3US;h-X{Sv(gc3=K$8rhuHA%GMXU4%
z?<2G-r54vGkEZZ8G53VZkyepp>hW)yeo^!9E-#hUp(Y>M>4Yb1-cY~U4`-7tk%!!T
z^M1BlWf?enFZ@few)wUrRzbA(5v;ovYb%iqTCqPBzPbw`ur0syRN23*vh#H@QUw@D
zwn}l2+Xad?<o3(r8El(LLA7We+wxHbWQBuH!e)WG!{jc_Exk6{`AQR82k`Zq^>Ixb
z=)NSg2QTJco+J{U9`7%7pJc*O%m)>u1&WRyd#8f>)*Y_BZKeMq`E@`yyL^%S_V~U?
zer~IAzn61%8;Oo}{tekFmB&O;0a_8Y{`~^Sf5-Wf8`6;6UTJIFT=BI74*LH~U*Rh9
z<jlChfPzD5vka?HwYh$06O9aXr9**{2Hx#I@Um)Wk-IabRGl83w!N6wAD*9V507-;
z1zy|Ukw2h3yx0G?zal)FQOZJQ86%5bz3+f-nc*UWn>jXSOmNr$ptiOt+AHH_@Ejs3
zWz{=bUTpE@uh1;t8f)ybm!FHbuos)jitEdI;yi~tFK}3Y{gzCZebYd3<BXH2(qO7H
z+Kuw<WMX&14!7Bc7^{J7q#VV(0U1Q?-pvhxqJA7^?REe2m@>A#S(%90CaoZTWhgiv
zeS$_e^XoXOAaf@O;2!@FFz5SB(5lRDX$D*p6JDil)rs)*kg~&IM%^IYld|K9YimGI
zYG}a87_Zc6Mp*oqH{IC?$wALG?W}FnR6L)tP9gVP6%-Eu{)9!m-xh<DBq@y1Mou?X
zk5(AWx%}E#v|-@oVrykq#KJauv`hMK`@Bf^*Zwyu(cx=7VESfGzqGI?sI*Y>)i#;d
z1R|KTdH7bMX*k)rJS^0A)hh9Tx~*8sg{MLy`Eea&FaM*&9HR<Z(c~M5TtyDN_=c#Y
zUF44@!)F2nor#Fw_V-O?v}At^!FdiM!sSNdv-!)OpU6d~Dtvz+)x-{_F*bvae1|#n
zSbH;Dvszv80BO2ytyzI;_ph>03B=p`*G$195ocf_0`h2$PPtvNP6$>;j(<XW`I!r<
zW)SnR6?3!_m6-o1SSN1&W3RFO>SIp#^sw|(VaSv;?NAm*_g~8rp51xPJC!Yyav4ws
zMG&!3u{IK`AeKnx)|iw?&L%iUAC#M%JE+uvB4BN70PqTIbYMRo#w`Y=Rdy}>rn(PM
zF`OVo4$DjE*OwRPX6Dl$HYY>}oQ;X}SdZzZ3pnG@O(#0J@V;anmsK7=r5&<-Ib2oQ
z7BqAh)T0lAiU6}mM>j)IipxTo6#bsz?9vu{p0Y!Sd3u2?DWTp68bo@+Yrjm;9m1a;
zP%lNj0oBe0CCdd)-HUXYI|YJRgW_)gt~HnG3ds4ms(=JVL&NY09?ta+1sK|(=v{QQ
zkmd+=aq^u0?%-m4&E9QFaXG36=6~e)`7QBq8MV}Gawnyz1~9OOQSMAs5RFoabz967
zu3HmvhFY!DdwVm%-yeYoQmbaD1cc!o(2kHHfHxMzPpUc-SPERru)C+t<@eWLz|Wx7
z#&klP?IALOm7XN&N9ix`scGt1MQg|B^7#AaJ2pkXmt(5Y@$c4tu%$jpv1|gI!Z*Z1
zj|_Z<xPK&zmXMPctvr9;T;M9t3RWm*lS5sM)t)VyAYvjFmlR|oWN|vu?II<e$>7?Z
z0i&1Lu3!&ZsvSfjlEDbI$|S^{_uso_*-dUmT$Fx>3JEn>$Ky(2wFs6r<4MaDRYyoE
zHV`@(Z2fHH@HqWTTJX;pTA;N|1<$+8?m<t!sJQ*H9BzMH)4-Y98b=DqvpqO_Bj?4g
za49Jn0%`=qzDp9PkE3p78L(IWwgT!70yK6<u~W4()gzir)I%jOH{I}&T}}@wcNW?F
zYz2{~Pz2n8D{q!Q%Ejk?%Sz^T-8%`a3!%|9F@`86$*~9txij*WOprcQcUWpKWh<%A
zlBxV1nUF6O^b;xi$SOw^KKQHc2m4H7iimUepdhSY)c`C3XdI2JDJwi<9mq#$4>(R;
z%kdh-jKwIvqm?TQSw1*lX4GP692baP_FU2BGj|W(G8ru(_2p|Aw8R@1%5YJZ-W5b0
zi~96l=)#Pg4XAZQ1W5)lj{jJ&B&~QBRLqP7)$s=r4K709(?Vw<6wn-SGe@@!%<!bT
z867veVx{S|eVc7|-Ds1GcaniF0+88c^lAdN&yRr@>XGjMu7Bt4KFwPPZ~R(sB)c7w
zvBy(OF*R49P>;N-QiNnJfQZ)ik0RfCoCf#eH@kke@9Y4}n{q~QKSa}zbO0O?bx>NB
z2sWPZ%!v@=mTUWSOG$0_#S@(^i|iLze(%<qCzs010MUwON{D%Yc1a?v085d4cZl<g
zJLwAIa6VMXK~t`;Qn;|m@#L&(VNMZe%6s*uhsF9lhJH41{5k5%_LGgp2@MN}l#q3?
zf9h1d5u3c612t%V{GRwR3~q{*HlTsN6yo%}ck$5`Qr|$YE^dlhZb3s0U1k9Tw`Mfr
zb<{u`3sXXjXe4<tn{Y8a2PjZN@cK&uN8DtWF8t2DZWcV}BR9W4sr?O6gaNSJsuM)F
z?9VFBwOCu2Ql7jy3N5fKiQBYxD?7>u=(I8E<mQt5KC^Pcy&B9xZ72zbKCYS;b|=KS
z_9LEreWYRfAKls*$@j}t;;kWeT6asIml!mHJv2a9W_RRPK!1|k6hKEl-Nnq6^@N+f
z-ruXO^@w&e#CZuM79hg^t;C-w9`(0n&X9*#{d6MaEk(@L;MQ9l<uug?t3y^WIc@>o
zC2`h*<8WMib|Ge^FkYG@!EWi-grjcXdS`@yMB*h3fx!uHJ$BQ-@F=`sghYAuDcs=m
z5-_mr=CXg}Re_ws1C-j*#O(1+&SzTs!Zv#84+>a7OJB0Hky@@_Z-d(%>WbT<2i&Go
zSaKE=b1c{o41brVS;p{|Lx^{;j%bg<n2G9jOgk?-=e~#UkSdF>HM}OvK*8qhn1DoC
zPC?^Xh|MGz?IiSUc#H8#aXe~4w#<yRDjWYBXSPa1lIeO@0x(wRQ$1~beF27(&rMrw
zGJy*X75emjgC$DSon<iK6TRPvnfCyZaL)B_vryn7Q8>=9>HNSOE0X7QeWjJdD((@H
zYc0%%u)jc4(5cP`S*25Q_qRX31+r|9#KOcgX*A~|4P`D+QLr;<3P8w)LMNagom{1$
zo-eQvbm0CC2eiu$^8A6BL(1dhl<O^i<?*2%oTORN*$l)CeM&r_+&c%JPWZ@89Isop
zL1w%ukE|3~eu@--P^S68ZQ=?npl*!5Q~W!3Qq7mc@UcZcM4^N1p%^}am0Q`+$R**<
zW{CEXci>90B*3+C!J4%nnzK8_Q)5pZXW@9Q;VB!N1#mTg)c<oA)gV<B8?iZ>NS`~}
zn#%T{+uEMW{fax4SLTXnmnE}>qw*`^Njts8uC!%JpP-!=5+W*+@2B5M23du*2qu|h
zso6d^jK#!P?pWLxXn3i5Aq6b5?m%WM&|rsKT2=N1NJlX=HZ(C4_wafVrD=}^;y)PG
zJqn@#RgCWIu_e;M;(TSjfnd;zzm^`?c|<QjzFgT$vj<*Bc-hD3(>B}ET+6DiR$N^0
zGg;;kl0H9Pac(kjk#0hTD_7z(Gb~m4xGN{*v8rB`-W~N0i%RE?TDS$~LC}-)&n4t+
z?v)+_CVz=hwhmERVbP~aWp@|PjSxV0D!?v)8N9MK`>8>LE*Y<4?`_cCwIo9jeZSi8
z*9RHfC1tLsW{;GG-~2<clOTUTb9=Mf2?WA(uBz6Zqltse#jA~tTal|<G2-W+G}+?U
zMy^My%&m~}=qrrqM5y&kDNk}YBw|M-?BaYRfdo+R>K<OEW1Fta5><F<=w(xFBFt=n
zjVlT9LKXO<21$$)YsF~Y4CUMj^7*3%DcOXQhccE<@0*7!PIH>9-TNM<;}6MBl5<gA
znsTiP{k#KOVicJij=xUL`0qVL7uTV{bbg$ExzajjY6$Kj#EAk(q(8e$UwD*1I3PZ;
z3L1z(xk_~`jN~gDrjtm#K1ZP*w5$~XzR>m$uABz)PO}oB6YfTF=d2j$b~t$g<i7$h
zoPxLQQ?2|;;Ady?i4qu)4CPB@y;h=a2r<=7zZ4~L<cuT;T#bfKFiY?KE{hkGu-_%5
zie{%~bd|*D<3{+!#9JAk!Z{O&g>RI6ME~W<XtMe*F6&ybNQ*D*j@xTIor=H#kkE?@
zgs5YSsD`!Ze1VNo+Jq`es8QRK#k_u+?G!Yfc`S-BT?02<)kQockFkmq&SLCiUj@C>
zanxF0`yv*cRZ9GGgOizY)5EBXnB_%wBr-S2=#aOWF^o$mOYQH`%=p_O$FI@Z&4dJ4
z5)Vn0;8)<0xCF7FD;!P?0cidck=dN7Pn9x?%T;XhuGQ<pXRss{seM|0@8|Q*T%&mu
ztL!XlCoMB!m@AS{=u?9!2HqQf#jg_dKoMN=J79gNX%%l7AA~3)ARgY+cIaO6AknQM
zcHn<7gzI-9a$wWX&D>!aKE^Ze9fy=aNB<6(A}Gm>z@=#T01PoRZxRgSx%*bZJnX-a
ztWMw#*OQ2T@P{rzS$JokczLHQizk-a-GEbpB<J0p{eH}VS_{X`GG>BPzS@UWNA9kN
zW(dEog+t0ye3|#V_84>6OR6Ke4DD8$O#(vB_>wCpxD02Cud<TH^^C8<aNkmS+)Fbh
zgn2l0mS~wBAT3^8dP(&ss}{MOKIMyCP&Oq|B#|X+uCKH=LCzX?j4@YorV8?zMjnoE
z+5*u~!WwichZ+ZR+0S4g&e>luD(KjQKs2zh7`IvIQ=!X5Tnd+7OUN@_t0?tqH><~S
z<zp-_O%oYZIIk0l&RS>d8p$Vk+Gp<?i6^|;XLy=`#1rkcIq|q!@m+?ntBt?-92d?K
z3D%?rM{%?yw|EKbFKVt5?C;K5E+<+TwG`)D9m=7kTW8*<Kc>#4z>l(MDrg=iTul3S
zq<QAsyYLcJkGl$uCcAtrw;(O!txeaxDnGoFi?aYo;CL#XRZhw(md-kv`Id@-rzf~7
ziP+kJMT{7!)(TQ*lSoooqh?JNFVfL&=fto1g2yV!Zh~xk0bdmo$6%N6O(amftrx&1
z;q_5g$>~{7^QQLswfeQM>|_%rVP8+_ao~O)Cp`%vJEva?bK5AA^bltT%n4RY6cMta
zp7CamP(DAJbS9HaYK}Ut3ZEu?{W_ZjybnO+DrtroOhV@29P-q@O@g1f{<4Q0lmyS;
z6;)gf*DNI-GVfHI1c1qN?`V@GKCWN8olnBJx7efqI6&ky{*8=vH7One6tP>=d&P~i
z72*6ovm|XXR~fUO#8wvfK8RcO1g%tsO9eDjDcfrgx<MNhkWv*RkMpdQ2*p3va0cMa
z^E;T!E`XlRTZ!g->pFD&le!cn+rW=UeF2nBxo$7>1J9>-(k$h^bC>@x!y4C@X+^TV
zubCw0tKP?X_+r1-t815QU+i35QtB&S!VEKw2Nx!Vrs*G(<AIN&U@2|&-;41UQw3(O
zD0jM(wB<Tt2a6MYb?Yk(i!9Q!>3}y9h!(TPsIkW}SA{B5)Pf~xLPgODbEHMW0xa`H
z6bZdXqj`_bQ#Ft6s#%8d>X$!VldtrXjU@hJCo!~mWuzug;>~`@H?TAQO^&BOy*P<r
z$41lV%;Qs2{O9y}zM}H*oS-E$gAq#U{xEs};&_*OY0$#78!{G_IS1Y>pr-<eukMl7
zNw0$?N#deU9u-$sS0f&cLBCdm^e}u0t|AJ2v(}7d!xI*nGICKkhX`j0X6V+KY4pe;
zle7|aOQ>%&lwB=UE0@GBJ^0+)I;efKHS2XW?a;EetNRP=iHWckpD)-p<7%usuuodV
z-D8H4#5yU*Sg0Juk{(?G$k9I-V~6M8QtjJ{y@{v|OkaTG^^!@En4YEboFuGzj8o7d
z+Rgk{_~H3HUOTMb1K@3HJU;2!Ym^2!HI4r!3{K}6=JwpYN^s5cag8K!Nq-dRQL(VN
z+mn%gHY+}jg`nJ6zQUO^*`f`ehP}k2iSMO!4_}2rcpgM%t>2CZ%qF%t%iWPn&VP;z
zkX$qo5V5Q#QjQ$m7Jcx3^21`*=*2UNhO$rV|6DeYbH>V(VI49Pe;yQ-CH;B-w!69}
zH6W1U4ZxJ}kvnc}m6qDSv?*L}siv2WtEc{?L@HDMw*Papvdk0UaNA}01!VdE?alpS
z;`l$`1{dr9v&(Y+w{N2w9)cP`%7Nx{Syen}jhwmAd3Atf#0V|yWF2!I$Ok##zOw4x
z1CTfG8c|$uE*o*Waz{ql3(5zTDIAGWg2p~xx>bGkx4#a@5v=QU++YHp?v62dygl#l
zF=9Wj<32B^*S8zA6mtNM4N@lmwjcD=j#J*cJ2dbxVg5tYdoOA$Ljj~bRt5iursuZE
z@!vGPs+l_d-XJprwSAD*2iCtC&C~mv@%!i>rY5?y9KZh~xX)kR4Bdd**5JG4y{mjb
ziBbyMdSJSLWO|nyQIV{B<9f(TD=gIOGA&b7RdTY^+q_EtQrsUgQhL#(a7g$g$okL&
zq8Ni}q-d+4kpK<QQ+8s%Hh9c{483(T0a#7mQeFRz)6+2jkL126;dOg}{xhP&+*IOq
z)M{Jx=gKR&i}0?xF9Q71J`Y^uO=T1zuP^H0m*sw%({4kz!;MV!5LsaATc?X?A?a-E
zm*##3aZ|^_cAt8rD_i^hUg`^{=Q_{IJSL`)90A}~Q$bI<EZKi5ZQ)X9{uUixU;0l%
zRtdeqHFFg2?IfBJK65m_OL723^}BC>qEiR9c-1cphFAi?_mBR}$2Bvx9c|c7UZlyG
z?xPp$RJM6tZS@*WIQueVY<d*_Vq+8zZqWA?NdmltgWgxh3~RRf)b`=(v`74{X+XXK
zQ9FP*E!6C-H1mAB1Bcse;LCJhLDEZ+Ipf+AnFB(O1Ur9`s&7)AvA9_wbWK;CF>~N0
zrO$U*xY?IX=I^W&CdvMy>BVF8+;s<VXzsuIcL3LdtjfUFn+$@ooC+e;)E%os#w|6w
zjxbcd_T+&6TR2tC9S=ci-UiQ1aY;!*0)Xl~QmRDU3iY0nqc5kd%70*bH*lTT;T#F_
z|AFZpe3xnDg`Wft&5DqhnT|Ie&?CZ*W$q7%AxFvm>zETsbMe!Z5-$t@SA|2Yo<XZP
zpSJ|%(|Y)+7E<owRlLX4Q*usU<*6Ek6hfU%*WW-uRWycW02c#x5G_sMEYIZtdB0@y
z^u1N0GzpESh2#>S*lD+#hl2BpQz1dQTfJ*HO}{FmjOw@S5|MW`n{tH8GJ3VmmxBG*
z;zi<v)P}#Q*M{%%Ej*%G!;S<n$#=q}0yhiHG-F()$;N@vTI8}CCEvD(8%0#S-jMX6
zkyHs{)uHU!v(lh6)eFE2>Q5g40(>g<`2M`)UggUEh2h}{70_hfQrb68lG-5J7|LL_
zQ7x{=1THzsh~Y61XKuSGuQ>WXR&Yj=9NMaaW}|mjEtwtFN#N6N5`v^y%Vtvzg$b4D
z2$n(4%<sVZZl4ixCz{P3Co3`;!b6&h$-Z+QwWh8Y`)6<*FW$H58#`1$)glMAJE_}f
zcEYFU7cFWqc~)fb`35db05Z`#Lpdsu$-(uvxC?aDHyNwI+B}FAMm>f6gQ96ZuKkoJ
z62m=eF)i-~yvW>=NqYQb0A%86`V)DYF!QN=Y{ZOSB@jSMWoMc-JW+0L8x%?6nUux$
zj!?8su=qz#N`|&eju8*g6ezjByX}`M8x^&KA#1_G%!vANS4<*hEdVZlE>_DPB<@gG
z;Ti^VX;@S@8z#XERaf&}>~Ae?i1yVfx6;fw`Wh5Ag!|ss#1Jo)j{34x(8<Odauo8>
zT)_3E|31!6;!B+hFK`uJQ>x!b{E<cWy?YqC=a_rz5W3THNfto*7sVToS0Ki<NJv|_
z9?tWY2$?WiNc-FY=k7pQ+bk&ici5_dor14i53*!qQ6aaqR&B3wX1#H-QN3}81b&W+
z#5imob~vjUMzs8Rxz43Udp)PjuOK<!-+lW7iXw^`gSB!o(F#QV8q^?eUXo%cTpjc^
zts+D<t{XDku3Uh%?n?M|3U?IIgDL$bItzlmMan1iL9H%!aw*FI3%pt?#%&^;BN7vo
zBZiDHeM2hRUgarzljWi)<EBexowJVF&s+<|G*Qw+8O)#4^(=krR}1&k57}NuLd!Af
z7-dRK>7EH;)M<WFF*b?_NS5SWmur5z_5xT!GdH2E+t`2zHKC~)*RUk^gga+sMN0z=
z+rYbfbw6h9FnTCK_vMQbEdj>r_`F>9g@*?W;PUO6G+nu?mEQD10I%zi6jDDCju&ev
zDFqu%tW<!fDDe=wF~s>0iH~@2iG$2j`iv=?VJD2#duxv~N|IFTViI{B9~L{`$&i3U
zq0$R!K@-3vPneWCNW`i_DHJ=Dr3{#hKrn{m$S0RToho_%WLbatrw9^yG<7bsj(utM
zta7==*sadAd>9V`!gXW#R#5n|$Q!H<<UPwNJ+Nqx%-p$PF#cr9Qw~RfeP9-MrBhqz
zpM$ohPk;{-c+@EYNyy>*twNCdr62X5?lHKH>IeX7=j%ZBaz&_r==O!0f}zog<9vcm
zKR7ir4@MGSHuz`{i6x0S?Vq>r5hRnTYfH1!dozW}!=ouozUwJW7b<aIq|;PT&y?A_
zCr@HugmiwM?9xSV6|3!iYIsVv%XO2b4T&SBU&aDCsT*3eg^l5jH|#<Z9^CzRTzZ8*
zYCHf<N?$N>8o%~Yb(V&aMdMn~{xjoRPutu!#MaukgJ(`eL2-xXhvw+9TmNR3aRy>k
zVdW>RO!_ZeQA#KR*RZ=m%#Ri9&5(BbUI(gP*E?jRtfKnrSbG%&L)}^G>vD^R)GyU7
zuazd<fl9?NEXCQ#y}UO_FmuR0F&B^O$1vb6UI^xG&0Y;@b!QW#W7RC|jv}B4CPFti
zE=28L@f#beafKwPbr|1DUzp?#5n`1r_QwQ*Lz@}AO}byj32U+<mqm@UTS3xL#2&b2
z+B{`v>4$Cp!4JmgwH=i*B;28)trfQzw6bK1(dwFdHcE7a(eo1zbCszLuAfZFNM-;M
zQD&uoq@a@Ekh?Qtre}P%NC`5Q>DF6`lHl&1HVHKJ1t`5hvtP2WCc+g-qC+Ftn%akg
zs@tWj(9DLf((Vu1(*cvQYt_4s4o>5Zyy;dyIVk9+H$!L=V9b;IQG4sUOPMWdTG~YS
z{Un1EtXj10av;ea921q%V?tV_3Yh>Y-wV+Wrs2Nd>5$&~9Fi1PUXJ21{i)-wG2k+!
zPIx9ML_X<{NyVOV{KpzwkIQsU#Fxz%1h@1fuTd!Umn*d8jZsGf1CI`~M4FD%5OM0m
zV8V$DVU|y~J@F}|y(n`my_t`nZQOkWewlIWV8VU$!r|@s%R^}n7bK}%!}<i^8jdx*
zf4BK}k>B}wiKg)JNwbW->b-$NT2~QPV?)AK?YLa9K^6VmU2b7-2)oP0_XhtCDZauJ
zl=JtwiOv=t5bFH86}3KPO;04bhP_>80=D^tq7?WsqydZB+Q6T5W_%knyIocZ{RH?D
zWVyPnM9$X#ydJTb7q>InSpxutQTKmwxFS4nStB21Qs?3l<jG_(9Fxa{DxYV-zMA?i
zbufpW7s+&bD;ZMhsdif3W$O#2H5|oSgA^E2=v6>$I_YAXvjun{OqmqylLY$leEMVb
zJboXNB4hD+f=K-ZJgdf_UlXH1>_*}=Xtjg_Xxk*(dE_$V#=dkKq@RF81}e1x>g7@6
z<Bb%EEUy)1ysmw;`D-igZj5(|a`K<Uko8g#-4K7YWU!l=lfW_)*%(D-Tf@u2!+GBo
zJj!BcL*QG<(Cc!nHW<P9#&9$@*%DJP+DMU?9-+R&h)v8TYb0z%)r0#tX2o+{8zUGo
z$=N6kdL{hevgxD!v8(|o^BCJs2Pw1;ddJdq*tds}P0Ilo{aSU)0QGF^Z~1HGWOS;w
z4}1M-WX+sZD~cS@m}cgDn_YCBoAs^tf9h*f0)BcrPLB-!%}FLJW^=ou;xkCO&+}{-
zv=%u;r7OZEx9lBK33auuCV39IsyDYumeK!ikZ9&*z18nMBxw&=lcHH9B#!9m@tG6^
zNl1jtg~FEJRzdesS$H4j<g)}N@i(T?KJVR$0E21+O~oY7H~NX|vb7*460{~D$A`(l
z@JLfC2Gh0W9@T3{Cs+Z|!~QOgi446&d$UOr(_?3NvIk{sK;XX(I>Kh(6*3(6RbvJV
zj|3L3%uf8o*f)T}?yZ#pm6pV&d03N9JFhM=krDSqq3gxYj^GwE3a@Pl8hyd9f>tqC
z<djgXT6O*?zl!hNc728%p5DPv$279YB>m6-;vW9kyi&rm5}fYz9*o0{MD!kp`E8C~
za{E?kY7JaIby(Q^>e_uQY%q9Zd0IbGv3$afb_hBBV1omMwGn*l$}<Z_!>F>knIE1i
z)@_hjWS3Nga%y64xy6%1JaDIune<q(@OPl)MXcHka&ovpbK%59`Ob~P^Ea~SXUIYS
z>F=wD!9TdgES+$OX8*tiS-r#a5g<{e=EE7M^lc&fzRIB;Tv7j(ZFc&<Xi(jZmv%$A
zP4U+S&}D6abFT;98_C6Fia76TWv15K^1tu}(DuUnLy_&=eMo(Sj;x96OE--os313|
zaX)s-p$qw0!r(J{1Y6fFj)BSz3!i4HX%cT68wz~<2K>B3+gw5z#1)>qc<@b<Wsk+}
z!Efta4ZJ>LcR-4O$MBa?jg)LdML|X;Ym~~AfoWer$LyFc8GOa<ZbLrW%mw|JCL=6V
z`-SKHu}4H<P^0_-ERP4u9@NtHV@*^}Qv9m_KdFpkJ(k}n&+?Z2UX?svyil~)qsFvO
zXIZ%~(&h%NURdxSmK2j*Dkzr!A6f4dUD@*l{>H|{p4gb!wr$%sCOL5?ljOv<d1Bi(
zC$=>cJ2&6|y}x@O?n_tq!&&RB-L<Q`YFE{Vp=pYNIX2IzUcK*%6>-Zb&Oz6}vhNkK
zJ})dC`ufLcFt#N&z)cHD_IsbGAl(Gc<Z#CqDdj;J1CCZ=OOO|uYpH+YyEtP4ZOV^9
zSpvZhWlFZlP|84pJf~1pCRbvvMw1B1F~}g)V^YP+-6NKfT}#pEMK$cIAiN-v4Xl~y
zNmC(KNX6(SH(@z*M`76fw);QO=jGq+tR)vFQ$O>MJTi;c0FH)=6kf`^m01L;Ou27w
zv|HvIKkSYNm1(>ty;&U9?w*P&@72T(+COL>upGc1Ew;oAFRTmWXgTAN=%TOe<8^rb
z#r|3w5pc$2cip&z&-z|ZC8E$pqe0G0yJzoRAB__gIx&49oMQ4I|Mhw^D96M8sMaMa
zY#BG*yDkZf1{gLX0Js><@7l&Sj+{&;>7s=y^!>r~EPuwDSOGY?<1@Td=FJ-3-l0mD
zO-RQSV=A0&x#*1LKjak;skxhW#Z$5&GkCB9f!s|Gf9fvOW5d+=7CH|WKaCV)UQu1+
z`2%r&8CGg}g=TiOC(xQPVIE)m_Ad!^XchyVJd~;x0Pv@pj~i=AaSo-d)1n}A!~HuK
z+czY~B_QExnjU#R#0-_AMdQA}5XeJYx|yx8V)1t&en7uXtgh0A26&ouvl=&I17{Yw
zC5XsVpKrm0Qj>jB&eUI~Y9?2^Qq4<!y{BM+Bi+cOGXoGlxYpRL9yN)eOHeIg3k^bE
zopz%KJpMea3V0Vv!m+OMbJ{SS!bU0ce?o*?OhC%bf@^{y)zTgPI-%|Ic8js`dGqW^
z?qRdk%#R!`H=JMjQ@yyo9C2U#mtn*SzUP)Y1hVH{F7Ky|9{Y5#^+P$ib@5&{cTOpA
zKlV_&xOLcq0t&7v<Av~6^26!wSaP>RlD+5vJ-6}aWfxn2@J>BTuTVmWS?*~QhLm{h
ze|4Q9#p1nPt&l2y7b>f5_Bwj-rn~y|e0WHp4?cf4$J|yNN^0I~Rw+TG>$eky6`}l4
ze6-qAs6=FI7s7yLMEak2$zpS<?vE*+_#Ua2>1k0<6p7RK7SG+=scm1rJP0smvzWx!
z!<Xd(GF*w9+juiCPlD6M7lYvsC9fIb*p$3fx)kH>NNgkbvd}uhJ^&ZH`Hq^T=ap=m
zg|q|aSZlc44i1m^h-R3z4<Ce98>Gfd1u5r#7VL{|=I(_lc==ufCc=nrH9(9wo|7w$
zoce!Qj270Mckw2r1kcm>+W}<JJa>xFklWO*`M(Beg+rqzy-w{M6ST%QUd5Rj1D}{A
zeV5`0u=zvozLgR!<OqoPA<u=w&E$2#*ogmZ8ezoB5&3Byij(~^92VzuL;%F^S-2DF
zj-+@JTfIu#Jv(sXLB*SfSM1(o(SOQ5BpToV0dIe69<j}ePSfkA&j5rGd4AYUv1Flg
zJx#QvkVFk2`s^eYrV@oNSHdxd(FH|vt!1O&z(tuKN%9rXcfxwn`r2uVcW1Ji=C`1f
z;w`L4>g@-@!8@U-mT-OTf6KC&l((7yw(oiL-+~2#i@_fQPBy19X0H@AM!x@0Th4Z|
z+D_f8+eD=Rt5`R=vH%c3PAs%WeqdXMF*wmtEa4j(yHraZXD8_%$}U@TbGII$GlEri
zfx#@Y7E@<?Ru*kkAsemhw_Kw|^nTg+EE%602?Fw<S-U6l?3NXvy@Pl)gtLkKi!Tda
zG8H+tr1Z)AI7W}NW$SVF!{aIHrSC9K^2KNt^H|C9x01hmR;W<8A0&=V*M3@`kbSQl
zM5#i=5Co9y-0Z0a#1N7Iy;MdHw18ZrI$}S4#l+X47IIfL@pzYVIe%f8ZzjUH_ug;!
zn)7Wx$F8;-ynJC)bogtP6g_T=Rm*GWT5j)yrrvt{0jFQ_F{7>r`mgxd?r$Q&u9uhJ
zBR%{@pZ@NEr+<v_v&3x~U$hD5*RiD=N+D+_%aNfzUlu<RfCm6@|9Z-`B07^ZaeDm~
zA6x#SO_cU9^+01#y<vN5Dz=~QD>Hza43)O^x1~)ikA~baenUU%e*AkV&G!)Tw*10P
zfb4|$_AyCYy9yr!i>`~ZlGzu2n9*n0RJ`2Vanf6GXgp5eBj=`n(~N)#scmt6frod_
zFP}O+Mhj=wj64NM#3{Rhy-SAfcDY%;u)b;PGVhltoywJT#$_nwhP8*eE_0BT6FFYo
z$y7<OiOm}sAaXS*Z*$49EykWIeCws!HZZ2Yc17)<*&Y`3b#hRjCTP*RHi}$r8<4~A
zZK?iBT+{Wcoz}tMeWjlQWl4P8;%E`;m#5n#FeONa&%pr-R8{sXlAw0kiV1T$xM1ae
z=LyEE)3T^8#EF+H?7PAW`H@G9?z@^hCHxCn3N`vS)M_}m^@W>Q*xcmWRod{G@n@x+
z4%=A}d%A>+X6iw1C^?Bjq_?C8ccjG&p9n#wTkVg5ISuukmkKGW`zshtm5HoC<%Dj3
z)CKE(=d}o63{90A-o+ELv(odv4jWEq*{~M5{q<L-v@!dNoThw$Lb$6N`yQ0+o>9e#
z$)~_}+VF>%Zo2C$Kz16X>g#3DF3DMAg(xrqJwSxGY@O`H_pm?oe{d7;jCcRxCYrx+
z6Pk583b#0*f~4reLK_lqE3B549Ogtu`I_KFz<;=j8k+JX8K5r1|BahaWkvcAH?g%k
zsDzyvmqNb~O<iXHLi5&qz^`y;E&-BR*$6`kYFBHkn}d}k-!rszO)n1l3XxR=qokmp
z7`sTZw^&uq5fvvO7S%@;bkFqXEs(jAnMSD&v0>8w{jNc$G)t#J?UH<>`)wu<pw0wd
zJ|%)_7ea%Zi&cm(ts~!I@r_&tcc$DpVQ84n$l1mkuAj@4Gl&w3OPx%13=GBbWB`ME
z5dme_I+TF$K-IDiG2-CBg^#dDn?{r7sKiJrgA*8E*b#I1+XaMU<nYUT#Uj*XNeofW
zZ3Y)gQBzjXAJy582J<Ws@Qo-PurwV>$+;738iI~59a&r>l`0=XqA6mfr59bpyDzd%
z-;G0hezp(*#orH%=xJT~UDm#%BE7n+DUBJw^-+9VP%QDcGK3NPhp#Wh{5K!6*_(!J
zd=_2ztYdJmyJO50bj^Zw%#`{QVL3{cL8@5!eEK@QIL#E(!5-0n?b5iAfN856!5in-
ztEEfS03iYUMS^!e=y^<c#sDJ~hM`IHy^3D#g@F;}?><I8Q{KN}Re1sswU37+30tnx
z5XYIp`I1cN3=O4))P#B`O8<M}$H&oUsiV-r{rWttxmeH}IT^d8+saV}oo$nvhoJ4W
znQL`_c_#znA@E?=q?0lLPx<iLiO(-!+7C+doRMj=WiV;*c|_)=N9+;N+eJ~>vn0!;
z9cy9gQ}X&8qLZ@l)ggQ^qE_C!%U>uO?<m{_66KP=5p>~M^q>@UHtaovsAlNoVe#*u
zD*vv#NhFfKAA~>e<0)U%O-Gu>4mI)&flU|M{P#x_+SC+Htsek;P<aQTyxe)A34JWK
ziX~61|G-i`U#Q<Pm*ooUZPN<!8ekCQ2y@w+e@YLO$KJFev=3Si<jH++fxsW5AMu*?
z1U?O~Ps`vpXJ7n*E18cjw2waJ7ir?8KiYgk`c9%ct+W)*k%jB&ONUl$4n}uB$H1Xp
zW+o^$dytJ2L+uT~#8DkXaaR`+U&`}S%@sk$A7@5u%m-7v6)1~|5jku>1mT%@A}qm0
zWrC4Y3>57M%F>z|{{?F+`Uj@EfC~PdWCeJtoP0)2S|UcWq<|wIAxxJVxTwu*o<+Js
zWx`|3GRzwoO+f+fngT5mM)*q=w_I*a8fB0ccGh9v*wYE1r6zXHMG6K@7%ZsO;T-o&
zP|TG)3x!wt95YY1rU6~N!5XlihY1Z)2LpC*9k5{aV@cDsueSW)q8Qx#>}TS6B+_i+
zpJ^K~D<(YH3|D-x_JoB+Y`HP#D4tRq_1jD#G0iwKKZSokwV!}(kxOHBbk`m(B?p!U
z9}0byPO4b|t~|nof9)5CNd;gCNGd#Xl(rG1;m}l5=Id>PRl&?%E#_w7+z$<usU}%b
zwI5i%GP^5-b|p#kIJ7B;hXk&>|G6hR^_3P;5c5QfyDFCnp(Pz=k!f<p{LwZ?_?J!x
z8foEOx_Nx1YwE~@Zm+J03_nv7r4Y2;Zd&Q7k&yvvd7T$Y6g8nb)DI8mF}AgOMxs2n
z$4eZPu?eDu%(lNfBS`gsxL_)xsxMNi8z!Dqg*$8x3Ho9@0uu^qcL9USX$3~Bj}%Dy
ze=eVxr}2NJv&TffS(JZyE(BrxU@5N_3M+WkEgVZsD4|<BxW>0nSa+}y<(b$HwW@>~
z#N7a6+=8))NhG#^Z$#mw8WpJW%t+wnOw4`EP(|&%=2Ez1cMM~4_s`odxS~P)J}5|H
zs$)QAC;}laq;hUoTvi}?1nDm`8l>{PuLTNS1S#Cv9&^!}EKceLoY=Q-P<THDkb+Lc
zogzpB8xZ9^LrJktWN}sXE+7+$Oum}s3<3V`278R0q-eq^<?c3qHugbBc0{iqF_8?v
zl7Os8FQ5ta+APA*VqYQ-;qHh%ilHU0=(>yp!$nsAjhp{HHM!>v|CzvL9?AgjFE7R3
z$*-kk0n4g3Hvwve_xn6vBwD9=s#K;sa+M^xf6q;J5%G??X(yov@<s|d^5zNs!Uwo`
z9AIiJk1Zxzi6zr93~T3&KM`G*)k||6jPX@esY>T`7LL<}9gICH7klQs<q7D@=qhaS
z@F<unyoB?MQz(qX{JK%?gR|1LooS@eObIF2?e<}0C`M`is*2m887!)Ub^cA)VhP(?
zi*)IZ$dqM-E-&lE<%w>nAECi+@(j4^z{0X5qbHA?<YbRaAH`1+Ry$K6<ExW`<Bne&
z4x}Q3%(D~M)U_{jC>xSDkFlK|D<$?~_ULL^oeJRNDL)*=Ya>dI&1#AooRZp9w|hQD
z{M&9cME+B}ABKpl#9KO@9?1T1dn+qM5c!~4onT8LX{RR|U8ZtSM$EKi*8(Wt#Fj51
zDFQpW^F?SHa=<O(XZR<~P3&fy2JM4?&%ZWf<*kYCYmeH5EKMxaW=39v&1SyFt~=!e
z!iv#V;VVxxnSziIH2S>Ju($;wpj{2f%rj#2<eO~8J8B={w94o7*h#lY-?MMTIVPW3
zw~}tsEzSK!nMZyF%i72PGYklKzgue6x@j2FvF2{2p)hmXp_P#K`APs}B@ASsBtP~U
z{iz>;dCNi40%N4$9m`!qQ%~MUlofGu!8^B#aiNLk@v|jlldg!vlb-S6zo|0(aqarD
zsk!G|j=15{qJ^CSs@~e)jwf0w$<N>66iMhHKx?<TgVNJZ+?ypQV9lrd=Ja@Xp_a|6
zB=w&$_X49qYR(3<41%%^Z-N~)e1(VuW4kGagDW<0lZ`Z^0*w$w?V5})ptnKhz1|Fo
zpGF?0EPX6X2;V(UkjvCKoY=xUVFL*|j&jBBL-73ct?C7wFAR@1$4^w@2PAd0V}*V9
zprL<VT#rik{@*+nK)wg0B_;jk7;c2iz?G7#p$n`4BH1ymtlQ`k+40cS)kBeevaPmq
zGqr^Xg3kZM6%VbPZbl4?v#1a#+Uz&%L~#%DZFoRsjD0N9_?U8~-ZUek%xMNaG<g!v
z-L77qw>kLjd<=#~Bq`-;-!Q!9cVH>0JpoEpx&WY+Q6Z{0{5QeZQTmvqKZ3{OYn{eM
z$wf2COPT2)3nMN)Zx)A630Z_CTg}KxA+Ts#av%whQ~j??L+g@RW>O9i3_v9C<f#zy
z{9<YXwYbbCe!+1m#eZINej7p-Wh01RrZD9bf;i+iTT$CfdQG~Wxz(b5y>ny(duGq&
z;{?oP+uV9EdU`JX5ESnG_g2!3+krz3fw>26(w=Vvat%{7l`^V9WQtUzK@T24zwZq}
z@S+W2i(|+>nhln9r^R!I3F1jFz^8#ApMm>%lSIwYi8!(a)>^6^-noLZQ-p|P2ewmY
z`WAzBS}u0DG{xDc<l4Yf8=n&)r}FLW;2OZZSgz{-HzXfL+M^FOoR?$?T8K}SXpFWi
zj#`XJTb)`D`(L568%K488U;phs5)zXmEyaBZJDs~XB&&yPQHaprjLiae{n@QB9W&!
z0-WRi%Xp-Krtsnr3LjY*f(@l=8RJ9U08kn{nfW{I4jo0wn6z3<NSBVa0_%Cp^eVuf
zk(Ug$Xi}!>(QI0KNME5fmWc1cq7b~O`)BWH`L!h2T;1uXDT5186m9ioe&*lk=ZL8h
zcU5zGi<Z*tf}WVAZdfI*u;o8KT0K^JRpc&<a(PP)gi}U23)V_iX(!hcG7YkZ9fBqq
zoC{-E`b%Azsbz8uQt@A={f{X(3*LZ6nTYe<V)Fy*#GF-Cv7x&^B~6W%4{%~EY<wNC
zFf6!XC5+Mc(H%T)ff2Qu*9qV29PyNjcJp^9tJaOT{ty_pvFU5Kkcoc(9+ISuLjtOE
zw5i+O&Btat=aj{@+T36L7V+R2Kl>4hf(4k!>{l8h&xS;9<&yT1Q$Xz~mrDesTw;58
ztdm#rwl^*%R;e(w?V_!2g(YvG+ivVeZ<jx4t0dcci#Lt@7Dn*-pSa}Fq$r0lyOdd$
zhL5ydBe9E<lz-Zqn()yk(nvxW<`!eZQWuYP3rDp#R8fvbV~UI^BzZiCBp~~3l^@NT
zHcBdH)}|b8$Ks?v1JLogD)=TY5lX=dL#rkk)+mWrJQOY-uB%To&?xJTKCUgmb>|-4
zXE}`9_HAzS_p{RhFy;MYMyCkZYk<B&fSQ~Tx{Wca=sHfKLVbpQl#FEQA3{Bx^cSf-
zL;_dhWSa2Vo;$0@w<F~B@3P9%#t*M+GuD0yTD*KT7Pc*segGs(Yf(7rYHuQBZAaT>
zZ{>Hs*lzM8sY%n#pxjn<_+PxK-2*{d()1{u&3`)Xh**T^Og4g?au{alF^`ESQAeI&
za{#M`Y^%>C^4h!&8wTy}&8{oK`s*-L#^)!gB0nv5?f1W(EdR^g51S~=9_y^NU^4up
zdwq3?!}F2}R|)8#@*umr>T!A4ZOz@=x!Ct=7a&nB#(%6?ha@8jyE1Bl6&FU>?AdY?
z7T1=n)<ONj4o_f6?@>FOBsYwcfiM59y42vuaFL`Hs@4eu>WDWOhQi?LMSl@w`6>27
z1G6%oeo;|=-4xQI@m8zuh!V51L}(T}3@ytyVO_Jlc~iiEj2NROjBOJ0wD8GfCjIaU
zidM6+FLpm}n?MJ4p%3+RQN4cWUP})_Y-V<{0DqO2tsTZi3AWRB&JA9Mj;8GtznP)L
zn1A(CC10-Sd;bOutmCCBN1QXg3%!B8<gH`Ag4NRP!>u~D#<7=JQ@a4Lm+^M@+o-=>
zQ~T}`-6DV)<Y<i*8fWb>P(c#P&*$#Nm{<|l@b?g}(>Z8bx8Y^bpml@#=acARs?Vqi
zyqfHA%_9d*PDp*lQQUwerWP(DX@kcwuZs%`7-<AD>3FCH8t9v*Lv4O-JPe{yQ#0GR
z7Po(kzLBBm{JIuWvu4+h^9z99NML$UDFD&YBM6`%*dIRvdyR#IL)c0ES<%zv_ITVt
zm@_L2q<$*|YrXpr@g0}q@8O780Af-;;759v4Bkc1rl_&HyJHl%UwNN@v;Vo%F5ms~
zXb{6+Dx|MfOsL|2AC3In;*^pYhp5E1EcN0#2Cd3tJ3Fz@`iLuavWm*c=d1L759>I{
zAP(S-l1WS@kW&-)5MpB^I?oe^0AWfO`>mD#eL!;mk*rUW+)<U3i<fgiLCcaNe2Amq
z<1J40V^`p#fObPLP-3R(3v5oI#hjX8GWjgBz%glunjyO0X5M*umuIu^upnS9yOd#}
zBOqj*Ava9S?vQuoH`~}RhnfK_oIuUsJOSh!il~8Qe`nte^7WZ*1V_d&wy1384l@ni
z;f7*B8-`Vo84v#qft02^0n_hv_<bv+0c=x4J1ZqQQq(BRq)+41$j_1wn$^A<+-C#7
z`Zppkqg?W+oFX--+V@0Ys<2?yO{%F<L_IjHQiL<ujOqM<Xo{ukD{N1w>MK+g<PP}v
zYBD74y2fo!&ZA)emw$=A1j}-oYUImDKy$99h%N3*P(a~IOB|78`5fbtk3v48mXB~?
z?lE3-zkJ1!?*a7P{U?%f<fBs029lYR7lejW6EQP78qog!_;(nbxR4{;Uuz9q*qWb2
z(m;n~$#gs$w16lO%~=$6;jl6Rusgy%+czS8wjz0mbDyhPTE=)XbSDe<?@H7UHBiQ%
zNMe5Zus_}?Lz7KObq~kN*Srx$<1SDCUL*0SR-n~4I*#@WMt4fB#hf!A<a0O4@?&s}
zXE7(%^h9}X_q=d5LeRzk|FYItc$ohm@GCnwPwE^CgaqKyK*x(o%EN!9W_G`{YNO;R
zh|9iK41&U##T*=UTBDZeb?pxX!STwmx(D*>9YwjW>EEfnpz9PRuS;Hy*9$eZ^9eha
zF}wH=t&h+9%*yL`GDCnnfU;Vs{pCjX=+oQa<N7}H+{^K+ksIw)QH<J3%NH&oH)(~n
zomSf8vJj9_Q1E$obk>q;v`xb&QT_wa?L$dL->CI*GxFSmK3=>%u0(a>{Curm)%7@M
z*xl|^oSZ4Ho~l)@J!XA>?exj9R1G(SDUnp}Nl>~IObXTFrM?|;m$jTYcXdPDhE31V
z^|DF8g167ubv43Ob3l=F!>N%LUAU4;oDig*at7#pV;@kSCh&L`sb^M$crQfyuafle
z_HJF9Qor@5xDo<Ja`VlNjPF+|DXgXHS^TuoN8Gk)82R}RNA)yu-)${7jz!>vpK+kZ
zhk3YzX&Ixm5Fl|KxA1Y5N2tB)<vBS+wDlvL_wPHsD`gv}{_8jX`@fm=^j$gX?~hhm
z!~p$t8SQ$<6vfgl>5?_&!;)l*eJNdN9-Y%_0iNJBaZS*mjhsOO$P-qp6{zMujz_2;
zG@OZjv!>VYbim&l5U1w^rDJq;)h+v(Kq`qhp`4&f>(i#x0~u6z*@Cgf0gyRdI^gJa
zpd4_vzz>mhYxNO^u?PYB2&)<mrunML1AwEL20@Ib(O(Q$0uIF8r34pmCPhwflxwSU
z*WE04O|)3JT$JILiA*Hfb#aKh^T+xg&|KeqnZi&XdZOUiW&Yk;#!gq~&t=(bN8JVM
z$@MX@3EMvBfqCmYs+;gGHdG9oE^v2%EMv4PzM526Dfn`okKEgk%AD-*92#;GKtKBT
zdZu)m4TFBSg2-1TX>LJ5iE2KjZ(R_Z&(Ga7Ys!J0=pq(U9J9TM+q79j{E-(7eNUh4
z06&BrCaL<P<vlw*)sWuJ;*DoQ$Xk*G6+MJ>P>|-iaCI<DGrF}gqSWB!m>!Z;@d3Oh
zhdA0Zbuo)|Jh#eiy+#z$6heU%prr!pQZsvSlTKHHH$<}us>+j3#lfQh-IX<XOL&@$
zOf1b^1%aSl`qvH>QG$td@0LC-ZTVnxLeO||k+7xD;q}qz4vne)2jv7_dF@}Kh<c{j
zb)Xm;s~ZCBSOps*;k7&UBx&k!B1Lw0wg@e?@2JLb2LCcI4aU(20jxzo!2F2IU77e`
z^uPhm7Td2}`XY1Lt_vaAq3Z4r54XB*nYeIC1j#BOfEZKw(R4kay3lfDb^nBB7N3Jp
zS(e`E(+UkiFXkH|tet(nb72jHg{vC{dy)hk7ky@=rnKRQ?}x*wQ4z;j(6HLDr_gaQ
z=2hO`eL@kA!+~z9sGRvAz-REDQeKA86cy76PcDNP&xm0G4y8DzR^o~c_fXOHq8Elm
zC#;6%pK|KRVa#9EP5@VrSEU{cr%gNJ6!O^`_^=xlz5)5GBX_Q1hwG`r9M?;2yf}at
zf_k&<p~1M<LZS@LbsjkJv`sB`(t{YmggMFC$V<76fky~N-OFw!Aa<pTlm^2T_|)1s
z$z}wIm$gx)XoLMs=rW65u#P^dHK^Gg;{_Xi+f{+8PU>nRK}aq4^9J?CXyuK?XlamV
zFSy<?Ed7|txAm+n1{T-`FNsR2aP-;c7gDRMDO2+Z-4boUtj%$Vs=moX(4hmXat+Pj
zvk)Z@7S#NKg*0yf<~b=Uz3WY7GqJm~o9o+96+G}A_F@G=2yU?-k5^FKiJcBSt?V|M
zqUR?qOHnX7%84pTKR%Ab5u-xybM$|0z$=I)<!K*@C}6y1z;NTxd5JFY&LS(Eb1-RK
zg_h*o1$5;@@BsY{_o@KV@?C(15@^ay^!c@<t3wiw8aHLY9~O^n^5>t&`Or(2wDTM=
z02q_Us7`0`;0xwopJ*fnKOM#AH)fSOFiqrpa-))u)*hZ;Vu~C)sRn;BNp!s&Ki_j+
zw5Nuw#*rsMS__eFpkdVxZyW}ERo6jXmQ7$u5Z$s8sZhtC6GByr^+3*cIrj5*XG;~;
z0-qmm>DGP&e6X_B)^LMOsB#^Jo*i%=x^T!gUdi7tS&Yj^<pISdGKmoHQ!~&r_boas
z64ja-fDSA=*QSb>b&zuWKwK;4y9Xy|Bc(XPLE@Pu^fLGU`QUK-sMW+|SKfw{DuKb5
zUcp{LRRpvEp-+z|oDr_1O){iIctSX^QrbuVYzG903lQFzB@2a5JK5z3eQO886+0oR
zqVWbcQo4gAsr<z_H1o|Ay`yJ0$*D=}7mbO=4%P+pSK(NnWvXnbFZK$#4PLhS<C0i@
zk3@i;dWZ`(<k4ua6jgEZYXn|wd>0i|+b6hutVFe$HbJyrV+jcwd*orB^?6*l_B*+|
zP1*qH+=gO*;(Sa$j^Kd+-C^l!)Z3I8t#Bx;^X?i9%JDRC8?5?oTG=Seu~S5$iIrnH
zCCp-N=9v$5pN5-BYcA{q-6JJC7w(RMGUo%6U2aaaR;%=@iGNaNEQh?Pm_qrUWppNb
z?d9cC(WCua*w#>!tD(V5{3+qo4H`m?`y&CC{zzffc#O%Y9@PYlp{N#Lqx*H}I6OX4
zUtdlfqN481kyow#OQtyHi-Tv0uXva+BPP7{B%PF7(=39dI8z(BYo0P!X40Nh+(kiT
z#&GWgdSxkmc{JQQ0iBDLvtNOD0OSsgeBOv0n&W2Yw?hp4Xp)U)m=1sBt3d36p8(Nd
zz5--;M=U0e=TL}3#GKaI#{i@Dfm0KMPc>IB2~>@JIXD4adEzt%hJ>f4En#=PA1+53
zXe!T)RdDiG*Ph>0;)-mkOUG@+tB+rIvT*Eu)2Wv@iKxG$GH5Uzdvv6aNJ+33`<<>f
zZ+M=V{sL){*zOwz%uWpmR)kDaC;&b;3KG#<kr~H8el0(mFd6d)t$@c=lItP)ET<=m
zzoCKZY}q(0nktbFl#qQSV<pU|$Vs8%n2Gv6$Ve27LD29UPJMyk{!2j-xbvYXfl{)j
zG_OM7SwGRf?CQ?Rm;VocvN$qIH)5mWnSNJ`DHR8U2gx)2rhUMp*s!Og1UQgUY%#S_
zI?(wNJ~MF$sq7;e?&ea&B|Nnmiu`KNq<l81sSC7G`B3>O(N(2te#czyB(<<plBA=v
zofV7)E|m=VZIQ*u<c1YC5Rg_a3!x$Yn!<zV5v0<TN?_7@KBATJRw(2g%i=*iCj2VB
zlu}t3h3s`@FSaSHj6cl*{hbZJ+PR46*r*a?8yHqJW0x7YtX33UE%Y9Shc6ZbeN%5?
zGnFttHYvUti1tK151740jyB`?RscVz(6{oa6>R!<8M<zB?R3r2Ewj85ht$-cc_to1
zI<PP}zC<5_#MI5ZajmFIgVjTbLJ_<LoSS|ya%H_tG3bw?R1!dy)<b4yVckM-(R=}I
zP?OcQY)sKKKy2i0_Indmu6U?Ps2n04wXw318uqw}{Y>2|8YF)JblGd79O&{ra*uB@
zTf+|TC>vzlP}39$x8#MSI;R`hnBUYTS<?OW@`5ZBaaYzj2wYdTrm;Ee!G5p(PBe+u
zkJ@LHAOp5Q<O2K=pV}79%<AwhXZZ>`kLz9+)+E3)3toVpjGkhgoA-;lu~0>*wp6q!
zPSzzw(TLLiKzQi}U0DQ-ILD?qOe&I1TT)tTsKFyK-UtX)OA1Zx2#A7(qLDw!iy<H7
z#{i&A#B?lVMno~Ws*ad&<nX};GsN#+7I-o;Z?q-rY(Q&Vyvh<BVZ)Xtvj10m@i|c`
z#WKl=#$tTXa4|5tB79%b8++*wKkePm0#Yhcs4x_Z8Y2yGna6<-Bf*ck!@`)W;=H_{
zCuu;(eV??qto`-S&EN39_g_Pe!-DsoBuTaN^IF;X!X(jhL-nBTxiflvTEvFkOQ{5^
zsp21(=K-PO6`HICq<4Ax!u=sXTGJjT+KfW-wtJ*|3X39PuWYWQ{$5ETor*cy`v{q8
zuA}K+N;wOMviKvZ#_SNyOF~_9)Tarmn@zmV!SAE}d}Q`9DE5A<dvpKw8E`xcSM6jR
zx7}I}79Y=eCE)zS%xAomA;SkRr`@{QWhvNn9SE2;zQj%I`zdg|%5&c4HE!8u-nN!d
zC8v8eCa1d&@_*p~9v+5FT_z|(VSf;9|B%6%qoyYPb9_8rt%Ue6^*ij-RwKl}rT?!H
z$hP)c6Za$HA>Foi<un{m;&N_?%GYp(!2Q-#jS<ht-ZYKG=*PN&sC87|ccxh%9-i<>
zZ*D-FTADpN#{^5)FNmgT2^sve^$KC6+vy=*pFCkAG~0RHq5@$s8@V9e82Q9uPSq#~
z7V2pFZ^JjPjSgE{gU+pW&-Lo0lkv|sO<B{h_tLbLLwde<?jDsRFN(5wlIqoze0!cf
zn`K>>HCkQXkKVgm`G2~yo7a5Hb3n1j$edqE!fRg49c%FeT_Cz}lt+xm5@40twIww2
zR;PVpER}lpnY;($Qe{Dfv3iDD=WfNsHI6$uRr{MSIBx#Y%{sJkXoBC7YtS;g946yi
z(Yf2!{vl;RlhV*#Xs&q2dg<4x*RwIA+!^ZYF_WK_-KNk>66NrZx0Mq%P<eV<p9%mb
zPO!E_Z*J>(#MEbc5iN@|@AU&=`H-RmP-*N0jWk^tE2E_q*%R+7P&GCaaOr@Ck4oX{
zKffh?ADZ~U9(rMPnfD$yx=RZ}_nNmVbH@4zX`>JJeeTNw@`Sg#Dt@<;Gzjn-J7j0n
z-3+#lSznX3FSUia8d>}*ldIu5IRtodZPL;gUkAn8^jH~<krv(^Qa{NmGWrB-DByQW
zr}~rHC<oD{h#|&t8o0qd#|f#}`}2ML?KU<X{*&NK+;5Jd>KZd~j1q!m!_k(4L{i)w
z{)|jSJDv8APGa@hv;&~4Ek}fq2iGK#202e#rZMcM?93AKzSUk;MuuD;m<DkF%2Kdm
zw&95U`q_deRXnhc=7J)7x~_~ZJ4q6x7Nyt^k{az8S2`8fcdJ1DH(f6{NMJAz@*|FC
z`tMGkESln~9K)42N@wKm-;Q&pbziok28<yhk#YT)zvjeTffE~tY0&}pWX&EyBfHY$
zh3ofJwScE<7+4W>o$0ay3_YH0ziS$h#i{it!4*-)<l+Zcd0dR&NWvw|wcR00`c{H+
z!K2g*bjQHvajCg_@=5(=p;T`Lta^)*7Jj*!E5y?f5Dnagf)!Z{CY2b1jfvB-SdpZ2
zLqG3m7Z@(8F>5y=pSGT+S2*OEw2gHVu{J%;OR^8<aTeGlmC|<t#wrMloa%~_YPC(-
z4cSI(IHP#p?fc8@vDscsgOk{zo`15Ge?leJt@0yBBoPxi#E@M-%-rFa-y03|p4q2^
zuLG0TkC9Q2XQ9pCkGaQLLo8`J7D0l{I&_Yogw?InMUOAYiB~nR$82j_mQO)wZ|{!j
zM)dE4O2KujYvhiA;~MPMB==ZD3woeA1?QWk+lL`E-%Sd!skuE>bWU{iCe-QJ=pTi+
z9O}_DlxtizFS@HsB6POngLe#7dQ;A%(M60w@wndMryZ_*lxY|+>7p}uQ?hY#)8^lJ
z8cN?V=mRo;trCuvjsK#Jtg^r46Z)#*SOnqf;Y39CBEWY5xaFZVM_1J%BIh~lunCOB
zvJ)9EJAJFnIo+j~)TG>Tx%0NB4a<GAY(2B2SJYs=aA(N_n%nWrl!$gsJbDx`9lFhn
z46-0(=vaMX85Cy9!-6^KhxMAi%{hj3Y9JC_YL4o8$jU+=N^vrctZbEX<l#mGpf6w$
zpY->S=q4rshs!kPugaPDZFLGaB8SjXA*kkHibb!uv$9tX$2DV{XO`~76&>*e=K-0c
zn?J`+s#~EZq(fKG#<Ft|f$<%BEbUsAq87EH{}U1USi7Q*c(fy`u1h1auaXK<q3T2s
z>gi)(;Mbl^1rh$d5Zn|exb31+;a7pcE`X!tY<@dE(PR5rhvLYUoaAipN=%W`G0ERS
zi-794_f*Ld%ON;j5FJqm7J8$u2CpYQMHwEijP@yRnOpy`COT8Hqkm@wdcBEgIEsjE
zsJJwrkt6@8H#pjjE0U@OsVJ|hNoD3g*Rrc&(W+MmQ<GcD{lmQ)=6H=Yig1oCUBC@g
z<+za*`{xmo&LP$(c)*Y}V`-m!%&&?`t+F=O8lUu`8Q$s@MeDd;Mr2jH9JWv#JuV#n
zwGz%1Rfu7-j0KkL%J176i7EX$Kku6HXNkDTj$vt;R+qYU2R0DGSymjH7$@~!ZNJ_%
zW<!rvO*0Ll?QY!{M2%AnO@AX$3LyHrlBJBCz>Y|LQ=0%*gKHVLEGV0!SKV`2(U^|U
z4i&kyy$Qx671V_BHE?KhRpC15FFSyj0MEXMyp&bz*_oRkndLKPC81+0v8&AQ+6MUW
zOvGi(1<x~xoJnT=WDq)&Y$_r^E|EHIVDjuDdplrk27<7oMeS_RMg6J)3Y>vDa^Wt^
z8}KgQ4;4XYU;W8E<gz_|ulaI$IkcFhr$)<vEhA{%-I_%S-7JG}jc@=5$W?K*Un>~R
z(LZW{1IBkEFuhOyB{zo-kG#<>HGoO<?$7FMuHMKufqR_cFNJOYQrIA+cMyx_<NDyr
zk=*dk&~~b9o6(E&5`aK)cj&>p#T3)<A}$0=)w@mxMN@iL?e&1wKfXRd_HGedUn-(e
zph;-DS6~I3a7TPAXN}BCI97Y@%(7FUNpAWqAX9to=a_fLADUQkUW|X8UI9!u8ZVAR
z-UQEd0@|cb<VMA?^al?7O|rR)3#Uu<w?<Bg)m#Xxf{P`RjsW`wH-|p(|4-vbH_!iH
zjgK1L^dCF<{+t0I>6Q!9b3WxE@SffP#a&HRDC1QH{!c8~MsM_~sjVQ6$F2vR2L_g#
zdDF3=&6Fc^_rlx}LTQcu+CgdkQz_{Q)G%mkT~ONgp!3us<Ef-y$YlVuf0QuVC0^fr
zr^J)1p<Y5j*;J%F{hpP4;(1+~W@s}nn^(<a++Q9%vmGBmsqmFcpQ~jl=TZ_gM;5p5
z_Jj7&W6VUMsQd02a(G;En(hoJ-0fMR51l;DbF&iB<~0`c{6T>w>DtG?QRJMk6}@a!
zy3!UY**i2DfGN_pTDpafRuatt?!I-$F`aAlPOMMbMV(qH4e^D5=3q}9m;MTn>Sa=J
z#rt0ysl+b5vYaj&>`ifLyXhezTdokJGKX{p!kVG}u?r9&Ef(dCPu5r{X6XELIfJT3
z1XLxYB?pp`CF|r89mx<Ky&1hfK2LOT1;nEe_q1oC5^wu^mX3e&F9LFU_&e`~5$;Os
z6YC6#zYDhOb(f>iJ=4<p!^tQCWEMVseI9rJh4@{T6ixoSew;ZPoB9fgzMbFb%&Z;H
z@XB*$c)y8ZXMPiP9hte##k(x!Io)qySf=B-U5_BPIM4ViZ=*=3=VkL-P*?Qt-{6aP
zV7Jwzd5q9Ur?yK&Vg7b^F11}q;qF!kprl0Se5byzDl3?$TMR*#uiobkU=x(@U;FZ8
zxm>FT^X?cFuNwXFl=`;HEAZ<5me$R){uR?55jv`CiXlZvwv~Ezek+UKvs7Bk-8$!<
z^68wxVPlWoM->KF_%IK0P&>doi0z?ulcx=>=e`!)=mM0M;-VVOL%;13F;X%*@Q30;
z8tkTeDMGW^e7q)h7;UWrY&?rL*}KNH$Sd*Xh8+^k52b7+ICu_GgRp~-#B~++VhZI{
z8>e}-_={+LE*W{XC;)5?yiih4Al<C<DONwe#D{-FQ8TwjbR|Wq9+bt6nj>1zZWPSb
z{ts?{9lDZGd=X%FILDavll^D$;aj-P7nw5D2@|R%WS?!P6HAQ&vfceTYO-J9QDOze
z-8yr^9Hqo4k^Wa5PC>t#&IL@V&>8Xb{(lzW7Wya<`YT-HzI=8C<TX=!Co~Bk+DBrh
zISNQ3L_#+6IFAmt2e*z0%xu_5N(_ExwK9qqpdp1MMC{pj#u;W>3r0T)64>)U!G%u}
zHP#6(?wByTpw2zOt{|G_P1wFxdQmj#TRIl9j8&mC76G^38=`-KOn9G;gkZj=;J@iT
z3@V!Qq5DuuKEat>$oSG9^2;er)lI*BL~A!RuEchG_r&S&q>@&tPNE|l)tURKg5WuM
z3;yH;i}6+@&^M+PL{Gd$6-i`bDAZVUSX%4$em97MY_z)vkX-4G*{oS9M^WZ^JdmA%
zqROl|R(WFas1Xhh$x;|4<^s@EH#hqE7kq`1E{AM|UK8W&(|n^*L~ThU<3zpguOYi8
z6@KDJ5UIpYsz?(?z@6gYNvUFE7eZ?^AO~?-cZA`s9ZhYjzckuV0R;j?Ch|j?www{r
z680uI>5m5i$1Qf8g=`~7zu1$E!m`i~G5aQy(BDB-O~^?+i{iBLW2v|YxhZmaH0Ro?
zX}q#whn5!3NeTVhAln_aaEXq8F1k$RbF~xAPY!nQEL+R<Llt!_QV@f-$@=+2|0=O4
zix9{&JlDqt<DXn@3)GW`8wUf9*t@q31l7jFaqhbS79s@&gMT9)sokq-i8J*jW$n~(
zWu+w07bqa5ZK~^{!K7JUKJ8@K$9(qc@9pH;Seg4SepzD#k}aZ`pg?WOH`I#+L*S$5
zZZq+OmFgFo%{OYb|4NIVmihQDFR6xb@kJLE5vO{R*_R;8B_GR)O6poZUy`8H0V&yf
zqDe;rgy@7y7xHYGwg##?yb*D-&#B^@w8pS>2}RvVjNow9eHGQ=kgG%|E|Uwg*cdC7
zTOcg@|9v7LQ|&X>Ovz{c@*CBwHJ`wt#oe?C-xlT?V?IgQbqbVhvEc)>OeMIiXLT1|
zj*A-3G}nJSJZ&(;cb#TKP6l~~gqH<Aw&526Ol%x0C@9nyj@=7nVe(4YpDjXB?(y;G
zGq8PuV6t{j-;ThzY=5sGP?phKOY13x`3cLbM<3g@K_)7wsnY}2@<`j`EPrD=sENoJ
zZJMpmmEg5NGDob0>v84SIBvF;b#Sz`=c>=KrWXgPRY36!QCCveDXsLe+&aph=M4`6
zI_N<KsJB<ugEm|=F~ysLVYJh>*~+Gxe<u=vXaWRbrpg~2ad_4TD9Jf7GA4drbT+=3
z7^Rm3YI}_a@?&1P%<FiamwVoV>DSCWsl+2XZqICTfP@LI1;%7z&Z+WF=J!z5=jJ3k
z)^8$2w8x0}1-{R^2`Zb7=2_Hu%LZ})DBlE^%_i}pQh^`^9t4Aqg=~oWdNv)wfDI(?
zKbpT7BLl|Layx&lBV3LSbB&EQiyG-m{>kYDK&~gj6vxiZjPg?xE-Y)sO^@DiCWyET
zlUl7oeIauo#@w@lJ;MW8CrD=H7#8g1w(#mUtzjI5C^KyAXd|g*a{dhp43o_O4z49A
zeM)TLk4zXXldHof2XrUt3=q?)Q7nun*@9S^uMkXZqxnOYP+X_O0t`ofi||7=4Kav@
z{Ze0N@yl<5-C=egnRUq{YnKaJvyYl3s^5gbau6yOcCe!rZK<Yw#F4JVX3|HjJwRYY
zaXDVZtVP_t-HUB{C{yKFttrO^AP6#P#g<h5%o|%@l6p8_kg$$3)>&-F+BaZ&WKgV;
zt)AVZ)w6J$?Iq(TD2WG!^ReV`n=W6~Wv4YZ5j$~yeLo>Mpu!8A^iN|P)$_+?o=PxT
zXhJ5J->ya$8?e=NupX#2??fig12&rQ(l`!8hwO1igK^A;gUdG|H$bWZ90uUzan_iP
zJDN>A|5Q8Rn&>$tZ<JOobhh6r-`ZaF$0g*{!mB|C%is8i;5h+O^0PbNSDVDe`Fvh6
z8kwK6I^W@S8Nfk(?Bg^QX8oUL#3c&9p$FV-pRuP;Eo0JviIn@oJojscZwrf+tBwgK
z>x}oJ>q@luwsy3*ePeupd_y#9ZvMETZH&In#^qh6;0`-bzX6ojif-5|a7VL_!q!OX
zhvcDO4!$3YMtvcUn<E5dS6Xv7{oZOH+pjCjt~8+A5I>(cOpxJTx~1RLf77pB&ats;
zv;5x2#^w@h{d`pOyc9#IiQc)d#pRlTJ`Xh79JP@h<qcSg0c54CG8a2;N0^l1_J~RA
zwUW*IJEVmphj=0pM$iOzU>4Zx4qn8aV&_}G&`Qw!D27{YPXg63SL!x3s^)#|PDPyp
zR&8#<h;^<;I2U?Ac&H?iKH2B)_sNfajT{6I1T6d|#rzG{M|D)a?f*>LXk+wjyrG6N
zwJbAD445*Y?Fu%HoRLA6xoU9n+!Fj$Ybg6?mVvQ1=DkP}c`2T1ewQv!8}6<#cAI1O
zfj{T4O~OSQ5^|hUZ{!#fVa(YTJlgz5qCs{egU|O?Ub!!A34}WsDj=59_0<xZhF<fC
zAvzi913KpuuaI($(U@P2IEZYWjRe`GAZ1p+bDIEOJm0zTIhEbTgn*R$@7&-XMZ_y2
zE<%okn2-BVWi=5(qmfIP7>d-k$@`uo?gdm{H^=<{=F3a2l7z{9mlVm1N!DyMNLqz;
z#=+wdZbmB|b=A;!TWw1`D3P)>et_ufz><bpO^(NOE4UhV<{d72C<F5ZnpK)@iQIOR
zq&NT*q-qYXw8a_b6gHz)^~vJASIy^1T_D;|fzG0=dc?e%>jQ!6{wro3W?+NmHN<h)
zMOV6Gu*pJJmy^ESe#r2}^L3nn85Q#CZRKH|Z2JSvyOA=JO%K&kohcHbp80i84?q&$
zhq+pC)AF70=;h6_n>Y|mNVh7n)Z}Wb<pR(Nl%2z$JpKDOu_NO1>F?7SMwwzQg*Pb+
z*8sm*VQOh@1+KFC(;R(E1|l{S_cO8{Fnr4OMq0O0dLj?f!eXQ*#b?IQK-*Yy=$3M%
zY$42%aCsheqKt{ig~wQt_%XIsx)nm5Y;~g|jU!RBhy}Wltvi&{h+#r5HRcDu1sb4|
zHu;<iu?OV)?R@%p$-vU1nsBiEEnhH%UrYrr_Lv`9>e($!i3jD23)Qph+g~{?fBaZF
zp>F@XZ${sLS5xiBAH_#QON=_a8s63A*SOoT)XHql9J&i#*UIEl1QEH5rW<uq>&Pk3
znQ~FC^|yl`)D@U&n275wyc#l$Cy0Q$5~&HDP%1pI{5Q<3RFdZFP?HDG5<Hlg+n+!(
zQuR_b$E@qXvl{~F;85QVqHZJIy2ERpS(>=3vvF|lx`k_=A(~l(KYuzL+Lr#C+XHGv
zuq|qy<t(aqNSHWn+0GL(6QG?Mx;vdsBU<L*#Jy$7{HeM2)C1;vGauEp0NTZjZR(TP
zx^QT(=tR2Fj=I5F`G<zmvVM6g$>y{&*t5=n%6|k^ifMT({i(K+@+Em~=_*2qjpPRn
zs59QF(?1sD2&ASspO(E=Te?SlfPAS?S<xoar~3UjzdBI_!qjRsqA<O3dYJsUSR5})
z@h!sYrSZ5PhULc0uJB#~0E-)MrhC4I?=wa<5ac;W<||FjTDR8pzjN(S*ZD~OJ<20D
zBc&{%Wg7RTqvlmElp4Maxgt$g(?sE5oGGs3WlT0jBa>o7eIYeGAB8q{!<9@z%Jl13
z4b1<s+{duG5}FdaZd)BAdZ{T?`TJ&kseg99E<bG|0iO9@t0I7}8-ul@p=03InL)5k
zN_1xRlpMQ%$5!#wfFyF4TuSsK6WXctdA-@*@*y{sqXAh-O^X|RL-|*Wov%SIYifTQ
z+%pym+vfXNw%mMy_#iofI($92MHC(2w)h}ot#IG?T$hYQr*atD+T@~E6I3P~Rmn7q
zUs+d`KVfzM)onhtQEuTc%1bH(-n9`zQA?%cOMz<}TW5*>CR|aAtucfmlmBqgvZxeT
zm-31GI_M6sc`9sr`0(wanb`)^V`n0Ibz^{dOWVTCm;KA%=N<to(O_;z<@H8@UTNQx
zv2I`22Op==d8FxvoymF^$k%MQ^uEM^$|cYqCi7B#1dwS88%y|yO=a3@0E-c~jB<oh
z)D#ja?bJHda{k-zW7gu3@q5tKnGpo%#>q(Uk^@nn!P-)$P2CJ?`jG*V!giJ4sz6Lf
z>VD4frW_RSRwtBslTRC@j)Ngt{k3oEXTp}nj8gYINKP8;gV8rN+e4h!_;5m6!G+?d
z2kDo&1nf166bpACQlW?2%CfoJ&CmUfmz;gx&g|M@p5_!vl__jLWG(@wlV~JHv&;ON
zPetRMKR0xiE@FWNv%sX}0CO{rP{m{$%Qou1j6mBq+9^JOxVX&8;vwTt9QT9q>Sd$7
zmPOy{&0o86*}1pfbf;pZ-liD+atZzvS_w@^0am0ZfC7U9ARD&QpZdOe99>DiH4X}1
zvkI(88F~u@c`dpN#u=3RC3bfB3ft8j3WdYIV6Dw1I;>k6l11d8Q(&at!hTvSM^~M%
z7ApieHMQ)oX%z#sx9{%L@eQwRUqFax`$uMDXvEma6wQWw=Xj?NGk8g^FukPfe>8<P
zfE?T}{pi(<jSj*d?mtUsncY*xZ5)=}eS3nYBrcut_^>1&s7}@$=__7mMq=88iq`Y6
z0;f)O*%!9MqYgAI+i$<r96??`;#K_f0j~btsv_>ucUa1N*>%*-hOhBaGwi?G>VYg7
zeWkTDOj{NH+~ylr9av+>82=ijiJ2NeE3Sot+PY&T9VnKhX+6ym{BAWJAL7`%n(Ije
z0Czo5zeQ^6^)@p-JpxF=np-~Gcj_1}ChYW!Hm3h^{d{c1psff~<s)6IxS)F*XPjN#
zv`5;<YhX7d#-~kf4iNA^KB1hqVb)}53~~Q9R2_~MsOK_+QnG4Ts8(Xrys`mk2(g)c
zxJ*Cd2_?ncHM*mCAe^&jmIXex^FKdEaN<H&TvAKYPH`+#gbX3sfO5W>fB6RTk_RCZ
z=|m(|0>|;z?dpx?bGOn&s8wUOrkvYPy$zZSZK6@sl_7d4w0F?y3)(3YSVrAT)lc`#
z$FhR1h6{$=8W}OMe&sr_8x(+nz_zt@h)#{GAcvIb_3Fc%TK^8;*l>=YaRKFz+N_4x
z@MYxCMzBNB+uSrvPtD6twR@1>O?&I$HJU#mw)PcqJbs*K&2~l03C<U6sMqQx|N1+9
zO{?tvnArICVjymSSTI?$Ediw~@cqAK-VpjMzI?a(s8di!#hx9rHh?+0fYK;%&l1`w
zVl2TWD=Qp)T24osZIfc4L=PLLq-W?b$ERRS=N31Qt|x#o9)aiLAJ*KV-x|XBscvv+
zBUTcmuC!>C20Tn-T<G0sY&Y{^SrOH>qM@Hhq$@AdK^`flJP*WBwJ&Nf>3wv5rMR1A
zjAB~JI`#&ed1kugAHc`(il0(b$fAIlb9BlNYt2=&p?95>FX!>%;1(S5?U?}U#?6%6
zO1W(-zfyKRyt{eJXG6}6cSkY1FtBZF_3O!92VP2!4m8_!k=t)qZ;c6+c61JAo)e`+
zukb;fNp~%XxOB0h{65bH-4j%Kff<6lJbNqefq}3io<YA|0QY~{e{8*6o|R_JWz{!G
zd&x4z-b4!d^kh;7BS*9CwbV+>q(~}2?y00m7!*pyFhsV)AZnX2bB$ehw{T2_Zx-cn
z-ZFJMGLEI!a~;Ny6Rg#Tl-zVgG2po<|IX-SBj;@za(O}<sJNm$Bs}^wUzz)DoLi*R
zneq1c$Fvy}5wN>eQFV^1!wi?e212=c>U$r^)qKX%vkPXiV{GZC#G3&fq`xI}hn`3%
zs!Xu1kx%gabN#<~dZ+NrnrLk|w%xI9+qP}n)*IWlZKq>99ox3qQD^5{>tFk%=B$G{
znAcS`YRrM>_STDzxkRrzym!OJ6F5w$_Zc}9@A|^Y6uW<hj7nkCg0X({yG6ezT4c*b
ze<oUW!;|tKch{3x*hT1Fd}|+9FpvbM|9cpETNJtoaO4&!N$<l=%a<?FTR-K2ru|jO
z$>K#oM%bm6=7vW89g!q~6_&;^_QVN?N?xmR39<xEFoa)br=iSzi%=)l-!-|8Ajf=z
z5OuxAPT97u<8*_NG}4MivHlM7_%MgDgyE@-2Ekj)QLSN#gI8v=1`@o0-biP0^XTI}
zaAPG2=v>10e<ydg>AIt78kuBKvO=ZhKb!iokJL=3pj|~?X%9TuCxtpl?8vjjB5;e-
zeaUXY1WK>e-`rmQO2yjN;h&amEON|1De97`$lP<6aafBxHz<bM@_lc38J1wwAwm6M
z)g@_TLR8f31XqmQ25g}bt}t&o_XwgX2H}JNhSPJBWtXM~Mt63uN=Pg){_l);1T6Oa
zm~>2=JzJN@M-0ooQ(Wf6v<!%#1S6@HNyHW0-mBaBGLZGlB#27EWZR%<7gDJck#fg4
zBH7CBS(5KN<bQBve-zc|l{Xgiygq|)13l+>L?Q)yvADxDZ|@*)i7Tg%*pJoL?4kR_
ztCR<4l|4(f@oey9&Fr%+v!OcLSX$&1mGWeGjOpv;ns2C}|LNUJ5)VH7t!q;HNi1kZ
zYbgG@X)b;^b%)>S`=B6>pi@czt@jgDWo6_{U)2K<1?X+2(T+Iz5uB5p{Nd9t8~+$_
zD9Ao0yX0o~l=26P6KZl3WE>m(>>+7pX7*6kc%C*zlr*HnKZ``w>!4wFmM}dk73foo
z?o~VPd-;yn-|hao^!=C^itYS5I(fv=`@V1cx-DL9zuoz%UaH(S)?@sEmG0K;F12%q
zlUcdo0GhR$3IX1JkDH4=9-|Cen~UFDJ*61+wygJ0<<HGZ<SDb{^z`el@3X{hOruu{
z23tL5a+<2_<?T^xXIIyNt#22rZKOQ1>Kd6#eg-O138)(bB_D#h*BZSX_;Q04_3nqK
zGlH$kk&d%-CxIRx8HUM>Gnrs9E(xD^A}Y&6K;@ssK2<DoQ49H7H28M3Ie{uhXL+g|
ze!Bcz4(gIciYK|_rbhkze~Ni_x=~UUE$*%n<?)v)-7qCz>$y_V)UzMPc40e*PbP}}
z<bbw8cdmP!l=$0Kk7=$^>l}jZ-Or0rTB>b-DZIbQILu_3?AxO$#Lst^IQ7MPaNl2J
zfb89^-(p@1H(3K|JCs!`N{4kaQ4grCN&4Lg?TK(gx1!p5C^hBumD=GmsrHXa!O#e~
zG>Ls$r4GdupYruH&+>jg<&qyy7t5H(47tuL9UVz4qi2gEZ#hsgxB0<Qg_|<jmT8v2
z_UW=i%OjAvsgBhm<cG<BmWe7EoauWi0cnE4RN)Xh$2tEIOnNW|O(uA|6EO3OLS7#i
ze!~bsI#}W&^JnM8m#?CyJewgE=<U|Myv&d*=<5tmEK0tM_z|EyZkAv@pU3OHU)1$s
zzjYfBcmIMdGpO-2an<Tw>#EMSB)}{1QQ2X%xyJPoBZb6SD=NQ_)}JSPJhQ|CVD;Qb
zeRRoYOkm0zpeHq@-C?S?kgBN{qw{cTeEkGgWy%J)<oF9Y`0t07DQuVMBmRLU=kinM
zlO$SH$gcd^u&q_`B4YGN4%g&r;7*)bK{b29d|DxAM(;LE?}v5gE^6!%jdxulWvCkw
zHTN^JDq)8)G7Xsu<G`$p)lYx`>{@%az6Z74KlMG$58DQl3>IrzsZ~4)ePb1Ib?mcM
z0eC6e5wOneQ5-4S@%oGGPAcbL_L|n)GCLZsu~}N7#XH!{t&1p+xy-!@)YI%pUy{3;
zfyFvxC<7Dlvta~-q;X|;ualrFxEPH51_L_DF_owuUJYsrcQ{kkAK2mmO{oK)qX~s-
zAc~`4(Tw?sQF(&D#1aZP+Z$d=!a0`Du$g}`!%NPXOHU%9fYTdC*bsIIu5Ur0yl71P
ziBVn;w2GLDTtJpkB%NQ~gCaB9BnXErjy_cLxI>;N|LTHd1p8rWoaF<+P_K;+9ohP0
z6WF8UK(UHG+y)X`RrYxS{LgJf#&T`jhl?}g<*Iz`iGBVM@%DM9a&U|f3V`;g<TBka
zBe}j<Hk-VIrXsZRX)<YNxg{J0L<jAtx?Eg(($e#|nWEhN#&WZW*<u|I#NjUcJp9BO
z8CHUUh$Yh5xdTeIQ9uk<JLRM9)siQXfAfeMZ0X-_cc>nEITs9oL}l9Nc%8R>2!d6H
znczjeMU0MR7G(YEe=9ZAD+wh?utb{4{p9Xe%<q>{F@rshRgQ6aB3ilX)~zJD5_$As
z_V8SPI_7VHeIcLhfe7rHO?&MS_SRltAsm|!e&K?8ChH>iBVVWj-4=KQ<wGokat38V
z?SY~|-g!yl_5+X?R6zgs4*>h(Lqa+Z8-?**IRV`w%mi6|-vHwZ>0<Una;8le9|Fal
z(SzUZxTnjuZ-f4w8UJpBxU<KPFyH3oqek8vv5JwFdw{FOs1$yI08KCIsLaNu)mLdw
z#Lq~}h&h9oAV1t0r@D3(Z+%CA&zAIz*gdQCf*&TgG5}a+kfBOWb=4_gN#=_Tse7qd
zdj15gA&lhVNX43Ca7il+>I!)+2|^23*1hLOb9U-kJmt=T3Lv<NEh3N;xy4XC;FX=r
zy7`R=L+5~o@&zsm9y04WW<ghP^Tz09sjZcebu-9j=Zqy3vIc?8tB6$itIcKmrL-w$
zq;Ow8NdfQ|beFG|5r3O;?F?^{tfq5{uZ?!5<_ql7rrWojS?6D-jxC=wqks~M*am#V
z$OC3fE%8t&EEf|v1yB>}$RQ4?+9Q!2-<8?iHTIrTo=Zi(H(Xk0z_ynmIN&r$USXr_
zw9TP8F-;<|PSTn{ik&jj%flP^qr;U}QAA=}*8uzB7zi*c#Q&%ljpmG@E%_EBqJk{%
z`zq4cetH%lmS6%=`R@InMJF|e*irG$G#TOJSd_p{Uz>~)BZAg&PfLK3$sRd%<fAwl
zN=k~)=`-!KRFu~NW`x+;oPI5n5b`uV2c=h*snAY(8*XN$=6WlZnWyE|FmEpWJs@sN
zm4GR7`U=TFOqOMiRu0{1JF)Ic-kRv~CAljBX&(di0N4QA8c)K5uNwNskCYt6x7)yK
zEG?TR#6NJi0C$(~*FL_ln-+S*YT0^q4L4m{nOYE3{+s3tx)jEf#e5syQY7opmw6Ta
zRE;|sVx3lhhUnevk(5P^?zM9dkM0)xc|ZdwZC@uxnt>m|F!Fo+YPt506z0y0ir}gu
zYKO!QX@cwTCXy){UpOIiNJ+ap7oaAma~Z?x&+0Z8Vw|hjTQvrGR?n?-;B1g7gDm;j
zLONkNoDDv~3PF{c7@}f7g^-xKR(N7!Q@C0=BxE8JOS_<PbfVys$RlH#(|%nW0RRr>
zz6pcOspWj4{lNtKK4@T857>TXC>&5bG>HZnyr>72^;28B(@|7KpdA2qaFo9uTK#Gy
zK`vr|`(QFnHf@)15lGn<`Z_kGbK#(q&S-4BwNwG(9N&q<zmBJk(&16qJ8_|N*G@`a
zHWIz`mDMUhw?itgaCtm|HgT1E0YEsNbU9noagT!7v8D`qw1qMoz&g!Lcz>CQ5nBLP
zKbB-+*@%oXZ#!CRQF2U`+fn4bH?^QUsZfi*=ew?-qu~^QUC?EU&6<w*B6ypM_`myh
z60+zzorWOg%Vk(eQNVD*7g$Izmx>ThQCBDfa)b;F_+msFDxhT<sSY5x5d{TuevF<z
z1HHW;K-M|rgdEtS%0wRXLXKR#UDW_q6P=v4A7xA+s|O3QHD}yTplxCaSDW@7h#@0r
zLr?P5c%{V7pd^NMr^y%_w<s8RQ#uJ1@Utleb;KzH^v9tjHuadd*)2k{=|8Jyq59f{
z2geb=1(uO}K}Uk+&;e(gS`t_yI7PARb&N{5<rIc<mIkOo!KrOZqQfzDEkD(frmm%O
za2>?PSZW;l-L~+Bpxa={G{%qz-Blrs4R*xi==UH4dQq5LPwWA@$n*{84nn{G>HzO&
zGZ4DAZzg4Dpj9_5qoyxu{n)3`AbOi-Qe97qT1EGcX@y)pcfiv)1w;3t?!DC*4#b(z
zR&#;ZMK`3k!v&n(t0&{Odp37;n}Pj>ZiMN;BD@@<fD?uw(TyPMyBwZ=ViRucLC-nt
z$6v;CEQp~JUM^BP>zN>dX3@XR?M_Nqr<aS(x<)^Yr_v@}BM7>yPg;!(p`Y9(8|H=H
zz|D-iPcKcT8zA>g1v2G&@hMePm{jhG?T<{&Z4xxrlh^?dFepc~k=Vf)Swbo9p8<^W
zELAw1M#BwJo3uo*w!1ShbWbw8Q=I=j|AS19c{^QQ-wc^%F%Vs*odaxt5^~$zBd69S
zkjLJ^g!B1%XK}3G@6FYySPGmidC>9NW4)h=ZX5xaCuI}=<e~!NwhC|q{BK`Rx!G`s
zJY)na#i+zYHvVq5U(|%k>cj^K>;?Z~eLMEgD;jG#Bv{EAl>l&lZ}4XmjN>Tga!v2_
zlb%W;ZB)xG8Kb!D3k0e)gwvBUxN#H2teHe->$ZcsJx7I`#T>gB-`r4DcsGOXyUs<A
zqHh4+`RK~kMPw2h(p+ffgi%(Uox!yw2j8>S(T{<a#P)Np2&eb?rD<_Qa)Rlm2<=);
ziBmnrW54tgXv+0NDGU$P0^SbzIR?@G=<SULqOLn5P`VrfbxOqbhzX^u&^_SFW}I{l
z#btBP7%)(*Xw|SiLITq#Q@JB&rJv7FO&kCc-DYXbjkP^rJo7NJ;F~?V{F(U=Soo8A
z{HKTfNTJME9$ND0y6)-nl<Rj{r0(wKP^PD~W8H*cGc#MUFM}|cn=`o$#(8BQ^>F@Z
z-9&G}y28+QnXLpORJz0HTBw7ycRf5WEnozQ1m%j1xpL24&z)N;Azi6P=gQCH1BwBQ
zx7fM*j1JdurG4asIK9-AbK@$5C1%IJsMB~wq9+!AMIrX*w)t9q$ev6ZvXf?IY-TcN
z0F-~#m_XR)4^OK#@J;)uHOxOjVKvLO6K7byA4eIs;d)5|R~gb~G6X|cFbb@x_UibJ
z*7+?uVc|`q)CUM5QvQT#qtx9WBa;9Lk4lKA&X>UDxdl=e$h9i*FyUmUHUXW2C*$ES
zSu{A#o)(z6`~C}{T%E8Pt75Nlb|D{Hj&#34fA{RozzetJ+a{QFHH>=Dv<=;S_c_`^
zp5L~c)A2~*i7U4-<~yi2y&>zoJY*DCE>znsKJD4YzgX=hZIz=en2R-Td{+Ww47Njw
zpyxKf3QA0m$~6D`Xp(Lzr+Z+NUY5?KuDXb~B^$7B<!Jz>vHwQ&Bc_P|7@Sl;=?VU$
z2jlJN=lsh!i23G8LA;&GoWn8OyUZ}4rt|Ca!c^)_NtMMd+VvW;kK9k(Os#I*bYgm%
zm4Vtk65SZherL1(?K+I<9njn_QBemT?Nw2Sd%NXIbpixsO$P;;?4e=*PI=XX0NVP>
z%`lUg#!!vGc#tI;!+EXO5qI>wj)jIERoD9LtyGAmjr098Df|f+WmPL`<}z##J&dbS
z=G3|x(q@b<FJg{9|8-tle6ax$Pn!-tVl@ZvNFRJ!=``(Z%^PX}NL@i0h=VO@W0d5)
zeUz3vPYQ+I2~1LIwH~jaj3eMPhQ#*}7&!lqKgCxux-t-R=11uYY%@`bVKSQpFXkMb
ze0?f|S!*4xSj?v0n;TRr=TPe}3@x_5QRl}uiE8RJ+!J3FZ*XKALWR_p2q$rX(Iv2i
zy7`gN2EvW&;Bw^!3_^7FD6QzA9okoo@K4TM-(wP3rTdlL=xX|nQh4}>SZPYZ@%K~;
zQ0dWY4HW$6mRbidm6)z>Ynu=*vH~s;u;j(%Rz|c@Co24vnYkGewKGSie@eAZdQ8za
zZcN#>-DSkZHW@NvvTUEc=Q5L((xxejL1=Pd2KD*^&M5&n+v^g#9Ec)Z=eCY;i}Cx+
zva`R4tgL!zZQOj)pxP1XX+1ee1aO1ZG&Z>LN2>~3?vdcsL?XcpSTQSQWsi6}zyAr5
zCPjyL)fYl>Yz?EVlj`K5ZPIDC-7K06fN{z^2BeU2-X)ElkkhHUyWH<Ct{lu!0rf1k
z)dDAjKXL+ekic_zgjzV(z!%}2;n2eZi^GdHly6T?Kh_0wqpfywbIGhmSSi<ir$?&B
zh91+OEvO^5R~oEaQPFW}(fMj999cuxg7wZ%r(}Sv%j2+``E?6+sd$!SZyN*w@@iX3
zIyWe|s`PrOuUEAOQ%ND6X(gq!T9%g3`jbgvVQB!uvP@^YQ=&-)<u-{`r<EoFS%DXI
zAlZpJ%NXxngghJ=z%i=K31T~pE2`)cJbA`>mT{lp(_iw+@;@2C<$Gl|FyBC~@loE<
zNjY_upRkK9q+`F25MTTD&M<LXiRuTLRy^;w$Nv6#Z$1o2{|jH(4U*Qs(9V0?q(b@a
z2*?E-$VJ`|U2saGe0w#YDI!jb0^sx6T$2{O!)20^If$|3aF3lBkN^sf+N&E)IeS0-
z6h>SFRw6b-&Kizc%g-BsPItU(T;5U>AKbd|xj9DB+AfoR5wk=u;7Fp1uGF>|wb4Yt
zA@k|S0y+H_GzC2k+o&UK0(Olb_m0-F?g|2o&#@YqD7$SV86a+j{v;`xgHfuZ#!Kom
zT)?22CuyxPcZzGhZ*b{t<A;X){=Pw8*W@-XMA*srv{}$Z$9&{0d*3>EA!yZp+9M$|
zHfg`<cbO(}*;+#9!OAyaTN2GSsvk1W3FpD8Br}_{iH$0qceh18x^2zg-}>NM7*hfm
z&x{&n+owtzbI_Lbm|1K}%vUJj0yJs=mJ2yI#2l|CjRGB@NPV&iPJR_#qCy~9ej47+
z()W%w7n3ALmcKWmG8BPoKYtAS7=gg<B>+z6m^Kkyd2D&K(LQ;WjV*LqAnjNEJUKTI
z@5~bx-vlF~^2pgCS_Ai7Gy&vIdZmCnSi_h6da;9wqk)UjOY_^&NNp(a5I&+Mzx43|
zcK8yR6DN-n-`_H#D@{DV<%Dow8=x+5^{B>OT^{S|FoQr{9#+9znikTe!JXVo;gex@
zuB35@bIav&FZheo3*~Yxk!&DaCX&21(17x#vw=$HPtXOi?O+HGxQSq<m_z|GA&#T*
zTShp&IRXV#in!BN479QEf;dSz<)VTu5|LYbX(Xrd#xSV;@v?h&62u~--kxiu1*au%
zK{=5expwi|X-myHExZ}%Q#uyXf99-$Wt<eqW}|rydf8u&^miAi==T$qzvrvm=z{<I
z4cmDZQfZ5q#ht8tw{g$4$_J!ZSh(k2>(4s3&2cb_lw=G~!}|GTykfi;Tq6gVZ`%Ka
zK&~-$&x%jYJLblc-a`2UpA8FdEuC)9xC@X`XU0T0IARj)?e({c*A3F5eQ1&E>|=Ep
zZnwDmB)L0RR<=b~m|EE5h!*1h$3Rc>tmKzx*9gtGe<i^!6=*U841$G4u|OPMKs$le
z`Q7Vy4<dH$#)7OC@8O^W`Fqz+^HnoJGH5f$CL)E#I?^$p{`0Pc@~H8i_sn;BAqQ_)
zsp{mMO?c8;jK<)08d^q8>fb0%qcdM$3wjo-_{49~11D>N$J7XS^nN<I^BCu?N{gTC
z7G>Cq=8<)pP)Y#BXCkAph8M3nTi@(0VDMZW-|#I7VLvknZAp=vtS^U7U3U9TI{e$$
zu0e#Gax-|kdbklCxILC>A>$gM$&9wbAw{rCmjv=mPhjk1CZ0DC21(`Zm2qvAvK!J+
z$**FwoN_xUpqz0X7s1R@h&jHj3p$vCEbGR_B_#@fQ~)n{_<5W=d^g`P<i@T}etHey
z9V3(?rOO~~)q57Y%*8p_keQVZ+2{1lXWT}_X3BNkrl8e``-p9BgK?X;{+O8$?)?gG
zr1)1`C63(LM<CqcN)L2zi3)AzX7*lcYDPnVD<FNc$Mk3rQlP-YsL%n+VMzB;l+2O8
z*ThKU5D-%VbQ;!q5(yJ<gS2evB%}8z+PWGV2|<&z2+1aXVmTX4mG-W#A4~<oK!13h
zqgYd{N4o>heCUqfVf%U}iKl-LMn{;6r+7GD3jBB3O(2+r{|7&bgLcK*X)~o!+9f+d
z(2LurWi)A)>bBbw=gy?(*k~iA47Fx+r7bPz4Dd3ov=X1H-W&lVA32f_ThL5Di@tsd
zCa=pmsFBvH&#YrQ4hqSytC#zy3@XEAi0+HGZ(3@&fq|O!3fVLd$tFV1a&iDkTEf+>
zKh~ozw3w{)F?;NEOp(Y2-?33jo$1~q1Q#-qy9C21%Hh8F@8aYeNbCrd?*9Z4F#mtX
zHZ$Y@VSLy)m>APjTtGws$9h^Wq!P&fn4eI5ZBT7`uLIc%j03SyvWEDEnDy{!@E8qu
zw-cRxSLgUrY}$lDYvI?G6X)+$)Q?le)!Kj_jOuQTbAzw%<LzahzKGTO+xp?>%j!P;
ziO*xVuiNA8XP<UbL4s1PR;P>im*(mR885nGonX~f{wg-=_lq0AMf+5}LyBJU($ubl
ze#A1&b*jNX<+@ZwdOe!Htb(D3v8DgC5a@Tey5}ZqiK~vqtp9^*cWn}s?V#^#6-O{X
z|39eq3;Oe`&wK7l^}PL?*3A!8yWRg=yk^u>rv2mZNvLk9@=h5-vg4EYTL4%|)6(g~
zA)E-8!xG@ZK8eu=<jW`w*#ye|jam<<Is|sg=Dn0r$%-bOVWB4#nx8RoBi_~jjdphg
zMq<HWx1u4+wa-DCgEj7$1gW1MplX<nwE?woOyL#7<eg7(I<#4xZ&1k=a>>yWu-jKu
zSyBnV$`7VM<LhBox>{|W-`D+qoT?Q{c20lpstt%Gt%7&6_m)BNFHudXPQBS!6rIbE
ztZL`9vyy6BDs&FL{4HLdBXkT?;-Ecl;{e^4DAuv_r<fzCBweGvS1R8$LTR*0TA7+G
z{lgUxD&~4s-gEU-hPqz89@yR?GmIt~0sGIsc_`c@1YWc7g7$ER`u`xcJ7NBZsO<-k
z7!vlZHN($~u7=MW`jEQN<)p|}GnEKYfHe7XP8YJujsZG-&gI=*IWv^9QE_Q7l`=TG
zS9HOVyVIvPcv;cl@Utv=bbn@ST4CgCD2d$><!^Y6%96Z<FZj^GHcDB@C_~Rfvo(B7
zyTWWOYM(A9VNrB0MsMdxWK5=~{gwuhma^?D)KpZeSw=Rm4P@3BRG{{lVdo^4pgI?$
z5}@V&r-HD8T4w8&S;v=HJ|(+S-a69?XC=tE-MalY9jFy)x|BxQj5ueFXIW(!&;t&!
z_WyX=6>YpiRZ1yn*308sN7<IHS{0}ws3133!hd+X<{I{h(CGXs1uFn-0dxBxRXyOU
z!gb<vc$P)u5!vo!n8qonae96E@GFT#h<!r*?s6NIB9e}`6(fo=4jBO@a9rQxMCjia
zp#@~$R`>3c5ea$?DB5EeHl@U49)sw1y$~L<@*3qZ!{%Yoolb9jhW&bxDl2D<kg?MT
zwk1rC%BpT3<?yI22!Q}>a-J*E092JHF`oKy)5Qo&H)Ck$2vAB*Vt%<~Q(iH$Ofbp~
z;@Ox5gEGpoy0|ig5P@)?Bf-dnbW50ZEa#<?8jsM>AQBjcK-1J&{Si?i1S&CqDzt?l
zVS(R%2u*NIe>hq_(9;FB6vw3!^@(+li`~iT3Q}m+_nxog>+Au2i|`VXHtWwHZ04%V
zi_1HgvPee5C_CyQfK!$f|BIr!iWXM7Cz&cXLo=@Zqlf6HM@kjO2-F8}S?gAE7;d_3
z5TJR8Q&HRE4_B)F$_QZw=dJ5pU#a~REW7+2xOJ5vdvC~??dLkB3Rv!Ypd{<JU(Odu
z8x6G1)KE@oV)6iRqM4@0oC{*VO54Uzg#~UaF)Q$eRfVV|#oqlauu?wCdnF?_RKMX%
zx)J!lIgck)afOf|&4|i5d}W*g6H*R&2SBF?Be4h^B^(M)w#HH4$c<v$%PapJ4gb_f
zr$X#YW1JMBvEw!#@)W-bzU!=ef}SrU;P|PhQAkeGB7*_k@0$YJz;K|Ev@U>fAH+*l
zX-Fx4_mQQ#i=PWCgf-be`m!>wxQo!nh_}GofMFCGXw4AGfk=)xgPfxTE74lS(=(kN
z1$w^ox+#uc$5L^>FlGEg5udtgg;0P^{KZ92uuw~x;>N}7!sTp7$5NQ7W7jbhz)>`K
z;sqCtj>!k85V}?rA!}d{4xTe7Z)nCO2D4{IY)a=E(#Jb2Xr@Yt?SvTTyRhy7PXF_?
z;ssj{W*c)dFqcve1=@OfDWt{_xXzxaL4la^#&YETI?n5n@aqN)%NcX2OVAICtd!W0
z(2qS)iNSfPT3v*PfOnx=G(E&)0^VN>HZ+m;2L2S#(UXlRzG4^h1pypv0<~747Qe3e
z^^gLVod!hnaI{1vHc>AOGu;=N1Kx#pIx?Q=D9L0WlLH@)b~xq<O@i_)X;;9hqITel
zPgc1E-Qy}5<6w^D79}JqNcb)kHE%&_zGqs(0^Tw|{Sz@^>5-7<W#MzL8mQ!wl(@MU
z`Q!ZK9CSn4d@zBr5TqCi&*5n;q&@blPM}*{l_I9=C?2ts6ls?VWlQzBByGy38>=ss
zWQD>}wG@#r)0#>aqN`O(WhYWI>1c&1;jh20QD7_r7edSJpJN1jPV1{Wnlkw~i8RLt
zqS{#^ST<(>yUrSW$4`fqd0$}!t2~NE2XX?CcrDqmYP&BXOw8fR;?pt}@$6U-t9vAD
zDg}gXDv5Otg;cDFai)ZLe#YiZ4iuU5oW{aZ7c}MZC(E<#>;iR>i5KVWI^hNg5@e`m
zsv6?d!p+~TRA}ZZOAV7djDfNgk4OFfnV={RB8K+%9CsY7WE&*J)fFSUAd%)esQ{iU
z6A<@b7r#qWI^A)CGLMt{=Ye#_A>TytAEiJ$3e&xqfm3))mAf{br)ZOZ*YdwU41*HY
z!c6g*zGJnTm|+Zk3an6*mfpu?HDCu^GjRE-fms1lQXvKX7FoZ<<TLhn%P8ZuQpH5m
zMP{6aucl=Q>Rp$zZh&!7JnW@Gtpxm3zn7ppabZ{iz%wyCA!TC)KU>gR^0mGkW)BxB
z7zAkQUwNSL3bRoaG~}Ev|7K(tOIo4-En)bM=;)vy#3gWX5dp*d-*Fe*UjB`ZUsWk6
z+;1p%+)xVm41)DQTO!FFzOj9JDbe!5c&}hC7cKu%YI7dZ!|@M(Pyrydu5Ymf5wrz9
zE)7zM=bU+WCfMECjoW!{@AVFuY>&q&$j@w^W(IN@4&gUv<1H8g<tQ5kr(lszcRw`o
zWNt}u*U%1=OTuH|v;Np-Kla3}8hq*((Y~7Z(x8Mou!ujm3gxUATi2FL+BS)S>EgaN
zL}g!Wd9EE;`Oz9?*gSwNsTex+_J&hWx)<J9l4&%>mjFzX$V$2w8KfkE<Cu(xs76x0
zdQ<^YVb}dyr<4aQ+a8HU#`?Wta_m=B2`O<-AgC(~A*qW?uLxraqwA&?lz3g!r>~$V
z$Uc?CdMSZrPI3IBWsXj2Gwz?fp{f>cSI|fgX*TX<<JI>8Ur<2S?A1F^j%2TkAkHR2
z0T0#KSz_ajYJ9GFM;6LC#O=2Gl<>L~Q}51jw9jyO4a|r)T*R%7PePo4F7KLN&@e(a
z@g7R1n@Chn5Xafei?%QDI#SZV#LM3TAJZ;1cqHZ%ukuJR*(m?IQ0>iSw@TZ#rZYSx
z?S5x6-6w1~KJo%kac(W^4takbk>6+uPBxjRha!rnf3X5orF(%S&CDQ7gHnN2$WCAx
z)$Ac;`*~s$x}t2cyz>&)ae=n+uauB2G(7`0?;dzzZ)e3V_ID1`(oeNKi*vqlXg|qw
z-5R*daP7mxSeWu2jHl+lH+?rXtfu;Z%Vd;Tf|FgL*aPSk60Bu&t1d^0J$Q;(_?lDO
z@B#`3=Hb!!-&d7Cj`RH(Onk1$W1M8x{4zRB__iHfr}uQonc7v5d@{6l|KP;-hL2@k
zci}r3`e`J2NN0%GJyoh*l%TyB&7jjC=brbv!%JnOS?O>)FKU~2o0ibBIoC7*L)rwl
zj*3j5I0437*DWlKOLCl4_-oYA<lc(J*G&1Vd%#-V&adW71aG-j6{zjdh+)oEwYtHS
zsiEwi;GG0h(N1or^@9r&haTmqP2F9y&!ZGP>_O)oJ(?q$Tv(v2W;>qo2e##2G;?(J
zlJ8`7rozi9<CGS>1-ex%RTu`Z#U=1veouTj69BGhjRS>WXIMhQiHtm;5IuAo^(s04
z);~H)+Z?)MYE*@YWf{{BJ@(w2p}sTqj&(STel8D$*h~M55?<~PiD%C$H7bua-ng(c
zE>9&!c$TQ#)hIXNf+m<*SxVuZAn<aX{{waqYfsK+FWDin-K2aNw($T~i6Il=N(<?+
zoc$w7)koQxka8!+hpcy%R;^GR9rx=XR%)8Bb8Vm-M=z#VqMK>cBbvV9_B4jxl$-sU
zv9p2>Qxr4enNAE7)IFB|L}~Tx0J-3`DB3>6Z+<}WqbQm9_Y<8|hx1V_j;@_h@S^@I
ztB*~PX4EfbozgL7I7z!DR2e41WoaftHVr`3eB#o;3JYQ%Kfe{nyM5uT>nh!tg`P%R
zYf1>4ySjeZpF&!UPoNTv&uNpYOunHOjbMAF*|Y93p~c*G(tNi#>e!nqJV;n~FBjF1
zqX{SfbU`>soM8lB-kqD?tzh#5x{~wqd(dj8BR?JL?7!xl7-F=X5>)H6=t%r!l@EYB
zE2_eo0QKMVABm5<H*0PDyjFNS-lP#e8^1IV;CGuSOoUM7sF`-0^q+7ru9Raizrw)7
z(H@F+8}<@}^`9^s3rJ8gt{iQ4L_a_s10>>*>t`L(WQ4s`CuSo)k7$qE7GBbRjY)bd
z-Y|;a?fvTs<{PrW?~K)w2xnwF&;14<Gp7_IEbNW(xq{}Lk)H&xmoo<3m<|_9oZ$Ri
zQ+Yt;5bkk!*ZgaZ@3Nw~d`Bv|BT8+mK4kG%1Q%?$=6963xV)u^@1I;_<!0rvEDUSC
z<2gc`yeJ6qvirk(njXr3=rU9;uBk`H*BmM|%5EF-w*1E`+GXq}GL&u;HWC0##XCf;
zM2D~y8WPxRPxRNL;&|&}_4EZ4VD9rIltAr9m9U&v1)GN@KPS7Cey>D=UNv&cIZ!I}
zcyprLB!V8_3eaBbiSo+~!AcC@=pB|w*cUAqZ;e^=i0YUTDz@7l#)GZvRs24k-q&+Z
zf5C^L2CLIXSv@C4XW^UJ0Rzykgyup^hgxk$6;7DJeSL)XV(PIakCx04k@mC$@#yI7
z5E^AO2b6syNQYS<Z=?tp57HAYnc6N3MBD`QK0=ld;n<ptySQEs>Gc3{p`v~(-f`?z
z^HRFOL58j9Yx$pf`6n3h6vgy}#9Ye65@=oxUB<#VGrI(KU2Gi$3SjYUkeaR~{~hjC
zPY&gW*vGl)Q48JFo8L$-`3ishrB+M6rhQ@)1b4Yv2@P_kjM@$4Rte2KmoR<R9ZMEG
zx_#og2XpL^)NbFbC(&Qm71x4d>@8=qAti9t+*;t5M4U0~<FRE-qL3Gk)|@z=Y>^;r
z7su-bQHe1SxTFhK4lqUt$`g22&033-%;9c0pO@M&70bHNb;w*d6)UFmz$(bsShfM<
zF6#^}S!CH3R))~dEnUR00*S)#nHj2Rr08FZ<dcZ!d&#+J9LclYYYGp;B(FT2xASrK
z5kkLlQs9{FAw8sQ-trn!;IF$o%}d6Qg=G>-ef*J1p?f7c1dxSZxJkLI2j(AFu_>uX
zt$DGH4iGVcdAOPzKduSX2QGbIXL8>|iyUXBNAMbGOoCtFto44yHTtD*JP4S45Vh_D
zMqfm%hrTfzdgOGZm$ll$rv|bqKGz29pdLZ|MQtCb&_`V0xE<{|pFtq-1YfaQUVk4i
z!D6{utb?qh0uJYTqBMNNsJB>LPR3Ulw#kyVBHk42P^iFc&QXzfPCthDxc8o;nrGdw
z3|J<q>*MDrQj?XT_#ee13O#kqMevh*yRr7;ShA0K*-NmRwPs8RL#NHT;seo`H<$Ed
zXG|9Al_@<jJ@`z<9s>%-!CW={U63$~Sj+4^kuXgr0f!!xF+#*b^0AGNL~-}$U9iB&
z&il9}qrRXE2#>M&zcA&W*D`NEh0{6zT?wCptP3s8?u<5Roqd)=b^}J`+>z-1<=-^%
zG^+vWhbpFQ93MEXUz{<4j~vk9GLI#htjj0-g9<ihsN?3`MAGTE%?sX$-|2q~GY{>R
z1rQYr0Jx^m+uJ6Ve*{C)$4Ufj<2rz++Nmd9L!e#>SHi|7dB4QCR_5Sw*Xu6pM;#D@
z9GeyY+&-8WGHVR*aNrBWba*-Fcu9nrNOZr@p#SxbRIuh0#dh&Wl)VYN&ZDw64qcBF
zSct?Mn)N)~`?oMt<3d)$EAkps6VmE()A#Q!9?&Lw{$(dWu=~#v-eNUEJ84}j(&lLK
z{-Xt*iPTq7k|?4HyIVD`!sAV%2&RwQ7%7=T1YE&sH7k8)op7Pr$RNRybdnxcMeJb^
ziw@-6Q9tuZz3lw}5jFC_@8^AkI@^F=NaZx;riZ5~YxfkL>|=78LM~y6hDuCd7dd4J
z_LAR8;77qT4Q13nJre+e1H#JD-Ua~qM*|@(Dk`lhpWaywVv|l%1A?B;T?6tAqaZ1z
zsX`+nr=pTRPz{3GE?Wx{4FaJeB(5m^Q#Vu(A_MY&3+bCc_QA~D&Fs^Wn?Vc#%v|go
z{QNGi&Spk-FrGQF>d>w#W*GiN$Hz+6N~092GWwdLinM4#g8ksM;bQF3b4}Qt?XC(s
z8)bH#W?l7GS*+Vca)B5$tajibAWf0Xl(?;vK;8+&5qr~6ht39HJ}1-pWt=ZD7Us_K
z@;g3KH-KA@z7Ic*(Z6s;rp)VrhR`Vy5zG*9g~u(~l)MC~K#>wAXTr3dx}BoJJqk#H
ze80edE)oYF5)GbU_Ffr@Q>K;cqoEU2>sC%ojo8a25ffE=TrTEvN^<$^c5xS}!xb&R
zq1=+JJG4=8QY%*GvhAwojv{_j%C%W9bZf?vABR?|G&eN`Ek&LSO;|Aj807PcCZiUI
ztMucg<E5u!qEzXm<rgZ{D^QD75g%Z^9UB?Bn8-v>Q_HmTaDSzy4Kq&v)<_z}AZ3vC
zVk5Ov>NJ-sdvCpp7)MvCHa=LfmC0eUk)B&Jd?zs{V+sE?TVqVlSe;3c87WKoh}InD
z73`IzHAZWgXSTvp&rCE8P&G$Jou)NUV`j-bo`wmt5NAPTBFPBPOq}+F`E@vCnE~5m
z)>JGK1}BC4km{S&E$zQev3B}7rzJuXj&B~kuK5y2EbEkpGZm>j%lO)$zYE?w(c6cx
z%les;pT8^HN7{FoG~dU8j(y*VZxyLRPWBAb{i29s3jB(j4K7sx@Jk+k+QzA!g+x8;
zNZD4bc5UV<K)2pK7k#tzjo$v2b*rJfqy)<`w($^YMxT6Q6DA;$JG$JdJ#XmZN^C6)
zo~Y}Pd5I^Ftm$*bz$WXnUk}HMcw|(h|8)=Z9Zv_Dhui*En&Mmf#`)nc^`&lxi=$Ey
zjq&b_#-s**J?XIqK#-8j4ycU6u|Uk>yqF82l8PoCNb}hn(D({{igTNMd6rL;Axc7w
z*O}MTqKh(wwVVv#J)W{fI0|4-jv=OzNTzV~l2_q374ElXXFz3^9yp>zV$5to#p_U3
zHDni&3K$im=^efaeu%oj<3x=XKh#xLPFF(YA=<;%Sp=g8WbfEFyyWi$k8EQtl6+u{
z9Y~=aQ9jWh_o!_>s|WtM!u+cZPe0Ho>L{iG)sCZ(7eIqcPwrHpo@6oMgm2=QQH08M
z*c?JuOejZ)`xY@~j9Y0b0t_V}q}C*Km)_~BacACMlRB8O7ublv;+ezO9zIR%Vvr+m
zo}|SG%ZL>WaBw}eC1XlB=QY|}Nl)KDVHodsc|09pMVI4gxr3~H&%45vPkQB#I`s09
z>LB8?qDp9#ez4|b{>v)QFD78VdlmJ^5`+2)BN%>iz#4rjHwD<ZqoaGRX|lD*o!@a-
z5}#;D3Ylp?A1XTRlHvylPrp`6jsqltqp-q$@VM;>xQ5}QM=~haGV!DUaDK8bfrK{(
z*u)Wl>dK|nXlLVNlC+$19i+^I@^W%TKqj539IvgqLjC?AzTZXxK2l;<O}4A2MOwh=
zhvDJ;-eEsWbocIL0tSpi1D0YTFk)Aoh{N>$eA}E^3{LGL_g$2>#CZ7$+%L%css?US
zOCj9@h(z2>c_WK0?*$9joFUWy2_N#4jS-jBR$A!b*xt6B@)(0F$4|vKYV1|r!#LW>
zIjT0$yq|Azm>0xt?lhND?Fd_=ORypJ(NBY2rdTl!<k*!7I=K?xZkG~*k2}$w+&R8l
zpT0fd8UO0Xuansa({X<Y5+1Zw%@TN#ml@mxSXmKZK|@=Wtngs{I}CPJxU2Zm>(qu5
z7}gK!!(sq#|9(B^XXV^}#Rtm~(ek)t(fWwzyuNjo3N`WK{E>LnBiN6tRoq<VB)*!P
zz+1Dp?LL#AS}S%%OH*p%ET~bYWoYJ^nOj+^uU$@+P$i3~?6)J22mRHzle(5e|D$gS
zNb9cOtOnFWwK?LD$Pl-OtmLd$Ea}9iDN}-}Bz7#NXxwr4O#c%m$x=AQ4S?9&8A?3n
zj3j4|BwyK%buPcc@s*8}S}^&PYukXg_kcr#TCDeS+Bl)JX%jDu4$HveP=%FO9*}qK
zdy_iuQUnOE8}fAp&$Nx0(%3EW$f1h?3Lu+1T2wW1k_sW{^)?-a?#68NOFOOyT7JJe
z^$NIS@kHqL37MC8b1YJAl7vo{YFbe{)P^!QIMP`asF^oe&sjw$Q6w%FQ|zB7jiRhV
zKuKD(S|!+mC9^5?@B4|^EY~)Gg7Cjm-wI74rPtxy>J<!qW6eCn0Z9D^4_%o7VsN`y
z_LBNF)3ggXLXc$W)g#7@OI7Vkdvs53XLnAk`GGuY1bxyGYQss~s9w}Z(=@wReMf&w
zWX2z0E`WR__hx<P&={*!w(tNV11rSTU!_xy3hzr?{bfGgu8Q{(t%ry^NU2fek2i8p
z4&p_<^ttYnTMJ3RNY<24>UCTI@Q2i2w)Ca}>LyElg38a)TrAZBZO>gCeG2>r%9sec
z)Y<6}l@Kygnfm?9ek@TevD_v`f<nGCCme+MtgYPHJH{xn{pZoK;3MeKv=D_&dnuLp
zcSf9Hy)SxbjC7@t%en4|n%QxWie{X~Rr|E$5`_a`p`nww*Q2#A0XT?&SN`|O_vf$p
zY!}pR;no|0H61PGJd@o$Y1a_N+zebaVT>e9Z~ak=ECIAv12pZ6icL;lWr+`$W}IdD
z*~q^Tc%~C~0TlDLsz&^|J+vbyBKvK2tTPydHY*Mw4-j<%o)z!oL`0o!j^Ch_B!TH(
z);eNRT2>v{D!`7Y`!A&c8AnLJ7j{hZPO$j7=jMAIT%rlb5Zu|PxI>m*si)tbb9=q4
zh!y2Bs)jPVI<d$Ofv6z8IG*0Cn^R~G{(kh$g9c5D!g+j=f%wJyOen|BRz#zZa$O@s
z<MmfW$rCYN1Ew&UejfA?9^DSx9zu?4>$HmS?1%cz+jG_!(fxvec1XSbs)kfDXu&Yy
z0l7no9M7co92fmgU<2W8>nY!=)q0iMplZ#_#H;d#0h0o;wedqVjNn_{0_uO$NAXe#
zg0uimi!+Lz*~5ygRHA6NsqsUQ`!VfKTi3+eZB95diB2c8_A4a*sI(8~Ezj)uK;H3c
z_LS450sMwYGh;D;#s%aY)RvGhg5%73Oj{9kA@IgtK;4!pi&j9h4vp>cyB>MC;TpKv
zdIS6*Y!NGt&T48ObWRp8q^Z29nx{l}0t$ShDtnv8Fh`lC%&OTC^O}15jqk!oCFUQ!
ze!qai9~wONFW4jKfq-7$h{nSwE1A>seC?u@8Yb~DsB%dF#`p3-cg9FaXb2R#@5VBW
zoT|swm+}K>-1%$RN6*yXkgWwMqh#WN#N9gH0sPQW`u80|TtYm=@fAdjw^KutyDRC1
za8A)M3EpI1(f6!d7sNpoXPO=GC#GIl-Ko0WUqez3{l+6<dUHir3KJsy^%`H<2f^A;
zo0WZ@>V46Guj*ajTb-RvwuXN_o#g&fG0d+Yr*zh92-a)3eR9dEibco&PQ^Vhb;lZu
z)iQ1PaQ467(8(aoHqUq#WaNM4Nf>xhtlW=iGYYe(pQs5<V~xESw0M3$EDDV{^j4;g
zHrwmDwKxNJ;k76h?2nK4dhyQm*G;P1fKnuN;oqDCuuB;d68AlEDbkP7Op1trhGC3!
z0Y@aZUz>AOnu^^*8o~m;qc=c2YTlTv)gzpVwn5MRJ)`#HLGZ%8AkIcUCW(I<;+tBa
z-6Q2(%LkiHaOw{!*Wq!+_--Zq<F#bfddJJM{!|V|N2$(tD`;g^&(i&&TgD&{j-2uk
z>}mRGSP!D)zVKk>Xkl$p^}ebYK!y3IQ@}Slb%n3Abr=|@i4A}+<xAI3lF96;ze9Hu
zOt+m$y_Qv=mZf2)o~Q*tq*xC$3t3!^Z?vv9b}bY=8Sc<6`#Q!5=Y^OYMf5EG&28|I
zNgGgAESR2&jmk4UXi||$GTtaSsb#PBtDn>0Wid!3kjc&BM{WqNwJs0Chvy~=d7gEY
z%En<_A4#fRj^gRX;?zCAWSKhWfCH`m#7Fu1{B>fWq4Z=AlRobSjGC_02SN${KmLEa
ze;)`s$d9Uj$^Zx%AcdSzQb`F|Bz*@A8CVD$jK3eH1gevey@oQ1P06Yb1Va%TLXmhL
zODCy%MyrqP^&4Z!=kfcMfA$+_*7@Zs)4_Zv(_=>qzqCsD-jlbmwK+VzFz{j5;ddkN
z4GsE@O)nz--vruSTEPq7k~;5Cnt41s`w2--b`W)IC0~3705{PPH#a#Iy{nvLcb$Ge
znx2S?%HesZI0QslCoFOBfiUQ2k!$YPfk+VX*TIBXNS%bMprxX3QeB>xq_1yGX0N}o
z@qujLcq>cs;fkhwW?eQGHbK!PehWLLy`Ex0ot~>|cU`oBX~Io{2TQnqO)-fH%0cjf
zYi==U@IetJAj(+>snyu%N%}HFjlHqW$=&Aq5R;6v#zpqYMf<jold9iKq(Eja$#9j;
zp6I3!-$-UCU5qyVNtP*#ZPRx~*93JDI?Ws-`MFH?SvkLMpT(rCH*nuE3R{7$P__~}
zg~m)=u4JpiYl(C+_dV>PfLuj}iqHBNTd20YTq$oQz-kG`nusk|TS`lXr9v$Qo-O&I
z$d<})GLE_6ib}*9*-Vs6v6)iBn*CVxPa%ei3zfxWhI6581+Fz3Tb41Efi>JSI9ZWv
z1p}2Dbtbk<Bvlx;c%{-1l?!#!LO~IwjC3-#kd+b%m0ce8v3vpvfm;c?@~Ky`*G@OF
ze*PpbAQdVV)fc^&Od#Srm)c-ir&aSg>w;&%F|d?SdQK{Pe*X#hy*2?I0veG;cr=O1
zR69JDAdUBGi&2q>Q<rti&2#;3>LTm{`QrG34jUx45&H%kl2yXmzc`ZBAU=b4&`dOR
z1&ofN7Ka3{)vbl3#id23B|kQco!Y!*<7}cBup0l*-u3ki@d`>kU2kFshXf0C!pvsU
zq6o&(`bW>dTV%_JznsX!)MEa(Yrm3X{y$`2aL2ft;ocw%R`+lejMMqrJ;iz7qx%``
zTwZPgH;XNPNbzJEA@nWAU-ezE>TdU3K7Rx4WW1u-;5F7ACeYe-Xwp1{;u`D#4yVz)
zfNV!5{#7zuUM+t4Nt#rfM=s#<L1A)N*s}RG^z?&cMd}Q}A&=iU8q}&_43-fA<`F}G
zf&g=q6gYbYaEhR}W(=S6e*jWB_>LjYM6$jgQ`Pwv?eR3}yxXq@&~D7Lu0D63OnH$w
znt}y%VE>Yj5oBzy8a0D{eTIYvGfMrv0i;gxR%_X3Bw0GIpVQrmk5=CVC6gv8Mi}i+
zP2Ao)@)}dC4;UEE6L>SiE$x0Hm<)45%$i)+;0S`Uax=8=T;B~_YyR1B3p{dhRa_lQ
zSHO|3;@3}4O>8A2(Hk>+e<z^?h@>LugS!RYvo2Aa!`>zGSCD)CO5K^{v)*t00t}ww
zgZ$})2&-EZfy=XmQZXX-U4{)~EdKfoOYoMmigyS#i$q-*nDOLg?;lu$3Og)C`g^6S
zWk&;D2F6ey(827vGkAF(R71}{-P?~J$&KlU$Hb7|9aJyq$5bJ&bI?XVC*izqE!ZV9
zu2!j@%h^+pz?8dsda2OT*a{Pq2*8(3vE7J$n8ycUD`3Alf!7C3A3OC=h&P#~Ov)M1
z(Ts_Dj6w!An1@lnZ|+Z@vdJdTiH&hKCn3)<#E8NE9S+}(>9_Tp|6epw|73`vly3%t
zeFJWMsMeZvkR3#e7RoCe(b+#x8$%phE@0Tko84e8E-W~UF|S7Tm#4BMHNZ1QL?*8U
zV*E()O)OyE(QUV~86{_%tR*O4D<#C4-7W?mYNr8$=`r2)>s?~(+Q%bq4GbxJc3zJ%
zP3YZj=h2_P9oAd(*G;G#q55cYb<9|$+CIPG>|2|O9XEXGaTzjYP(j8@$Z5%m)aDcK
z9;)b|=2Kbmp&Gx7jAcrfD?lv-@o`DL@iR~{*@gt(T?qnQM1pj{&RLYtHkg5*z-Y0m
z;a9_L_+|?^2lW^E=lV~D9Ky`Cujc@rAz$@ppH5%~CojT2gE}6<ZlAt0X`!=?-}^*N
z8EZ>UBZ~x;IX>Hn)B)>9@x=4|wxk7Om4ur_ylU!d5w|LVFK;>F9YAzCE;Upp+Sk2s
zYC0A{)%odSWlp@YOgBH};{fMQho+Jv?lobyCxnJp{}7JYRu;0v+w5<Wr&zKe<Vnyz
z4oF%>ms9O7V#yP)yk-h_!h%ki*cvvEk;L3UTf@^2Qes~RMGlKF>?3PO#tYznH;{!h
zH29mG7eRb|U#WQ;A7Dh)Q?m3jvrX`leuYWFF;)kw04u>gP`Rujby-9BtBWW&SviSG
zkz7uGas-NF?{v<Pb#D!^=MMMvCD}H$WYtA`VYX$cqY2}8T-yVbQ_}>eB1M=4#^1;}
z?|hBh<(H<;DPx8pNL55O@<v#B>8@eI#v_UT9NF=R=6#o&VL%+ZT^#5tT`c3~L2a^(
zMP5u#^ZA}CC5G0VVW}fJFHyWG>G%<eWccdqJr{B#tAtb5PC%Ivo4_nzx$sD(x|$US
z2?0^A08f^n;9%DGJ=B|L?^XbAV}ko2(YX!rbCd4`vQGT)vxDW2r=Cc69jCV_BHZYB
z3FAz1sf-1c1i0ig3bf>hH%J~LSlFDB53n}VI1d%6hqcBU9GX9NC+mH6%#%FV^zDQr
z*9ZSH-|0ZOBZ<revRD_u*je__&BZ;W+u3(4J^4tQk~}rG>j#OfM^gARQ2aSZJNjC%
zK3h8bILi^a%8R5O5FvJ{q<i*WQBttwI_z1y<MBd24cOL7S1@+Ml|G0blfGa#Dg;4*
zF<<zb4^tR`I)mrv3l}M@%wixC7ew5A=;DujIu(v0X*>Wu2wuke4<*}}DFa5<(s5+p
zlS>}uX^s(E*NEC3{RzRCHaML*Lfswv2nmLTw4)8%@v2i$gKQ~uOL#iFm*bAiavhY7
zWX@}`>L-N^g4tGcaTMu2%<A!eFz*@DSTAF^mIv!pa;Q*<ar3picUsmmFWzwk$yA+^
zXWS=#6PNPZ2zQ6Im3NqoGn+vDn+;L74TC;7k=O-0jYfBo7)8T=y9V{L4Y;((6s?!8
z$uqpTg85R>os2usI%@V)=<h-*>!1vo*?mXm7C?99+0(KR_M9s6mk|eB%`@7g;Zf`R
zLY7U^v<?kOT4|jiH#t6DeW$g4cbBv8RF-$rH2}fvLk_b&Tayc_KMc#$q}J8pK=nr&
zM{ZK<|7+~4qoQoL_GM6zl8}-H>6{KyS_DKuKoF!$x<QbUPC;^Lqy$8|L+Mfk2?Z2M
zDQW2tzVSWh`<?fl`PTZK=O5PE>$!Ja`?~ku&oJ}c_I)=Z<k0jc1S-)P@AJHZ$IYe*
zd_QTggl`UCj+}`-pxvAi_&n)xWYT-^)Tc3*;5AxxGu*c0p63dYJ3QgIyl0u$ReNIe
zC`jnGH0TM#^Ma$KwruU@06sDqt=Xwo0{Io>GC__x5AcZV?OBGhCeUn8nAe0Jy|a)%
z69Z#-WcR|`GcGs2f**zukQ9^#IjRbqWiULtEJC%PX)A5a%Kiv7b{3TM`AUijtGt?-
zh$UL>O!7(j#bl$zh>D5>RY3C8u-UV0)pD7ILu9oL@FTdQh}hxARu|!|=YE4%bM@UN
z4`pXPE|^6XgHJ#+&MYps_sk@VX6)aHyJJ88ZkiZ1wUZo44a@jiZ4COhHd!@TGK0t!
zD&nkB$R1AY<*RYsGVrGOo$*k{Seo)tB~>(<ubss{RHVNT))RodyjLO3*eR)18%ibI
zBhrx7{dmEYTbM_u3?O;$%90eliSK%Zz?%qLxmfjlc5n4rk%ixPm%^UMv+JZ)TnZgM
zblQ;QkV;8#HS|+W(WTnKo&Z8_m)=j)dByRN&irane=UiOF0>uB2n~sGly2eqO<}Nw
z&I<hL`*tSrJ+E<pytOS=CwteX1Ez5)inZdN+|eNmfhhASq65J?&diw~=d~a@F_SdS
zqtsAo&m&$_O1dFiSiP%xq8=yW`jEZR#mHx6^HSG<zKsKwVU-e-P{c3g0DiJ=dZncD
z-RRr9vX#-F*LYr%+<b(%xJn~Qc_q?%7|pDgSEBgsy(j%0L9LjAFC0sl=EGAlp0WI`
z<XO#$Y>I=a@o&DC#_Hd@ZOF*BY>fMT)_ZgVFHJtRW3YN`<@Upj;PD0*9d)d-?%s=6
zJitAdtYG_+*vd9vL&CHbk=>bD{*r#7^6Q7D6z$p2N0e}T(a7&CijlV{v=v$#+i1{%
zQR2Xt=P?}f>nWi=p|5Cm>j5`U64G>ZJr4=DkG*8q*6HThMMLR%F3yY<OXQz53J1l@
zny`89qRhSf&h?*`uzEnsL0i_6ve6J?meW~LMuFqavX|Mq6K-k3Ib9KQCSMI5>@y52
znTlgS2KkXBoJNrO0h80Km6U$F6J?<X;&*nR9eMN2T|0dBe0-bgZd@@dcXq$1R9%f<
zPQ1RA#_+Dle#w49hS5{eQq=xVlhI_@d_J>a=L@lgim~>#8E3ubN@VwX|46o$6BjF$
z)G6zIgPWo}_f=Y2DTT&nmUYuwM1I}siCO7fVHx$?IH^{~bZ|ZHN~>Tvt#wAAiM|8a
zcI<YPTb&1Q5%>z6$So0cO|`fzHU`V<M#|-kzW+F^S*bX3nF~6ga;yBCk8|pPn{L_r
zgVF3CLzvRY`j~B=-*Ha<H}2_N`;o}W=B+T+=`t}Ch<ZRmZhIzjjn=uOl$d3!4LPTQ
zJ(GB$zwJ}vLq2GqG9_tf@8xpitF#Ue_|I&G!Ja@k>@A6TcSdVmhXw{T1mH#YpX+*0
zTCszZ>c>t3-!BQaJbNgZrqW4JB^C$bliBg1{H1mNYf(Di)sg2S5SHw%Bt}Nx>-lx_
zs`8h<Z!%UCqdP8QO;0OM&&$8D1|{n3wTgzMvD-^O`DF^e=wz9XfH^#K>SppW-4!m7
zyycUs$71rE)>{;uN8w@@xOm4Now=BEpSBiMUdOT<>ca&=a;C_4)_3(go=~(DH|P;-
zdm3_*P1W_iUL`IJx(8C(gOna~Ua7K_+~Z8W;Ji_#KWW@AY9VQn=UG-4(!1k(R6%7(
z!fq}Sa2=7uD&fyWoTAJwHFiAPH}}@pAKC0Rbi6xWmfK5y_2V>^%WdBW=mC8p(dh~)
zh>V1c^>~j_@d!Jmhm_*LF8dqdrKaX)QOz<V5-`$(EI!RU<FU-e4ZSY5ci*09g{BB$
zZe|*u85wEuq&A}ZcoSS~82~ycw}Oz^go4cDh;K7@Mle(9JNDWl#TFm=#Ac*x-<le8
zu1dPi!<+i|QfpTAMae7n(bt6*ik=mN@5bJ)6FNM?o*6bd4wf36de$RBy98jE2wIk*
zoqzkH<I!r6O9crGOe&JgDA70H-mQ|o|LayMhEm!PZf7>4>eOyN*`)ZcLnJaqHYb;S
zj_*cF-FA}%$Fr5F8-_AumLf+Ha-Wni<6kly<p#R#&L3ocO5*+6(uZE$tL0Zo>Ai6%
zajsC)xs527WmX#Wkpgk>^T2<aYn{gjXkOp4XMf2ijZi(OXqNk_F-8>BYwGZeAx0xG
z`NP7R$LU~pa>j+})|I^%0mIiUipjEDyWcAs0^Hcn_sBEllp%NX!AH?@QHllpGUX|a
z=<~v9)v)=%g89hVGb(fqQwUdf?KyL<x%~HGWFjD;Iu`WaqakpO!$IOVHM>>=+remB
zp{%)-y?yXo>ghhoTx!D*5~?rz!L~XBRn-1n+C;Wp`;HT`R%24R1}Bv4PV#!G%Wlp6
zEcaosVPpTP9GN@ztji6IA9)q`?0K)6dS66&X*gI$9Yi>k=&Pc)K6q^!zH`5r^U+XV
zqm%wZb7t^)aARb*p0%(H_MIdJ`Prv-v{zyEL*K2%%ngFE-mN0D*xt`?nq^sj2MRCK
zga?{?AAM}BJCAGUjPE``T?;1NS%JSfnOFKSXXi2RF4;RWl9A7`-VFOpetV8E9TNc0
zA@6bj3~<|8c?w%Ycaapj+4V_#h;9w!xQ%p%T{Ds`zlS;(MAHqE940l}%8Lw?g(wM>
z%d+(?dlIIulDMxv;!Y}47NB8~%MO_YROEY6zD*KruU=uFbARM73;Oy>yQUE+h4M9j
zQs>R~POz=);<qj!vx$v|cT=&Mhf3~rZW3UxQb_(*M=(GiUBe@tnVygtTK6-b!BJFD
zh+jaE>f*BAmDv+^r@8VuJ<m^waalWy+ID}iV`|krb5q&(dHKoScw$}6Ht{E7U*&#`
z&8HALFnD1$L=$Q}S-c}2ft48=$>Q`PQ{NhCX(?Q;G9CCy|4esx<9ne&_xsushM2uy
zkK&086oP9<($FN*9cg<9@$HSoJ^XIUG>9Ov`p`!QZjrQN=XAn{%m-F7%i23<#-QuF
zQ=yS)Kk!hc6ff^-h>LgrEV->3wP?}NEa##WcVN|>cc~PyhCk+mlrOJXMaz>>Zw5y^
zSRSd5jy`A#Rwjsgc^yXERsnhGNtDvF)|>cryPt^r`b~7FGl6f-N%A@%y69=^E^CuA
zTl;m{-Zhp5Ipbe}nkhV1amsMErP$ABpoMqb!fKOhpClWu$R4puBZ7RplIb?T#vFik
zBD#xLA66p@A`3;{mrw6p-55uuY#SN;I#G9Vk%->C*{!{qPisllUyzWNQU`Z9UFuNl
zAADop|9u8+mQ}*<v-?W8CQDyPT}b4sZbixcvw7XS7Oy~&qY=eZT84FA<LAFqV_jc&
zw~8k@O(h!zyWc73*6G#{N%y)9t_w>_%`}J3k&C`~dM|G0oMXXLEaL8~3)#g~^7OML
zxhKaHFLYsBJO*^S*K@XRdNEyg7J{?K-)t}tF!`KTfhOV%O-^V&)Vpt$kBM?3gX}Jl
zM*K9GeJr7Gwyn}82h()VZhL<!q1$_|&LA|z6yI}UrEid$`Y!DD!iB|+*D{pbL(~N7
za;}_3=GQUS=;D>;XC#f^h(DxxD^`S2hMC^@7JS%1;Sbp!E}U*(NtE-sx<|B0CcVsm
zXjPAS2|y<f@t=Y`)?TSknw_1Mhv+kF!r$LmFC1}b_M{6ZJ`VTgSjhbCux%&Eo(mZ6
zENwmUIF+d=F$ge>bBJ!$oahj~4y8<WdidaNg{OhF+D(DHbnBSuV#n{FL#H9gOXF2p
zeHZu5lwHj?VPheVxoeC25(k@GtGo=vOIvDR*8<S=oYp^{(esJKz#e3=#3aH((;A{*
zk>&T9vHhBhoQhV@H!@PIdh5!Fn5%42J)Y46M!HIlP&`T7z8$!!aRFMm7_z+l`huNZ
zmxc2s-+kAz#aVrQT@~{SvmCWjyM_nqpC7!IR?~f1Hm#FiCaZZth{$szCjH;v{Wy?f
z>`(+Gn4vEKzW@D##Mu`>CIR|op&}zDpQ0$0jV3QVvf)xBqlE{fWr9(lePB4pWoiZ4
zE-G13CXiqh)2#?iXJthaUcfcNaQizPx5r2}(^6Vmyq~y+wOqu+kNK9Lzt)54K%~Au
z-9*hCzuRI-8yU~DNu!tWJvtdoEjdN$q$rRj><4=(URAbnwCx~&5qA}RV>LTX@}S52
z$c=?ICSbNQG5pna#1fK^w}7wQ=z2OABsNVnz1lfvLv7Mfs3Zj38@%$PR+D<ol8suR
za+ri#;0M>ErF6zxxHylIl_Pt4e7pt1*VDit%~GL*=tI{J82jC90o8};G(r!l-*Sqh
zU{7iXL|mRm4nVj#4GwtG5+4x8gApVu%-XpLmTVCvc?sj%w3Z7E(tQHMsQzx)q(kQj
z?Xl9~SWUS4htWJqUFBZy@(82KFXLj;oX(pq$6w%e*!Rz-!QGMzK4%Qm?z1f_isVlh
zwiF8_QtlJLl71Du()3S6Eo!J20{F=UUy$Zz6q!7xuZ?%j5f;!xzkhCU=VQ)~L<v}|
z*1cT;yZ1rA^6Bq6X*y}Mzyh9xfw7;uMvPfR7DNk>z(SdnpBGXHJOn@sG$yrG?$dqz
z#O4nAEjOekcDMZA*2B0){)hL)p5)7D&fJl?V{8lT<oIe5)-GZN-UW?vBuB`16}(|c
z|8P*z`aF_VNAhP4rvp00Vgh*bdzd<Jh*_VRhw-UX%Lww@QN@nsLVAxE&vd+DzbdCj
zZffv**<tPhp}bfUN`=7Nd9zC(@1cs0mzYKhQzGZI)oxQFN=84Uyxsuna}2?GaNO17
zB16W4+|yHz3JvZFdBX9keGvSBLgiXSvS*Xc?^6>@!+ziQcYN4W6)Uw2$NBu9CilFF
z7NtI?ZD$8W)X@=92;XQS$Cx?s!&2T~>IiChP-4BE62NE^>OEz@9Uo^it*E}8M0)S~
zZwsm{itwx#&@ejZTjW+3-bbUK&awoEeHe9~HWCU<hOtj|T4~t_q$6(umCo+4&Tc;5
zFz;EY^bQXyZ@W*9o?^Au(`#OQkd3*TI$64{rI@`EbUi;FczfO?{@Ce3G=<1Og@FHZ
z0SahxG|w=bkG%HHZP1mDF>uGrxZcBqcwW;xIx0H@W0SH`+7Vm2_wke~hp;PS`E~fm
zUFs;lluqu7P?aDcrPXvxTHS%5@kvmw>!LKmB2uPHTO~^qjii24N&D*E8~!)!+&2~%
zp1D@&v{&n%oJvo8;RAg5FjagM#mq!?YWN$#8?*!dR2^+t2NQl#?#9A4!$%*p%8v3V
zn+KTr>Zn@Xb#wDno2qH$&eSODlZd`nMf05fF%41Lit=G_#GwNAt7i4a<WVME1JCHF
z!qrVh>y|+gJ!ld_6VA|x*6ZX`DsBqeK;^2YAo1Ckq|&y9?5`E&*rpcmH?X^!R5e_s
zTV&v*|KVWJU14~2y=x1o&o3ksHP%XV4NTLZF##@&K7Xfo8NwMS-@5nR??Ibqc<C=f
zK)i0XyraRzqe_JarM{zDQqmcgxJyPq!b>U`8d_tW?MKmHDL;Jvq{xp<gKlE1PAnK2
zydq`;DuN$+cC>O_sT4?2_LiF%4jxfESMytpS$dOzdM`}d)+C~oswqu8c&b{RyxG4N
z?H8>UP;&C_IQ{77l$75<W3b#%F3dORAg{#U4k7r?6C~8AD>$6u;6%7Z?>(YaUqWyg
z73}+|YmOhSk@9RKwQs#|Jt_Z_Kpl|TI|X^WNvgVB+EVAHZOvJtaWSE7jTl?l;snJ9
zQx?xF7n@l@pB-8*`}5JA75V8XwXRbK1OWpGi{q*0L=b1mr9+erfja`8Yd;%Yf0!ge
z<!>;vC#1)ybxM~?sIM$3ynL+Po(cxg6_FUks%Vs=U9RiOC+t_qQ5@cSzE$jT=c6NS
zPvY;=`|as&ZOb>po-u~l4Pt7wj@k)Ix(AhY&$mCfW%bb80&Oq*?I;!Jlg;KvsRH6}
zzsrvrbw8=4BPrt^r0F3Ev%eMrI)(N?vnO4|OF;`G_7hH3DFGn{PV+ZtKE8?5gPJQc
z3HWqJpm#b<Q#m85T|4`Qe3a|m^A8&2Uq>)k1BeTJ?JEYOI4+jal^b7QU1PY#dyQO;
zJLe?T4fu#eh_rbUV5Mh~x;vf7*7D6FoSQDaG;nn$FeJWgBOvy6NWv`X;Z*6j5j!2L
z`8&2bz7G3Iop&sr6!7*$#L||3T}@g};?>Y+4MGP_R)}qEB0SmOhzmVmrITn=xK@xu
z;bN<jKE7nh@kM6oX!7o?>cgW}Rpr3)@NG~gq22>)lMk~y6GW|qa3VN4|F-yg$SB1o
znB$6uH>EGr)Xig^TwU2CO8zU=%mXc%yTg)Qp)2>g=kDa>MY9D!X_@`QgIqK918v+c
zrTC$>mH>mi2jt$5-<p@giLBQ-xcd~=JbM}F1l34)HJ0w@<rQ5s0!Zm{3G+ms6emfm
zJ0D%*7lrcLB#4<Y938%Ec(}V_*{k>Pi}8Ha*Qa;8pKhw#2pC24q_jK9_)|vzOpkob
z<WnP2E_eZ%XP}$`&g!>Tlo($g=5`w(7di<+&jDUp2u#>uGSYjdt?s@y&Eb$aV}1DY
zceQa|8@YT(?PascpNCcQ9u(3w`|DqJS1D}9lgZx1L<)N61m=U|IqbLSNTO~VD*L69
zNHIL1iJ3@^l4-jR9G6&}oP3pgQsQ@yeKnG^o>LNzBCpIE^Z?SUZH@B}=@oYCY&SjD
zLC;QIQW8A*;q_uvn8vD2>6+1d2YoM*st^0S`wGcp8HXyj6PC4~y&ZY*rewRiMX*Mw
z)x`SB$$-R!1RufE@Tq3cbL{b!&SBy|%V2qeV@W=J(MfIf`KvWF(ptkZ*B4y5Py7nH
zpp4jml0@CjD*IZOcl(KUMzzr9E@S+O79SbfKPF+wVdF9v$8)wg>qeT#9x-IBgj|e)
zQ3~IO{LeSMqL#hEvAga}Z~NM?FCrz*ODt1ems(7j15wrnUr$BmQV%%QLgm~c-$$+t
z8ih40Zr^|5dUfNgenqvPUiW6T4MIFn(96*dG#Q+{)Lb5QD)?A~$!xh<{NqD6jxw$Q
zw1)nnE#T`jvpeyW_7ssHNR=brj6yVCJp19}#@<&!5t;ZEm^!y&&}|(Oa(X1M&xaW2
z(EUETyE5>ly13W7BZgm8cwJ#8=vAjqZ7s<)x2K~E$59jMC6}ar(Ep^b_pY?l`RzD1
z-Fs0>v(j`r^DyAy%Fkd5EgKIO-7^`x08VuK>ql33$}4}ee)4d6M%eVak#fIE%u?p(
ztK&M;ZmAU_AtFiV`hc`y@vA*7iO*6Qqth|{QfHX?ovwR`)?@)Sy;e4u8!QTGX9wFA
z$QndFe(Ot80V`(h5Zl0>9FV~!&6ZpFgG(qd_9Kr%DiYlT#i-`^dT#Hx7uL;8xXPew
zx$DI@?>$)+r~S}W`oL<V=Eys!9@@DXH~#5BsHuHt#hU7S_{9@*9(DuvYGZ$!)tnz4
z&lex6#tRNx))iFxteh`4cv$zHrKne()Fy-)n2q)@fe>A1u)%5DQE8)VyiIEWS1G74
zuXIU?T;bdCQ7yg~rdL#qv`-Fu=<-j|;ZU~A(`9?U-iaTTr<o!7s}BBQgu`;QY!#@a
z4W`L9M}L&_=}y)nNWAD`O-uN=)69bNRG#a^9E|FZsO$*Roba=|9jdX(lv!vzRW$vk
zBQ!7}g2MdyH&?j#+&+rbmG98+SJagJ9B`(KzHDt>Ec{KhS8CyQ{;zhFcl|ax&6XhO
z*CEkoQ{tDkRpYvu5#k}LrBIu#@Soor7CZ9quJf|#(^?E*db1=Q^$zOlYjb;r!==yY
z(oNnEb%Rw5SVKHFKfLzysC$R0s8(@gP5F7#YrNF4SP)ql_+|}yR!lENb>NbOFc9_N
zI7lxa7y6Oof3ANPbG9f^wX0u_X4{bwTt1#G-E)6rW&Bhqac1eew3m&l)apV}j&<uH
zvBy`I<>sNxty>8FTBGJ}E)4L{rdV{*H6>?6UuKM^HP@8nP|lK5IIVLQu)#$r#^0ez
z)YWhq+^{f{(dx2ucR0?IF=(*LAmT{f-|K!wQ4-rqfHRmtI5>=D-KjeWZSdRk)vqU|
zj;1Be^a08XJA<0i{+oPXzwEf2Bdn#qyF^=99nD)a5--@J)0pTI;xdq06}ne;%SRcu
z<jU>}rU@8Yte!|!2Dc~l#kVJL-X~n}BfgJ`d4w7=cH}RXuYchEjnzg-c?MQumQUQ)
zvfMwkLi75)^t<QX)-~p+Jv2&CbmD{O_>@len`t&bLj!6Zsu110+q78~f>Hv<3rQ<a
z6A4Ctz1IKUWGFhtYf;BYE1TvV%bX+Xq9~@f9xlVhEGf~)!S8>?PL>i`r!HY$d^F?h
zVS34vTG>8K&+r?=YbCB<g>_y76<OZ_B|IYjrK?)a+%hPGuJ>#MBM#{4pUW353*)9<
zYJxKDlVQfq!{g4C3tv9#-2L@wmPhhj#dvdfe^jr2(C^z=?a5QJA)OD(CTV$rXzCOq
zljWC1h4IZSzNQaFRCYxe)g=+sf|W&fS#Ao33c~DFX1<pU+RZk3U$K986gTp^dqR>d
zFkpTC(tK3HJBx@Rn}$FZbmDW@2Vu^qSJFH0xn;PIrcNys5qzdMlyqsVnSbCx_$21q
zoJzB9e7_5Atk8u6)m_Swp{r`578TznDZrjz$;(0;FD+1PPE6{=!`6yk$g(l}EKzRm
zxAuEy$WrX;g(D70&v(CEIucqXyeAx(H#;QYQW+~s&*bC1y{}&`OND--vlk+Ll;K^;
zzH@&pZv4VU1Gyq5P4kS_#>X)FX~u^_&psy8C)vuiYb1xvnwcxSk0sn*uiYP-{<gwL
zA2!Eyt@Sy_ysgAzlwYRIS8d<K7xdFg6K)6KA6c92d>^;JAAm+Q2?atnK4Kzt=UW+M
zGpz{fBPOeOe%w^suz>8McSn!;UC5fW4Bo|lPBx36^egNVPjWy1mJ%`>r$UxUvqr7u
zQNJ$ZztmO7+HEmrwGlI;8t%Bb4&UF>R0W>RP}-IBsofP}Xi?=XI&($^-MkjA6Z$l-
zAoQfpQYnv#^m+8j0rL&*u?vFz+{cuEdmzR>8atUi#`rD+zyyf;vSontWifLU9Bg3)
z0*atemT(ae$O<X~#9kui7GNY24uQbIR$x93ZwGrvH*seRE6m+Z06oTh9gxiZ->k&2
zZUAJdpdujTeGo((h!h7xg@9m;;|4$oUs}8YaR2YL%5DOb|GPWiYyx=xt2^uWHvtI%
zQ78xrf&h_!xyc6v@(GZNsXJLHn7Ui?D~N-EAQbTLcVOyv0262g2n2+4{6P)K;mASy
z=Pw8ag}||I8~JnnKN$jufWmNOa2Ny(!I7arC<xwK5Eudd=Y4;4gRuHA6uSUUEd&Sx
z!Bvhxz(Kgmkq8(9SB8M2AmD#0$HIW&I0n$7flypmP#`1}#}yFPIsz901PF>B1{?;%
zTZ;rC@z=tzz+nSa`#XLh7#!D41PF%0mBC?9BwmOhI24XC-UA?Sfe=6xPOu0N0)i`p
z!{B(?!rq61V8*dp03alW^B8bl8=EXVWhf-BO9(7=aAj~95{STE3kJgB7_WV-n_v(a
zPcs-BEzSx!3<bxPA;4e|1he&*7BGHZzz{sT!m&gF;b=yHA#fnZ`rwZ*P&|?%z)%=2
z$Z$9qg)2jVVL$|C<}WQU#9ul6drHCZf93gaGB_4@JSKy&NyX?L{_zEy1Uyd>P+S=t
z8xpPz0Y(Brn4!P4AmMmC1S3(nGB_N8z(*GaMPihXu)aWmAUxC{*b0H;9~_RtlOZ5L
z6b#e)mlhBVcaI?;ASA8~j(uqn9=Z^0YA}f7KfXYKc&I_}YXTgBg%Za<1O$RaVaor~
z0)^r76aj(a@fnVQg7MIWz#wo8-^m|eU?@D)AaDq7_TdN^3KuH`wr;{O*?(z4z;IU}
zAP6Mx3T%pC_`V>qzA&8r@dX9MU4h-~c=ZmBK;d&7f<huNv46Bcf%v#!PdLEM2OJ4R
z;zbSxL68{YGXOXCM|cptN(TkwXBE5M@R*1M<L?S6ma_lMB@hKh;j#&cLPEfQ*o6K^
zH-ci1z5VB65CU7VamfKkLcw?dLZMKc)ci4mmoDt~0R4@|f9wOXMqv0%#TFA>WUxFy
z;^h^J&ls!`TxYNw1-miuf<t3#I-U@YX9O$3D{a^U1I67KSR+teeLy5OK0F)$F7(*=
z|1%6=d(_{c`3o61^8e^2P$XVW#Tr538pgJNJZBKle{$gu{#f@=xTFEWQ9!)BV>cgO
zo5vc#n`%JVDFcUuAOsAA-(z7QG+v(IC@>6<Trdy{mxNd&c$ESSLHwOu|Kb)5+fZ=f
zhk^gS7X2Ui|5Ri=a>4K+#2UeK8jM8Xw`Ld=zZJlsxSRoEp@!jA4Fn8|!gU5~1O`gd
zCgi>a`#+{07z~dTa1=JPc%j3g$fSBgZZs0{=jC^QuKzF)`xZRh`h~5ecu9w&P=Cfu
z+_iWW9)iU7G@SdO5NvP3%Klk-VE;$+g(2~hjsRkbj-wFUG4QGk)(Bo{gkq=EzXkX2
z$^-vvVE$($a3KD^0fO=73G671*GHfzFkU5tLGcR;0*(g3aW^bhAzsoE*xBK4UjK0v
zgn)zbS`Q40Kf_|<z~cl04*3_$|5171*oKY^D-ec1=fI(Ooe2(v;c)@`2!n?V0y}O0
z-NwHv4;+d|8UzxCX9NibBL2Sk4+=;G3cp(+pm5x6gTOXmTp0=s2f)FYaY91rM_`Do
zJWxp%g@nUpQF3y!ve@}lNl6|C0>j}*u#&W-?Emi$BT{K;Qa5)~S9fn$ODj_BlO7xj
MCgtH#)KDV*AKC{N&Hw-a

delta 92330
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

-- 
GitLab


From 7552244e07f414da5c7d49f9b054af44f6c84a21 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <f.schreuder@nikhef.nl>
Date: Thu, 9 May 2019 09:15:06 +0200
Subject: [PATCH 04/19] Added bitfield BCID_ONBCR in TTC_DEC_CTRL register

---
 sources/templates/dma_control.vhd    |   7 +++++--
 sources/templates/pcie_package.vhd   |   2 ++
 sources/templates/registermap.tex    |   1 +
 sources/templates/registers-4.7.yaml |   4 ++++
 sources/templates/registers.pdf      | Bin 199259 -> 199485 bytes
 5 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 1a2a29400..b7d17fdc3 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -6933,6 +6933,7 @@ end process;
                                                                                                         --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                         --   
                                                                                                         
+          register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR        <= REG_TTC_DEC_CTRL_BCID_ONBCR_C;           -- BCID is set to this value when BCR arrives
           register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C;         -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
           register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C;  -- forces the Busy LEMO output to BUSY-OFF
           register_map_control_s.TTC_DEC_CTRL.TOHOST_RST        <= REG_TTC_DEC_CTRL_TOHOST_RST_C;           -- reset toHost in ttc decoder
@@ -13564,7 +13565,8 @@ end process;
                                                                                                                                                         --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                                                         --   
                                                                                                                                                         
-            when REG_TTC_DEC_CTRL                   => register_read_data_25_s(14 downto 14)   <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal
+            when REG_TTC_DEC_CTRL                   => register_read_data_25_s(26 downto 15)   <= register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR;       -- BCID is set to this value when BCR arrives
+                                                         register_read_data_25_s(14 downto 14)   <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal
                                                        register_read_data_25_s(13 downto 13)   <= register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP;     -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
                                                        register_read_data_25_s(12 downto 12)   <= register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT; -- forces the Busy LEMO output to BUSY-OFF
                                                        register_read_data_25_s(11 downto 11)   <= register_map_control_s.TTC_DEC_CTRL.TOHOST_RST;       -- reset toHost in ttc decoder
@@ -20698,7 +20700,8 @@ end process;
                                                                                                                                                          --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                                                          --   
                                                                                                                                                          
-            when REG_TTC_DEC_CTRL                   => register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= register_write_data_25_v(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
+            when REG_TTC_DEC_CTRL                   => register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR        <= register_write_data_25_v(26 downto 15);  -- BCID is set to this value when BCR arrives
+                                                       register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= register_write_data_25_v(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
                                                        register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= register_write_data_25_v(12 downto 12);  -- forces the Busy LEMO output to BUSY-OFF
                                                        register_map_control_s.TTC_DEC_CTRL.TOHOST_RST        <= register_write_data_25_v(11 downto 11);  -- reset toHost in ttc decoder
                                                        register_map_control_s.TTC_DEC_CTRL.TT_BCH_EN         <= register_write_data_25_v(10 downto 10);  -- trigger type enable / disable for TTC-ToHost
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index e9badc7b7..5c5d96bf8 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -1519,6 +1519,7 @@ package pcie_package is
   end record;
 
   type bitfield_ttc_dec_ctrl_w_type is record
+    BCID_ONBCR                     : std_logic_vector(26 downto 15);  -- BCID is set to this value when BCR arrives
     ECR_BCR_SWAP                   : std_logic_vector(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
     BUSY_OUTPUT_INHIBIT            : std_logic_vector(12 downto 12);  -- forces the Busy LEMO output to BUSY-OFF
     TOHOST_RST                     : std_logic_vector(11 downto 11);  -- reset toHost in ttc decoder
@@ -5486,6 +5487,7 @@ package pcie_package is
                                                                                                                 --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                 --   
                                                                                                                 
+  constant REG_TTC_DEC_CTRL_BCID_ONBCR_C           : std_logic_vector(26 downto 15)   := x"000";                -- BCID is set to this value when BCR arrives
   constant REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C         : std_logic_vector(13 downto 13)   := "0";                   -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
   constant REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C  : std_logic_vector(12 downto 12)   := "0";                   -- forces the Busy LEMO output to BUSY-OFF
   constant REG_TTC_DEC_CTRL_TOHOST_RST_C           : std_logic_vector(11 downto 11)   := "0";                   -- reset toHost in ttc decoder
diff --git a/sources/templates/registermap.tex b/sources/templates/registermap.tex
index faf9a73c5..536b2819a 100644
--- a/sources/templates/registermap.tex
+++ b/sources/templates/registermap.tex
@@ -777,6 +777,7 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA
 \hline
 0x8000 & 0 & \multicolumn{5}{l|}{TTC\_DEC\_CTRL} \\
 \cline{3-7}
+ & & & BCID\_ONBCR & 26:15 & W & BCID is set to this value when BCR arrives \\
  & & & BUSY\_OUTPUT\_STATUS & 14 & R & Actual status of the BUSY LEMO output signal \\
  & & & ECR\_BCR\_SWAP & 13 & W & ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) \\
  & & & BUSY\_OUTPUT\_INHIBIT & 12 & W & forces the Busy LEMO output to BUSY-OFF \\
diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml
index 320f00785..21935779a 100644
--- a/sources/templates/registers-4.7.yaml
+++ b/sources/templates/registers-4.7.yaml
@@ -1540,6 +1540,10 @@ TTC_DEC_CTRLMON:
       type_name: TTC_DEC_CTRLS
       type: W
       bitfield:
+        - range: 26..15
+          name: BCID_ONBCR
+          type: W
+          desc: BCID is set to this value when BCR arrives
         - range: 14
           name: BUSY_OUTPUT_STATUS
           type: R
diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf
index b18942337de4300233f4e74f37253a1a015d17bc..7d56a13f99230daf1d7788caf5a1eee447a86f8a 100644
GIT binary patch
delta 29918
zcmZU4V{l+iv~6rVnb@{5u{E)+iEW%Xnb@|CiEZ1qZB3HNoA17=`{(}Y-K)D#pWU_l
zbgf=>_C^vyR|<lEBj|@Ju$DkD;^>=Oo5r={h%&W~-6dRLvzCCZbP$K1KqMsucGinR
z3WZe-19Ub#t1L}SRzul@i3UKkqpf9^R{T~lTXyT|F@x_h+f)4ezBDj(V(@2!E0*i>
zd1~r~i~sM5?ca-~fveaX>43juOQgxDEiXW;wEex#_0)cAYm+`bpg#);Y<@i7U-0E)
z&m0{IUhCJ1vss38eXt0?Q_6W@xhW~MPuv7)YFl@8clLObglMH<r(z4!x31jpTz`Gn
z#16K&n|v_Tdmq9rh3WgW{{4d4MRinA)b`=rSdd<#_;nb=AfqLp``*!k?PDaONq_)l
zW`A@9ue>XgI5i;%h~e~WQZO<Fg=&MH=1Smf^I0(Ngjf_qvR&VYZkvw7m%klt+}h@6
zxn|2W4@7r;kobwSiLT#V2kU6QZoiv`jyt}6`yrIrBUP8|UJS8!$5kJ-t@DlUr1XWW
zrxP{Oxkc~?_}?o;H43%rj;3iXtG%#qQ`Nd+Z!a5}23utzfaQEmhD7KxOoej1qZ)<q
zTe@}(Q%0taET*s-X*Dg2vPz;@wcd$Si{G6DPRR7p=nnZoi#odBP@;2JRIx@>BU7zG
z5AxUkwD)xbog*Ve4}YkIq@jy1=VXSqfv#q~CagoHDIO#8_cBvtF5V*ab!j4kg!TUS
z*$f+&#q`cGpf3G|aCh!YsUAf?esX}#Z*Kbe_Ad*L#jrym<P%vxRrdVzJ&Le20WawC
z#Yug4Q-VU`3RL~VVq$mn5s4#BbVG{4w))vchc^4YXO||m7OEUJy+@&1H`8itVy1&F
zX5KrB%qfpXg+~YlwDoFL$=^tQC5ngBvTrcoJ%&EB0jkME_*6mYgoK1!X!Rs=vjh_c
zbqCr%*nh;5<$_eQd;*cb--+MDTDGz3d5a|L>4#Xz9$JznE?G^vPU%sjsJf?o`^Lk}
zi~6FBZng|&MMI#5iBTt$=bs!?X3wNfMqoB3xk4*O>1t?M#EI8mh89DoZ==SK+HZ^z
z&x#qx3mDu*2z|=nn75zg4#t?5fpd1Z<PeYEcEdN`I*?@%OJm9jIR)YsOJYb!^%XsO
zQXd8m7e`6rZQM%X>0+CK#+qi3pF<G;0aI(aL~Uw6tvH>yy=*hKolRnmJx^hAY6N6V
zs(wsTETc#CLo_^huaED>HYHb%NF7n@3&oBl0CbHJ*suzH=#o7J@ka4%uIgcO`DLZ!
zsuuK)2&vEax%tA?sS<j+iN7U8GGi}{8boRmEJs~eH~lx)7|9G9^vEBYC(^>38w}>8
zGzoE6ye2N%EDl{k(ca_^k@wjXPHEHq4{3gyR)jrX`bm*RYZ|{}iv{w+8)p$i*@X}3
z0kNkUey!IgO|Uw(*78zQGEjx;ReGlaT7g|79<pPh{o9E>ggwby4VKZ2Squ`AVAXwV
z1u0Y#h28MlT7lXc%M1sR#*dJMr@Eq-#{3p|8{Cl5Je0CXeVtYil+-*hLFB&Up%q0X
zr8(U{l_=0}spTI+UvAyf8ha`KKAsXz0TjbHb!w)+Kua&`hy7tx*%{fc?j(Oicm8_H
zaFn@)=9cB=Ms5raLZm*Lc=_5M@t87>zAIr^#<_W8Jm#ioFev&+D#l2SxWYXGA%Q_K
z79JQjK|sQ!P+!~<Eb>{I%_Q2_NGjHS(u;%IB`n?<+>JMel8I^QmY06bT^D*%1IFDc
z3P1kZ&M#L@G9K1~B+UA#s-9=Gy!5oTeO>J6`@Nd$upM61hlk#%ji%zF7K<5dh48?O
z;11}Si6X5Fm`J1f6h~bme6K0oT3#gMbECJw(P0+LTbb-PRdf=E)vTq#jH#4~e#}tL
zZ>?D5uBDw~$;!{$Rtj!)>H(ymfCHSRyINxvovW<Y59<Zc7&4qk-vj(J$cV%!h)x*F
z-8m22eP|FuR{Z_}2V%-+(`B2B;5n26*NB*OsMVAT4)t+*8z(%LW!mNKPlAw#X;yDf
z+?-K+HLf4_i|wijwbbq0B88XIg476GBv60Vpg(kk*+p{1<Ih?|>sdt908+-1fOIN(
zY{F}~p5T~UT8>|o6+*woGQO2Dqtq;<O3q3|XUFoFVAD`}VP9kgN)sJZgU?xZj4XUZ
zuufyb=(wIuu{_7!)y@}{Y*y2YNjcD}3}$-6qwwK;>|=J)JVv2R0r&rlI=Df5p|pqk
z_D7!WZp+U%HQz#he@Nbc38>6e9XH=*dVCoeJtqj$C=OWSL$a3<sC38QPV!P0?As&Z
z;N$_<q#*U4%R!kO)~`$_t%(k>OyjNzOm9tMby_-DBkBVuR#=)tq4{l(Nva%5{((R)
zV`%e7WFR=|<ARS0`?$QvxHQbjbf~Kd)SLBtUspI{s|KNiJ@{P19RPc6OWiE8W96{B
ziyqbCrb83%^}OG?d=d|@Z}F!9%7<5zUzqV%?h~51JeSF|38mi$Newg0mM;-3YgKm}
zvwLO7Dtqb-^5}O{!sib|Q<#HaPsjKwBe6f;-j&J^$*jQuJfvakPgMnNa10|eV?K`F
zzE?fnnj(cNx22tvJ|K+{aR22r9+-Z){_QC&0-2Yc_?5xagA3z3#@kjiRTreiyEEfA
z7NkXeZFkkAi7xxfOlCMT3Sq5hx;oy^n`>>yl>_6e$pNWf2L)~s_XNKVj6LK}?F?<S
zw|;0f-gCofbE{)j^P>b}A*C48qA{76P^aDz(exP6KSIhm{00uiLW4jAwL%yCQ!y+E
zJ;oeSxD^7A#;EX8FOMv4qj<S#Lhh?Y4vm^Up^*kvrj?-e>A?^>je%WA3~r2>K58=i
zpn8^j&d4oIezSU{F3nqk?-gVll^miHV4<jY;g2+XPZby5dh06bbKlv%dN~S=l0K=y
zx1Rae*i_2%3IWR~@A&Ve=}+N2S2SZsfhU;aE$TN?I*-=5iwGICAl&VpD~>Kpcv>9?
zrzIS9ZX<K@)`nM}G0Q2ex|S=I)ouHoD*}nc^2VR`%6X)*$NV_;k&i6pvqrUw$&=)m
z8N)^^;9(porOcQTm99KLHu(!(!~N%8K?^xBz(=Oo@POV`<3=mT!&Xm;3%G9d6#JQ|
z4kPnU*3p@~jlkDC(VWEmDDZ_}tkzp|i2PuYH9^O**f%MGwYbI0e@0md3Z=-fH|2zD
z(@{iRf|Zl}jWU#tVk;J5N@y_e%VeSrD(1;EgB#}`I5KU1gNv)08ic)tj5Y`I5xB`=
zj7_#z=>RVO_Gx`$Mqng|)cgnxA~TKf^!|)tLFn-rJR<rehVW=JY5BZJbR*@rGAE2c
zkeKyV-5<E+fj^5lA`5<~iq?xO4G}vm7xj(*(6reN>1v`)%kh_t>e()Rofv$LEbF7D
z+n;Xg6iKzfXuM~5KR%Gz;Jy*AU7uLt)3W)CPz*@tYDkTkJ~K?`?LrKP{wjNXPk|9k
zrWPba9A>7k?m{^eNIW!(Xs4Rr|JGZz#06(dOXN1;8n5Lu<u10~=w<apkQk^wQr%ss
zJbOOsO501LON-zuM3MW6=zt@3J{$Dzdj6XWYX0ZR8Tei$XSA4z@(J;zIBTLr;)T{0
z*%ff&E-7J+xumoyC!i)Hdg14-G9auB8_wIG8L0YNExf+lVqS02i5r=`TZi_{NrKO-
zbm_JBtEjHT&W-tFa5`whg2!-U>(ZfBe$Q(lB)1uTtQMV4wj?h3<^1A8=&~QAI#qha
z+S;j!O<D=6gWI(dcTXA}AtOFmV=R~{?j2C(RUpzFe-xRH>?euXWFjzv3nmzs+7&#G
zFnGAgsrFTz&QI0iM?~Fe@J-ri<ZW;EO@r5#T4|1T7KT6bvO6%Kv=Fx$f0aBo|3e)T
zf!5k4b=-y<pr1?8QX%>`r=m?{1?H5P4QfJa(Yb_;fonmhN*B?MU%;%cjx`07cLkWP
zDI>|R{=AVl=b)UZXJp!vj5Vf8BQ8jA;|noJd~0F@|AHS_%2=q-aG~eI5Bd>0(a7L#
z+7`1=u{`QTP|8sqaKx)%tqnery~|#BCi>P(nuFe(T<0gMCVNYgzqPGT+)pxSC|X(w
zL2`}E=NM^fM;Uhp`f|ytve%+r3l4zi5c3DS$5{lO1%N9u>o;_XdoJxu1yWHX%XVy8
zKNu-fzEVjIahb?{aFS<iIESP;n?P-;u+Hnw;4~>qBK4Ut7hz&UZ%F(lZ4;?<h?b!%
zLLQZ*pX`_+O3Am$olL(#p1_}>QQNPK3&5u$NgZI-iEBZc@V}C1YiNEjN(ZK&pTf*e
zU6ZF#|MiKp0-7a3E>A}3p=J0f>5{5Q6E5NA)A>y)LDT9wHCgc_3{5!vM(X5xrTMd|
zPJEZ_dl$_HUDn#!C+mJsNR6{2Ha%X@+Tvi^iK5Mokrs9WJ4keH+&c=%65z@>1l)?~
z*Nj5632m_M*gYUZ_v;n+!14jx<Zm_^3{>bRRlKa3U6^v853pT-fi&+-K8Kz`B|_DW
z8kmwy#t_IF$#&1vlFU9{?nv<62vb5mSbUVNKJ#1i4w(|$Qk4EE1p>;LY~Sm1L)@W_
ztcmTvH?_(*Xo^=oW$$3jkEbWSD(#}in+f#|XP_pK%x#X##cGBlfK#&pu4-2LtSgcF
z$5Or865d;-No5Jgt;UGDy!CD^x(!9Y-5<KKh{JqxA$2XMz$%at=eCMIYF!TGLWd<J
zghQ(EJT9bIEY=EJj@hMOMUZs__@bZ_;JDd&gv`E!{7a9c;#3K#)52dfs547p+MI5d
z!i3LcX#&ELuZUS}fM@0dJ%h7H*B`if{alM94u6Xb8q9k0iS<)5fK*4Ov@D+Cx0xUE
z+HcF~k6$*h+Tj0M1DAVqsa9F5pb?;Nb4z50FGybGQvdnJh&t;0_Ir=ohbOl1mSW$Z
z9ZCguGcR&XBj+C0TVL|o#+GaL?AIz%JYg0&=mL0tPM#vr=-Zn+^*mZeMcT4$_649&
z>)@D(k&EnfQ=_lf+PkG=Sd{E1D;=#9Z+>PpNB!(uSc9OAR9YyCSU6cLVAI_|j9iYY
zOeg5#%*BCiDO_P57-GgrW~3K*?)$l56%4N(qMxZwp*u_axZX&+$63wemCUKYXW%;#
zM{H1PCs7MjGW&kUF{baTF*`dch76q{p(>ahobNp|>e%&Xp$aKSknbZ<7LWQE$X?L+
zE!A+HnZLs~ESp!V@@-gAFpBdV^QnAKGlmvQ4k$%6>lPQ2bkULL0?Xmh>sMp{^va}&
zo6cE(8uG@>dY^{CZE^BV(Kwx~GjA0T>~0oAExH9HQ|ABV^7FcehxLYnxKr`ngx`@Q
zYdUqc1i5Rn!o2SU&$*Tx;n=M|AJE0FTp>G%cOIXfOGP(jk|igD&li}^^^^aM*UeX3
z&92DbQJ^aCrfQ)$t@D!CEq?27IR?w=Jd6&PPQUfr)Ivj2)57$2N}0s3_`Mf8Pq^^N
zOIipxq|$*<r`H=PI};jm-<Yp~+?wIc7RPNVIj{P{+GGdqpZ?*qZvLi|RN=jJY|prw
z(bJyrn^iteRbxDXuJO0G60l?>I0@cPY;Y;Jl?+)O7eZZAV=x=2bZjVGDO@u*&3^bh
zuL+W;_Z0!EBbtDnA`VQ7qA?>ZX{C)<YNZx%p1Ua7?1@`$i!k-et_))L9cA~4_UQ!0
z*!vDirU+8RM6ZktBB)k7_19?7{57$l_85f%Kl3>ZFUDxi@W}YYu0CiMp*MNf=HK@?
zg|a1Vvuv}nYP0SZJvGY-#g}=)RDRU61`EHw#Qu4#*6d3A*x@tKd{tOFGSbBi9T)>-
zM<O?K_33+G^)7Vma59p>zi16?VOWA?c~f*G!Q5=Td!BFXp`6ZxNv}eBH{Kvj;|Gg0
z1(tG>MhRZpDhI%=?yxG?qHu3ALFZpCSkM~^vanPUkC<(i;KxbCd01M<%eDS45MuK+
znzMSr`I=MO42?|~qd*`=G~gz@S;Pf=*k>aiLqd^TU0e%zyio1Ttz+sVyzr=m@Kt&8
z2ib}!-gOcp58<lOp15g|u~DAluyS>c?{n}c7j~lf85KvBVs|kjXe&cU`e!a=%Hs00
zUvU=Wv1GCFSN6@uFtv+E_dp0o*y8$exmpD4g8fLkEoQdHA?WV@dd3@w>rwy<;j)J<
z0k0XowIs9&o?<+=qGBr}zK_i?eX5b~5vJd-Ma3)zx<hM&eIH(BR>NMuYb{dAEVeX_
z#uav-BZ@O$AyAwT6lBBy!D}W>hfWRp4&jdRpthjKYTG{O^YafA$&P_Y_g8ux6SL#?
zP_}3{X*%-TDLnkkH)~XM5~5vTf@BBQhv)F(*0(XPR#_wxz@u2?mhehJvRvY(l&zVi
zt&g7FYb2H6yDKG`mUDsK8%Q{K+Cy5NSL#$@X@U8P<s9wK$!ssdIpr4ZT4I|z3T3Mp
z%o&(9yqlyRp9N!!qWo;4a5aDB;?HeyHP)1qVc+6K`>j}-PS-g6dj<uN9UJ;Fxpx-$
z>bkNsx8BGr==e!dofpDz{zpe!xKc{U+OA2%fuP3y119qdubngvO5=bA!reiYKn{DX
z^9qeI|EkcVeEr|0e1k(@WMf8?2VCaHP2J{_JW}*=`dnLkdO{;S<zasd+Wp0$NP|K{
zPpl~>(NGL{o^B5|F%btiwgcN7Yb6)^jubk@O$l<uo~|}nS0I#iItnpXc9h4W_b`e{
zISyaq@G_RAu%r<4IN~6c!G9u}vM3_*>%Sc=w`d5BHz`6R&h;WcxXgm`a+4yKKnJFk
zg4cC98rEsyTN>p+G*<}fEBojFsr!{T9`?Rx@_2JJq7$MRR(%8<Ia<gL^~pycjdB`<
zyfggb9q~MCZRq~cP{2+uSuNj0ee4u7-la{`@;E1Dj}S6v6tN~`SC*Hgr~iDM8;G#t
zH7?gCTXGqkZ-lBi3oo`rRCNy2WcQu_QwZO~e5%hP8^Zo$3f5d$4Ell9&}%mXeRAH$
zo<+8a+v#6x-#j3a&?-rJXYM!-ia89q@iJ<d1iI)C?vSo{XY4LFqNjGlc><T?t2E7)
zX6l}Ks`|>VtMaZvGydzF`kvLgB9@wfz-OcT#^6g{48@3aR+syP?~DEmo3!^1{_$Cb
z&w=uelh*v-t!r-+vMBG3>4;)nr1IkVtaeVqutbmtl~zFOEGoBPennKZxWI9?AC_=l
z83H-s<R6)#L$=FN>Sl86LAQkUN?V`AI*zpW<*uy$e0skKuf-ZV^F@EY9=WnM5*|<+
zn|$U#4ecOYc>eWx{pa)cn|%NMRC4A#d-ZwVo7GaX`Rybl{Z3nMM!r;_`rrK90=Zjk
zvR#e-$X%fBkQ}y4&6&QfDKhqjyESC(&o{EZp^yefxxud8@wrISDQQ#3Dil1dtdnwy
z;5ybXwCsEK&NT<F7>qr7^$#t&bHNg3e(b|)M+SeZ1bjg|UkanwrGTVeXLFCXNLK4F
zn$Jmo*U?BB{J|_{OWRevehdXFG5@`jU2D3J`(uh8P;=GXXEQrfXBQ_kBU`wCHG5+#
zI2KlRVrJt1Y8)Iq+^JaBpyGf|A|+S6@69UFT&#gTv-la~Rc2d*kzv4g@3+D4ySP4U
zuJ6lf0iREq6$#2zm8v@~mBUabfzaLY4Kk9c&aBB4<vp$0RIYp{U&&v<o5REBPSFN3
zk^S)ovVC`}(ge`S@bz-P_YD1FD)go5#=3m5@s4b_Otn-k;};>b6ABcS7M%(H6N~@e
zcko@66ipsgc3?jonxnh4`gH$YZg_rcK}w9K)c>0nDGx)^Hj(Pi6!pB2^>`%CxJ=9Q
zu=DbjW4#h=A>*vv=9XG=T1Wx$Qd`z7IO{wtxBNN*&^NWN%~b*(T#Cz3lC|$|TksrH
z+R&+VlfyJ=6S1R0mVl(IzF&Rs>~~FHPb!^NnxMaTU}VKOpGONH8@vMV9&d3uS+?`T
z<r5=sTkFFpA=2fNZw_yUo{^aXT7X;W0sF~|Z=1U4RqF=?LfyE##wzE~df>-HS8+5=
zNS(`c?2WyjZ(%8py}<&=-^bAQgm%vDP#o~++kt46KDqY4??7Va&i1OMo9R@__Tk)U
z$*}TKitO(@^y-3)toxP#-oSM+b>02wLK3YiBr1(gd6oNhoh;q><IMCWTZiDC3RkDD
zhQ{q_Q(w=g^N9~8OcmvFIf~*&_0*9MJ~W(>o=<%Km(+P-#Xb;SM%>WKd;CU;emzRl
zMaGOqIVrrzB;fw%bRrcig@NG=4TZntS9C_mt<@Mee=a3<Q1Huy?%QS8y#jhHOzyAc
zkck1X@m4vo%at3Z&#S6mG3K_6F)?Y6ck_g_HPydJ$|k6E|D4BUN;q%JgKDe8hki@3
zFsYN~yoA1BS7Ou@dMVxPFG^~1RfothMAUH@G|0l#Wd&kle&#Kit8ea5^vgN#-LKFq
z52O68iU^glD6GTA&C)x@o`z+_g|fh$f^AAi7t}rph8_1}$(c1vO?`7GzI%*JaBNBG
zR%hXYY41pSulu>n`b(8HhCK1xY1FSpwOJv?0I1*is4b<tKVoFYbXqDzN*WeK%*c=>
zd>y)W{z-*qh0mxj%YL~l<#}?gA0d9{aZxR)t1@btbQ6!y(o>AfCuJT?_L!`vTg0a7
zEl8$Hu9&nn?Urjlm(<$o&fkX=(IAaKdFW2CqKl{Rg}KBmOJ+%qM@*nZ;?PhTco=d0
zlSZ3n)J4Ycf^(v!DI9)ebaL}KnvA-O3uwu!{;35x{iedKFG@{8sa#2t%h0(Wh+oTM
zC91jn)nYGRIr<3kzb{)18sdcl;06l=Dimp;9La>@svK=31$j?@0ZtJeI*22JsyJ7y
zjy!oa<-twT3?|EH5@}-^EDHBz?_nsoKmR;4OaUWm)Yq+&w=4Pi&H|kj6U?z6MAY{#
zBM0D7p9@V({iUbGpi2ZwpA$FV@eNPH7bb_{eLxN?887+6Wl)!Xn%!PcefIp#Aq52u
z%PDQOc`hIUMlp4a1w2PMG+&PIPbh!EK<B=n?{38s5UGq{Wg*2fbU?~q;9SfxBqdmA
zsu|>)vxx_7i(XWfkrgTYYEOkJzULjTX#gxq)9)53Bis*X#;bjan8{BuLkFi+8ZwOg
zkCXpBm`u5#Jz^?|lr7}QG*!>Wm^7&O?MV#VD)X}QfgO9DxdEAAc=CH=P}_-U{`I-o
z$VH6;#s#56!9!L9$f=m@7%Wvp+;$4OS=OaknB#AB@hs-V{(N*>aLumM+t+$*aR6oJ
zrNF<eea=y8DVkG?fNR~#RFGGf>|N<H82B^SlTBnBH1Qn*s>KWXw{qgjE`ik;TU7-z
z33*!%^ervr(bIk_@?D?#lxH`x=RRwdk)6I7hVv7Nz@#40{JD88tFHSUNx}8WJBpXj
zm=GtCvh1*LxPS1#eeMNBOapxC4#0^1y%ooG$Mdko6B)!cCcKjeG;W(2*P_F>M4<ls
zgm}{$FJp14Rhv*P+&V)c(PnDzexXCpN{Y|P5!7fQl8R`$_j!@ek8SZH%}cx>l;KtW
zZ+23)!0TC;>aCc~{v0K#yn<l)(0EOx0ak!AshEHN4t}-ZrKypp1_iE;E$~azO80EG
ziZe;8O3In4aIPZ7e~Ilqh17&^;agd3p?e(l^Bi49>1;j<_}*nmd@navf6?<UBlTX%
zV&GoNVxCyzAcwE&=PN`%mM?{>CAak$_bgfk$gF-@KZnzpLo|mf558%XSVXGpp#@Vc
z(;g84wg6r65%@(I`PC!(K7hF)65aMm-(G0zlA2pR>DKU&`lVB`vV86faeq&I{%Z5q
zD%r3Im-wZpR6_j2FGcn#NpL6cPHD%`y;n!(eZMM3qzZ0lrhNYkr@cY59iJ}wC4*<Q
z9TgqQK9fZIJHh-9{(T1qgU>3J)D?>6M$5dfIu>PZ&uzOQEb)b6L*U+`ADX66DZ;z~
zjTNu>XCUVI&!hrab?U;qq@Pxjh!0c*zWV6%?`LL18$S~TO7;^#{VBcWC_w)rb-lMY
zW+x_3gywRbbSIxL2b67zevT+d-%frj#*6r@R|QwVxM9gttN1n>quPQO;(@$0svNBs
zl<>+ji(Vd!cJFU6<p4lF)ma73De!l&Sk81Se#B};MQQr@YOzo6Tipd=kzGUnSyS$j
z(csRPyNtBqz8C)nJ9D1<IbVNL@pK4vY~BUT{)%;tmnDRPK6Yd%d80q~^Vxi4jO=is
zw*jNO&IV~&qbBFEgIEnsYrCsUG$rY^X-fWAPFazSiTGzO0TKx#kgG?v4J9^D0sajQ
zF<O+kDFYRtjcF-+6V@iutGMEbaJsCdLlCaMqCtO>I942IH@%$5rVeE2X9K3&EvTMA
zHYMUlj<9E+4pXf+;qF^MBL2QoNG)U*&96O@mrsr#-Yc*xvuq)<uCQZA=)_0G$#Em}
za*aE1%3c4m1lIObCfi@C8ez@srY^KDiZ@;xgSYerrMZ#2Ru8`8!q&SyX*JkdBf4ta
zvE8n9Ol_>~gTpMYfNUrW+DJ5A9}d*~S%909Y;eSQpX19QYn2F+hB9%+plYO8YT_a9
zf={%)uxIv_QTOW?pfBDX<6NSm!E{Qw2K`JaR^W~|1Y9W(Q9j;a)km)k#%ei7cg3Jd
zRz9qdotS#yT)9^GwcW>RBieIw4T?v|q#+MAtj9e3)P#654QxTI{ao=4r)uH+;|MQG
z2Ce2Nx%XYinrY@6vR6*}Y>j$%SAVZaW{HzzN9V(ZBGEE-fNAJo`uYYfc79QpoL}%g
z$PfO!1P<GrU?8CAELvidi9BT&x1So8@soa>SeW(ACKiT;QK61WdNb@)LkiLhhq<lb
zGaywyvfmIb2Aq|(C)G=iRklm;{-te0N3?!uS>$h|tmfmE`n<PuVZ_DJ&g}7Fv`+&&
zTMPIZyf&4!Ttaz|?F+4wU#-XsC_?xIP!nDKyQ&_NKmG{~y~*aUj$(v{j#voDt@Mfu
zK(*Ap)MwUm7GPYD;j=&s2(mz{ucQ>#7Cf%2Wu%y?qea>*;XZL$0q6D16l}?IIBUdz
zd@k3~=qnz8ilt-h5{9A@gh|))f_9oI7TuZ}i(S^!<6RcmowvYT8Nj}r|93K{#>9;;
z0%~H4^`uZQNOqfNW&zWAjS;HGiv9&$rrlCMc87tcNA#hoh7Y{;H>7lewz{5srQe7g
zb%|l^eo2kL3efA>@>5_^AQJ?L{LP-O(zY$tH_Btq2<q15WaMuA)fhl4>mQNIW&U>R
z&aaHX#;dzC;MBB-N)((2%)$^aB{<4a0PJXKH6aq!PK>xUo&S2AKBglBB(=I`=JfPU
zgc`N(BJ9ml^f8dT2MELzJCdvv<StV-@L8`KFfO($KCOUv$LbJ?l3|J0{hr4Me4Lu6
zmmgO>>B{6s_$BH&Yd|Ld1m{qfSQ5@M!C~xk!JvvIor;LvJz?yjlHI*?pKKdoL`NdD
zR1qQDAOc#UuBMxT3HPHOFX@|oLyTSG826f^+L|J<H(T2W<$0y6k~CpVf4Mg6@3Kk0
zssU79Iif<g_JWj6SL$3*fe|a%)m^@vjS-HjP(%pYW1NVJ*r<X;3Oh`=Wc-Raj(S0I
z(iKf~pD~ze0){POvo(2~9!~*)CLz-RpZ@CyQ0J9YGxfqq1HYLmLLJEe)6i0jgN6kD
zh=&B;rU?^{1peQVfgysGu_QsQFbXy`qpHC9=q|d4Cr9pfe|_sS+DV0(>=Wf7I)iQl
z(c3HG9TJT=82V399HsWMIfQHZ;O`s$<USI;lnR?!x$H`5@XmA_o09~#dmdi;Ij$=i
z-XT^Hs*%A;##2uk6Ln4K`ns*u(wC~@e3vR%E44`8A7`;<#yJuN!-{=Vpu%4&v+!Y!
z8n#e48}V(V_;0uLnAFNf8N_}gam2O#LiAbR78MF`AqY|$TQhuI9pixOMp_!Z<i}eJ
zQb9QtGq}=f*a&Rl)xHNtDiD79P2|XKvi31{jVYb2g)b~km>dy<qL<>q+Nl+ef8!Lf
zQY)1CXUq`^WQ+*UIwMYfNZ;^07ay2HIGX}SD^;js#opWbMxNP?QU0N@Xb|yO@g@=B
zN)?M}q_C%}#8G_`CEGMZH31718qw~keIxR@d(8xLV>;<dfLv>_3ZgclNT~sB5N~Xp
zEf(WRzHx^-c9JEwH6&1z4AGR-2s}Va!|fFWPPm!`Cs`U%B34?r@NjwdB}JyVFy8lF
zl~to`kRkCf!6I3nRo{<ID@Vnt#iar5QrW46U6Z6EX_Em_eY7Tj1}RyVQVGJ4ucNp}
zg7K-pBAK@u2$8DEhf-(!1=XCvbe1OT54OeuRp<a~=+e4qg>i{jQSWr-V7l`?^^ql2
zdjjI$T(4H7cd{l5#-5BgV-(G3mlf*CvQuztYSpx<8JNH65GcUuQb{4fIKF)$I+kPW
zU@|(w$LoqBnlk=dhU^_&DjuBa3Qp8`F;w9QMU4_rXI&<7JU=(u?aNqBr@Nm5>z16t
z;@qjIA~jlkpS6poW4lJtx>&_|iKc6%{>?3WS9x^d^IP%!otk8Iz&E?>JhVpSw8ajZ
zg8PzyRfh|RL>%#0Dc!vkZK`k=<|_MK$p=hA$ARWaG=8T+hR7Ef`Wag!6Lz}3swpFc
zIuUc=AM(d!y;w9tIG~0r^FAg)MB4nBv_9nx6)eW>S|Yp~@C!J)#K{w)&Eo9@VfJFn
zwZ_opcJ;_-Lz(!_+-i4l>day<nVN}&%m~TTx?=jk;=2}6R+Ht}3yfBOCdh881?njg
zj+D-EEkr?Qrkt4Kb>hN0jnQ-CkhGYh;R8`|+7?c`!^fYGcD1^7pts}S_d;RHT`4UX
zKtSVbe6}G`q^j9ytcB(dP&KI2Tq#X_xsfC>gf#AycvutuB6$w#QKV6*>`Hj&T08`i
zr_3iv+EAqZ3x;h5rgEjW+BQ4gVG3T`L0q}%{ZNO|O9-Jtt8i<x2^yJ*6(XoHEkHt?
zH=k_Z;14$TFYZp|eW#AUtpAI9{Fn<f8n*><Oti0ZNw*`rota5T`0sdkXd<;0x}6Sp
zEonQ41xTHwO}%tnejeeN`z&H;9osX~(YY#47u3U_>fhS4h{MLE-xHe7s#FcX@mxEF
z`wdUP!-)G~LT<>WRl44L3feIMxEnWzsaznPL0c^zyC*-X7#nvpRt}N2<GvtP>Op&-
zf;JFqOgBL{B`_4EghW>oL24Z7;Hb#+*mg+g-cA>fPKHAK5c5x8hn&5Kc5~LPU~-~~
zD}|bRYp%5K5h@Ef7G1jZF~GbIDFxlgaN-$Ij<pmiP96z!1%yjJP0iu~d6GT**5?TZ
zVaTV0PAKfR8-!ay=(x7d9d44}RD@4Dl+hezxVaqTS5y%b!|zqS#?d;@uc{i{n_s%f
zaL}F(dwG98YqlX}cmyw7EXLhbYULr)qWDqIi%99Vzc(sW{O1MlQ$fSU(W5P^M8(@=
z*8^|KhXzrOhezoVumd=_dOWouvZf-4)`Yox#j!=*EZJsknR-6m_?M+bk<m(eK@{{G
zYQWg26wv5MT|C)b+!%7?O*n?gyvetJq{k*9&wDW9@@%1}%GyBiLV%G6pbJPSUUX6m
zonq1w@#8^@*ylBi!$LgfyI;jmj~7D3bh0>n4+)}-%Q0yY#R4pcBC%FFv>)VQhzE&V
zIY*>nW<vOJr+b}^WbD9^O=wQ39Q)69&4pSQO82H$AU*tTe?B@FxZ!hl8L|4YO&Lbl
zo8R~{W1L=!C#|iTHr3bXw3E^~iF%w@q`-JCG9FP86&Xr+o>yqWMn~K)Vru5wiFuyG
zRawDmMpwhT<N>c5Bi7`7IM1&QhTt0Tq4i5?+J+bU-VDZ8??srLyHykiLb4u+LVSC!
zmGQEn)>V717OQ_HUVaemaC$s(GR9Bze>wP<J1-&Xf<Ig?pbs9KBFC;DU^!k6D<b3d
zwlIZG^c)IN4jm2=SYEKSbmA+mD9la-z3sMILv+&H3IUhf3>uwt>w3C*D%Y>l!!|b;
zH3O7X<4!7y2&pTQ&^KOd)4SUqXT|%8E;qs`UA24$%@24N1NmR3*)iMcwP)=_c6Tr9
z;n7=(Ace7!N{2AZ&@c1^RbILB`^BYE6p)9`$sSaAHG@VWP3}omTK%pPo@hTjbGP0H
zrl|^`O@YE{SuyC<C{9AuPXo4f?m_fxrjdvh6EPQHB=;V7W0)Z4)(-~JXQMAyzived
z%V5ROZgUUzWW~WPi%6sODU`}*$8WORxx033UNG(gJnZk)i?3~PcXZ7S-^s0JX*1!E
z*N!zwJZ}e&3zPda(S`)ZAB4^zbbH`OEYNjm3c&3o3-r;)p@sL-iEvJ3OMcrcKNMBg
zZaO*~Sms#(cl*rOxCBuz&E{@88v;n<$y2Mu8T3q+(J8`);MR7_*43xUE3d=mj)cVv
zf&K|cenN}`X2t!;*4vG#r7|%hu-1j8i^)Md_IZI3p$(%lUfbB_20ro%TTH8}vR=uv
z12BE`ANB-EF7z`pEV2yVLsJI1J5F;ob`u|n@wO$Dr_uki!mE>VwjfDd?mOkUvO_<!
z8eLeTH<-JZ2$#}3ZrWS_yf2+(g|*aGHqZI3q*U!`Et4bUyqKel{&jr)`84$f4(<Ck
z@qe{YHs=4dP}Kj#P&O9!|CLDDQb{I3(NjhJL1_SI{1()an@pc@f$0)C9Q!=y2R;QJ
z<c-XTN?o4O1PVS1?fNvau@=RHEf9+px~d8hCoNtF*k^>lAnorfno-9m3>L-{13e!P
zXHUnUwTAEe<^wHEoPzdZ9|xRY9$sCa4zW<Lm9uh|bS>{EnJ&evaCMXLZLY+)QXdOX
z#~Z*=EuSS0Ow)(8`%wDcxOB@0nQw~j`mGjkN!R_vOTHG*NiTh^yM~PRurQ-Wz7`zw
zx&8Z2*fzzvQLk|DHX^fqmjvXy#p(`vrvgn$vff{OZ<fv7YQc5Kk|s8fjv052Ku4Nv
zSOO>$2dg(6#9;Q-llw4gQSH*Bd*QlS`f%Vc`8de!Hltw3%(|4_=RH{MAzl%y@f*vg
zj@6BiMZ!DkGQ-S)9zx5{Pb(^cgFU}m6)x_WBNbzzjt|nY<=qLG{t^3q9MG)D#D_7z
zha(Brn-+TqP{EB|)&0dk)eqZya0d2K4iRJb?-Nri-=<oHFRU!pG@}hG*xhQZWtoBR
zbK~&l!CSmpF!<=&OIVc%jM9y~r@DUd2vv<4ys46aimpwz@TWHU$sghvedk8~906|v
zKXgJNAvX$=B8&<7*Gr|S@>~Y@=IPWp1=iB=&2?4=4G5yeiqvle^Rfq+Vqt?#ATX6<
z=|hHKnP$!)#P_%M-1M}yjgu1%y-|RBSEpd;bX!wD-Y>`CKS?XY3@b`WtRyg}o!vwy
z8$XW_y=;FzLy?`0a1+`v7T!(&Ix@5MZLSm*&E=Ymk53Lg3xKqD!TS^7o3<&2Q~IkN
z2t^G<(Z;TII5m{dWW(uMq_djn<V66dfvR1-0pTcQqW?mamZ4cB`d!ekUIPJS578<}
zeieLI(kU6T4ERn0mHW#57VIRlVJ9$_#Gp7}5jM6kET>+|G1GKwBxKs|+~LXsEkT8r
zhfp%fD^!>?Qcen9#bD~sL11LVX7Q7EoWb5GStaRddqh?GcUu3Pcwqug1?m{V6m^&d
zn-%J2RIgMp0?Rn!;^{8fcoQU$q{}>Yhs3RfGiV7a7!hE}Vwk!ko<R)JrsLtvVIUae
zsMXZOot>mUkRYQXA7n`c$o@vGkE5e?=I2ajFtu<^0kP$+4_y1|ifvyffgKn_vYy@2
zXEVzlyoDh{(*!RH1Uo>4N1xO)N@yH_BZk6fq*ad79`UK{bD;0C6LAHMn8*3MZlRre
zbo02yessr~#3({W3{(3io};_ukh%9x#8qxGay=qLvkO>L8VQFOo_=k7VrPEZcNeel
zD+*+q5YUBCAfG0M{f4r-C&!dVO1dz=D+T{!a9n`Q_xZ$#VMs_{G>(`U*SmkMmchg%
zCS&f|eUHduErgqN^g{x`q~nvr(eA%bUCi!7vNkJKeZ}!oA0|IfnS7_k8iP{ha&%eq
zl7!^~y-DG6!7H0DE&3u#5Eu#Mo=MstpI>Y15~;s#ByPQ<(=)ki@66wtO9s+A=kS_*
z!Upd1k+(ugc~QBzT#U+U(cSYXUA(rf>98bFTmX0P?*(N(TtfiCEXP-l96BPx`h<KW
z;<^8cm|Yf8F?O~OA4a34%D#iWQA+Ir1Wzn_idAMKO3SX+14h2(luEKYT8s5C>TdBw
z9<+YbIVz06U546-&}sZi6)#Lb?qtKLhuvfOq;puh#*iyY)|`6YiY1v8`o(PG$eeE8
zii;ag7FtHRWH3;pRQtT@>`*ci*p+PNJ-F>VvOQo(0Q%w^taqc88q$?f=7l0MB4E<D
zkD+vZbV2=+u_PrjE?~?N7v~hKiAc^L<V_Oq<VgE+DSXZ02o5u|OSnY2vg;l0{fGG_
zd^#Z5!l4#cZ%_Zik$ew#v!lxfdqg0T?W?YL<z(|cx)*q#6bQVI1T&aWC4=L;g*6RR
zhVVIRNAg*+5;KDCHs{Ez12<^E`@xO;-Q+eFP60BP2cetRj(Cs%mDd)+`W(A&B-X$7
z4FA6Yq%Md)O(Uow54$>A&5__c2cb99bJu+~uZw1ZwdNJ5As9aE4g;qPFn6q5xtD5%
zNWtxbz?!v0Qc%0#KZ6nUCo554z|rbsjLO@3qinFXB3i^jM%#=qS)zL_*!37SvPr;_
zQa4eWguAqXxb{p}SpTZdWLGsT*`sCUaz9*B`2t*c`#}B14&_F<#fwA96=v~sE~nob
zJiA5`LV1^?5HtY8W3Wt;7?P0X9F-fHzj^=wccvn`C=cqjUiSi<2Cq$&aB$mI!ZLO|
zRKg-{klf|J4WGu`Z9;;Em<G2un_@)rC_({*dcA#8j;8Bw_Wf7Tmi&8>JY;_AB7k*z
zq+iZF{<jU*a?eod;DrCj$OwB*r|VB{ULUe`ab%gEsyQYFs;t93@!AGkLgxTxJog~*
zsFHhJrHl<RWjZE$SM`NEs<Du6bk?qpb>5p>TV~5!8vT0r*EMDpNWgEw(Sc6zsD+?T
zCxT+V2D~>(OUWvzze?+<l>vaotODHe>ln1>KJisXE9gHQW5sv7Iv#JK7G41AWkFmc
ztu3s3;TXJ)8{W|+gdNrj4Y-@Wv}Sjx)OB$8H;Hku){<q#Ma*64cFH|cxh<8E<(w*B
zW}rg;e{+=0eKM$^Jr?X%I&XXR7Ax0M5It`vqaC0_b=6x)Bbg&<8AyF~jA7P{DsF8<
zN8nbMd0v-iYvxKg=e9HV%<S<@oFmaTI;AtELU7@fL;HnI07Q#@fkn^XW2xgtfOU$e
z7NlX2^qu{h)YNYv;W3xErC~FNgF!g_3RdfnYi{>x!Peeb@p+8w#q_`s;~I<JZ%CM^
z<Xk3)#=S|_HDBS3EhZ$6uo`2ortZ-zRC%02T8Kz6e^U_=1fgutDy=%qIIb#T#2^Lh
z&vvPj<^OB70Mw$l6TcQ-xhlb~ZSiQ7bjeE?(v!!+pxt^Q*b35tGR5k-qb*+)ln6l{
zln_Hu<!bm}leQUTLqs>q+?b3FzOmD1K-0s{SKyX=MtWGXGj9arVlVq@r#YsvK^wiZ
z6U`gj6>=PC?6JWFq)FMs_LCp`jwubl^CpL8J~QIN0tzfT5Olhyw=S<mhL|}vzk~Rc
z;&T&a?i=)cT}RjPQgzq*>xvh!LUA%UJ;1b$!mSdpWo1*biwAfLc4Ct|7Oq4a@DkCt
z1W_tUjAjub>S-AUt?ZylIxV*G1rfCc!g1YE<aI66mere4vYVg9SD64cw@V$if`-OP
z_$fYkfYimzV$Q3IVL>3JdT9LjXKphVovUT%SfqzNU3uTX|39{D`DOC??bw(})>MY?
zkX~@b)z=t1pZv&TAT=HqeW7?UQ+BCt*w~j-OsWCXpj%EIWCy!VuR*<F!N#dqwRz-z
zMH{y9qMheT_qMxmbT>s#+`@~qOA{xn+Bw!00A@C>?LHD@!VXLYvmv1qvW^{p%4ro1
zYZ@lw2tS2(FJ;}tpyETaG|#~6gd=4~L&RjW4xhA*N1e76jnF-ZMXbn0ri51*yhH)J
z6D86VOJBHU$1@9p?jiE9PNJzbOVRk}Ua)95l?}wEZn2k?1D%k|^4Ipziq!smXgX3n
z&Qw<;eB^|=lFH)v!v*2RhhN(p(cQ;uf9h2PC?P0kDncZvIUt2l^!nV$j#o}GLm#=!
zlO}hxTi-1Cr{&Mx!YX<X0nQOP{MY=-LgZAnq#t+BX5F68gWJGCnCKrTFP6=<08pO^
z%;fQKqZc2x?J?+UL|0veW%zSQAD4Ph5x;dfd4bf!nJd`B3~4(0H{VVyxikj`dNl>!
zdwK*}>*|%mE#O%UPBb0+kQ@R2y6MC0#a2_#pYS~W#K`rkoJ}Dha0|EU1>-s~f!1;q
z*%5P!UC!5iqD)zRz-7lqk=yKF>J}El@V1N-GD7QY9pxM2ILa`supKnKc+ly)Qs~Px
z?me$A9YdPqA^!D$d0RZ5xW`!IS{ms^uC4Wlo>}5-0Qj<fbH5VSu{ReZxL+JoJgEMC
zAGMArmnRA%5cA#3-gYzVy<=)1I&T{BhQ!~%){xG~ddo1o0c9^T`dD3=#rMnV!K09R
z!7!U48etBmM7eLDHWuOlyc)kWBeSnx!e7xaSu$!7CE;gNny%gL;x{7<1xDyMN?f8U
zsLzO4V9b@zs}@Hyv7y0zkMFwk<a;sNiHL&}ZVf^B+}k>{^}U~?5o8nE*c928ljo=~
zg>@SXN%pM5pR_m>_#07nT#g@d+vIDL-m!;$7Q0v}T+xpcY&ljI)}A|IL+LD=KS5m~
z{uHUKCqz=qod1CEFt8u`T$bTQ)cO{h9V+963w#FbjeWCVpsKw;UE}P4;;Ahc&yfe;
ziV3l49AAmq!d(cqu8eCJ3=GS0E-tC6i!&6@T>8<&O?NNV!%Gd`msz!HEATT^mlz16
zq@XxO)>G=IPQ<@4#ws=T+shgy+uFwn%i5J!*!<=!qFp10sn}?C$gZpNGl$accW1R_
zEzky!lz*jgFg#3%lNjz@o^NIj-IRpX49Alu85h(>AZ)8r>BuKT_SHw*L~RlswB9QZ
zzYB3KURlnDLANLnp+@_|R4t-a)04rUZIw3KuyTkvqKz1CxZIc-+y)Ed9%rzlo*NN^
z;f)s!QfQQZk77%++s3*foNj2noMDA>87PT>(PHcoVvxK_O^-l3qYv4jbD>=z#h7O4
z*g0RPqbsnw)MZ)OUaFHefmD@t_%)zp$gd%^*7pXXt+`5RwnvO|fwT|DJh)tcMO%xT
z)yp_QA}U(X<8uJdZopfrNsLP9_luGz)*0MBUKj@I1S7$HRbch<yZ3Jkzt(TN697Wn
zAQ3(F_iwS{+iF-dlF7sP`y({kXqo&3$O_A{|0J;s$Tq3v!x|&M`<De<?ouB650Bm;
z{h>XCSM$X^?%d}%P~HK&IR+RT{wra4rT#>skt25cG(~Ua&<T%%B`5N`#ps>EpoVAG
zYn3ZLe2Ole(TvJDFG2K6>PHM3FM#FOv^P~cdm<A(fq3+ZoCY0`Ful4N|KeeXf1+Vx
zj^}WvaXSvl0A~-(;wSAVGch^(IQ%WF>ZSBZ{jS)7v79;ez#eA0d~o_*l<ywSGw7rn
z|0I-A$85)S(Lq7rRDs5W_9#tih5?IEklhoXYn=D>C;#85fVTdX`9Ty%X8?UdF4%&a
zdzzF|;YCeuQk{W<juNXfGyxMmQcZNsj}i}jhF|W|%$Nk>ZbEKyA5ZF;t$v>JL`+pq
z49grDJ#soU;Zsgb<RmRk!-i&UW-z_3T242;mDSN~U-_J1Y;bc>TgI4jc!pfUxE+y<
z<y%wKpcuUbA}I?>q>|{UA3$h@j68p<>qCsZMT*?e92)z{T~$P~dIk*TYYrR5uie(?
zhDx0vAU*^#5WX96qc>oN(jjQz)G&WAGfxUs6_c6gvyy(e!S^w5g=%R=;qe+{krrme
zq=k%@l^mebW5gAx6O4;=jP@5)hyKHZ^C)Mp{P075##E0a=^O+=tfA2y&p`igL(vg3
zO%D!pu85HP!hk(_3gYtuF7N=3W(^#DHUwF8>)UW6Y60iCRG82O+qBT3iX*aNlHXP!
zzdXaM@I;=$mHNcIzHX3Fkx%?!c=l_5T7#@1i_yzZvUvUqvq}$>GXJ+&VytX7etP)k
z;7jQJrL-+-!WwQs*Rgf~c3}V311e>BNx43d_~njcFp^HQia4!Wn_eA-UL6sO4hE|d
zD)JKrAv>!)h^8!+CT)mA^Rm>i7*W`6j{(oL{)7Rqr~%YO5GsC_2k977hxOUnfzpN!
zMgv8k3})g2n+`@$8|8R<sQ@(y<x%H!1t<9IJ3_zlKMVw+XmR`;Bo<Rg#ES(X37V!w
z_H#AA7PdarM_q}#gF!L2Jq;^>ubn226!=$U|2N7Al^4AKw{he!nUDv^|GcF}F_;df
z7B#rox#{0rhs!V#fH?P7C{J3nHnTATR$*vlTHsJwpRpiB2!cyXn8*)C5oT-ayw#ar
zKn9O=v;UoS)OhBdRoonW$Pa=vn+;|XzFF>)YFBR34h2-n`*Vk^?s}37F_bIPpSo5Z
zqPg51AHf;f`b@Jvjs{+V7^h@|7R$UaGzJqsQb~R!B4ntn#6%FjjU`WqaJ-*qoE*#C
zmIMD?OH*33NXNs#d`6a4N+){I4}{baa0Z!#=ajmH-j&N!2dM$k1#Jbp1qWq*se}5J
zA66_V&-xkb^HX~f=FwfcB%tdPNg_~x%CQH0^bd1!;6u0k)wL2mB$RV(=48m8TwG7D
z;OIjf1uZXimTSapYmfvVv(XRwevhB|CIS?RuP>U!{?iZjIl*<xQ9z%l=g&4y7Smb`
z5=h83TY}3pRMuKMV)&e4-eB&xA3nM~NR?p3CedtE2>!GNCtJR)Z_t%0<;|&)iT~IG
zcWOl<s07e}--PNXcqn;!U=zW1>Nl3zMxlTT<DeWD$dB?3smKS^zISh@RA(i{&0L^T
zpjmW$4BWa+@(+2_pZCT2C}6!l{RZc+;O9%<L8bfmhmMT_%#AJmPnV$qgX?*Kkbk?&
z8yxCZvc|kTYIV!U9W(ck?|SO8bybVWoN2d~&;an|@U6%8de&7Cys2HQN^k5}5FFkK
zgbnHm$xcqR`-2r(+_Zdgw)R&Wj*X3}#F`#!)A}toQ_$oB>~=E8Gp5>FknaG4xYZNp
z$`^b_nupG^q$gCJec{KGw>Kx98HcJn08Cj>1~07=<9XASzV!LSBibqeu*|{rGIB4o
zBES^PpCFI{?~}<#2;e`SvB1DTmV~YRa0XqaLv5jFlCZuvtgsWJ&CX`{>B6)*S=Vh*
zk9#`uNWzjQ?}uSTcjJV7dy<+T`!78l>Le($Qn7aMa`T!;ZkMRmklN_y)-<n$Q7Dmt
zrQH$zeJ+unuV1lwNng7r-miv$5@q27pdu;nPJ(X4Vrpu-Uq~pow;~Cr+(;&HslvG}
zJGTo}Lg~b5*FNDcd&%G6?o{_h<OUP`;%slg;+5(@s?qk3YTTar_YnBc9km!OC*AG$
zN36+!wIm@79GwQqG&=-|^5$nh_K_Gdc8;u>HUtbE$_Gw$zCaLu5V%D4Pf!2{w^6xG
z4Gf*J^^WEUT-v?7U_SFSwxuJWNsFy8r>))S!#Z?l>>dnQe28>sVY5Wk(_N0s_h(8p
zzO77p;JGUe6ao{F0|cV>jpHo@-dydlE9$5&U&Dl6)5+udM*pv|uYijB>)NF|Bqb%J
zb2?B;KnZCW8l<G8Lr`D{Dd`*<q&oy86%j!~kWK+<0i`7r<j()Q_kHj8GIy=}&6>4_
z+3TFW_j%5<<2TItO;?u)tkUvQr&fr6_4^}MvPHk1p+&;S`(axKR605YfidWp^r{(a
zUW}9ori<v`io&cUrHC`4J^z)<?+jxewwdRA3NY#SOUxmq<cU>OPHaxQbqY2ux~=s*
zBqV|>=8j|;#i7QkqzXz>hN{Y>YKV{~X%qEsZ4qR*NZ3E!Mw5Ifa{_~xq~Us>R<-hR
z8OkA;zOpT{GIg53H{7_G9_`p96=mf>PrTY-rA0`^EVhP-+6(J(cr>bkridX>?ECSt
zqW$2o!6J*v)T}CWW?-&p<_YluDZSkUL4M-}SwWlP1D<taBc5QZ)^mgQ0mo>Y1?o43
zsM!M|Y`alK`h%WyES`dZnMH_>426IV5UfWqk$}k>A5<#@>6?Q`(8i=G3~Xtsg|va1
z+iEXA5^RpFa4GXQzjAqmvI<J>I;V1JYd`<Ky>V)hQ^u7`l4<)`YNXRp{sKV3y~h^4
z$E#}n=6Ds~At}?Jfj{Zj7);@}4Y5RUYP(bVm&?nATTB^8y$^&*wWC7kp0l|lhL2c4
z+$v9Qdr=C&zDtoYtD?`gT<ek4)XZjr{C}zD^auM|k-IX~^hVEFd&_^`iM+pu>e%po
zlPmeq2k&<f_ivd{32SV#(JCnxrLl?}S08lchYl?qXHThbo@*aJBs9AaJRaa-R*K*P
z-qx8rT$bC6_$_-t;dt-C)=!A)%wj=asT5yB?(lB2jpD7u#SwHHZM{omY3%7j51T{{
z>8P-JuBwc{7){TI`wE(Q5y7u%{)$lKAb<}Z8i%qhPtkv*_|xS={zBBU^TM<{u%}|P
zJN&Xj|5F6@AN|TW+E24zSY{Rg^{JOLQh%7-I631QEJD>K8kXquKL;{te~MWB@qk;r
z-ol}Nv)lc|Bt0LF{&5<9xmdTveq!SJmU6b1s6Lk#ds?U}=(vvr$n@lmN_IJQiJY{p
zc8R}6e9ldf=Ze~MG6$Kk&x$uVn17+&#vb{xLtBlvMd~Ay6*1%;_iFfLDUgDlY23GC
z)>7s&i(~DWDT%b{7`r2N-c`yUuisjE$@uIy-vGg0(@^jL8M?%Nq~g0)ky|{p%W7Kw
z4MGT5Y=f8cARZzvMZxEH*IH*<OcG-i7nm3%$5dzYl~^vH1n-+MH=iOp<o4s(RBi^5
z8(W{N_=yYhZv~Lk^w<?j<#k3i@KJqa5m}SzUdr{1WCB{!bbV~)U~TkNI&~;<GS)}j
zT4M<Qi9N}q_6Xf=Y+J!D!z;_6L(CZ|Q5t4NEKFp%m@kmiHBOGbHNqQ%GVfHzeyKL)
zf_p!|O%to4T^K8gOcQInzb6?wk4(}@tHw^fsZ8K>zB4ejPRzzPbcwj7Bd7f5#?2^&
z(Ib@@Pl}BsEzx3K5gI9q2d}<W8PidW*ZTSp#nv7=kEK+j9~#n?BYe4ASP0wbpFQQY
zO^y+CWOPN;>tt$vN$y2ePU<FcjdZ^a35Md+r1QTghcfUrBrlt~TYe?0B2GL=((}5l
zRAG&B*Wm;YQq>WBfhpRpC4sA6a|B-v&D}s2#2$f@F@1DDEl+-)dnmdj-zN585-LoH
z<}eEK59cUHN4}I}y`Qp9rsS2u5j^zaYgwY9TQJM38CY~8RiS;NHjC0rEtZs%JqC*3
ztM9Va=#pP*0Lg<B@<Wl~m+QpeQ(lmGNAJcFt47`IIdCK@k0Tu>BV?-L-c?~E*HK|0
zZ;22Tk0mPi$y}^NU3wI4Nn1^d(`7E+Mzy{$j4eKepvgER<lDy$6w8y`-`#8u)9Kz%
zF6aKubk4RxZw0>_vWss{ET*eUl0X1Ap621--~DNsDk7n`3K`58xZPuLA99n5)_zz8
z24I+WSf}VDA2dVc#3f!DZt5$y+HmMj`7tuE7F)kEV3XwUj@`Vl89%$plKytQViW@T
zq`-GWAAMVo^J_`8;@28-0pn$!ZI*JB?S!+wMq_`syN1x3TW;}Z2H&scKlCKf!4Tu*
z>ZNbW!X%bwMsMLto<@@PH6`218i;D64qBy*#K(bsG!<<TSjUevD7zA(-b+IiovBjG
zZLoioaZ$;Ignocanoq?zssFjR;!mNiquk+-W^QVmODny@v6NgEonK1L_SaI7*N(^G
z?9-+%``=1^1+ot6tB)_~30%8n>kD4Im!!C=bGK-jb6ecae1Y!Qj#H?Pk_%J(X{Fk)
zeD>hLimfPg6m7zsPXp$UdZjIqEms$<bgq$%#|P)0I>ILsu#E#|X9$uFGi(LTd3CcZ
zpw(}tajReD*%G#W>s(I}TXYM6p5sNT0t$Gz-t!dgJZ9N?oD;Nla$-n6)y(q^^-RR>
zU}rWg;gwb`U$Ry}+bjG<;s9H!Dtr3lBTw}aNt84-M84D58!|$4={Pz1-gm?RkHY7B
zEnlhe!P8~$yP2?k$$@fuH#0rX_*c|zx@h^v#)XK<1Ma!TOM#agghxyMs8pgs1A5A6
zr<2jd4Ye-Sq2s17y}DTeC9N&a#`{M?kNDm<OZ1h6kbX9%;@F>Re_aZyU;>e!hbDO5
z_a;9)i4l?4+p=ZU9w>uFN(_|UQ)ixeQKaYD@2k-y-wZ7^4qhwTMkHkGI|pe6nxa{R
zi7CB+_=M=SbQC|H<#?>$Bqbifl1ItSP3^Yu72&&w?Se<!wy6uGIbvK1uy5uaa4Go>
zBGckiZLf^aqHSUG{!L2vwnN1?tVj7>Dg0R3IuaE}EP`g+pX>8aU9qVL9ct<%%Aus&
z>;;I%)~D9kCM?gSa&q&`3Xh-qr=Zz1b^6COS4oI0^ymGjMNQYNe%m7<l}yYJ4B70(
zEV;(a$JI)k`R+8E^-ZjOJ^20tdy?x0Q;Y7MgLCG5I!OgG#v1qE7mVvxpyr{uja-So
zR_F4z?7jsL;r%$%<<+z22axg_bV2sO?=Ng*RdR<yydfU_tSBQ<9#%x#RSH_UEY2c7
zwaD{^`|-K4itD&4F-Ti8G@$`y9O562s)($3#-^0gs1y2~x0>(3+sZNuHNd}WTrQ9C
zSm!8`KiN&-P`7)&EFsbQx7DBCw}@&W9aRoM6dAEX@+Eaim`o=r3cn|TxWA{R$U7w3
zhjlSGfDAJg@9z70a9k*i6ry=jcee(Wo(A6flM@i1NwW3JY2AtF>KEg!>Ca&DB-RI-
zgfB~NBRG#(rZSuEjEKTZ?#L9AM;-pz36QojZ4J{TPx9Ce?ob9`zkKoRE!ShEouAWx
zZWo+fP^kf(>xK1GE?0}fxAYu$1KusVd>$OUxu7q#37Dqq+q*Hcez4|?wmGnkji#5W
z1&o?0FeC!`AxubK>OjXA1BrSb;reMp_XyZDl%gT@vQ_TE_H>V79^75lZ=%u&GWycx
z`;;2R<YW{Y^%V7cV|WJ&!gwo${WIlND&G6egwmIXG`>3UBc%l9s&gl%B+-=@9C$p8
zjv7c{q~NSPWxAKPzBgHdeymI6R$@SuAJh{ah@`pUm~Q#15l=XwPa7swUJTv}qk&+=
z20X;T>S<3hw)`JZpM0;mbbKiBN=*|{3E2D9Viwbetf{yk`)6mP@g<9P{KSwY6Ht{O
z`_0-aim5%ZM<RPCfou~MD`rdnvf`MSB~7P<#nH<~seB_;e4L#O`mU1}jj87C$k%DN
z!c&SNVP4xl#?I|!+oNxeqKw923;4fUAsuVm$H)HNP0&Nwx<{JhPBGM<ORJ-(W3CuJ
zMo|=_7rjxytp9Kt8r9%dptR>MZmLT8X}D-(o9Twyflj8I9H)D2@uSW`KVeok%17ik
zor0ukEv$J4y`D<sq79XkUDbu145?~~^LlC-%m`?`Zh|>G?zDm<zS7Q%KL2>%dkA_l
z@vbl`Pcw8~-d;d<YX4#Vc19^rrsJfxW;bNAVl~&jf^KT~K9v23oXFEOzViI`eVJRs
z?4Jc?jukR@3C?}L3OGv^$vH*`oZX6_q6B+6P^|S>5JpCa`k`$zn~TS%ss20;6zE){
z(BhE0yZN@<=Zf7TWt!csro<+&{CPp4(`O3dPW7K_V(r6A=wo`=J`vMTUgrppzJ750
z-*&2&b0f}=-61T(UFBznTs8JyE4kzs1GB3zbN6}0Qpd@Ul}}Qw=;{j&L`;ee6|3w!
zR&FD|(&sQz)?cB&|6&=)IDWk|$5fNLy4jaKLSI$qd%+P7!^CjPwi_xC%XAbr@M_uh
zL|A^FQQJ47Zg~>DSG*`z<04OP*(a)cQTlED*@d9G?tK=gJD<>VCsA20O+Ulg!{;O(
z%FPeIGE7IgVT2lz@b9jTcgmO;dq&XC1sOGR>3@|?ipV-ayUR+nyn67F(&#Ot_s#Tg
zpP;J(6AV8-z4Fm(7nxx)iGOOkViHKv$?2dj!J<9o@}{2P#?KmZYx!aw2UT-j6-v>f
zk}dDZFf)ZSb!IpIT~!V$e@ywD<d9_t3)kLFJ%DHLe4ut}%f5^Hnfjgkzvq8?)kp)F
ze=ubhCWbMP`=GZ^<WXdme-&>9+$pZCzT4BcrTfL|_iv-O2-V6C@lTL1-4PiXf%WZN
zX|%L)hMm31_eqO<bqp;)gkxcKfq^xamsXQILE*nD^-BrarfN|+G%R)jyKW@`o`d3F
z$E4aSIf?Pq7igmKso9-E)lCdl`kL6n4d!(~Bb*nneXG!~eC!M<5#0wx*?3-c4_jJ^
zxPO!(cktes0<}7dbxBvP^6}9tlRRTyg0#Ioa^ok$K&`pm^{y5c`#Axtpv7rp<ZYKY
zP0ax!YW0IF{#PUK<iP@r%ExcDgxz94z06e(GX>Q!<&$vB9%VM&`)R~Xxhg&A_-bpG
zy{XPfT+b5SZX}lCJ3dG%!pxypvn5KlZ)llRMfH-7j&@RrJk(LINdc<bmd~cY1yD6L
z68iRhW}t)l6?gufWuez(VR|0HTKNmCOcYUugZ2g+oE$&yH8L)Yoh~v|Po;?-#ldp?
z(qI80c534<d`Yt;AZl5EW5<6)UF_^Ec`KBCY&Uy>R`cvfV4kJ>3->r}jLkKCF2?$2
zI(PiTrG?Qi)*OGw7aH*Srwfa#Xksd{dV00k_v0^&se2VGoJ{h6V+%~(JW^f}wU;6}
zZJjKKR<r!&2Ic%5oPveI8Z?$&Yi^kQmT(uLv996^jWzP3=Go6*4m2&fp)D5p$AF@v
zlB;G|>3ttd;&4_gAUuNo;u|lZh$m2v=UqIfT@1Ke+O-Nj8-ZS<@S+J^WVVY(l4&f1
z@}NN~>S6>R(J>WNd!+_f#6kiiQ<#7fd=5e=5Q)hy!5-=CPvdWPUzk34Fmad~FBRrD
z62~SqSb|h8zP*)hKC)nA;sY;DQasw@41S0Q_wcQ{=QG||)J@zlk{C(J?RNWy+)99V
zr9eRCS?BuI7mKBfv+47b_3qfV0KcQjScxm&_KUsqo%y`QWW3Ar1sgL!^J(6~XV-0$
zobHsy*4SC}!`Ttpx9`rI2lsYk@?O8e$Sz6iCL6#qea}4tVFN^gFn5pslEG5bC)P2u
z7Vq9Yf2^La2gBHzKJhv^S=zhGXkz~WwoQdPo%*TrAn&<dg&YUm+cUa@WS8J#7B}~+
z_-*&p(L>@{#je5AFULhOQMpX7-QrFTJ?Te!lZOX8(abCYigprvbuY45jwLB#vUMpi
zU(RR!3h%Xb6v0ymd!GfI-=20heW?;D_RK31^F>wMoH*(4%5ag2dw|6k$1+aLQ+Yi7
zckpf><RtU{>Yf_AXI#D4u;i|*OdC*FwRvd-@9*J%o#kBUP2r8*-(jyU%z1eEXL88Z
z<!jMhv<kfcksrixLP}@Xn4D5pM`Wvi$Bn)Gc9}Zgq-w}72%pmSNXwXWt_Ps&l{^1y
zc;&J4@r$Lc*_K7&>ZdP@Bqh!LhtOLo4a3pG4$d*}?(Tc?0^UiJGAZmxIu~RV5Vus@
zu+%(e_d<OTC&`G>gxw4+s_)BqpsOA%pi4vf1fA+h;(P2mA@;&Rt#>)>?l~iW$Ei^(
zg*>UN{Vh6~tn7HqG;zwWyX18iXw%>Gce3spiQg2|1aHL`OY51MBwI~j462WN%$(R}
zJMwrNtC*?aG1b5}G4_-3*@unsG$WT$Ch1K+HO5MOggY|@rRUM8QPtkjQ3&9fEz{}K
z3^X8F-1MDo((AN+u&A+!KFV4W=2kOvb52o|m1Gk#`@($o;}^TEI_-AuUWT?GhuL|z
z6YYc^PPKV&Ipws-k1VM9MTQYZ(``MG)_&}i-we|>kS8=Dht!SI4gC~;R#aHLMy``u
z(D?FUer;l}81fD8Wcn)={O4ZfQu6J3c^}bcBF_~9Ns1lGl{sk&X4w@BkJlI{<#Lo5
zT8&xS>Fh!%Fti(+*$!4$;};Jfb7DMPvsE!mDd+Unw|7FHwuic}H8(!yk7ECose1SM
zYZM4CTOcsg>HGV^kJLt@c@mxCf3Z9G{$`L2zvsCEW_Dk7XGQ}OdO7Dyyj%{mXs$w!
z>OZ~3I%#G^=zW!$mD3bz>A*PRMW{}-?NSuf*8h|3%ZE(m6yYu<3Z-{KZ(j+UwqDrr
z5UDMjeOw_;5>Uvr|DAaAJ8#~wLM89)X7|xKttNWdW~JcJCM67Fdh*h$Uvk+tIOxY1
ztC?XRQRZ9ufk4m$HI%m3*?y2CKFw(<dWu24Xa3Kr%kGu?7b-htgeEii_*)An@{4fN
zP`X^sP2aoeLss_ugsaPAjGJs_1cDpQV~f*Bb#2!&*ch)$fry<)SdI`M(+byn&sf+`
z4p#Q!*E`~cz2luy_8HR?wj8<C%`uMY$EFIdvv)?0$k_Ah9Y(Bvq;L(<#XvnL(5GU_
z4kJm+thAn5e&)yvQkH?d<@4qFHdO#7zH?)^PdGv>W@}ySo)=$L#r(!peUl1BO^y24
z#_O{6#twN*Q_5X=M|W$U2j&U+*5fZTZAnNfl~!LW7^p<d^$uRS!F!&BwilUaKJ#bz
zvq}?<%A4Z}UE+N4mG_Xdk81V75t{z<C%4f%k<3@rk!|r@N_wGgipRT8hPs5B#T0K}
zPP+5?*n}^sBoD>hR?^fhN~QY7t#jx}&H1TphyQ^R0D{LSBk)H<5Ko610z~1VQ7DdJ
z6fbX_e6KIpz=5A7l`)F&%P(f4WWk+!;^2-PsGaeRi<C{aXOwlKdwcZa^Jr@aJZYqJ
zHrc#Sc+kRdII1mxU=;F)FN>O^WmE^OzP2P~IYBSaB0rvmPgXb;m*|Eu{$d>SLf#RY
z44@||Hzv@rPITkmfeE|Dklf{%>9&%Ys@!-8@r!ifSW_rjYehY{>g|=MwC4Sb0tKZo
zLx9x@1RVj<GtF1tWM7{*qM50l+EWJ;f9@fFM)71L#-NC1tX$02j<k+E7GFo4^;6@E
zUV`z(q+;wza6eI2l)1I_D~|I`&q&@h?tA>`^T*^)NO%2i<Km_+t&?$n9_4u6_r*G3
z_Yg`|;9T$atqrL%L5VUt!W4`&;?vo0d0wMWtENLR)xRX(ogs7PKs3#v_M&-is0*X~
z!@RHVGKNZK4F%axrR=evK?g0$)!jn81xV(mJ$joKL%O5aZ4(7~=V^s`<efVMQ@mYp
zlu=YAOn08G;iExRjR;Xg8!<V|HmO%0JJk7be86YfX1F<uFSbWcI#M(xA&&@>X!0Qc
zfbUhFs)ks`>&Oim6hwEk8B1x2o6fEvWA*h4O!~?8k~3SwY1|S{M<a$PVNOR=?2Wr-
ztq}~1cwJeyH0J-FG4yerj<CIGmMB;?MaD8n5Cog|=XxzT<+*=Q$ahhW^p_})5%m82
zY>_S<Q+aQ#r^^N{G1E}1N^9709;RSyrvIS@mHVB79HRvFK0~iCzmX_GM0Td&b+vN$
zUwIBc|D!@`U~tdY?8+pF7Q7~%Rsv-owVo|1i`teP$mNB;uQ_^{7P`!#g!$Q+&5IFg
z`+IbGQou0(>|>!sKzjScZ-ven6@b_$?JG44>spY}-L?+?6Nmv~uR%hF&{KZzbhG-l
zLxb&4<B>$)KsU4%f7hPhmU3H)o4C0YeZsxzmEzm@!d~KkQ*QeyIBdmHJNS_qTQ5^k
zpXu*`_fw0YcnZ9?6i^PQbmTiV1_}EKi}zdg_m+qjJZL;qTyDPh<y%N<Eav`|=+#a#
z*Lpxr@7CWzU-GsoK2<N?&undx^Oi*HgK7Xrt(@)<O)WFpVleBY_j!~kLvMANfjgbg
z!e>WX%E!COs%}k~a_cX&ybOA3x!n3jGKdvxLNQI9CpQJ@Kg%c{PVa7!Zyc8qc}9HA
z84+5`e6$#PaYh8@cBFA-8BKb`9C>T6Lq{WlnO`=uuciETkyD%m|C>5v5FVgZIF$|W
zThcGo%az-o(IsM#952QUGsA*b04pKhV1fE31710a`6{`8i*6ieq|+JgCe1@ji~GAJ
zq>FJLk$2c~W$oOOfjj!05=48ECQ26X2G7$zwwsK+j+2<b>k$1NlrbsnhIA{?3+iT)
zkZ|H5jaD;-pp=uIsMHOWXha9VCcO|U87j6#&Bcl%=qz3Lu@*GS>8AXXWMj`5GOP9p
z$Hi#wH)@mg32c;BZ=d=fZw%Qel)e6#Guyz^WOJ9D7w<#DDhbUP!5d3>X(xH7N$pg~
zvPSiC^Lr|l8&CPCc7?F_WQgIPB4NQSEi7D3iwwB1ne^B7vf1uYq58F~zP_lZED;4p
zhS*;K=h6E&)@ll7y<=K5Ot_SESlarT6r$n_sdi;{MAw~dp5J)GCH{+xhGy{5GmgS-
zw%Ok;HUqx|-dZGYu$&i=-Rf`kp}4Q(0M3K9QY7i2j!yQRRI(JyL-?{%@`pt9h3nOL
zoKfYfQDzhlo{4OHDk}v)nptOQTe__y(@LhpQEX_MwG1AXSk#T)tbu9*jiLfzeyXq3
zi1dmB8!;2L!;_DmfO|)DfXapSEM`}0f*t$Q9p7Mmfn*ue_Pp#V+j_y_;eaWH2Jz+#
zt$sQ=E+F+|s_mDCHgsCZ5|fHdu@vha{A~;=XJe5*@8l`%CE3jnyWXzlwXAjA-915~
zquOZnvsM$-V)EzdFru5PD}+2n_xhi6zj){yeq#Ejao-qw4MTCoRQFkOZ;o|ebdyF(
zs^}BgM(BNxswV+#?IW0o?3)i+ohW09Z}`<oc*Q>Zu>K<gn?ltXm6}=;p}JRLvf`39
zSIkBL!K0^a7xLqe;MVdn8buT;eIBsF+F~bkKSPm7;o+3jP|b8-{WG?H<b;1gp}@?K
zyj;!C@dJWBALY)hBb}t&X%AM%qwvb^VC3c0VA^<6S?Watchv*>1g4S>o)qBu!m?)Y
zr=F}J-t%V(?Z2&l!u!qqb(Emnms!Q&Kc+Cck)hd-4Bs}eBTr!(Qzscj{)TosLwreS
zt#jG^IUQc#p^?zupZmtGWK3BTnP!SrGsP%fbE0T7>=FNoM~!{LI$TTpUB(rY6DceH
zb#KyQxT=_xm$vaM7r!(;YRNMB8vTtlZl0jX7!+3?-X6I%=RRN4kxC`%`btvd%H)m<
z<(*5}prbcQ-1FG`;WD&-5s+C7YZqFVM&Fhd`K}W}9eYuRSCsItm!XV!3Jz#hU@x#m
z3l@Ht`3rxJebp0kz;~7Aki;`yrU$g&7Wdz=&B|@0NCw4;9BIswPt==k@H`?UJ@r(G
zSQ5Iuy_fIsbCbJaxjD02<2ixsq?~0b)7er*@)k*~xm{mwRx<t%1CLMnXx6ub>D$|C
za=%i+R%T86;tCa6g7}kzQeB8cmg%%_y_y3($!c!h?T`QZlAH7O<yc6|t18EcTi}f}
z3bOi99e-mShhai8={9={KgTW0Ei`98h1YYCbblthRZ_V{`Osi_wq4v3wQHHZH2q*$
zTG~g%<Gt9xfV=Fhu=NdYQ?yGS;|Fr~bJmFUJuLzW`1bP;>#*`B24;z7wd(9Tw^lR9
z^%tMaB&wH74WIgJ{5Bob5KZ6pbn2@6!t{MHX`FZ>dR!X+xqBPIsmW1W^pYd0-ovIa
zP*mmYjzir>OWSs;DEm{>d#BJZlU}s}vt^qUI;YlVH(jA5S7{BOjvUaY)$tmuGGhx9
z2CeYPq7>e3UgPJefN2lQ?$f=ODAT`}7H_r7JB=piSjn~xW*@Sh^6fki`JFZK&-*<c
zQ9JIkPOPI{<lCi_Ra5bIVlAnDg~wmS<&1lW*YX|Iq{g`Ur;nK`bRYC0WmsggsOt#5
zi<<2oMLg_qCjQZ^jy`ZcHprHJ2a!KEfO*Rwy*$zc+%0=|e_#Dq=HVxdK-urwoF(}4
zb~~ehLAr_W8MptsBHLL9GJD)zQ;Nz+D4&xxVH<qP`K%ucDQ={x9c<#y9?X1<5Ux<x
ze++9FIye1J5Yu-sv)j4faPcGegX<mJnu*WT7a1R$xqGnPdJ3AIC7DR-qCeNi(j(~0
zHcQ!WhO@G8;hELAyXcWtV*{>Bmtg1PN*-39ao^+}oqhWZN5|oHVI%-bUoeXtQ}S+J
z98oB8TkCKCHREdVX6McZ3KY}2JH2PQIG;hf&}3tJ`Wh<fCHbiy>V2>2=2Ew5c6QhY
zAA!>0D5)@~p(FI$490}S(bJ^*gy9!VV+?sbzK1$w39`4~%T#ieF9{d720R-WzPSA8
z!Jc!Ss4ifpVppQhS5)&SrOWkqqj`@#m+qw&L;T%GW7s>k+Q!hDx>^zK-**r^sj@ph
z84IwBlQ~)XGu7~d=gLeoG-L1+hIh4J(uA(%=L>O>-wy)O!Iaaf{qMKx;oM@gsuvel
zOe$8^b3O04mL?lUHumK>13Uh3<~@6&@kiXQDMIF1;Ag-05uwS65ArG|vYQuLts1i>
zB{9vSomWh~8`0F}nX>E2yD~K<Fk$A`RTKs4>xbrxWpRgm=i`M}g@Yo0ATLG=)VrDa
z5jQvQj2frcp|SmYMK6v2d1p^HRK<_2?-j$nj5#GmdqR25qmOxI280%7%c%HNvgVu-
zZuw@2a<yNFxAlRIwYXo%#F$Oa=j}PFB#^>pxQU_?^zqRQ<(<*4t;*fXUQJGq=(77f
z%|VW&hvss`6;5){s<vL;vfo2Jx~A3rESlo{f-Ay`=x0*7+jvfQp)_^9y7M)6Sv7wK
z-e`&|ZPT9cb(|0|Mubr#nKba<uxU_-R*veCHZ!Puhlyvh>Cc1+|A_4*)xDAoE$<v7
zqgd(Yk|Ueky!Dac@vnmy8jxxZfnSc;<nFjHmo2+IOiP|fN9&B<PaQu;Jy?)@@?JV#
zQtB7^JUX~mupR#OPO(mIy>2|&tHp*I$gWM$-=AU9=E(LVphjYEInk0n7pDmEv#u``
zG!w40F^obDm+jmdK0g*lXG!X^wAkN2rr<ebDzv9i!y2pz@U;^rQH&-B-f+z$gEwvV
z$(T{XJtY^05=>)Z>}x0xRcm<G^Mt3}LpAMb=$IYz74=u_r)(!7{cC3iRNr$}{<sdR
z?`NV}OVg;neX}6;lwS$@V~@#UaAw%OwY%_2W3}t~C};Mv)H!B8yi1$<ha^8D<{c0B
zkM!p8idd68`+%?85gdHQ>jc$lk-`c?n`ZOV9`r`7Zx@SSEEu=GrO~msM7h+4>WSl*
z*Q0-W|2%7)e~e~<hXGZW&JRh4&57sRzZzPxt{TaoCxxN~mHGcxRA7IsqGVJVMLE)P
zGyc!snVF94XuT0{qeL}vx3uvz8QJbYIp2t>TCcvOXi&{FSNsviH%XRZ-o!!9N*KFm
zjKs|uCqtexupH`{@CFHW;k-KP3QJWLA6fLRH+N@{;cs_uP5R`^&yqXO5bw76k_ax5
z?uNc6A6*|UALn$7{V?~QBD3L;4K*Zqk3R6Z_9EpWw>^fQh<Qz3E8!ji_MMP2PjDER
zR32(^>Hf2_p~ol*&1mZF2HGst@XTqkA32BXBj&;79&8c4LGW#-elqt1A6L0EQuHS$
zp9=@ulBt|NGljRaWfk46X%*jJCbsuN3`#08Pa`X~7$%@awRHNfTV$G0UHiMxCls-z
zQU!(J<#Y(5%?vO8H+s^Kn&q?OUmimHdt_}7e;f!9Q6wj&$Iz0_=7<|Lbuk??q14zN
zKRj#^CooaPHq#Co<711<Lq(bBM6_T|YlhxYJpF8?9m5F*7XPpa-uHemG+}=1G3nv%
zSjo=r6WNM(31_WSYYa@P!tYbDxN}+(gBtrscSncu_f5q^fR;Cn@^0VT0Sj)<&f_FB
z8^-J{Z{94chz54FrhUs+nbmxEagmy?Wd4`N5knuov%Z%f!kC$k=?taNfuarZ%DW!P
z*PqUucZr*}$}w}*pms3u5WFhql#Iv3!FSS6RmC<x8Ta>@lUF~S)#b5wPp_}-iwk|R
z7z<Tq+3jKG<IeZx5D4046NuTVu_V}j=RwiD<HFNjx62ITpnB0FSHDR;jr3KcEBwlC
z=tFNs@nN-F=931qS3|N^rxrRnB0&3|xt4itU}qrZA9?);HwBg}NtbG;{kKRq{daP{
z76tEKO0QX1qqX;>T@ZEi!H;@+XsE7|bg!EJyqAR;AL>HBLe7o5^s`>k?<!T$KN08^
z##F|R6>V=7Sk+8Wz4hX(uSfZ_UV-2J43QmqTD<x2r32FcMyMuVK^a_K=pipS`;G&h
za3ztQ{=l<cfOUac-)CFUd|%F|yzoQUmZc^BmG(zZ#&3De-YtwPIS|8WJ76FV#ekOm
zSE>Rx$lq*Ez2#cCkc7J+gD~}N|9rL!0Y!|o;Wv-85y0Sl0Bai?fHe#xZfOaDi35R;
zA>sh+L);c@1p**oV5p6?4MyaUp!t6`lK6-~o*F6+K<WXIQb2$d5P{J>B9OQyiaR2B
z`ajbrd`$2_;D6$ypd{wqA;Inck=EvgV}fJ?Q78ZjKmq|kgeU+c2mlBQQ%I`2+9+Cj
z*$OF2fdD{k75~==Ox7vEf-V>g;{FF50JjS_#Xqk=Bm|1Y-UsoY$G>H801^(oCWAqt
z5acx(5(I=nFstVTyqKS71fsf7*!5X(I0Afq76J}OUYEh)Kq%sxb_5WP0AU8t2zb#z
zBnSY<o>2ZzFM%+?_0_<EFc{8iU~mM^Tm%G&I~NXu;n;v95Zrv%4I_ZporOU$LB9zY
z2@!A*=D}|Qq%0B)#nFX?U6;Y22ppv0|7;wl^EUy400hAB{2^e_1wyV*goCi$zHR^n
z0$-QGU;r=}cN`LgvG{}a5)8#v3`Sg+!C*k-br~E40V6Tf|0sdtZUYF4Lo^sR65%+W
zKoKyE<^@&>42NCV-GE=`2@Hn)zYdNPI2eq*!y{G+9Er1mAOy~)!eB524pBh}1OOv@
ziB*Dx-~xt(UzcHZ;En?WKyXa+B>_SXjE%eNeu9CZ>oOP|0Kh>O41_~4l7F$TfWSD2
zfw8DuQw+nh{<;hc2?&TO{YMEHffEs62=KZL1_y(1kOf0v2n^R10a6%ySAc6);b7cw
zhruDK?u3j4Kqv--oh6HnJe*l@9Nxm<Fz9u7;b1rnluAp8ltqAW0YX5p?=#jC5Ela^
z5SSW))q#Xx9}kBB0N2N3>4w1Z0|LPMaYcxb!zPUD6W|cstc9f(E|Vc3AQ<x$AL|JS
z7ZC`SE7wqhA;3VKRYSnoWV?q?D1ZjwdI`bZJO~7aLpKBjm-!Irbz1-=2zecK02UkI
z|F(<%Z<PW9#m%h{81On-U<eol7d>ns{^!E~F@lpf0YKn?#)u=fY{4OLTt-5$ocT|M
zKo|n?f4u(hPUCU~YXoO|v6&MCBqC%)Bd%+OLy$OHVF)Bny26fwU5@~)R>*aD0B|Ju
zdO*UV|H|C|9d9TAr@q0E|Bvzj1>)pMtPz~B0b+A9&f=iJ|I8TZfAEHauCoLPLxOQO
z8aocBP-BhYv=~5a4}imPDDLLNp<o#L8cVQ-A#fZvVVlD1umTZS$FC6r1V%z|p@tx?
z+kiu%|C)>bcVh%Y!f=y56c<9Qk?Yh3f)GgDVhe@gW_T#JwETzDXaIJ_2%IDV$J)J~
z2(U(QkO6~{$m_^p=VJSsYi$h_fx{UX5($T*aR<V$LkNZda3TVX_<yk)iPI3mp-3Fg
zzyZL2M+y30y(%2r@LeYj)(8%(v7HI@dP>F4#jVINAP#5X0Pyv~U=M`Du+M8KV2$A9
zQV0@)yG=0AzgO~q7Xrc!I{*YDe@?)F2IC|mtXiC8hwa930EffCNStVfL2y_C2Ve(Y
zTMitXp#O^z*l7PZ-?2t;(lHDG$Ds+ffaAsm42r`NZ0-NgRQ^w9fx-Txc46&f`3}I=
z)@vSOuRw5+!A{0WEpQkdhb3@qUw(bX2oM->oyOQ|A%k1c;Mh!e%^B=<4G#QBY!8XR
zbdnQFTVOAY5I}h(2wV5zAVqnEA_S-?55)!v1cJN=P=d+a{r`?IqmYrI@bt3u@bdMr
UeN2J9P(#2F6#V>3n)fOG7sxhnIRF3v

delta 29673
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

-- 
GitLab


From 2645e94a1a762e9a705cb8294eddd297f3f62a8d Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Mon, 20 May 2019 13:05:30 +0200
Subject: [PATCH 05/19] Moved some checks from combinatorial processes into
 clocked processes for better timing

---
 sources/pcie/dma_read_write.vhd            | 19 ++++++++--
 sources/templates/dma_control.vhd          | 42 ++++++++++++----------
 sources/templates/dma_control.vhd.template | 42 ++++++++++++----------
 3 files changed, 62 insertions(+), 41 deletions(-)

diff --git a/sources/pcie/dma_read_write.vhd b/sources/pcie/dma_read_write.vhd
index 9f68ac642..c3e186c5f 100644
--- a/sources/pcie/dma_read_write.vhd
+++ b/sources/pcie/dma_read_write.vhd
@@ -117,19 +117,32 @@ architecture rtl of dma_read_write is
   signal current_dword_count_s: std_logic_vector(10 downto 0);
   
   signal s_m_axis_rq : axis_type;
-
+  signal tohost_start_condition: std_logic;
   
 begin
 
   m_axis_rq <= s_m_axis_rq;
+  
+  
+  tohost_start_condition_proc: process(clk)
+  begin
+    if rising_edge(clk) then
+      tohost_start_condition <= '0';
+      if((toHostFifo_prog_empty = '0')) then
+        if((dma_descriptors(active_descriptor_s).read_not_write = '0')) then
+          tohost_start_condition <= '1';
+        end if;
+      end if;
+    end if;
+  end process;
 
   re: process(rw_state, m_axis_r_rq, dma_descriptors, active_descriptor_s, toHostFifo_prog_empty, current_descriptor)
   begin
     toHostFifo_re <= '0';
     case(rw_state) is
       when IDLE =>
-        if((toHostFifo_prog_empty = '0') and (m_axis_r_rq.tready = '1')) then
-          if((dma_descriptors(active_descriptor_s).enable = '1') and (dma_descriptors(active_descriptor_s).read_not_write = '0')) then
+        if((m_axis_r_rq.tready = '1')) then
+          if(dma_descriptors(active_descriptor_s).enable = '1' and tohost_start_condition = '1') then
             toHostFifo_re <= '1';
           end if;
         end if;
diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 107bd8825..6f701f3b1 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -261,23 +261,6 @@ begin
     end if;
   end process;
 
-
-dma_wait_proc: process(dma_descriptors_s, last_pc_pointer_s)
-begin
-  for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop
-    --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-    if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
-      if(dma_descriptors_s(i).current_address<last_pc_pointer_s(i)) then
-        dma_wait(i) <= '0';
-      else
-        dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
-      end if;
-    else
-        dma_wait(i) <= '0';
-    end if;
-  end loop;
-end process;
-
   comp: process(clk, reset)
     variable request_type_v         : std_logic_vector(3 downto 0);
     variable poisoned_completion_v  : std_logic;
@@ -289,12 +272,16 @@ end process;
     variable dma_descriptors_enable_written_250_v : std_logic;
     variable tohost_busy_v          : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
     variable fromhost_busy_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+    variable evencycle_dma_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+    variable evencycle_pc_v         : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
   begin
     if(reset = '1') then
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
         dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_dma => '0',   evencycle_pc  => '0',   pc_pointer    => (others => '0'));
         read_interrupt_250_s <= '0';
         write_interrupt_250_s <= '0';
+        evencycle_dma_v(i) := '0';
+        evencycle_pc_v(i) := '0';
       end loop;
     else
       if(rising_edge(clk)) then
@@ -385,6 +372,8 @@ end process;
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
               dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
+              evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle.
+              
             end if;
             if(dma_status_s(i).descriptor_done = '1') then
               --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
@@ -411,13 +400,16 @@ end process;
                 if(dma_descriptors_s(i).wrap_around = '1') then
                   dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
                   dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
+                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle.
                 end if;
               end if;
             end if;
           else
             dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
             dma_descriptors_s(i).evencycle_pc <= '0';
+            evencycle_pc_v(i) := '0';
             dma_descriptors_s(i).evencycle_dma <= '0';
+            evencycle_dma_v(i) := '0';
           end if;
           
           if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then  --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished.
@@ -425,15 +417,27 @@ end process;
           end if;
           
                     
+          --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
+          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
+            if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then
+              dma_wait(i) <= '0';
+            else
+              dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
+            end if;
+          else
+              dma_wait(i) <= '0';
+          end if;
+              
+                    
         end loop;
         
-        if(tohost_busy_v>0) then
+        if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then
             tohost_busy_250_s <= '1';
         else
             tohost_busy_250_s <= '0';
         end if;
         
-        if(fromhost_busy_v>0) then
+        if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then
             fromhost_busy_250_s <= '1';
         else
             fromhost_busy_250_s <= '0';
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index fee53eea1..ce5afa2eb 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -240,23 +240,6 @@ begin
     end if;
   end process;
 
-
-dma_wait_proc: process(dma_descriptors_s, last_pc_pointer_s)
-begin
-  for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop
-    --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-    if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
-      if(dma_descriptors_s(i).current_address<last_pc_pointer_s(i)) then
-        dma_wait(i) <= '0';
-      else
-        dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
-      end if;
-    else
-        dma_wait(i) <= '0';
-    end if;
-  end loop;
-end process;
-
   comp: process(clk, reset)
     variable request_type_v         : std_logic_vector(3 downto 0);
     variable poisoned_completion_v  : std_logic;
@@ -268,12 +251,16 @@ end process;
     variable dma_descriptors_enable_written_250_v : std_logic;
     variable tohost_busy_v          : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
     variable fromhost_busy_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+    variable evencycle_dma_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+    variable evencycle_pc_v         : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
   begin
     if(reset = '1') then
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
         dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_dma => '0',   evencycle_pc  => '0',   pc_pointer    => (others => '0'));
         read_interrupt_250_s <= '0';
         write_interrupt_250_s <= '0';
+        evencycle_dma_v(i) := '0';
+        evencycle_pc_v(i) := '0';
       end loop;
     else
       if(rising_edge(clk)) then
@@ -364,6 +351,8 @@ end process;
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
               dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
+              evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle.
+              
             end if;
             if(dma_status_s(i).descriptor_done = '1') then
               --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
@@ -390,13 +379,16 @@ end process;
                 if(dma_descriptors_s(i).wrap_around = '1') then
                   dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
                   dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
+                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle.
                 end if;
               end if;
             end if;
           else
             dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
             dma_descriptors_s(i).evencycle_pc <= '0';
+            evencycle_pc_v(i) := '0';
             dma_descriptors_s(i).evencycle_dma <= '0';
+            evencycle_dma_v(i) := '0';
           end if;
           
           if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then  --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished.
@@ -404,15 +396,27 @@ end process;
           end if;
           
                     
+          --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
+          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
+            if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then
+              dma_wait(i) <= '0';
+            else
+              dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
+            end if;
+          else
+              dma_wait(i) <= '0';
+          end if;
+              
+                    
         end loop;
         
-        if(tohost_busy_v>0) then
+        if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then
             tohost_busy_250_s <= '1';
         else
             tohost_busy_250_s <= '0';
         end if;
         
-        if(fromhost_busy_v>0) then
+        if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then
             fromhost_busy_250_s <= '1';
         else
             fromhost_busy_250_s <= '0';
-- 
GitLab


From f4569cc94ab27b51d249ebf857fc5eaa44f61a8c Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Mon, 20 May 2019 13:15:07 +0200
Subject: [PATCH 06/19] reverted dma_read_write.vhd to master

---
 sources/pcie/dma_read_write.vhd | 19 +++----------------
 1 file changed, 3 insertions(+), 16 deletions(-)

diff --git a/sources/pcie/dma_read_write.vhd b/sources/pcie/dma_read_write.vhd
index c3e186c5f..9f68ac642 100644
--- a/sources/pcie/dma_read_write.vhd
+++ b/sources/pcie/dma_read_write.vhd
@@ -117,32 +117,19 @@ architecture rtl of dma_read_write is
   signal current_dword_count_s: std_logic_vector(10 downto 0);
   
   signal s_m_axis_rq : axis_type;
-  signal tohost_start_condition: std_logic;
+
   
 begin
 
   m_axis_rq <= s_m_axis_rq;
-  
-  
-  tohost_start_condition_proc: process(clk)
-  begin
-    if rising_edge(clk) then
-      tohost_start_condition <= '0';
-      if((toHostFifo_prog_empty = '0')) then
-        if((dma_descriptors(active_descriptor_s).read_not_write = '0')) then
-          tohost_start_condition <= '1';
-        end if;
-      end if;
-    end if;
-  end process;
 
   re: process(rw_state, m_axis_r_rq, dma_descriptors, active_descriptor_s, toHostFifo_prog_empty, current_descriptor)
   begin
     toHostFifo_re <= '0';
     case(rw_state) is
       when IDLE =>
-        if((m_axis_r_rq.tready = '1')) then
-          if(dma_descriptors(active_descriptor_s).enable = '1' and tohost_start_condition = '1') then
+        if((toHostFifo_prog_empty = '0') and (m_axis_r_rq.tready = '1')) then
+          if((dma_descriptors(active_descriptor_s).enable = '1') and (dma_descriptors(active_descriptor_s).read_not_write = '0')) then
             toHostFifo_re <= '1';
           end if;
         end if;
-- 
GitLab


From f44bccc4b576ec4edb055c3ec950f042e29e49a1 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Tue, 21 May 2019 11:25:02 +0200
Subject: [PATCH 07/19] Using variables for current_address, so it can be
 checked in the same clock cycle for dma_wait to update immediately

---
 sources/templates/dma_control.vhd          | 60 ++++++++++------------
 sources/templates/dma_control.vhd.template | 60 ++++++++++------------
 2 files changed, 56 insertions(+), 64 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 6f701f3b1..7a189f339 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -214,7 +214,6 @@ architecture rtl of dma_control is
   signal read_interrupt_250_s             : std_logic;
   type slv64_arr is array(0 to (NUMBER_OF_DESCRIPTORS -1)) of std_logic_vector(63 downto 0);
   signal next_current_address_s           : slv64_arr;
-  signal last_current_address_s           : slv64_arr;
   signal last_pc_pointer_s                : slv64_arr;
 
   signal dma_wait                         : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1));
@@ -274,6 +273,7 @@ begin
     variable fromhost_busy_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
     variable evencycle_dma_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
     variable evencycle_pc_v         : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+    variable current_address_v      : slv64_arr;
   begin
     if(reset = '1') then
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
@@ -335,9 +335,6 @@ begin
           dma_descriptors_s(i).pc_pointer      <= dma_descriptors_w_250_s(i).pc_pointer;
           dma_descriptors_s(i).wrap_around     <= dma_descriptors_w_250_s(i).wrap_around;
           
-          last_current_address_s(i) <= dma_descriptors_s(i).current_address;
-
-
           last_pc_pointer_s(i) <= dma_descriptors_s(i).pc_pointer;
 
 
@@ -358,7 +355,7 @@ begin
           end if;
           --Then check fromhost busy 
           if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then
-          --FromHost direction, so the nex_current_address has to be > last_pc_pointer_s
+          --FromHost direction, so the next_current_address has to be > last_pc_pointer_s
             if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then
                 fromhost_busy_v(i) := '1';
             end if;
@@ -371,21 +368,16 @@ begin
 
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
-              dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
-              evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle.
-              
+              evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
+
             end if;
             if(dma_status_s(i).descriptor_done = '1') then
               --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
               if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
-                --if(next_current_address_s(i)<last_pc_pointer_s(i)) then
-                  dma_descriptors_s(i).current_address <= next_current_address_s(i);
-                --else
-                --  dma_descriptors_s(i).current_address <= dma_descriptors_s(i).current_address;
-                --end if;
+                current_address_v(i) := next_current_address_s(i);          
               else
                 if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then
-                  dma_descriptors_s(i).current_address <= next_current_address_s(i);
+                  current_address_v(i) := next_current_address_s(i);
                 else
                   dma_descriptors_s(i).enable <= dma_descriptors_s(i).wrap_around;
                   if(dma_descriptors_s(i).read_not_write='1') then
@@ -398,28 +390,26 @@ begin
               --When wrapping around, regardless of the cycle, when the end address has been reached, the current address must be reset to start_address.
               if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then
                 if(dma_descriptors_s(i).wrap_around = '1') then
-                  dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
-                  dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
-                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle.
+                  current_address_v(i) := dma_descriptors_s(i).start_address;
+                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
                 end if;
               end if;
             end if;
           else
-            dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
-            dma_descriptors_s(i).evencycle_pc <= '0';
+            current_address_v(i) := dma_descriptors_s(i).start_address;
             evencycle_pc_v(i) := '0';
-            dma_descriptors_s(i).evencycle_dma <= '0';
             evencycle_dma_v(i) := '0';
+
           end if;
-          
+          dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i);
+          dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i);
+          dma_descriptors_s(i).current_address <= current_address_v(i);
           if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then  --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished.
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
-          
-                    
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
           if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then
+            if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '0';
             else
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
@@ -814,7 +804,8 @@ begin
 
   regrw: process(regmap_clk)
     variable register_write_data_25_v: std_logic_vector(127 downto 0);
-
+    variable register_read_address_v: std_logic_vector(19 downto 0);
+    variable register_write_address_v: std_logic_vector(19 downto 0);
   begin
     if(rising_edge(regmap_clk)) then
         if(reset = '1' or reset_register_map_25_s='1') then
@@ -9000,7 +8991,8 @@ begin
         register_read_data_25_s  <= (others => '0'); --default value
         --Read registers in BAR0
         if(register_read_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then
-          case(register_read_address_25_s(19 downto 4)&"0000") is
+          register_read_address_v := register_read_address_25_s(19 downto 4)&"0000";
+          case(register_read_address_v) is
             when REG_DESCRIPTOR_0  => register_read_data_25_s <= dma_descriptors_25_r_s( 0).end_address&
                                                                  dma_descriptors_25_r_s( 0).start_address;
             when REG_DESCRIPTOR_0a => register_read_data_25_s <= dma_descriptors_25_r_s( 0).pc_pointer&
@@ -9125,7 +9117,8 @@ begin
           end case;
         --Read registers in BAR1
         elsif(register_read_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then
-          case (register_read_address_25_s(19 downto 4)&"0000") is
+          register_read_address_v := register_read_address_25_s(19 downto 4)&"0000";
+          case(register_read_address_v) is
             when REG_INT_VEC_00      => register_read_data_25_s(63 downto 0)   <=  int_vector_25_s(0).int_vec_add;
                                         register_read_data_25_s(95 downto 64)  <=  int_vector_25_s(0).int_vec_data;
                                         register_read_data_25_s(127 downto 96) <=  int_vector_25_s(0).int_vec_ctrl;
@@ -9179,7 +9172,8 @@ begin
           end case;
         --Read registers in BAR2
         elsif(register_read_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then
-          case (register_read_address_25_s(19 downto 4)&"0000") is
+          register_read_address_v := register_read_address_25_s(19 downto 4)&"0000";
+          case(register_read_address_v) is
             --!
             --! generated registers read
             ------------------------------------
@@ -16276,8 +16270,8 @@ begin
         register_write_done_25_s <= '1';
         --Write registers in BAR0
         if(register_write_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then
-
-          case(register_write_address_25_s(19 downto 4)&"0000") is  --only check 128 bit addressing
+          register_write_address_v := register_write_address_25_s(19 downto 4)&"0000";
+          case(register_write_address_v) is
             when REG_DESCRIPTOR_0   =>   dma_descriptors_25_w_s( 0).end_address            <= register_write_data_25_v(127 downto 64);
                                          dma_descriptors_25_w_s( 0).start_address          <= register_write_data_25_v(63 downto 0);
             when REG_DESCRIPTOR_0a  =>   dma_descriptors_25_w_s( 0).pc_pointer             <= register_write_data_25_v(127 downto 64);
@@ -16345,7 +16339,8 @@ begin
           end case;
         --Write registers in BAR1
         elsif(register_write_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then
-          case (register_write_address_25_s(19 downto 4)&"0000") is
+          register_write_address_v := register_write_address_25_s(19 downto 4)&"0000";
+          case(register_write_address_v) is
             when REG_INT_VEC_00      => int_vector_25_s(0).int_vec_add   <= register_write_data_25_v(63 downto 0);
                                         int_vector_25_s(0).int_vec_data  <= register_write_data_25_v(95 downto 64);
                                         int_vector_25_s(0).int_vec_ctrl  <= register_write_data_25_v(127 downto 96);
@@ -16399,7 +16394,8 @@ begin
           end case;
         --Write registers in BAR2
         elsif(register_write_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then
-          case (register_write_address_25_s(19 downto 4)&"0000") is
+          register_write_address_v := register_write_address_25_s(19 downto 4)&"0000";
+          case(register_write_address_v) is
             --!
             --! generated registers write
             -------------------------------------
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index ce5afa2eb..d09079ca3 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -193,7 +193,6 @@ architecture rtl of dma_control is
   signal read_interrupt_250_s             : std_logic;
   type slv64_arr is array(0 to (NUMBER_OF_DESCRIPTORS -1)) of std_logic_vector(63 downto 0);
   signal next_current_address_s           : slv64_arr;
-  signal last_current_address_s           : slv64_arr;
   signal last_pc_pointer_s                : slv64_arr;
 
   signal dma_wait                         : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1));
@@ -253,6 +252,7 @@ begin
     variable fromhost_busy_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
     variable evencycle_dma_v        : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
     variable evencycle_pc_v         : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+    variable current_address_v      : slv64_arr;
   begin
     if(reset = '1') then
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
@@ -314,9 +314,6 @@ begin
           dma_descriptors_s(i).pc_pointer      <= dma_descriptors_w_250_s(i).pc_pointer;
           dma_descriptors_s(i).wrap_around     <= dma_descriptors_w_250_s(i).wrap_around;
           
-          last_current_address_s(i) <= dma_descriptors_s(i).current_address;
-
-
           last_pc_pointer_s(i) <= dma_descriptors_s(i).pc_pointer;
 
 
@@ -337,7 +334,7 @@ begin
           end if;
           --Then check fromhost busy 
           if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then
-          --FromHost direction, so the nex_current_address has to be > last_pc_pointer_s
+          --FromHost direction, so the next_current_address has to be > last_pc_pointer_s
             if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then
                 fromhost_busy_v(i) := '1';
             end if;
@@ -350,21 +347,16 @@ begin
 
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
-              dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
-              evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle.
-              
+              evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
+
             end if;
             if(dma_status_s(i).descriptor_done = '1') then
               --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
               if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
-                --if(next_current_address_s(i)<last_pc_pointer_s(i)) then
-                  dma_descriptors_s(i).current_address <= next_current_address_s(i);
-                --else
-                --  dma_descriptors_s(i).current_address <= dma_descriptors_s(i).current_address;
-                --end if;
+                current_address_v(i) := next_current_address_s(i);          
               else
                 if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then
-                  dma_descriptors_s(i).current_address <= next_current_address_s(i);
+                  current_address_v(i) := next_current_address_s(i);
                 else
                   dma_descriptors_s(i).enable <= dma_descriptors_s(i).wrap_around;
                   if(dma_descriptors_s(i).read_not_write='1') then
@@ -377,28 +369,26 @@ begin
               --When wrapping around, regardless of the cycle, when the end address has been reached, the current address must be reset to start_address.
               if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then
                 if(dma_descriptors_s(i).wrap_around = '1') then
-                  dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
-                  dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
-                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle.
+                  current_address_v(i) := dma_descriptors_s(i).start_address;
+                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
                 end if;
               end if;
             end if;
           else
-            dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address;
-            dma_descriptors_s(i).evencycle_pc <= '0';
+            current_address_v(i) := dma_descriptors_s(i).start_address;
             evencycle_pc_v(i) := '0';
-            dma_descriptors_s(i).evencycle_dma <= '0';
             evencycle_dma_v(i) := '0';
+
           end if;
-          
+          dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i);
+          dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i);
+          dma_descriptors_s(i).current_address <= current_address_v(i);
           if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then  --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished.
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
-          
-                    
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
           if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then
+            if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '0';
             else
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
@@ -793,7 +783,8 @@ begin
 
   regrw: process(regmap_clk)
     variable register_write_data_25_v: std_logic_vector(127 downto 0);
-
+    variable register_read_address_v: std_logic_vector(19 downto 0);
+    variable register_write_address_v: std_logic_vector(19 downto 0);
   begin
     if(rising_edge(regmap_clk)) then
         if(reset = '1' or reset_register_map_25_s='1') then
@@ -888,7 +879,8 @@ begin
         register_read_data_25_s  <= (others => '0'); --default value
         --Read registers in BAR0
         if(register_read_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then
-          case(register_read_address_25_s(19 downto 4)&"0000") is
+          register_read_address_v := register_read_address_25_s(19 downto 4)&"0000";
+          case(register_read_address_v) is
             when REG_DESCRIPTOR_0  => register_read_data_25_s <= dma_descriptors_25_r_s( 0).end_address&
                                                                  dma_descriptors_25_r_s( 0).start_address;
             when REG_DESCRIPTOR_0a => register_read_data_25_s <= dma_descriptors_25_r_s( 0).pc_pointer&
@@ -1013,7 +1005,8 @@ begin
           end case;
         --Read registers in BAR1
         elsif(register_read_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then
-          case (register_read_address_25_s(19 downto 4)&"0000") is
+          register_read_address_v := register_read_address_25_s(19 downto 4)&"0000";
+          case(register_read_address_v) is
             when REG_INT_VEC_00      => register_read_data_25_s(63 downto 0)   <=  int_vector_25_s(0).int_vec_add;
                                         register_read_data_25_s(95 downto 64)  <=  int_vector_25_s(0).int_vec_data;
                                         register_read_data_25_s(127 downto 96) <=  int_vector_25_s(0).int_vec_ctrl;
@@ -1067,7 +1060,8 @@ begin
           end case;
         --Read registers in BAR2
         elsif(register_read_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then
-          case (register_read_address_25_s(19 downto 4)&"0000") is
+          register_read_address_v := register_read_address_25_s(19 downto 4)&"0000";
+          case(register_read_address_v) is
             --!
             --! generated registers read
             ------------------------------------
@@ -1251,8 +1245,8 @@ begin
         register_write_done_25_s <= '1';
         --Write registers in BAR0
         if(register_write_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then
-
-          case(register_write_address_25_s(19 downto 4)&"0000") is  --only check 128 bit addressing
+          register_write_address_v := register_write_address_25_s(19 downto 4)&"0000";
+          case(register_write_address_v) is
             when REG_DESCRIPTOR_0   =>   dma_descriptors_25_w_s( 0).end_address            <= register_write_data_25_v(127 downto 64);
                                          dma_descriptors_25_w_s( 0).start_address          <= register_write_data_25_v(63 downto 0);
             when REG_DESCRIPTOR_0a  =>   dma_descriptors_25_w_s( 0).pc_pointer             <= register_write_data_25_v(127 downto 64);
@@ -1320,7 +1314,8 @@ begin
           end case;
         --Write registers in BAR1
         elsif(register_write_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then
-          case (register_write_address_25_s(19 downto 4)&"0000") is
+          register_write_address_v := register_write_address_25_s(19 downto 4)&"0000";
+          case(register_write_address_v) is
             when REG_INT_VEC_00      => int_vector_25_s(0).int_vec_add   <= register_write_data_25_v(63 downto 0);
                                         int_vector_25_s(0).int_vec_data  <= register_write_data_25_v(95 downto 64);
                                         int_vector_25_s(0).int_vec_ctrl  <= register_write_data_25_v(127 downto 96);
@@ -1374,7 +1369,8 @@ begin
           end case;
         --Write registers in BAR2
         elsif(register_write_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then
-          case (register_write_address_25_s(19 downto 4)&"0000") is
+          register_write_address_v := register_write_address_25_s(19 downto 4)&"0000";
+          case(register_write_address_v) is
             --!
             --! generated registers write
             -------------------------------------
-- 
GitLab


From 136c0ac79f5ec6c61db14fd9d0308af94250f960 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <f.schreuder@nikhef.nl>
Date: Tue, 21 May 2019 16:00:58 +0200
Subject: [PATCH 08/19] Deleted version.txt dependency, version register is now
 immediately put into the version register from .yaml The generated filename
 will only include the git tag, which already includes the version. Make sure
 to fetch all (including tags)

---
 scripts/helper/do_implementation_finish.tcl   |   3 +--
 scripts/helper/do_implementation_post.tcl     |   8 --------
 sources/FelixTop/felix_fullmode_top.vhd       |   2 --
 .../FelixTop/felix_fullmode_top_bnl711.vhd    |   3 ---
 sources/FelixTop/felix_top.vhd                |   2 --
 sources/FelixTop/felix_top_bnl711.vhd         |   3 ---
 sources/pcie/wupper.vhd                       |   3 ---
 sources/pcie/wupper_core.vhd                  |   3 ---
 sources/templates/build.sh                    |   4 ++--
 sources/templates/dma_control.vhd             |   3 +--
 sources/templates/dma_control.vhd.template    |   1 -
 sources/templates/registers-4.7.yaml          |  11 ++++++++++-
 sources/templates/registers.pdf               | Bin 199485 -> 199485 bytes
 sources/templates/version.txt                 |   1 -
 sources/templates/version.txt.template        |   1 -
 15 files changed, 14 insertions(+), 34 deletions(-)
 delete mode 100644 sources/templates/version.txt
 delete mode 100644 sources/templates/version.txt.template

diff --git a/scripts/helper/do_implementation_finish.tcl b/scripts/helper/do_implementation_finish.tcl
index 4c674c9f7..b78d7b121 100644
--- a/scripts/helper/do_implementation_finish.tcl
+++ b/scripts/helper/do_implementation_finish.tcl
@@ -67,7 +67,7 @@ set CARD_TYPE_STR $CARD_TYPE
 
 set GIT_BRANCH [string map { / - } [exec git rev-parse --abbrev-ref HEAD]]
 
-set FileName FLX${CARD_TYPE_STR}${FW_MODE}_RM${REG_MAP_VERSION_STR}_${GBT_NUM}CH_${CLKSRC}${SICHIP}_GIT_${GIT_BRANCH}_${git_tag_str}_${GIT_COMMIT_NUMBER}_${TIMESTAMP}
+set FileName FLX${CARD_TYPE_STR}${FW_MODE}_${GBT_NUM}CH_${CLKSRC}${SICHIP}_GIT_${GIT_BRANCH}_${git_tag_str}_${GIT_COMMIT_NUMBER}_${TIMESTAMP}
 
 write_bitstream -force $HDLDIR/output/${FileName}.bit
 
@@ -94,7 +94,6 @@ COMMIT_DATETIME:                $COMMIT_DATETIME
 GIT_HASH:                       $GIT_HASH 
 GIT_TAG:                        $GIT_TAG 
 GIT_COMMIT_NUMBER:              $GIT_COMMIT_NUMBER 
-REG_MAP_VERSION:                $REG_MAP_VERSION 
 GENERATE_GBT:                   $GENERATE_GBT 
 NUMBER_OF_INTERRUPTS:           $NUMBER_OF_INTERRUPTS 
 NUMBER_OF_DESCRIPTORS:          $NUMBER_OF_DESCRIPTORS
diff --git a/scripts/helper/do_implementation_post.tcl b/scripts/helper/do_implementation_post.tcl
index 6a15f2de2..9a9c3ba1e 100644
--- a/scripts/helper/do_implementation_post.tcl
+++ b/scripts/helper/do_implementation_post.tcl
@@ -24,13 +24,6 @@ set systemTime [clock seconds]
 set build_date "40'h[clock format $systemTime -format %y%m%d%H%M]"
 puts "BUILD_DATE = $build_date"
 
-# Read Register Map version from autogenerated file
-set ver [open "../../sources/templates/version.txt" "r"]
-set REG_MAP_VERSION "16'h[read $ver]"
-seek $ver 0
-set REG_MAP_VERSION_STR  "[read $ver]"
-close $ver
-
 #For 711 / 712 cards the core location in the PCIe endpoint must be selected correctly.
 if {$CARD_TYPE == 711} {
     set loc_7039 [get_property CONFIG.pcie_blk_locn [get_ips pcie3_ultrascale_7039]]
@@ -171,7 +164,6 @@ COMMIT_DATETIME=$COMMIT_DATETIME \
 GIT_HASH=$GIT_HASH \
 GIT_TAG=$GIT_TAG \
 GIT_COMMIT_NUMBER=$GIT_COMMIT_NUMBER \
-REG_MAP_VERSION=$REG_MAP_VERSION \
 GENERATE_GBT=$GENERATE_GBT \
 NUMBER_OF_INTERRUPTS=$NUMBER_OF_INTERRUPTS \
 NUMBER_OF_DESCRIPTORS=$NUMBER_OF_DESCRIPTORS \
diff --git a/sources/FelixTop/felix_fullmode_top.vhd b/sources/FelixTop/felix_fullmode_top.vhd
index bd1f454bd..1ec487e3d 100644
--- a/sources/FelixTop/felix_fullmode_top.vhd
+++ b/sources/FelixTop/felix_fullmode_top.vhd
@@ -74,7 +74,6 @@ entity felix_fullmode_top is
     crInternalLoopbackMode         : boolean := false;
     TTC_test_mode                  : boolean := false;
     generateTTCemu                 : boolean := false;
-    REG_MAP_VERSION                : std_logic_vector(15 downto 0) := X"0300";
     useToHostGBTdataEmulator       : boolean := true;
     COMMIT_DATETIME                : std_logic_vector(39 downto 0) := x"0000FE71CE";
     GIT_HASH                       : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
@@ -697,7 +696,6 @@ begin
       BUILD_DATETIME        => BUILD_DATETIME,
       SVN_VERSION           => SVN_VERSION,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       DEVID                 => x"7038",
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
diff --git a/sources/FelixTop/felix_fullmode_top_bnl711.vhd b/sources/FelixTop/felix_fullmode_top_bnl711.vhd
index 37d05a193..c46dc5314 100644
--- a/sources/FelixTop/felix_fullmode_top_bnl711.vhd
+++ b/sources/FelixTop/felix_fullmode_top_bnl711.vhd
@@ -77,7 +77,6 @@ entity felix_fullmode_top_bnl711 is
     crInternalLoopbackMode         : boolean := false;
     TTC_test_mode                  : boolean := false;
     generateTTCemu                 : boolean := false;
-    REG_MAP_VERSION                : std_logic_vector(15 downto 0) := X"0300";
     GIT_HASH                       : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
     COMMIT_DATETIME                : std_logic_vector(39 downto 0) := x"0000FE71CE";
     STATIC_CENTRALROUTER           : boolean := false; -- removes update process from central router register map, only initial constant values are used
@@ -814,7 +813,6 @@ begin
       BUILD_DATETIME        => BUILD_DATETIME,
       SVN_VERSION           => SVN_VERSION,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       DEVID                 => x"7038",
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
@@ -1056,7 +1054,6 @@ begin
       BUILD_DATETIME        => BUILD_DATETIME,
       SVN_VERSION           => SVN_VERSION,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       DEVID                 => x"7039",
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
diff --git a/sources/FelixTop/felix_top.vhd b/sources/FelixTop/felix_top.vhd
index a834cd60e..0780018de 100644
--- a/sources/FelixTop/felix_top.vhd
+++ b/sources/FelixTop/felix_top.vhd
@@ -77,7 +77,6 @@ entity felix_top is
     crInternalLoopbackMode          : boolean := false;
     TTC_test_mode                   : boolean := false;
     generateTTCemu                  : boolean := false;
-    REG_MAP_VERSION                 : std_logic_vector(15 downto 0) := X"0300";
     useToHostGBTdataEmulator        : boolean := true;
     COMMIT_DATETIME                 : std_logic_vector(39 downto 0) := x"0000FE71CE";
     GIT_HASH                        : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
@@ -805,7 +804,6 @@ begin
       BUILD_DATETIME        => BUILD_DATETIME,
       SVN_VERSION           => SVN_VERSION,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       DEVID                 => x"7038",
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
diff --git a/sources/FelixTop/felix_top_bnl711.vhd b/sources/FelixTop/felix_top_bnl711.vhd
index 9a4167e1d..027e4359d 100644
--- a/sources/FelixTop/felix_top_bnl711.vhd
+++ b/sources/FelixTop/felix_top_bnl711.vhd
@@ -77,7 +77,6 @@ entity felix_top_bnl711 is
     crInternalLoopbackMode          : boolean := false;
     TTC_test_mode                   : boolean := false;
     generateTTCemu                  : boolean := false;
-    REG_MAP_VERSION                 : std_logic_vector(15 downto 0) := X"0300";
     GIT_HASH                        : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
     COMMIT_DATETIME                 : std_logic_vector(39 downto 0) := x"0000FE71CE";
     STATIC_CENTRALROUTER            : boolean := false; -- removes update process from central router register map, only initial constant values are used
@@ -990,7 +989,6 @@ begin
       BUILD_DATETIME        => BUILD_DATETIME,
       SVN_VERSION           => SVN_VERSION,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       DEVID                 => x"7038",
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
@@ -1467,7 +1465,6 @@ begin
       BUILD_DATETIME        => BUILD_DATETIME,
       SVN_VERSION           => SVN_VERSION,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       DEVID                 => x"7039",
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
diff --git a/sources/pcie/wupper.vhd b/sources/pcie/wupper.vhd
index cde0b63cf..04fd556c9 100644
--- a/sources/pcie/wupper.vhd
+++ b/sources/pcie/wupper.vhd
@@ -63,7 +63,6 @@ entity wupper is
     BUILD_DATETIME        : std_logic_vector(39 downto 0) := x"0000FE71CE";
     SVN_VERSION           : integer := 0;
     CARD_TYPE             : integer := 710;
-    REG_MAP_VERSION       : std_logic_vector(15 downto 0) := X"0300";
     DEVID                 : std_logic_vector(15 downto 0) := x"7038";
     GIT_HASH              : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
     COMMIT_DATETIME       : std_logic_vector(39 downto 0) := x"0000FE71CE";
@@ -201,7 +200,6 @@ architecture structure of wupper is
       SVN_VERSION           : integer := 0;
       BUILD_DATETIME        : std_logic_vector(39 downto 0) := x"0000FE71CE";
       CARD_TYPE             : integer := 710;
-      REG_MAP_VERSION       : std_logic_vector(15 downto 0) := X"0300";
       GIT_HASH              : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
       COMMIT_DATETIME       : std_logic_vector(39 downto 0) := x"0000FE71CE";
       GIT_TAG               : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000";
@@ -360,7 +358,6 @@ begin
       SVN_VERSION           => SVN_VERSION,
       BUILD_DATETIME        => BUILD_DATETIME,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
       GIT_TAG               => GIT_TAG,
diff --git a/sources/pcie/wupper_core.vhd b/sources/pcie/wupper_core.vhd
index 98b71f056..d5b96e325 100644
--- a/sources/pcie/wupper_core.vhd
+++ b/sources/pcie/wupper_core.vhd
@@ -63,7 +63,6 @@ entity wupper_core is
     SVN_VERSION           : integer := 0;
     BUILD_DATETIME        : std_logic_vector(39 downto 0) := x"0000FE71CE";
     CARD_TYPE             : integer := 710;
-    REG_MAP_VERSION       : std_logic_vector(15 downto 0) := X"0300";
     GIT_HASH              : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
     COMMIT_DATETIME       : std_logic_vector(39 downto 0) := x"0000FE71CE";
     GIT_TAG               : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000";
@@ -145,7 +144,6 @@ architecture structure of wupper_core is
       SVN_VERSION           : integer := 0;
       BUILD_DATETIME        : std_logic_vector(39 downto 0) := x"0000FE71CE";
       CARD_TYPE             : integer := 710;
-      REG_MAP_VERSION       : std_logic_vector(15 downto 0) := x"0340";
       GIT_HASH              : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
       COMMIT_DATETIME       : std_logic_vector(39 downto 0) := x"0000FE71CE";
       GIT_TAG               : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000";
@@ -214,7 +212,6 @@ begin
       SVN_VERSION           => SVN_VERSION,
       BUILD_DATETIME        => BUILD_DATETIME,
       CARD_TYPE             => CARD_TYPE,
-      REG_MAP_VERSION       => REG_MAP_VERSION,
       GIT_HASH              => GIT_HASH,
       COMMIT_DATETIME       => COMMIT_DATETIME,
       GIT_TAG               => GIT_TAG,
diff --git a/sources/templates/build.sh b/sources/templates/build.sh
index c8b84c020..d10e04293 100755
--- a/sources/templates/build.sh
+++ b/sources/templates/build.sh
@@ -27,8 +27,8 @@ $wuppercodegen --version
 echo "Previous version: $prev_version"
 echo "Current  version: $current_version"
 echo "Next     version: $next_version"
-echo "Generating version.txt, pcie_package.vhd and dma_control.vhd for current version..."
-$wuppercodegen $current_registers $template_dir/version.txt.template $template_dir/version.txt
+echo "Generating pcie_package.vhd and dma_control.vhd for current version..."
+#$wuppercodegen $current_registers $template_dir/version.txt.template $template_dir/version.txt
 $wuppercodegen $current_registers $template_dir/pcie_package.vhd.template $template_dir/pcie_package.vhd
 $wuppercodegen $current_registers $template_dir/dma_control.vhd.template $template_dir/dma_control.vhd
 echo "Generating html documentation for previous, current and next version..."
diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index b7d17fdc3..538040a42 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -85,7 +85,6 @@ entity dma_control is
     SVN_VERSION              : integer := 0;
     CARD_TYPE                : integer := 710;
     BUILD_DATETIME           : std_logic_vector(39 downto 0) := x"0000FE71CE";
-    REG_MAP_VERSION          : std_logic_vector(15 downto 0) := x"0340";
     GIT_HASH                 : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
     GIT_TAG                  : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000";
     GIT_COMMIT_NUMBER        : integer := 0;
@@ -14648,7 +14647,7 @@ end process;
 
 
 -- GenericBoardInformation
-              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= REG_MAP_VERSION;                                                                  -- Register Map Version, 4.7 formatted as 0x0407
+              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(1031,16));                     -- Register Map Version, 4.7 formatted as 0x0407
               when REG_BOARD_ID_TIMESTAMP             => register_read_data_25_s(39 downto 0)    <= BUILD_DATETIME;                                                                   -- Board ID Date / Time in BCD format YYMMDDhhmm
               when REG_BOARD_ID_SVN                   => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(SVN_VERSION,16));                                    -- Board ID SVN Revision
               when REG_GIT_COMMIT_TIME                => register_read_data_25_s(39 downto 0)    <= COMMIT_DATETIME;                                                                  -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index fee53eea1..f11280850 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -64,7 +64,6 @@ entity dma_control is
     SVN_VERSION              : integer := 0;
     CARD_TYPE                : integer := 710;
     BUILD_DATETIME           : std_logic_vector(39 downto 0) := x"0000FE71CE";
-    REG_MAP_VERSION          : std_logic_vector(15 downto 0) := x"0340";
     GIT_HASH                 : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000";
     GIT_TAG                  : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000";
     GIT_COMMIT_NUMBER        : integer := 0;
diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml
index 21935779a..2902fbf50 100644
--- a/sources/templates/registers-4.7.yaml
+++ b/sources/templates/registers-4.7.yaml
@@ -81,6 +81,8 @@ Monitorsections:
         - range: 0..0
           type: R
 
+#Bar0 contains the registers dedicated to Wupper. Please only edit registers in Bar2
+#Registers in this group will not be generated with WupperCodeGen
 Bar0:
   endpoints: 0,1
   entries:
@@ -215,6 +217,10 @@ DMA_DESC_STATUS:
           name: FW_POINTER
           desc: Pointer controlled by the firmwarre, indicating where the DMA is busy reading or writing
 
+
+#Bar1 contains the registers dedicated to the Wupper interrupg controller.
+#Please only edit registers in Bar2.
+#Registers in this group will not be generated with WupperCodeGen
 Bar1:
   endpoints: 0,1
   type: W
@@ -244,6 +250,9 @@ INT_VEC:
           name: INT_ADDRESS
           desc: Interrupt Address
 
+#Bar 2 contains application specific registers, used in the example application.
+#Registers in this group (and it's referenced subroups) will be generated with
+#WupperCodeGen for wupper Firmware, Software and Documentation
 Bar2:
   entries:
     - ref: GenericBoardInformation
@@ -273,7 +282,7 @@ GenericBoardInformation:
     - name: REG_MAP_VERSION
       bitfield:
         - range: 15..0
-          value: REG_MAP_VERSION
+          value: std_logic_vector(to_unsigned({{ tree.version|version }},16))
           desc: Register Map Version, {{ tree.version }} formatted as {{ tree.version|version|xhex }}
 
     - name: BOARD_ID_TIMESTAMP
diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf
index 7d56a13f99230daf1d7788caf5a1eee447a86f8a..1f7138f2347ffe4b6c4cd053fba5d8b78338b7f2 100644
GIT binary patch
delta 264
zcmdlxjc4yPo`x32Ele*y@tT<!CnZ^!TIePjr>0E5@R><|y2xjy^_b#O+(w2WhGtd<
z23Dqq(@noH8K4Lhd|@ib)TA(7<SUaMrntoP@~=!PnBwx=kAG$AVd5|{G&D0X0NNA%
zgGma`+g|&FDN)GDz}3vs$iU6m(bCk|)ZE3{z}dvm$<@f*)zQ?<$;8#%&W4bR=?dJ;
FvH+=zPk;ab

delta 264
zcmdlxjc4yPo`x32Ele*y@fswjq!=Wd8R;e_nwU+$@R><|y2xjy^_b#O+y<5*29{Qa
z23Cd^(@noH8K4Lhd|@ib)TA(7<SUaMrntoP@~=!PnBwx=kAG$AVd5~bG_W)@0NNA%
zgGma`+g|&FDN)GD$k5Ef(9zP!$k5o_$i>mZ#l+CX(bU+)z{JGT$-vdj&W4bR=?dJ;
FvH&AePpkj{

diff --git a/sources/templates/version.txt b/sources/templates/version.txt
deleted file mode 100644
index f5ce831ef..000000000
--- a/sources/templates/version.txt
+++ /dev/null
@@ -1 +0,0 @@
-0407
\ No newline at end of file
diff --git a/sources/templates/version.txt.template b/sources/templates/version.txt.template
deleted file mode 100644
index 27e9c34fa..000000000
--- a/sources/templates/version.txt.template
+++ /dev/null
@@ -1 +0,0 @@
-{{ tree.version|version|hex }}
-- 
GitLab


From 66249e1f75b56f1f1adb357c2b0c23059868d27f Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Wed, 22 May 2019 08:42:07 +0200
Subject: [PATCH 09/19] Changed < comparison to = for better timing

---
 sources/templates/dma_control.vhd          | 6 +++---
 sources/templates/dma_control.vhd.template | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 7a189f339..24c4b5bc2 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -409,10 +409,10 @@ begin
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
           if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then
-              dma_wait(i) <= '0';
-            else
+            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
+            else
+              dma_wait(i) <= '0'; 
             end if;
           else
               dma_wait(i) <= '0';
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index d09079ca3..080ce3868 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -388,10 +388,10 @@ begin
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
           if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then
-              dma_wait(i) <= '0';
-            else
+            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
+            else
+              dma_wait(i) <= '0';
             end if;
           else
               dma_wait(i) <= '0';
-- 
GitLab


From 35d84ab8efbda8e286279b5a51c1d5b59229c531 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Wed, 22 May 2019 11:26:47 +0200
Subject: [PATCH 10/19] Moved dma_busy to the 25 MHz clock domain

---
 sources/templates/dma_control.vhd          | 115 ++++++++++----------
 sources/templates/dma_control.vhd.template | 117 ++++++++++-----------
 2 files changed, 111 insertions(+), 121 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 24c4b5bc2..666f23e58 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -222,9 +222,8 @@ architecture rtl of dma_control is
   signal fromhost_pfull_threshold_assert_s         : std_logic_vector(8 downto 0);
   signal fromhost_pfull_threshold_negate_s         : std_logic_vector(8 downto 0);
   signal dma_descriptors_enable_written_25_s, dma_descriptors_enable_written_250_s: std_logic;
-  signal busy_threshold_assert, busy_threshold_assert_25_s       : std_logic_vector(63 downto 0);
-  signal busy_threshold_negate, busy_threshold_negate_25_s       : std_logic_vector(63 downto 0);
-  signal tohost_busy_250_s, fromhost_busy_250_s            : std_logic;
+  signal busy_threshold_assert       : std_logic_vector(63 downto 0);
+  signal busy_threshold_negate       : std_logic_vector(63 downto 0);
   signal tohost_busy_25_s, fromhost_busy_25_s              : std_logic;
   signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic;
   signal mask_data_available_interrupt: std_logic;
@@ -339,32 +338,6 @@ begin
 
 
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
-          
-          --Create a a busy signal if the pc pointer comes too close to the current address.
-          --First check tohost busy 
-          if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '0' and dma_descriptors_s(i).enable = '1') then
-          --ToHost direction, so the nex_current_address has to be < last_pc_pointer_s
-            if((last_pc_pointer_s(i) - next_current_address_s(i)) < busy_threshold_assert) then
-                tohost_busy_v(i) := '1';
-            end if;
-            if(tohost_busy_v(i) = '1' and ((last_pc_pointer_s(i) - next_current_address_s(i)) > busy_threshold_negate)) then
-                tohost_busy_v(i) := '0';
-            end if;
-          else
-            tohost_busy_v(i) := '0';
-          end if;
-          --Then check fromhost busy 
-          if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then
-          --FromHost direction, so the next_current_address has to be > last_pc_pointer_s
-            if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then
-                fromhost_busy_v(i) := '1';
-            end if;
-            if(fromhost_busy_v(i) = '1' and ((next_current_address_s(i) - last_pc_pointer_s(i)) > busy_threshold_negate)) then
-                fromhost_busy_v(i) := '0';
-            end if;
-          else
-            fromhost_busy_v(i) := '0';
-          end if;
 
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
@@ -421,20 +394,6 @@ begin
                     
         end loop;
         
-        if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then
-            tohost_busy_250_s <= '1';
-        else
-            tohost_busy_250_s <= '0';
-        end if;
-        
-        if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then
-            fromhost_busy_250_s <= '1';
-        else
-            fromhost_busy_250_s <= '0';
-        end if;
-        
-        
-        
         dma_descriptors_enable_written_250_v := dma_descriptors_enable_written_250_s;
 
         case (completer_state) is
@@ -695,9 +654,6 @@ begin
       read_interrupt_25_s <= read_interrupt_250_s;
       write_interrupt_25_s <= write_interrupt_250_s;
       
-      fromhost_busy_25_s <= fromhost_busy_250_s;
-      tohost_busy_25_s   <= tohost_busy_250_s;
-
       if(fifo_full_interrupt_v(2 downto 1) = "01") then --rising edge detected on full flag
         fifo_full_interrupt_25_s <= '1';
       else
@@ -743,8 +699,6 @@ begin
     variable read_interrupt_25_pipe_v : std_logic;
     variable cnt10: integer range 0 to 15;
     variable dma_descriptors_enable_written_v: std_logic;
-    variable busy_threshold_assert_v             : std_logic_vector(63 downto 0);
-    variable busy_threshold_negate_v             : std_logic_vector(63 downto 0);
   begin
     if(rising_edge(clk)) then
       register_write_done_250_s <= register_write_done2_v;
@@ -769,12 +723,6 @@ begin
       flush_fifo_v          := flush_fifo_25_s;
       dma_soft_reset_v      := dma_soft_reset_25_s;
       
-      busy_threshold_assert        <= busy_threshold_assert_v;
-      busy_threshold_assert_v      := busy_threshold_assert_25_s;
-      
-      busy_threshold_negate        <= busy_threshold_negate_v;
-      busy_threshold_negate_v      := busy_threshold_negate_25_s;
-      
       -- dma_status and dma_descriptor can be changing fast, so only update at rising edge 
       -- of regmap_clk, then synchronize to regmap_clk
       if(cnt10 = 0) then --rising edge of regmap_clk
@@ -802,6 +750,53 @@ begin
   register_map_monitor_s <= register_map_monitor;
   register_map_control   <= register_map_control_s;
 
+dma_busy_proc: process(regmap_clk)
+  variable tohost_busy_v, fromhost_busy_v: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+begin
+  if rising_edge(regmap_clk) then
+    for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop
+      --Create a a busy signal if the pc pointer comes too close to the current address.
+      --First check tohost busy 
+      if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '0' and dma_descriptors_25_w_s(i).enable = '1') then
+        --ToHost direction, so the current_address has to be < pc_pointer
+        if((dma_descriptors_25_w_s(i).pc_pointer - dma_descriptors_25_r_s(i).current_address) < busy_threshold_assert) then
+          tohost_busy_v(i) := '1';
+        end if;
+        if(tohost_busy_v(i) = '1' and ((dma_descriptors_25_w_s(i).pc_pointer  - dma_descriptors_25_r_s(i).current_address) > busy_threshold_negate)) then
+          tohost_busy_v(i) := '0';
+        end if;
+      else
+        tohost_busy_v(i) := '0';
+      end if;
+      --Then check fromhost busy 
+      if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '1' and dma_descriptors_25_w_s(i).enable = '1') then
+        --FromHost direction, so the current_address has to be > pc_pointer
+        if((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer ) < busy_threshold_assert) then
+          fromhost_busy_v(i) := '1';
+        end if;
+        if(fromhost_busy_v(i) = '1' and ((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer) > busy_threshold_negate)) then
+          fromhost_busy_v(i) := '0';
+        end if;
+      else
+        fromhost_busy_v(i) := '0';
+      end if;
+    end loop;
+    
+    if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then
+      tohost_busy_25_s <= '1';
+    else
+      tohost_busy_25_s <= '0';
+    end if;
+    
+    if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then
+      fromhost_busy_25_s <= '1';
+    else
+      fromhost_busy_25_s <= '0';
+    end if;
+  end if;
+end process;
+
+
   regrw: process(regmap_clk)
     variable register_write_data_25_v: std_logic_vector(127 downto 0);
     variable register_read_address_v: std_logic_vector(19 downto 0);
@@ -829,8 +824,8 @@ begin
           tohost_pfull_threshold_assert_s <= std_logic_vector(to_unsigned(4050, 12));
           tohost_pfull_threshold_negate_s <= std_logic_vector(to_unsigned(3744, 12));
           
-          busy_threshold_assert_25_s             <= REG_BUSY_THRESH_ASSERT_C;
-          busy_threshold_negate_25_s             <= REG_BUSY_THRESH_NEGATE_C;
+          busy_threshold_assert             <= REG_BUSY_THRESH_ASSERT_C;
+          busy_threshold_negate             <= REG_BUSY_THRESH_NEGATE_C;
           
           
           --!
@@ -9106,8 +9101,8 @@ begin
             when REG_TOHOST_FULL_THRESH => register_read_data_25_s <= x"00000000_00000000" &
                                                                         x"0000_0000_0"&tohost_pfull_threshold_assert_s&
                                                                         x"0"&tohost_pfull_threshold_negate_s;  
-            when REG_BUSY_THRESH_ASSERT   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert_25_s;
-            when REG_BUSY_THRESH_NEGATE   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate_25_s;
+            when REG_BUSY_THRESH_ASSERT   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert;
+            when REG_BUSY_THRESH_NEGATE   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate;
             when REG_BUSY_STATUS          => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"&
                                                                                              fromhost_busy_25_s&
                                                                                              tohost_busy_25_s;
@@ -16332,8 +16327,8 @@ begin
                                              fromhost_pfull_threshold_negate_s <= register_write_data_25_v( 8 downto 0);
             when REG_TOHOST_FULL_THRESH =>   tohost_pfull_threshold_assert_s   <= register_write_data_25_v(27 downto 16);
                                              tohost_pfull_threshold_negate_s   <= register_write_data_25_v(11 downto 0);
-            when REG_BUSY_THRESH_ASSERT   => busy_threshold_assert_25_s <= register_write_data_25_v(63 downto 0);
-            when REG_BUSY_THRESH_NEGATE   => busy_threshold_negate_25_s <= register_write_data_25_v(63 downto 0);
+            when REG_BUSY_THRESH_ASSERT   => busy_threshold_assert <= register_write_data_25_v(63 downto 0);
+            when REG_BUSY_THRESH_NEGATE   => busy_threshold_negate <= register_write_data_25_v(63 downto 0);
             when others => --do nothing
 
           end case;
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index 080ce3868..38a0e688f 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -201,9 +201,8 @@ architecture rtl of dma_control is
   signal fromhost_pfull_threshold_assert_s         : std_logic_vector(8 downto 0);
   signal fromhost_pfull_threshold_negate_s         : std_logic_vector(8 downto 0);
   signal dma_descriptors_enable_written_25_s, dma_descriptors_enable_written_250_s: std_logic;
-  signal busy_threshold_assert, busy_threshold_assert_25_s       : std_logic_vector(63 downto 0);
-  signal busy_threshold_negate, busy_threshold_negate_25_s       : std_logic_vector(63 downto 0);
-  signal tohost_busy_250_s, fromhost_busy_250_s            : std_logic;
+  signal busy_threshold_assert       : std_logic_vector(63 downto 0);
+  signal busy_threshold_negate       : std_logic_vector(63 downto 0);
   signal tohost_busy_25_s, fromhost_busy_25_s              : std_logic;
   signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic;
   signal mask_data_available_interrupt: std_logic;
@@ -318,32 +317,6 @@ begin
 
 
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
-          
-          --Create a a busy signal if the pc pointer comes too close to the current address.
-          --First check tohost busy 
-          if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '0' and dma_descriptors_s(i).enable = '1') then
-          --ToHost direction, so the nex_current_address has to be < last_pc_pointer_s
-            if((last_pc_pointer_s(i) - next_current_address_s(i)) < busy_threshold_assert) then
-                tohost_busy_v(i) := '1';
-            end if;
-            if(tohost_busy_v(i) = '1' and ((last_pc_pointer_s(i) - next_current_address_s(i)) > busy_threshold_negate)) then
-                tohost_busy_v(i) := '0';
-            end if;
-          else
-            tohost_busy_v(i) := '0';
-          end if;
-          --Then check fromhost busy 
-          if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then
-          --FromHost direction, so the next_current_address has to be > last_pc_pointer_s
-            if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then
-                fromhost_busy_v(i) := '1';
-            end if;
-            if(fromhost_busy_v(i) = '1' and ((next_current_address_s(i) - last_pc_pointer_s(i)) > busy_threshold_negate)) then
-                fromhost_busy_v(i) := '0';
-            end if;
-          else
-            fromhost_busy_v(i) := '0';
-          end if;
 
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
@@ -391,7 +364,7 @@ begin
             if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
-              dma_wait(i) <= '0';
+              dma_wait(i) <= '0'; 
             end if;
           else
               dma_wait(i) <= '0';
@@ -400,20 +373,6 @@ begin
                     
         end loop;
         
-        if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then
-            tohost_busy_250_s <= '1';
-        else
-            tohost_busy_250_s <= '0';
-        end if;
-        
-        if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then
-            fromhost_busy_250_s <= '1';
-        else
-            fromhost_busy_250_s <= '0';
-        end if;
-        
-        
-        
         dma_descriptors_enable_written_250_v := dma_descriptors_enable_written_250_s;
 
         case (completer_state) is
@@ -674,9 +633,6 @@ begin
       read_interrupt_25_s <= read_interrupt_250_s;
       write_interrupt_25_s <= write_interrupt_250_s;
       
-      fromhost_busy_25_s <= fromhost_busy_250_s;
-      tohost_busy_25_s   <= tohost_busy_250_s;
-
       if(fifo_full_interrupt_v(2 downto 1) = "01") then --rising edge detected on full flag
         fifo_full_interrupt_25_s <= '1';
       else
@@ -722,8 +678,6 @@ begin
     variable read_interrupt_25_pipe_v : std_logic;
     variable cnt10: integer range 0 to 15;
     variable dma_descriptors_enable_written_v: std_logic;
-    variable busy_threshold_assert_v             : std_logic_vector(63 downto 0);
-    variable busy_threshold_negate_v             : std_logic_vector(63 downto 0);
   begin
     if(rising_edge(clk)) then
       register_write_done_250_s <= register_write_done2_v;
@@ -748,12 +702,6 @@ begin
       flush_fifo_v          := flush_fifo_25_s;
       dma_soft_reset_v      := dma_soft_reset_25_s;
       
-      busy_threshold_assert        <= busy_threshold_assert_v;
-      busy_threshold_assert_v      := busy_threshold_assert_25_s;
-      
-      busy_threshold_negate        <= busy_threshold_negate_v;
-      busy_threshold_negate_v      := busy_threshold_negate_25_s;
-      
       -- dma_status and dma_descriptor can be changing fast, so only update at rising edge 
       -- of regmap_clk, then synchronize to regmap_clk
       if(cnt10 = 0) then --rising edge of regmap_clk
@@ -781,6 +729,53 @@ begin
   register_map_monitor_s <= register_map_monitor;
   register_map_control   <= register_map_control_s;
 
+dma_busy_proc: process(regmap_clk)
+  variable tohost_busy_v, fromhost_busy_v: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
+begin
+  if rising_edge(regmap_clk) then
+    for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop
+      --Create a a busy signal if the pc pointer comes too close to the current address.
+      --First check tohost busy 
+      if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '0' and dma_descriptors_25_w_s(i).enable = '1') then
+        --ToHost direction, so the current_address has to be < pc_pointer
+        if((dma_descriptors_25_w_s(i).pc_pointer - dma_descriptors_25_r_s(i).current_address) < busy_threshold_assert) then
+          tohost_busy_v(i) := '1';
+        end if;
+        if(tohost_busy_v(i) = '1' and ((dma_descriptors_25_w_s(i).pc_pointer  - dma_descriptors_25_r_s(i).current_address) > busy_threshold_negate)) then
+          tohost_busy_v(i) := '0';
+        end if;
+      else
+        tohost_busy_v(i) := '0';
+      end if;
+      --Then check fromhost busy 
+      if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '1' and dma_descriptors_25_w_s(i).enable = '1') then
+        --FromHost direction, so the current_address has to be > pc_pointer
+        if((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer ) < busy_threshold_assert) then
+          fromhost_busy_v(i) := '1';
+        end if;
+        if(fromhost_busy_v(i) = '1' and ((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer) > busy_threshold_negate)) then
+          fromhost_busy_v(i) := '0';
+        end if;
+      else
+        fromhost_busy_v(i) := '0';
+      end if;
+    end loop;
+    
+    if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then
+      tohost_busy_25_s <= '1';
+    else
+      tohost_busy_25_s <= '0';
+    end if;
+    
+    if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then
+      fromhost_busy_25_s <= '1';
+    else
+      fromhost_busy_25_s <= '0';
+    end if;
+  end if;
+end process;
+
+
   regrw: process(regmap_clk)
     variable register_write_data_25_v: std_logic_vector(127 downto 0);
     variable register_read_address_v: std_logic_vector(19 downto 0);
@@ -808,8 +803,8 @@ begin
           tohost_pfull_threshold_assert_s <= std_logic_vector(to_unsigned(4050, 12));
           tohost_pfull_threshold_negate_s <= std_logic_vector(to_unsigned(3744, 12));
           
-          busy_threshold_assert_25_s             <= REG_BUSY_THRESH_ASSERT_C;
-          busy_threshold_negate_25_s             <= REG_BUSY_THRESH_NEGATE_C;
+          busy_threshold_assert             <= REG_BUSY_THRESH_ASSERT_C;
+          busy_threshold_negate             <= REG_BUSY_THRESH_NEGATE_C;
           
           
           --!
@@ -994,8 +989,8 @@ begin
             when REG_TOHOST_FULL_THRESH => register_read_data_25_s <= x"00000000_00000000" &
                                                                         x"0000_0000_0"&tohost_pfull_threshold_assert_s&
                                                                         x"0"&tohost_pfull_threshold_negate_s;  
-            when REG_BUSY_THRESH_ASSERT   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert_25_s;
-            when REG_BUSY_THRESH_NEGATE   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate_25_s;
+            when REG_BUSY_THRESH_ASSERT   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert;
+            when REG_BUSY_THRESH_NEGATE   => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate;
             when REG_BUSY_STATUS          => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"&
                                                                                              fromhost_busy_25_s&
                                                                                              tohost_busy_25_s;
@@ -1307,8 +1302,8 @@ begin
                                              fromhost_pfull_threshold_negate_s <= register_write_data_25_v( 8 downto 0);
             when REG_TOHOST_FULL_THRESH =>   tohost_pfull_threshold_assert_s   <= register_write_data_25_v(27 downto 16);
                                              tohost_pfull_threshold_negate_s   <= register_write_data_25_v(11 downto 0);
-            when REG_BUSY_THRESH_ASSERT   => busy_threshold_assert_25_s <= register_write_data_25_v(63 downto 0);
-            when REG_BUSY_THRESH_NEGATE   => busy_threshold_negate_25_s <= register_write_data_25_v(63 downto 0);
+            when REG_BUSY_THRESH_ASSERT   => busy_threshold_assert <= register_write_data_25_v(63 downto 0);
+            when REG_BUSY_THRESH_NEGATE   => busy_threshold_negate <= register_write_data_25_v(63 downto 0);
             when others => --do nothing
 
           end case;
-- 
GitLab


From 6ef98463a5e4ff5208d3d06dbd0792231d8267d2 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Wed, 22 May 2019 15:31:35 +0200
Subject: [PATCH 11/19] variables => signals for odd and even flags (dma_busy)

---
 sources/templates/dma_control.vhd          | 4 ++--
 sources/templates/dma_control.vhd.template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 666f23e58..ef32f6aa1 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -381,8 +381,8 @@ begin
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
+          if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
+            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
               dma_wait(i) <= '0'; 
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index 38a0e688f..db4bf5663 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -360,8 +360,8 @@ begin
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
+          if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
+            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
               dma_wait(i) <= '0'; 
-- 
GitLab


From a0897a1ab773374de562c56145f577112a26bf91 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Thu, 23 May 2019 09:51:05 +0200
Subject: [PATCH 12/19] Using variables seems to be needed here

---
 sources/templates/dma_control.vhd          | 4 ++--
 sources/templates/dma_control.vhd.template | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index ef32f6aa1..666f23e58 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -381,8 +381,8 @@ begin
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-          if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
-            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
+          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
+            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
               dma_wait(i) <= '0'; 
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index db4bf5663..38a0e688f 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -360,8 +360,8 @@ begin
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-          if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
-            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
+          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
+            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
               dma_wait(i) <= '0'; 
-- 
GitLab


From eba33f1ca3924a1b02c8755a02ad5bf4e2e37a17 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Fri, 24 May 2019 15:24:29 +0200
Subject: [PATCH 13/19] Added simulation testbench for wupper, and a behavioral
 model for the axi side of pcie_ep_wrap (circular DMA) Use the signal again
 for current_address (dma_wait), for better timing

---
 .../Wupper/pcie_ep_wrap_sim_circularDMA.vhd   | 326 ++++++++
 simulation/Wupper/wupper_tb.vhd               | 261 ++++++
 simulation/Wupper/wupper_tb_behav.wcfg        | 764 ++++++++++++++++++
 sources/templates/dma_control.vhd             |   7 +-
 sources/templates/dma_control.vhd.template    |   7 +-
 5 files changed, 1361 insertions(+), 4 deletions(-)
 create mode 100644 simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
 create mode 100644 simulation/Wupper/wupper_tb.vhd
 create mode 100644 simulation/Wupper/wupper_tb_behav.wcfg

diff --git a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
new file mode 100644
index 000000000..8535ad370
--- /dev/null
+++ b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
@@ -0,0 +1,326 @@
+
+--!------------------------------------------------------------------------------
+--!                                                             
+--!           NIKHEF - National Institute for Subatomic Physics 
+--!
+--!                       Electronics Department                
+--!                                                             
+--!-----------------------------------------------------------------------------
+--! @class pcie_ep_wrap
+--! 
+--!
+--! @author      Andrea Borga    (andrea.borga@nikhef.nl)<br>
+--!              Frans Schreuder (frans.schreuder@nikhef.nl)
+--!
+--!
+--! @date        07/01/2015    created
+--!
+--! @version     1.0
+--!
+--! @brief 
+--! Wrapper unit for the PCI Express core, and the clock generator 
+--!
+--! @detail
+--!
+--!-----------------------------------------------------------------------------
+--! @TODO
+--!  
+--!
+--! ------------------------------------------------------------------------------
+--! Virtex7 PCIe Gen3 DMA Core
+--! 
+--! \copyright GNU LGPL License
+--! Copyright (c) Nikhef, Amsterdam, All rights reserved. <br>
+--! This library is free software; you can redistribute it and/or
+--! modify it under the terms of the GNU Lesser General Public
+--! License as published by the Free Software Foundation; either
+--! version 3.0 of the License, or (at your option) any later version.
+--! This library is distributed in the hope that it will be useful,
+--! but WITHOUT ANY WARRANTY; without even the implied warranty of
+--! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+--! Lesser General Public License for more details.<br>
+--! You should have received a copy of the GNU Lesser General Public
+--! License along with this library.
+--! 
+-- 
+--! @brief ieee
+
+
+
+library ieee, UNISIM, work;
+use ieee.numeric_std.all;
+use UNISIM.VCOMPONENTS.all;
+use ieee.std_logic_unsigned.all;
+use ieee.std_logic_1164.all;
+use work.pcie_package.all;
+
+entity pcie_ep_wrap is
+  generic(
+    CARD_TYPE : integer := 710;
+    DEVID     : std_logic_vector(15 downto 0) := x"7038");
+  port (
+    cfg_fc_cpld                : out    std_logic_vector(11 downto 0);
+    cfg_fc_cplh                : out    std_logic_vector(7 downto 0);
+    cfg_fc_npd                 : out    std_logic_vector(11 downto 0);
+    cfg_fc_nph                 : out    std_logic_vector(7 downto 0);
+    cfg_fc_pd                  : out    std_logic_vector(11 downto 0);
+    cfg_fc_ph                  : out    std_logic_vector(7 downto 0);
+    cfg_fc_sel                 : in     std_logic_vector(2 downto 0);
+    cfg_interrupt_msix_address : in     std_logic_vector(63 downto 0);
+    cfg_interrupt_msix_data    : in     std_logic_vector(31 downto 0);
+    cfg_interrupt_msix_enable  : out    std_logic_vector(3 downto 0);
+    cfg_interrupt_msix_fail    : out    std_logic;
+    cfg_interrupt_msix_int     : in     std_logic;
+    cfg_interrupt_msix_sent    : out    std_logic;
+    cfg_mgmt_addr              : in     std_logic_vector(18 downto 0);
+    cfg_mgmt_byte_enable       : in     std_logic_vector(3 downto 0);
+    cfg_mgmt_read              : in     std_logic;
+    cfg_mgmt_read_data         : out    std_logic_vector(31 downto 0);
+    cfg_mgmt_read_write_done   : out    std_logic;
+    cfg_mgmt_write             : in     std_logic;
+    cfg_mgmt_write_data        : in     std_logic_vector(31 downto 0);
+    clk                        : out    std_logic;
+    m_axis_cq                  : out    axis_type;
+    m_axis_r_cq                : in     axis_r_type;
+    m_axis_r_rc                : in     axis_r_type;
+    m_axis_rc                  : out    axis_type;
+    pci_exp_rxn                : in     std_logic_vector(7 downto 0);
+    pci_exp_rxp                : in     std_logic_vector(7 downto 0);
+    pci_exp_txn                : out    std_logic_vector(7 downto 0);
+    pci_exp_txp                : out    std_logic_vector(7 downto 0);
+    reset                      : out    std_logic;
+    s_axis_cc                  : in     axis_type;
+    s_axis_r_cc                : out    axis_r_type;
+    s_axis_r_rq                : out    axis_r_type;
+    s_axis_rq                  : in     axis_type;
+    sys_clk_n                  : in     std_logic;
+    sys_clk_p                  : in     std_logic;
+    sys_rst_n                  : in     std_logic;
+    user_lnk_up                : out    std_logic);
+end entity pcie_ep_wrap;
+
+
+
+architecture structure of pcie_ep_wrap is
+  
+  signal user_clk: std_logic;
+  constant user_clk_period: time  := 4 ns;
+      
+  constant BAR0: std_logic_vector(31 downto 0) := x"BA00_8000";   
+  constant BAR1: std_logic_vector(31 downto 0) := x"BA00_8001";   
+  constant BAR2: std_logic_vector(31 downto 0) := x"BA00_8002";   
+  type slv256_array is array (natural range <>) of std_logic_vector(255 downto 0);
+  signal ToHostMem: slv256_array(0 to 127);  
+  signal FromHostMem: slv256_array(0 to 127);  
+begin
+    user_clk_proc: process
+    begin
+        user_clk <= '1';
+        wait for user_clk_period / 2;
+        user_clk <= '0';
+        wait for user_clk_period / 2;
+    end process;
+
+    cfg_fc_cpld                <= (others => '0');--: out    std_logic_vector(11 downto 0);
+    cfg_fc_cplh                <= (others => '0');--: out    std_logic_vector(7 downto 0);
+    cfg_fc_npd                 <= (others => '0');--: out    std_logic_vector(11 downto 0);
+    cfg_fc_nph                 <= (others => '0');--: out    std_logic_vector(7 downto 0);
+    cfg_fc_pd                  <= (others => '0');--: out    std_logic_vector(11 downto 0);
+    cfg_fc_ph                  <= (others => '0');--: out    std_logic_vector(7 downto 0);
+    --cfg_fc_sel                 : in     std_logic_vector(2 downto 0);
+    --cfg_interrupt_msix_address : in     std_logic_vector(63 downto 0);
+    --cfg_interrupt_msix_data    : in     std_logic_vector(31 downto 0);
+    cfg_interrupt_msix_enable  <= (others => '1');--: out    std_logic_vector(3 downto 0);
+    cfg_interrupt_msix_fail    <= '0';--: out    std_logic;
+    cfg_interrupt_msix_sent    <= cfg_interrupt_msix_int;--: out    std_logic;
+    
+    mgmt_proc: process(user_clk)
+    begin
+        if rising_edge(user_clk) then
+            cfg_mgmt_read_write_done <= cfg_mgmt_read or cfg_mgmt_write;
+            if cfg_mgmt_addr = "000"&x"0004" and cfg_mgmt_read = '1' then --read BAR0
+              cfg_mgmt_read_data <= BAR0; --BAR0 address
+            end if;
+            if cfg_mgmt_addr = "000"&x"0005" and cfg_mgmt_read = '1' then --read BAR0
+              cfg_mgmt_read_data <= BAR1; --BAR0 address
+            end if;
+            if cfg_mgmt_addr = "000"&x"0006" and cfg_mgmt_read = '1' then --read BAR0
+              cfg_mgmt_read_data <= BAR2; --BAR0 address
+            end if;            
+        end if;
+    end process;
+    
+    reg_write: process
+        procedure w
+     (RegAddr: in std_logic_vector(19 downto 0);
+      BarAddr: in std_logic_vector(31 downto 0);
+      Data:    in std_logic_vector(63 downto 0)) is
+      variable bar_id: std_logic_vector(2 downto 0):= "000";
+    begin
+      wait until rising_edge(user_clk);
+      m_axis_cq.tdata <= (others => '0');
+      
+      m_axis_cq.tdata(1 downto 0) <= "00"; --address type
+      m_axis_cq.tdata(63 downto 32) <= x"0000_0000";
+      m_axis_cq.tdata(31 downto 20) <= BarAddr(31 downto 20);
+      m_axis_cq.tdata(19 downto 2) <= RegAddr(19 downto 2);
+      
+      m_axis_cq.tdata(74 downto 64) <= "00000000010";-- 2 words, 64 bit write dword_count_s;
+      m_axis_cq.tdata(78 downto 75) <= "0001"; --Memory write, request_type_v
+      m_axis_cq.tdata(95 downto 80)    <= x"0000";--requester_id_s
+      m_axis_cq.tdata(103 downto 96)   <= x"00";--tag_s
+      m_axis_cq.tdata(111 downto 104)  <= x"00";--target_function_s
+      if BarAddr = BAR0 then
+        bar_id := "000";
+      end if;
+      if BarAddr = BAR1 then
+        bar_id := "001";
+      end if;
+      if BarAddr = BAR2 then
+        bar_id := "010";
+      end if;
+      m_axis_cq.tdata(114 downto 112)  <= bar_id;
+      m_axis_cq.tdata(120 downto 115)  <= "000000";--bar_aperture_s
+      m_axis_cq.tdata(123 downto 121)  <= "000";--transaction_class_s
+      m_axis_cq.tdata(126 downto 124)  <= "000";--attributes_s
+      m_axis_cq.tdata(191 downto 128)  <= Data; --register_write_data_250_s
+      m_axis_cq.tdata(255 downto 192)  <= (others => '0'); --register_write_data_250_s
+      m_axis_cq.tuser(3 downto 0)      <= "1111";--first_be_s
+      m_axis_cq.tuser(7 downto 4)      <= "1111";--last_be_s
+      m_axis_cq.tuser(84 downto 8)      <= (others => '0');
+      m_axis_cq.tkeep                  <= "00111111"; --64b writes, don't care about the MSB 64 bits
+      m_axis_cq.tvalid                 <= '1';
+      m_axis_cq.tlast                  <= '1';
+      wait until rising_edge(user_clk);
+      m_axis_cq.tvalid                 <= '0';
+      m_axis_cq.tlast                  <= '0';
+      while m_axis_r_cq.tready = '0' loop
+        wait until rising_edge(user_clk);
+      end loop;
+           
+    end w;
+    begin
+        wait for 1 us; --startup time
+        w(x"00000", BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address
+        w(x"00008", BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes)
+        w(x"00018", BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address
+        w(x"00010", BAR0, x"0000_0000_0000_1040"); --wrap around, ToHost, 256 bytes  
+        w(x"00020", BAR0, x"DEF8_0000_0000_0000"); --descr 1 start address
+        w(x"00028", BAR0, x"DEF8_0000_0000_1000"); --descr 1 end address = end address + 4096 (16 TLPs of 256 bytes)
+        w(x"00038", BAR0, x"DEF8_0000_0000_0000"); --init PC pointer at start_address
+        w(x"00030", BAR0, x"0000_0000_0000_1840"); --wrap around, FromHost, 256 bytes  
+        w(x"00400", BAR0, x"0000_0000_0000_0003"); --Enable both descriptors  
+        wait for 1 us;
+        w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --increment PC pointer with 1 TLP
+        wait for 1 us;
+        w(x"00038", BAR0, x"DEF8_0000_0000_0300"); --increment PC pointer with 2 TLPs
+        wait for 1 us;
+        w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --Wrap around to 0x100
+        
+        wait for 1 us;
+        w(x"00018", BAR0, x"ABCD_0000_0000_0800"); --Icrement ToHost pc_pointer with 8 TLPs (half way the buffer)
+        w(x"00038", BAR0, x"DEF8_0000_0000_0800"); --Also start reading FromHost
+                
+                
+                        
+        wait;
+        
+        
+    end process;
+    s_axis_r_cc.tready <= '1';
+    
+    g_FromHostMem: for i in 0 to 127 generate
+        FromHostMem(i) <= x"DEADBEEF_01234567_AABBAABB_00000000_01234567_89ABCDEF" & std_logic_vector(to_unsigned(i,64));
+    end generate;
+    
+    response_proc: process(user_clk)
+        variable ToHost_tlp_busy: std_logic := '0';
+        variable address: std_logic_vector(63 downto 0);
+        variable dword_count: std_logic_vector(10 downto 0);
+        variable request_type: std_logic_vector(3 downto 0); --"0001" for write, "0000" for read.
+        variable ToHost_pipe_data: std_logic_vector(127 downto 0);
+        variable TLPsToSend: integer range 0 to 65536:= 0;
+        variable FromHostIndex: integer range 0 to 127;
+        variable ToHostIndex: integer range 0 to 127;
+        variable FromHost_pipe_data: std_logic_vector(95 downto 0);
+        variable TlpIndex: integer range 0 to 127:= 0;
+    begin
+        if rising_edge(user_clk) then
+            if s_axis_rq.tvalid = '1' then
+                if ToHost_tlp_busy = '0' then --first word, decode everything from header.
+                    address := s_axis_rq.tdata(63 downto 2) & "00";
+                    dword_count := s_axis_rq.tdata(74 downto 64);
+                    request_type := s_axis_rq.tdata(78 downto 75);
+                    ToHost_pipe_data := s_axis_rq.tdata(255 downto 128);
+                    if request_type = "0000" then 
+                        FromHostIndex := to_integer(unsigned(address(11 downto 5)));
+                        TLPsToSend := TLPsToSend + 1;
+                    end if;
+                    if request_type = "0001" then 
+                        ToHostIndex := to_integer(unsigned(address(11 downto 5)));
+                    end if;
+                    ToHost_tlp_busy := '1';
+                else
+                    ToHostMem(ToHostIndex) <=  s_axis_rq.tdata(127 downto 0) & ToHost_pipe_data; --write the TLP in the host memory.
+                    ToHost_pipe_data := s_axis_rq.tdata(255 downto 128);
+                    ToHostIndex := ToHostIndex + 1;
+                end if;
+                if s_axis_rq.tlast = '1' then
+                    ToHost_tlp_busy := '0';
+                end if;
+            end if;
+            if(m_axis_r_rc.tready = '1') then
+                m_axis_rc.tvalid <= '0';
+                m_axis_rc.tdata <= (others => '0');
+                m_axis_rc.tuser <= (others => '0');
+                m_axis_rc.tkeep <= x"00";                    
+                if TLPsToSend > 0 and TlpIndex = 0 then
+                    m_axis_rc.tdata(255 downto 96) <= FromHostMem(FromHostIndex)(159 downto 0);
+                    FromHost_pipe_data := FromHostMem(FromHostIndex)(255 downto 160);
+                    m_axis_rc.tdata(42 downto 32) <= dword_count;
+                    m_axis_rc.tvalid <= '1';
+                    TlpIndex := to_integer(unsigned(dword_count(10 downto 3)));
+                    FromHostIndex := FromHostIndex + 1;            
+                    m_axis_rc.tlast <= '0';
+                    TLPsToSend := TLPsToSend - 1 ;
+                    m_axis_rc.tkeep <= x"FF";
+                elsif TlpIndex /= 0 then
+                    m_axis_rc.tdata(95 downto 0) <= FromHost_pipe_data;
+                    m_axis_rc.tvalid <= '1';
+                    if(TlpIndex > 1) then
+                        m_axis_rc.tdata(255 downto 96) <= FromHostMem(FromHostIndex)(159 downto 0);
+                        FromHost_pipe_data := FromHostMem(FromHostIndex)(255 downto 160);
+                        m_axis_rc.tlast <= '0';
+                        m_axis_rc.tkeep <= x"FF";
+                    else
+                        m_axis_rc.tdata(255 downto 96) <= (others => '0');
+                        m_axis_rc.tlast <= '1';
+                        m_axis_rc.tkeep <= x"07";
+                    end if;
+                    TlpIndex := TlpIndex - 1;
+                    FromHostIndex := FromHostIndex + 1;
+                                
+                    
+                end if;
+            end if;
+        end if;
+    end process;
+                  
+    
+    
+    
+    --m_axis_r_rc                : in     axis_r_type;
+    --m_axis_rc                  : out    axis_type;
+    s_axis_r_rq.tready <= '1';
+    --s_axis_rq                  : in     axis_type;
+    
+    pci_exp_txn         <= (others => '0');--       : out    std_logic_vector(7 downto 0);
+    pci_exp_txp         <= (others => '0');--       : out    std_logic_vector(7 downto 0);
+    user_lnk_up   <= '1';--             : out    std_logic
+
+   
+    reset <= not sys_rst_n;
+    clk   <= user_clk;
+
+end architecture structure ; -- of pcie_ep_wrap
+
diff --git a/simulation/Wupper/wupper_tb.vhd b/simulation/Wupper/wupper_tb.vhd
new file mode 100644
index 000000000..81f80dfc2
--- /dev/null
+++ b/simulation/Wupper/wupper_tb.vhd
@@ -0,0 +1,261 @@
+
+--!------------------------------------------------------------------------------
+--!                                                             
+--!           NIKHEF - National Institute for Subatomic Physics 
+--!
+--!                       Electronics Department                
+--!                                                             
+--!-----------------------------------------------------------------------------
+--! @class felix_top
+--! 
+--!
+--! @author      Andrea Borga    (andrea.borga@nikhef.nl)<br>
+--!              Frans Schreuder (frans.schreuder@nikhef.nl)
+--!
+--!
+--! @date        07/01/2015    created
+--!
+--! @version     1.0
+--!
+--! @brief 
+--! Top level for the FELIX project, containing GBT, CentralRouter and PCIe DMA core
+--! 
+--! 
+--! 
+--! @detail
+--!
+--!-----------------------------------------------------------------------------
+--! @TODO
+--!  
+--!
+--! ------------------------------------------------------------------------------
+--! Virtex7 PCIe Gen3 DMA Core
+--! 
+--! \copyright GNU LGPL License
+--! Copyright (c) Nikhef, Amsterdam, All rights reserved. <br>
+--! This library is free software; you can redistribute it and/or
+--! modify it under the terms of the GNU Lesser General Public
+--! License as published by the Free Software Foundation; either
+--! version 3.0 of the License, or (at your option) any later version.
+--! This library is distributed in the hope that it will be useful,
+--! but WITHOUT ANY WARRANTY; without even the implied warranty of
+--! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+--! Lesser General Public License for more details.<br>
+--! You should have received a copy of the GNU Lesser General Public
+--! License along with this library.
+--! 
+-- 
+--! @brief ieee
+
+
+
+library ieee, UNISIM, work;
+use ieee.numeric_std.all;
+use UNISIM.VCOMPONENTS.all;
+use ieee.std_logic_unsigned.all;
+use ieee.std_logic_1164.all;
+use work.pcie_package.all;
+
+entity wupper_tb is
+  
+end entity wupper_tb;
+
+architecture structure of wupper_tb is
+
+  
+
+  component fifo128KB_256bit
+    port (
+      rst                     : in     std_logic;
+      wr_clk                  : in     std_logic;
+      rd_clk                  : in     std_logic;
+      din                     : in     std_logic_vector(255 downto 0);
+      wr_en                   : in     std_logic;
+      rd_en                   : in     std_logic;
+      prog_empty_thresh       : in     std_logic_vector(11 downto 0);
+      prog_full_thresh_assert : in     std_logic_vector(11 downto 0);
+      prog_full_thresh_negate : in     std_logic_vector(11 downto 0);
+      dout                    : out    std_logic_vector(255 downto 0);
+      full                    : out    std_logic;
+      empty                   : out    std_logic;
+      prog_full               : out    std_logic;
+      prog_empty              : out    std_logic;
+      wr_data_count           : out    std_logic_vector(11 downto 0));
+  end component fifo128KB_256bit;
+
+  component fifo16KB_256bit
+    port (
+      rst                     : in     std_logic;
+      wr_clk                  : in     std_logic;
+      rd_clk                  : in     std_logic;
+      din                     : in     std_logic_vector(255 downto 0);
+      wr_en                   : in     std_logic;
+      rd_en                   : in     std_logic;
+      prog_full_thresh_assert : in     std_logic_vector(8 downto 0);
+      prog_full_thresh_negate : in     std_logic_vector(8 downto 0);
+      dout                    : out    std_logic_vector(255 downto 0);
+      full                    : out    std_logic;
+      empty                   : out    std_logic;
+      prog_full               : out    std_logic);
+  end component fifo16KB_256bit;
+  constant NUMBER_OF_INTERRUPTS: integer := 8;
+  constant NUMBER_OF_DESCRIPTORS: integer := 2;
+  
+  signal fromHostFifo_din: std_logic_vector(255 downto 0);
+  signal fromHostFifo_pfull_threshold_assert : std_logic_vector(8 downto 0);
+  signal fromHostFifo_pfull_threshold_negate : std_logic_vector(8 downto 0);
+  signal fromHostFifo_prog_full, fromHostFifo_we, fromHostFifo_wr_clk: std_logic;
+  signal pcie_rxn: std_logic_vector(7 downto 0);
+  signal pcie_rxp: std_logic_vector(7 downto 0);
+  signal pcie_txn: std_logic_vector(7 downto 0);
+  signal pcie_txp: std_logic_vector(7 downto 0);
+  
+  signal sys_reset_n: std_logic;
+  
+  signal toHostFifo_dout: std_logic_vector(255 downto 0);
+  signal toHostFifo_empty_thresh: std_logic_vector(11 downto 0);
+  signal toHostFifo_pfull_threshold_assert: std_logic_vector(11 downto 0);
+  signal toHostFifo_pfull_threshold_negate: std_logic_vector(11 downto 0);
+  
+  signal toHostFifo_prog_empty, toHostFifo_rd_clk, toHostFifo_re: std_logic;
+  
+  
+  
+  signal clk240: std_logic;
+  constant clk240_period: time := 4.17ns;
+  signal reset_hard: std_logic;
+  signal toHostFifo_rst: std_logic;
+  signal fromHostFifo_rst: std_logic;
+  
+  signal toHostFifo_din       : std_logic_vector(255 downto 0);
+  signal toHostFifo_wr_en     : std_logic;
+  signal toHostFifo_prog_full : std_logic;
+
+  signal fromHostFifo_rd_en   : std_logic;
+  signal fromHostFifo_dout    : std_logic_vector(255 downto 0);
+  signal fromHostFifo_empty   : std_logic;
+  signal register_map_monitor: register_map_monitor_type;
+  
+begin
+  pcie_rxn <= pcie_txn;
+  pcie_rxp <= pcie_txp;
+  
+  process
+  begin
+    sys_reset_n <= '0';
+    wait for 100 ns;
+    sys_reset_n <= '1';
+    wait;
+  end process;
+  
+  toHostFifo_rst <= reset_hard;
+  fromHostFifo_rst <= reset_hard;
+  
+  process
+  begin
+    clk240 <= '1';
+    wait for clk240_period/2;
+    clk240 <= '0';
+    wait for clk240_period/2;
+  end process;
+
+  pcie0: entity work.wupper
+    generic map(
+      NUMBER_OF_INTERRUPTS  => NUMBER_OF_INTERRUPTS,
+      NUMBER_OF_DESCRIPTORS => NUMBER_OF_DESCRIPTORS,
+      BUILD_DATETIME        => (others => '0'),
+      SVN_VERSION           => 0,
+      CARD_TYPE             => 709,
+      REG_MAP_VERSION       => (others => '0'),
+      DEVID                 => x"7038",
+      GIT_HASH              => (others => '0'),
+      COMMIT_DATETIME       => (others => '0'),
+      GIT_TAG               => (others => '0'),
+      GIT_COMMIT_NUMBER     => 42,
+      GBT_GENERATE_ALL_REGS => true,
+      EMU_GENERATE_REGS     => false,
+      PCIE_ENDPOINT         => 0)
+    port map(
+      appreg_clk                          => open,
+      flush_fifo                          => open,
+      fromHostFifo_din                    => fromHostFifo_din,
+      fromHostFifo_pfull_threshold_assert => fromHostFifo_pfull_threshold_assert,
+      fromHostFifo_pfull_threshold_negate => fromHostFifo_pfull_threshold_negate,
+      fromHostFifo_prog_full              => fromHostFifo_prog_full,
+      fromHostFifo_we                     => fromHostFifo_we,
+      fromHostFifo_wr_clk                 => fromHostFifo_wr_clk,
+      fromhost_busy_out                   => open,
+      interrupt_call                      => (others => '0'),
+      lnk_up                              => open,
+      pcie_rxn                            => pcie_rxn,
+      pcie_rxp                            => pcie_rxp,
+      pcie_txn                            => pcie_txn,
+      pcie_txp                            => pcie_txp,
+      pll_locked                          => open,
+      register_map_control                => open,
+      register_map_monitor                => register_map_monitor,
+      reset_hard                          => reset_hard,
+      reset_soft                          => open,
+      sys_clk_n                           => '0', -- not used, 250 MHz clock generated internally
+      sys_clk_p                           => '0', -- not used, 250 MHz clock generated internally
+      sys_reset_n                         => sys_reset_n,
+      toHostFifo_dout                     => toHostFifo_dout,
+      toHostFifo_empty_thresh             => toHostFifo_empty_thresh,
+      toHostFifo_pfull_threshold_assert   => toHostFifo_pfull_threshold_assert,
+      toHostFifo_pfull_threshold_negate   => toHostFifo_pfull_threshold_negate,
+      toHostFifo_prog_empty               => toHostFifo_prog_empty,
+      toHostFifo_rd_clk                   => toHostFifo_rd_clk,
+      toHostFifo_re                       => toHostFifo_re,
+      tohost_busy_out                     => open);
+
+  
+
+  toHostFifo: fifo128KB_256bit
+    port map(
+      rst                     => toHostFifo_rst,
+      wr_clk                  => clk240,
+      rd_clk                  => toHostFifo_rd_clk,
+      din                     => toHostFifo_din,
+      wr_en                   => toHostFifo_wr_en,
+      rd_en                   => toHostFifo_re,
+      prog_empty_thresh       => toHostFifo_empty_thresh,
+      prog_full_thresh_assert => toHostFifo_pfull_threshold_assert,
+      prog_full_thresh_negate => toHostFifo_pfull_threshold_negate,
+      dout                    => toHostFifo_dout,
+      full                    => open,
+      empty                   => open,
+      prog_full               => toHostFifo_prog_full,
+      prog_empty              => toHostFifo_prog_empty,
+      wr_data_count           => open);
+
+  fromHostFifo: fifo16KB_256bit
+    port map(
+      rst                     => fromHostFifo_rst,
+      wr_clk                  => fromHostFifo_wr_clk,
+      rd_clk                  => clk240,
+      din                     => fromHostFifo_din,
+      wr_en                   => fromHostFifo_we,
+      rd_en                   => fromHostFifo_rd_en,
+      prog_full_thresh_assert => fromHostFifo_pfull_threshold_assert,
+      prog_full_thresh_negate => fromHostFifo_pfull_threshold_negate,
+      dout                    => fromHostFifo_dout,
+      full                    => open,
+      empty                   => fromHostFifo_empty,
+      prog_full               => fromHostFifo_prog_full);
+
+
+toHostFifo_din <= fromHostFifo_dout;
+
+process(clk240)
+begin
+    if reset_hard = '1' then
+        toHostFifo_wr_en <= '0'; 
+    elsif rising_edge(clk240) then
+        toHostFifo_wr_en <= fromHostFifo_rd_en;
+    end if;
+end process;
+
+fromHostFifo_rd_en <= not fromHostFifo_empty and not toHostFifo_prog_full;
+
+end architecture structure ; -- of felix_top
+
diff --git a/simulation/Wupper/wupper_tb_behav.wcfg b/simulation/Wupper/wupper_tb_behav.wcfg
new file mode 100644
index 000000000..4ff1be945
--- /dev/null
+++ b/simulation/Wupper/wupper_tb_behav.wcfg
@@ -0,0 +1,764 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wave_config>
+   <wave_state>
+   </wave_state>
+   <db_ref_list>
+      <db_ref path="wupper_tb_behav.wdb" id="1">
+         <top_modules>
+            <top_module name="centralrouter_package" />
+            <top_module name="glbl" />
+            <top_module name="pcie_package" />
+            <top_module name="wupper_tb" />
+         </top_modules>
+      </db_ref>
+   </db_ref_list>
+   <zoom_setting>
+      <ZoomStartTime time="9149400000fs"></ZoomStartTime>
+      <ZoomEndTime time="9432600001fs"></ZoomEndTime>
+      <Cursor1Time time="9302000000fs"></Cursor1Time>
+   </zoom_setting>
+   <column_width_setting>
+      <NameColumnWidth column_width="194"></NameColumnWidth>
+      <ValueColumnWidth column_width="264"></ValueColumnWidth>
+   </column_width_setting>
+   <WVObjectSize size="4" />
+   <wvobject type="group" fp_name="group33">
+      <obj_property name="label">wupper_tb</obj_property>
+      <obj_property name="DisplayName">label</obj_property>
+      <obj_property name="isExpanded"></obj_property>
+      <wvobject type="array" fp_name="/wupper_tb/fromHostFifo_din">
+         <obj_property name="ElementShortName">fromHostFifo_din[255:0]</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_din[255:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_prog_full">
+         <obj_property name="ElementShortName">fromHostFifo_prog_full</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_prog_full</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_we">
+         <obj_property name="ElementShortName">fromHostFifo_we</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_we</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_wr_clk">
+         <obj_property name="ElementShortName">fromHostFifo_wr_clk</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_wr_clk</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/toHostFifo_dout">
+         <obj_property name="ElementShortName">toHostFifo_dout[255:0]</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_dout[255:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_prog_empty">
+         <obj_property name="ElementShortName">toHostFifo_prog_empty</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_prog_empty</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_rd_clk">
+         <obj_property name="ElementShortName">toHostFifo_rd_clk</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_rd_clk</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_re">
+         <obj_property name="ElementShortName">toHostFifo_re</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_re</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/clk240">
+         <obj_property name="ElementShortName">clk240</obj_property>
+         <obj_property name="ObjectShortName">clk240</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/reset_hard">
+         <obj_property name="ElementShortName">reset_hard</obj_property>
+         <obj_property name="ObjectShortName">reset_hard</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_rst">
+         <obj_property name="ElementShortName">toHostFifo_rst</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_rst</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_rst">
+         <obj_property name="ElementShortName">fromHostFifo_rst</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_rst</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/toHostFifo_din">
+         <obj_property name="ElementShortName">toHostFifo_din[255:0]</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_din[255:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_wr_en">
+         <obj_property name="ElementShortName">toHostFifo_wr_en</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_wr_en</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_prog_full">
+         <obj_property name="ElementShortName">toHostFifo_prog_full</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_prog_full</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_rd_en">
+         <obj_property name="ElementShortName">fromHostFifo_rd_en</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_rd_en</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/fromHostFifo_dout">
+         <obj_property name="ElementShortName">fromHostFifo_dout[255:0]</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_dout[255:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_empty">
+         <obj_property name="ElementShortName">fromHostFifo_empty</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_empty</obj_property>
+      </wvobject>
+   </wvobject>
+   <wvobject type="group" fp_name="group120">
+      <obj_property name="label">dma_control</obj_property>
+      <obj_property name="DisplayName">label</obj_property>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar0">
+         <obj_property name="ElementShortName">bar0[31:0]</obj_property>
+         <obj_property name="ObjectShortName">bar0[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar1">
+         <obj_property name="ElementShortName">bar1[31:0]</obj_property>
+         <obj_property name="ObjectShortName">bar1[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar2">
+         <obj_property name="ElementShortName">bar2[31:0]</obj_property>
+         <obj_property name="ObjectShortName">bar2[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/clk">
+         <obj_property name="ElementShortName">clk</obj_property>
+         <obj_property name="ObjectShortName">clk</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/regmap_clk">
+         <obj_property name="ElementShortName">regmap_clk</obj_property>
+         <obj_property name="ObjectShortName">regmap_clk</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors">
+         <obj_property name="ElementShortName">dma_descriptors[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors[0:1]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[0]">
+            <obj_property name="ElementShortName">[0]</obj_property>
+            <obj_property name="ObjectShortName">[0]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[1]">
+            <obj_property name="ElementShortName">[1]</obj_property>
+            <obj_property name="ObjectShortName">[1]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_soft_reset">
+         <obj_property name="ElementShortName">dma_soft_reset</obj_property>
+         <obj_property name="ObjectShortName">dma_soft_reset</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status">
+         <obj_property name="ElementShortName">dma_status[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_status[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/flush_fifo">
+         <obj_property name="ElementShortName">flush_fifo</obj_property>
+         <obj_property name="ObjectShortName">flush_fifo</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/m_axis_cc">
+         <obj_property name="ElementShortName">m_axis_cc</obj_property>
+         <obj_property name="ObjectShortName">m_axis_cc</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/m_axis_r_cc">
+         <obj_property name="ElementShortName">m_axis_r_cc</obj_property>
+         <obj_property name="ObjectShortName">m_axis_r_cc</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset">
+         <obj_property name="ElementShortName">reset</obj_property>
+         <obj_property name="ObjectShortName">reset</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_global_soft">
+         <obj_property name="ElementShortName">reset_global_soft</obj_property>
+         <obj_property name="ObjectShortName">reset_global_soft</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/s_axis_cq">
+         <obj_property name="ElementShortName">s_axis_cq</obj_property>
+         <obj_property name="ObjectShortName">s_axis_cq</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/s_axis_r_cq">
+         <obj_property name="ElementShortName">s_axis_r_cq</obj_property>
+         <obj_property name="ObjectShortName">s_axis_r_cq</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fifo_full">
+         <obj_property name="ElementShortName">fifo_full</obj_property>
+         <obj_property name="ObjectShortName">fifo_full</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fifo_empty">
+         <obj_property name="ElementShortName">fifo_empty</obj_property>
+         <obj_property name="ObjectShortName">fifo_empty</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_interrupt_call">
+         <obj_property name="ElementShortName">dma_interrupt_call[3:0]</obj_property>
+         <obj_property name="ObjectShortName">dma_interrupt_call[3:0]</obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u1/completer_state">
+         <obj_property name="ElementShortName">completer_state</obj_property>
+         <obj_property name="ObjectShortName">completer_state</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s">
+         <obj_property name="ElementShortName">dma_descriptors_s[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_s[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_r_s">
+         <obj_property name="ElementShortName">dma_descriptors_25_r_s[0:7]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_25_r_s[0:7]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s">
+         <obj_property name="ElementShortName">dma_descriptors_25_w_s[0:7]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_25_w_s[0:7]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_w_250_s">
+         <obj_property name="ElementShortName">dma_descriptors_w_250_s[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_w_250_s[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_sync250_s">
+         <obj_property name="ElementShortName">dma_descriptors_sync250_s[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_sync250_s[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status_sync250_s">
+         <obj_property name="ElementShortName">dma_status_sync250_s[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_status_sync250_s[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status_s">
+         <obj_property name="ElementShortName">dma_status_s[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_status_s[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status_25_s">
+         <obj_property name="ElementShortName">dma_status_25_s[0:7]</obj_property>
+         <obj_property name="ObjectShortName">dma_status_25_s[0:7]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_address_s">
+         <obj_property name="ElementShortName">register_address_s[63:0]</obj_property>
+         <obj_property name="ObjectShortName">register_address_s[63:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/address_type_s">
+         <obj_property name="ElementShortName">address_type_s[1:0]</obj_property>
+         <obj_property name="ObjectShortName">address_type_s[1:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dword_count_s">
+         <obj_property name="ElementShortName">dword_count_s[10:0]</obj_property>
+         <obj_property name="ObjectShortName">dword_count_s[10:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/request_type_s">
+         <obj_property name="ElementShortName">request_type_s[3:0]</obj_property>
+         <obj_property name="ObjectShortName">request_type_s[3:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/requester_id_s">
+         <obj_property name="ElementShortName">requester_id_s[15:0]</obj_property>
+         <obj_property name="ObjectShortName">requester_id_s[15:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/tag_s">
+         <obj_property name="ElementShortName">tag_s[7:0]</obj_property>
+         <obj_property name="ObjectShortName">tag_s[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/target_function_s">
+         <obj_property name="ElementShortName">target_function_s[7:0]</obj_property>
+         <obj_property name="ObjectShortName">target_function_s[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar_id_s">
+         <obj_property name="ElementShortName">bar_id_s[2:0]</obj_property>
+         <obj_property name="ObjectShortName">bar_id_s[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar_aperture_s">
+         <obj_property name="ElementShortName">bar_aperture_s[5:0]</obj_property>
+         <obj_property name="ObjectShortName">bar_aperture_s[5:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/bar0_valid">
+         <obj_property name="ElementShortName">bar0_valid</obj_property>
+         <obj_property name="ObjectShortName">bar0_valid</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/transaction_class_s">
+         <obj_property name="ElementShortName">transaction_class_s[2:0]</obj_property>
+         <obj_property name="ObjectShortName">transaction_class_s[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/attributes_s">
+         <obj_property name="ElementShortName">attributes_s[2:0]</obj_property>
+         <obj_property name="ObjectShortName">attributes_s[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/first_be_s">
+         <obj_property name="ElementShortName">first_be_s[3:0]</obj_property>
+         <obj_property name="ObjectShortName">first_be_s[3:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/first_be_25_s">
+         <obj_property name="ElementShortName">first_be_25_s[3:0]</obj_property>
+         <obj_property name="ObjectShortName">first_be_25_s[3:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/last_be_s">
+         <obj_property name="ElementShortName">last_be_s[3:0]</obj_property>
+         <obj_property name="ObjectShortName">last_be_s[3:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/last_be_25_s">
+         <obj_property name="ElementShortName">last_be_25_s[3:0]</obj_property>
+         <obj_property name="ObjectShortName">last_be_25_s[3:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_data_r">
+         <obj_property name="ElementShortName">register_data_r[127:0]</obj_property>
+         <obj_property name="ObjectShortName">register_data_r[127:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/tlast_timer_s">
+         <obj_property name="ElementShortName">tlast_timer_s[7:0]</obj_property>
+         <obj_property name="ObjectShortName">tlast_timer_s[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_address_250_s">
+         <obj_property name="ElementShortName">register_read_address_250_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">register_read_address_250_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_address_25_s">
+         <obj_property name="ElementShortName">register_read_address_25_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">register_read_address_25_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_enable_250_s">
+         <obj_property name="ElementShortName">register_read_enable_250_s</obj_property>
+         <obj_property name="ObjectShortName">register_read_enable_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_enable1_250_s">
+         <obj_property name="ElementShortName">register_read_enable1_250_s</obj_property>
+         <obj_property name="ObjectShortName">register_read_enable1_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_enable_25_s">
+         <obj_property name="ElementShortName">register_read_enable_25_s</obj_property>
+         <obj_property name="ObjectShortName">register_read_enable_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_done_250_s">
+         <obj_property name="ElementShortName">register_read_done_250_s</obj_property>
+         <obj_property name="ObjectShortName">register_read_done_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_done_25_s">
+         <obj_property name="ElementShortName">register_read_done_25_s</obj_property>
+         <obj_property name="ObjectShortName">register_read_done_25_s</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_data_250_s">
+         <obj_property name="ElementShortName">register_read_data_250_s[127:0]</obj_property>
+         <obj_property name="ObjectShortName">register_read_data_250_s[127:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_data_25_s">
+         <obj_property name="ElementShortName">register_read_data_25_s[127:0]</obj_property>
+         <obj_property name="ObjectShortName">register_read_data_25_s[127:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_address_250_s">
+         <obj_property name="ElementShortName">register_write_address_250_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">register_write_address_250_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_address_25_s">
+         <obj_property name="ElementShortName">register_write_address_25_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">register_write_address_25_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_enable_250_s">
+         <obj_property name="ElementShortName">register_write_enable_250_s</obj_property>
+         <obj_property name="ObjectShortName">register_write_enable_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_enable1_250_s">
+         <obj_property name="ElementShortName">register_write_enable1_250_s</obj_property>
+         <obj_property name="ObjectShortName">register_write_enable1_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_enable_25_s">
+         <obj_property name="ElementShortName">register_write_enable_25_s</obj_property>
+         <obj_property name="ObjectShortName">register_write_enable_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_done_250_s">
+         <obj_property name="ElementShortName">register_write_done_250_s</obj_property>
+         <obj_property name="ObjectShortName">register_write_done_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_done_25_s">
+         <obj_property name="ElementShortName">register_write_done_25_s</obj_property>
+         <obj_property name="ObjectShortName">register_write_done_25_s</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_data_250_s">
+         <obj_property name="ElementShortName">register_write_data_250_s[63:0]</obj_property>
+         <obj_property name="ObjectShortName">register_write_data_250_s[63:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_data_25_nobe_s">
+         <obj_property name="ElementShortName">register_write_data_25_nobe_s[63:0]</obj_property>
+         <obj_property name="ObjectShortName">register_write_data_25_nobe_s[63:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_word_address_25_s">
+         <obj_property name="ElementShortName">register_word_address_25_s[3:2]</obj_property>
+         <obj_property name="ObjectShortName">register_word_address_25_s[3:2]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_word_address_250_s">
+         <obj_property name="ElementShortName">register_word_address_250_s[3:2]</obj_property>
+         <obj_property name="ObjectShortName">register_word_address_250_s[3:2]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dword_count_25_s">
+         <obj_property name="ElementShortName">dword_count_25_s[2:0]</obj_property>
+         <obj_property name="ObjectShortName">dword_count_25_s[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar0_25_s">
+         <obj_property name="ElementShortName">bar0_25_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">bar0_25_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar1_25_s">
+         <obj_property name="ElementShortName">bar1_25_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">bar1_25_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar2_25_s">
+         <obj_property name="ElementShortName">bar2_25_s[31:0]</obj_property>
+         <obj_property name="ObjectShortName">bar2_25_s[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fifo_full_interrupt_25_s">
+         <obj_property name="ElementShortName">fifo_full_interrupt_25_s</obj_property>
+         <obj_property name="ObjectShortName">fifo_full_interrupt_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/data_available_interrupt_25_s">
+         <obj_property name="ElementShortName">data_available_interrupt_25_s</obj_property>
+         <obj_property name="ObjectShortName">data_available_interrupt_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/flush_fifo_25_s">
+         <obj_property name="ElementShortName">flush_fifo_25_s</obj_property>
+         <obj_property name="ObjectShortName">flush_fifo_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_soft_reset_25_s">
+         <obj_property name="ElementShortName">dma_soft_reset_25_s</obj_property>
+         <obj_property name="ObjectShortName">dma_soft_reset_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_global_soft_25_s">
+         <obj_property name="ElementShortName">reset_global_soft_25_s</obj_property>
+         <obj_property name="ObjectShortName">reset_global_soft_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_register_map_25_s">
+         <obj_property name="ElementShortName">reset_register_map_25_s</obj_property>
+         <obj_property name="ObjectShortName">reset_register_map_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_register_map_s">
+         <obj_property name="ElementShortName">reset_register_map_s</obj_property>
+         <obj_property name="ObjectShortName">reset_register_map_s</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/next_current_address_s">
+         <obj_property name="ElementShortName">next_current_address_s[0:1][63:0]</obj_property>
+         <obj_property name="ObjectShortName">next_current_address_s[0:1][63:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/last_pc_pointer_s">
+         <obj_property name="ElementShortName">last_pc_pointer_s[0:1][63:0]</obj_property>
+         <obj_property name="ObjectShortName">last_pc_pointer_s[0:1][63:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_wait">
+         <obj_property name="ElementShortName">dma_wait[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_wait[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_enable_written_25_s">
+         <obj_property name="ElementShortName">dma_descriptors_enable_written_25_s</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_enable_written_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_enable_written_250_s">
+         <obj_property name="ElementShortName">dma_descriptors_enable_written_250_s</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors_enable_written_250_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/tohost_busy_25_s">
+         <obj_property name="ElementShortName">tohost_busy_25_s</obj_property>
+         <obj_property name="ObjectShortName">tohost_busy_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fromhost_busy_25_s">
+         <obj_property name="ElementShortName">fromhost_busy_25_s</obj_property>
+         <obj_property name="ObjectShortName">fromhost_busy_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/tohost_busy_latched_25_s">
+         <obj_property name="ElementShortName">tohost_busy_latched_25_s</obj_property>
+         <obj_property name="ObjectShortName">tohost_busy_latched_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fromhost_busy_latched_25_s">
+         <obj_property name="ElementShortName">fromhost_busy_latched_25_s</obj_property>
+         <obj_property name="ObjectShortName">fromhost_busy_latched_25_s</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/mask_data_available_interrupt">
+         <obj_property name="ElementShortName">mask_data_available_interrupt</obj_property>
+         <obj_property name="ObjectShortName">mask_data_available_interrupt</obj_property>
+      </wvobject>
+   </wvobject>
+   <wvobject type="group" fp_name="group162">
+      <obj_property name="label">dma_read_write</obj_property>
+      <obj_property name="DisplayName">label</obj_property>
+      <obj_property name="isExpanded"></obj_property>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/clk">
+         <obj_property name="ElementShortName">clk</obj_property>
+         <obj_property name="ObjectShortName">clk</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_descriptors">
+         <obj_property name="ElementShortName">dma_descriptors[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_descriptors[0:1]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_descriptors[0]">
+            <obj_property name="ElementShortName">[0]</obj_property>
+            <obj_property name="ObjectShortName">[0]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_descriptors[1]">
+            <obj_property name="ElementShortName">[1]</obj_property>
+            <obj_property name="ObjectShortName">[1]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/dma_soft_reset">
+         <obj_property name="ElementShortName">dma_soft_reset</obj_property>
+         <obj_property name="ObjectShortName">dma_soft_reset</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status">
+         <obj_property name="ElementShortName">dma_status[0:1]</obj_property>
+         <obj_property name="ObjectShortName">dma_status[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_din">
+         <obj_property name="ElementShortName">fromHostFifo_din[255:0]</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_din[255:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_prog_full">
+         <obj_property name="ElementShortName">fromHostFifo_prog_full</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_prog_full</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_we">
+         <obj_property name="ElementShortName">fromHostFifo_we</obj_property>
+         <obj_property name="ObjectShortName">fromHostFifo_we</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/m_axis_r_rq">
+         <obj_property name="ElementShortName">m_axis_r_rq</obj_property>
+         <obj_property name="ObjectShortName">m_axis_r_rq</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/m_axis_rq">
+         <obj_property name="ElementShortName">m_axis_rq</obj_property>
+         <obj_property name="ObjectShortName">m_axis_rq</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/reset">
+         <obj_property name="ElementShortName">reset</obj_property>
+         <obj_property name="ObjectShortName">reset</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_r_rc">
+         <obj_property name="ElementShortName">s_axis_r_rc</obj_property>
+         <obj_property name="ObjectShortName">s_axis_r_rc</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_rc">
+         <obj_property name="ElementShortName">s_axis_rc</obj_property>
+         <obj_property name="ObjectShortName">s_axis_rc</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_dout">
+         <obj_property name="ElementShortName">toHostFifo_dout[255:0]</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_dout[255:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_empty_thresh">
+         <obj_property name="ElementShortName">toHostFifo_empty_thresh[11:0]</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_empty_thresh[11:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_prog_empty">
+         <obj_property name="ElementShortName">toHostFifo_prog_empty</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_prog_empty</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_re">
+         <obj_property name="ElementShortName">toHostFifo_re</obj_property>
+         <obj_property name="ObjectShortName">toHostFifo_re</obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/rw_state">
+         <obj_property name="ElementShortName">rw_state</obj_property>
+         <obj_property name="ObjectShortName">rw_state</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/rw_state_slv">
+         <obj_property name="ElementShortName">rw_state_slv[2:0]</obj_property>
+         <obj_property name="ObjectShortName">rw_state_slv[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/strip_state">
+         <obj_property name="ElementShortName">strip_state</obj_property>
+         <obj_property name="ObjectShortName">strip_state</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/strip_state_slv">
+         <obj_property name="ElementShortName">strip_state_slv[2:0]</obj_property>
+         <obj_property name="ObjectShortName">strip_state_slv[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/current_descriptor">
+         <obj_property name="ElementShortName">current_descriptor</obj_property>
+         <obj_property name="ObjectShortName">current_descriptor</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/downfifo_dout_pipe">
+         <obj_property name="ElementShortName">downfifo_dout_pipe[127:0]</obj_property>
+         <obj_property name="ObjectShortName">downfifo_dout_pipe[127:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/upfifo_din_pipe">
+         <obj_property name="ElementShortName">upfifo_din_pipe[159:0]</obj_property>
+         <obj_property name="ObjectShortName">upfifo_din_pipe[159:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/descriptor_done_s">
+         <obj_property name="ElementShortName">descriptor_done_s[0:1]</obj_property>
+         <obj_property name="ObjectShortName">descriptor_done_s[0:1]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_rc_tlast_pipe">
+         <obj_property name="ElementShortName">s_axis_rc_tlast_pipe</obj_property>
+         <obj_property name="ObjectShortName">s_axis_rc_tlast_pipe</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_rc_tvalid_pipe">
+         <obj_property name="ElementShortName">s_axis_rc_tvalid_pipe</obj_property>
+         <obj_property name="ObjectShortName">s_axis_rc_tvalid_pipe</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/receive_word_count">
+         <obj_property name="ElementShortName">receive_word_count[10:0]</obj_property>
+         <obj_property name="ObjectShortName">receive_word_count[10:0]</obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/active_descriptor_s">
+         <obj_property name="ElementShortName">active_descriptor_s</obj_property>
+         <obj_property name="ObjectShortName">active_descriptor_s</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/current_dword_count_s">
+         <obj_property name="ElementShortName">current_dword_count_s[10:0]</obj_property>
+         <obj_property name="ObjectShortName">current_dword_count_s[10:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/s_m_axis_rq">
+         <obj_property name="ElementShortName">s_m_axis_rq</obj_property>
+         <obj_property name="ObjectShortName">s_m_axis_rq</obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/NUMBER_OF_DESCRIPTORS">
+         <obj_property name="ElementShortName">NUMBER_OF_DESCRIPTORS</obj_property>
+         <obj_property name="ObjectShortName">NUMBER_OF_DESCRIPTORS</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/IDLE_SLV">
+         <obj_property name="ElementShortName">IDLE_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">IDLE_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/START_WRITE_SLV">
+         <obj_property name="ElementShortName">START_WRITE_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">START_WRITE_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/CONT_WRITE_SLV">
+         <obj_property name="ElementShortName">CONT_WRITE_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">CONT_WRITE_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/END_WRITE_SLV">
+         <obj_property name="ElementShortName">END_WRITE_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">END_WRITE_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/START_READ_SLV">
+         <obj_property name="ElementShortName">START_READ_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">START_READ_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/CONT_READ_SLV">
+         <obj_property name="ElementShortName">CONT_READ_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">CONT_READ_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/END_READ_SLV">
+         <obj_property name="ElementShortName">END_READ_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">END_READ_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/PUSH_DATA_SLV">
+         <obj_property name="ElementShortName">PUSH_DATA_SLV[2:0]</obj_property>
+         <obj_property name="ObjectShortName">PUSH_DATA_SLV[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/req_tc">
+         <obj_property name="ElementShortName">req_tc[2:0]</obj_property>
+         <obj_property name="ObjectShortName">req_tc[2:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/req_attr">
+         <obj_property name="ElementShortName">req_attr[2:0]</obj_property>
+         <obj_property name="ObjectShortName">req_attr[2:0]</obj_property>
+      </wvobject>
+   </wvobject>
+   <wvobject type="group" fp_name="group372">
+      <obj_property name="label">pcie_endpoint</obj_property>
+      <obj_property name="DisplayName">label</obj_property>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/clk">
+         <obj_property name="ElementShortName">clk</obj_property>
+         <obj_property name="ObjectShortName">clk</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_cq">
+         <obj_property name="ElementShortName">m_axis_cq</obj_property>
+         <obj_property name="ObjectShortName">m_axis_cq</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_r_cq">
+         <obj_property name="ElementShortName">m_axis_r_cq</obj_property>
+         <obj_property name="ObjectShortName">m_axis_r_cq</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_r_rc">
+         <obj_property name="ElementShortName">m_axis_r_rc</obj_property>
+         <obj_property name="ObjectShortName">m_axis_r_rc</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_rc">
+         <obj_property name="ElementShortName">m_axis_rc</obj_property>
+         <obj_property name="ObjectShortName">m_axis_rc</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_rxn">
+         <obj_property name="ElementShortName">pci_exp_rxn[7:0]</obj_property>
+         <obj_property name="ObjectShortName">pci_exp_rxn[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_rxp">
+         <obj_property name="ElementShortName">pci_exp_rxp[7:0]</obj_property>
+         <obj_property name="ObjectShortName">pci_exp_rxp[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_txn">
+         <obj_property name="ElementShortName">pci_exp_txn[7:0]</obj_property>
+         <obj_property name="ObjectShortName">pci_exp_txn[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_txp">
+         <obj_property name="ElementShortName">pci_exp_txp[7:0]</obj_property>
+         <obj_property name="ObjectShortName">pci_exp_txp[7:0]</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/reset">
+         <obj_property name="ElementShortName">reset</obj_property>
+         <obj_property name="ObjectShortName">reset</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_cc">
+         <obj_property name="ElementShortName">s_axis_cc</obj_property>
+         <obj_property name="ObjectShortName">s_axis_cc</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_r_cc">
+         <obj_property name="ElementShortName">s_axis_r_cc</obj_property>
+         <obj_property name="ObjectShortName">s_axis_r_cc</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_r_rq">
+         <obj_property name="ElementShortName">s_axis_r_rq</obj_property>
+         <obj_property name="ObjectShortName">s_axis_r_rq</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_rq">
+         <obj_property name="ElementShortName">s_axis_rq</obj_property>
+         <obj_property name="ObjectShortName">s_axis_rq</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/sys_clk_n">
+         <obj_property name="ElementShortName">sys_clk_n</obj_property>
+         <obj_property name="ObjectShortName">sys_clk_n</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/sys_clk_p">
+         <obj_property name="ElementShortName">sys_clk_p</obj_property>
+         <obj_property name="ObjectShortName">sys_clk_p</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/sys_rst_n">
+         <obj_property name="ElementShortName">sys_rst_n</obj_property>
+         <obj_property name="ObjectShortName">sys_rst_n</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/user_lnk_up">
+         <obj_property name="ElementShortName">user_lnk_up</obj_property>
+         <obj_property name="ObjectShortName">user_lnk_up</obj_property>
+      </wvobject>
+      <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/user_clk">
+         <obj_property name="ElementShortName">user_clk</obj_property>
+         <obj_property name="ObjectShortName">user_clk</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/ToHostMem">
+         <obj_property name="ElementShortName">ToHostMem[0:127][255:0]</obj_property>
+         <obj_property name="ObjectShortName">ToHostMem[0:127][255:0]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/FromHostMem">
+         <obj_property name="ElementShortName">FromHostMem[0:127][255:0]</obj_property>
+         <obj_property name="ObjectShortName">FromHostMem[0:127][255:0]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/u1/CARD_TYPE">
+         <obj_property name="ElementShortName">CARD_TYPE</obj_property>
+         <obj_property name="ObjectShortName">CARD_TYPE</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/DEVID">
+         <obj_property name="ElementShortName">DEVID[15:0]</obj_property>
+         <obj_property name="ObjectShortName">DEVID[15:0]</obj_property>
+      </wvobject>
+      <wvobject type="other" fp_name="/wupper_tb/pcie0/u1/user_clk_period">
+         <obj_property name="ElementShortName">user_clk_period</obj_property>
+         <obj_property name="ObjectShortName">user_clk_period</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/BAR0">
+         <obj_property name="ElementShortName">BAR0[31:0]</obj_property>
+         <obj_property name="ObjectShortName">BAR0[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/BAR1">
+         <obj_property name="ElementShortName">BAR1[31:0]</obj_property>
+         <obj_property name="ObjectShortName">BAR1[31:0]</obj_property>
+      </wvobject>
+      <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/BAR2">
+         <obj_property name="ElementShortName">BAR2[31:0]</obj_property>
+         <obj_property name="ObjectShortName">BAR2[31:0]</obj_property>
+      </wvobject>
+   </wvobject>
+</wave_config>
diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 666f23e58..effc17ae2 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -227,6 +227,9 @@ architecture rtl of dma_control is
   signal tohost_busy_25_s, fromhost_busy_25_s              : std_logic;
   signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic;
   signal mask_data_available_interrupt: std_logic;
+  
+  constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000";
+  
 begin
 
   tohost_pfull_threshold_assert <= tohost_pfull_threshold_assert_s;
@@ -340,7 +343,7 @@ begin
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
 
           if(dma_descriptors_s(i).enable = '1') then
-            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
+            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
               evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
 
             end if;
@@ -382,7 +385,7 @@ begin
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
           if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
+            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
               dma_wait(i) <= '0'; 
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index 38a0e688f..00940c0e7 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -206,6 +206,9 @@ architecture rtl of dma_control is
   signal tohost_busy_25_s, fromhost_busy_25_s              : std_logic;
   signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic;
   signal mask_data_available_interrupt: std_logic;
+  
+  constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000";
+  
 begin
 
   tohost_pfull_threshold_assert <= tohost_pfull_threshold_assert_s;
@@ -319,7 +322,7 @@ begin
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
 
           if(dma_descriptors_s(i).enable = '1') then
-            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
+            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
               evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
 
             end if;
@@ -361,7 +364,7 @@ begin
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
           if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then
+            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
               dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
             else
               dma_wait(i) <= '0'; 
-- 
GitLab


From 1d8552209ecd913c192931c6ea5bc3e3d07efc7a Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Fri, 24 May 2019 15:48:52 +0200
Subject: [PATCH 14/19] Added pc_ptr_gap register to define the gap that the
 pc_pointer has to go back in order to flip evencycle_pc

---
 sources/templates/dma_control.vhd           | 11 ++++++++---
 sources/templates/dma_control.vhd.template  | 11 ++++++++---
 sources/templates/pcie_package.vhd          |  1 +
 sources/templates/pcie_package.vhd.template |  1 +
 sources/templates/registers-4.6.yaml        |  6 ++++++
 5 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index effc17ae2..dcde9ec3e 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -228,7 +228,8 @@ architecture rtl of dma_control is
   signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic;
   signal mask_data_available_interrupt: std_logic;
   
-  constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000";
+  constant PC_PTR_GAP_C : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000";
+  signal pc_ptr_gap_25_s, pc_ptr_gap_250_s: std_logic_vector(63 downto 0); 
   
 begin
 
@@ -343,7 +344,7 @@ begin
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
 
           if(dma_descriptors_s(i).enable = '1') then
-            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
+            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0).
               evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
 
             end if;
@@ -726,6 +727,8 @@ begin
       flush_fifo_v          := flush_fifo_25_s;
       dma_soft_reset_v      := dma_soft_reset_25_s;
       
+      pc_ptr_gap_250_s <= pc_ptr_gap_25_s;
+      
       -- dma_status and dma_descriptor can be changing fast, so only update at rising edge 
       -- of regmap_clk, then synchronize to regmap_clk
       if(cnt10 = 0) then --rising edge of regmap_clk
@@ -829,7 +832,7 @@ end process;
           
           busy_threshold_assert             <= REG_BUSY_THRESH_ASSERT_C;
           busy_threshold_negate             <= REG_BUSY_THRESH_NEGATE_C;
-          
+          pc_ptr_gap_25_s                   <= PC_PTR_GAP_C;
           
           --!
           --! generate registers initialization
@@ -9109,6 +9112,7 @@ end process;
             when REG_BUSY_STATUS          => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"&
                                                                                              fromhost_busy_25_s&
                                                                                              tohost_busy_25_s;
+            when REG_PC_PTR_GAP           => register_read_data_25_s <= x"0000_0000_0000_0000"&pc_ptr_gap_25_s;                                                                                             
             when others            => register_read_data_25_s <= (others => '0');
 
 
@@ -16332,6 +16336,7 @@ end process;
                                              tohost_pfull_threshold_negate_s   <= register_write_data_25_v(11 downto 0);
             when REG_BUSY_THRESH_ASSERT   => busy_threshold_assert <= register_write_data_25_v(63 downto 0);
             when REG_BUSY_THRESH_NEGATE   => busy_threshold_negate <= register_write_data_25_v(63 downto 0);
+            when REG_PC_PTR_GAP           => pc_ptr_gap_25_s <= register_write_data_25_v(63 downto 0);
             when others => --do nothing
 
           end case;
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index 00940c0e7..ddd9a465e 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -207,7 +207,8 @@ architecture rtl of dma_control is
   signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic;
   signal mask_data_available_interrupt: std_logic;
   
-  constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000";
+  constant PC_PTR_GAP_C : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000";
+  signal pc_ptr_gap_25_s, pc_ptr_gap_250_s: std_logic_vector(63 downto 0); 
   
 begin
 
@@ -322,7 +323,7 @@ begin
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
 
           if(dma_descriptors_s(i).enable = '1') then
-            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles.
+            if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0).
               evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
 
             end if;
@@ -705,6 +706,8 @@ begin
       flush_fifo_v          := flush_fifo_25_s;
       dma_soft_reset_v      := dma_soft_reset_25_s;
       
+      pc_ptr_gap_250_s <= pc_ptr_gap_25_s;
+      
       -- dma_status and dma_descriptor can be changing fast, so only update at rising edge 
       -- of regmap_clk, then synchronize to regmap_clk
       if(cnt10 = 0) then --rising edge of regmap_clk
@@ -808,7 +811,7 @@ end process;
           
           busy_threshold_assert             <= REG_BUSY_THRESH_ASSERT_C;
           busy_threshold_negate             <= REG_BUSY_THRESH_NEGATE_C;
-          
+          pc_ptr_gap_25_s                   <= PC_PTR_GAP_C;
           
           --!
           --! generate registers initialization
@@ -997,6 +1000,7 @@ end process;
             when REG_BUSY_STATUS          => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"&
                                                                                              fromhost_busy_25_s&
                                                                                              tohost_busy_25_s;
+            when REG_PC_PTR_GAP           => register_read_data_25_s <= x"0000_0000_0000_0000"&pc_ptr_gap_25_s;                                                                                             
             when others            => register_read_data_25_s <= (others => '0');
 
 
@@ -1307,6 +1311,7 @@ end process;
                                              tohost_pfull_threshold_negate_s   <= register_write_data_25_v(11 downto 0);
             when REG_BUSY_THRESH_ASSERT   => busy_threshold_assert <= register_write_data_25_v(63 downto 0);
             when REG_BUSY_THRESH_NEGATE   => busy_threshold_negate <= register_write_data_25_v(63 downto 0);
+            when REG_PC_PTR_GAP           => pc_ptr_gap_25_s <= register_write_data_25_v(63 downto 0);
             when others => --do nothing
 
           end case;
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index 4e7f59c08..69e568fab 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -194,6 +194,7 @@ package pcie_package is
   constant REG_BUSY_THRESH_ASSERT  : std_logic_vector(19 downto 0) := x"00470";
   constant REG_BUSY_THRESH_NEGATE  : std_logic_vector(19 downto 0) := x"00480";
   constant REG_BUSY_STATUS         : std_logic_vector(19 downto 0) := x"00490";
+  constant REG_PC_PTR_GAP          : std_logic_vector(19 downto 0) := x"004A0";
   
   -- BAR0 registers: end
 
diff --git a/sources/templates/pcie_package.vhd.template b/sources/templates/pcie_package.vhd.template
index c546d4ca0..33bc46321 100644
--- a/sources/templates/pcie_package.vhd.template
+++ b/sources/templates/pcie_package.vhd.template
@@ -173,6 +173,7 @@ package pcie_package is
   constant REG_BUSY_THRESH_ASSERT  : std_logic_vector(19 downto 0) := x"00470";
   constant REG_BUSY_THRESH_NEGATE  : std_logic_vector(19 downto 0) := x"00480";
   constant REG_BUSY_STATUS         : std_logic_vector(19 downto 0) := x"00490";
+  constant REG_PC_PTR_GAP          : std_logic_vector(19 downto 0) := x"004A0";
   
   -- BAR0 registers: end
 
diff --git a/sources/templates/registers-4.6.yaml b/sources/templates/registers-4.6.yaml
index c2b52cb1f..4695257e2 100644
--- a/sources/templates/registers-4.6.yaml
+++ b/sources/templates/registers-4.6.yaml
@@ -169,6 +169,12 @@ Bar0:
           name: TOHOST_BUSY
           desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set
 
+    - name: PC_PTR_GAP
+      type: W
+      desc: This is the minimum value that the pc_pointer in a descriptor has to decrease in order to flip the evencycle_pc bit
+      default: 0x1000000
+      bitfield:
+        - range: 63..0
 
 DMA_DESC:
   number: 8
-- 
GitLab


From 115038173a1a71e15362045711ecfa6ae602c209 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Fri, 24 May 2019 15:50:25 +0200
Subject: [PATCH 15/19] Initialize pc_ptr_gap register to 0 in simulation model

---
 simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
index 8535ad370..ae0781666 100644
--- a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
+++ b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
@@ -201,6 +201,8 @@ begin
     end w;
     begin
         wait for 1 us; --startup time
+        w(x"004A0", BAR0, x"0000_0000_0000_0000"); --set pc_ptr_gap to 0
+                
         w(x"00000", BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address
         w(x"00008", BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes)
         w(x"00018", BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address
-- 
GitLab


From 706703eb6765fb22b971b3cc08a824222a002718 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <f.schreuder@nikhef.nl>
Date: Fri, 24 May 2019 16:43:11 +0200
Subject: [PATCH 16/19] regenerated registermap documentation for 4.7

---
 sources/templates/registermap.tex    |   3 +++
 sources/templates/registers-4.7.yaml |   6 ++++++
 sources/templates/registers.pdf      | Bin 199485 -> 201491 bytes
 3 files changed, 9 insertions(+)

diff --git a/sources/templates/registermap.tex b/sources/templates/registermap.tex
index 536b2819a..642d4dc08 100644
--- a/sources/templates/registermap.tex
+++ b/sources/templates/registermap.tex
@@ -124,6 +124,9 @@ any & T & Resets the register map to default values. Any write triggers this res
  & & & FROMHOST\_BUSY & 1 & R & A fromhost descriptor passed BUSY\_THRESHOLD\_ASSERT, busy flag set \\
  & & & TOHOST\_BUSY & 0 & R & A tohost descriptor passed BUSY\_THRESHOLD\_ASSERT, busy flag set \\
 \hline
+0x04A0 & 0,1 & \multicolumn{2}{l|}{PC\_PTR\_GAP} &
+63:0 & W & This is the minimum value that the pc\_pointer in a descriptor has to decrease in order to flip the evencycle\_pc bit \\
+\hline
 \caption{FELIX register map BAR0}\label{tab:dma_register_map_bar0} \\
 \end{longtabu}
 
diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml
index 2902fbf50..7a7c1d400 100644
--- a/sources/templates/registers-4.7.yaml
+++ b/sources/templates/registers-4.7.yaml
@@ -171,6 +171,12 @@ Bar0:
           name: TOHOST_BUSY
           desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set
 
+    - name: PC_PTR_GAP
+      type: W
+      desc: This is the minimum value that the pc_pointer in a descriptor has to decrease in order to flip the evencycle_pc bit
+      default: 0x1000000
+      bitfield:
+        - range: 63..0
 
 DMA_DESC:
   number: 8
diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf
index 1f7138f2347ffe4b6c4cd053fba5d8b78338b7f2..55edfea6510cf3ba8ee3804db493411615b44a78 100644
GIT binary patch
delta 115358
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
JRn$_V{C^k<*D(M9

delta 113739
zcmZ6yV{o8t6EzrXf{AS>6Wg|J+jcT{Y}>YNXJSok+s1_Zy!&l!ZS9|~uKsmZUEN)$
zPoGXIh3`p)ukXMDw9?2pGW_cPp*~>^7l2>=aA+NfKB-q>F-OdWz8o3BOGC(ENBGXY
zQL*fZB+se19A?B5;FPIJt}Rx0(WgWHm*&GX=`-+s^bOp*z62SJzR${g?0+?N^=*zn
z#=ZOl@_4uU-X*b56|BtdvO9r~NBe)J-Dz{vLX|#*OL*wO=fc9)O(_y#a!%3W0teFU
zAKQ@U2?ao(pSA!GQ2)&?6n2J`UET9CC(l5TYjtFfy!05IloGA}y>kFKT}9qbDT$7^
zY;Zzj!V`P?%0GSP_Le=_HfR0Lux=Psp1a`-U&C^!Xh$N*9oM2dqSF}5C|X&FqY6?@
zJ<tA~YDfij5|g>ThnLicjSJB0WbBHhk*|>E<nhauXzo$HXdux{1y1@jsES;rZ->Ea
z9w}h1QiRTfeZ6ihj$rjD<UAaVb{T9{a0S1ovHA;i6x9~jBE0ZJD3E@*T9m9b(Exzc
zOBN5y519@d`7$q7A{+VL?ldzv=hpcxpK~Z{WV1?Yc^#bi<O{~;LBKD&NM***5;BsV
z?y#p#H7h~JvL|WX9^xoBR{$6Q#(x$?bHx{{O3PDz;lV`L<mKGfKBubcPwRtkW-`NT
zI78rU4ax0cB_nW`Iu_?fC5$Rh#g;0&Vz-7ff$_d^SYr&*QXkyvX4~EJb?3Pp4RW1T
z7ix*Vx-u>+D8MGS0=$s*20;AV1`htO;a`-{G7qN@iv-g2HL%;0XHl7N9|i1kGKA(1
z1y*ck?N-`Kyto@2S6k$Y#ZOSTe$#f*$~Y?fgDT-{uB?hpvEjAF(M2wy6vC%-eEgzJ
zK9QkkH?qpwKByV!Y$b4X4TQMur<=BnmNpZNoTTBLi`KE9fMo>SRf*G9xNw?W-mQhg
z;TcNOlKr$F9XJO}Cr=qq9w%c+Li9R{*)kML-OmJXOGCK;D0TkAwP~k?S1QWxec6yv
z%g)3>;--Y(N=Vr^Zf>b-uIX0SbUpN`g7NDLKvCR;L?oW<5}mT@JJtCpU6<Nezei9!
zZP%5cIo1v|FcQxb4+pSG#vF(fql=43TCI0cg&;(!xBm=UUa0%$l1yU>-m`KmCPJ1x
z0T&&4D^^Obq5^d*HjA@(@SYczZ%#U1(G4ycHG}&1TOMN&(x~Y@KC-$$Rlr69tO(KF
z^hf~$Zf<$R<&7BrLH<y!)%FypD7KLHBjWVl5ofOzcw9ZV59ZQ*5ss^@d+#ChjfF@E
zkM8mp4<FCMt0}AupTi6~WBqzBi`pns+6q0r=W2`K%io_eEqBxS1CUAm&{l%a`>OvF
zL2e*YnQHBND2R%lbV44+dh~1XM;g2hy}AAfqvED*MVmW8ywg>;bozQaS0VZoY?{Rc
z-Z>Zopwv88xo+uR#!*ib(!_?DSh;30?^3+}6MPzxq_((I%onl@tZ<~UC>*W~j6|QD
zy1?zxE9EeRXb;LA5~oBepAOi1m@>g>NiMXWfQd=OU?9H~vc}{3q?kr>5K&~5+CY(#
z$|QyAr#9BjT;cF9LNUL3O9vMnH&EG2rJ$Avo;+SUzTtP;grFd?@D3+lK-LYW@BGUf
zzNiWZ@6hKS_l6Ggyp6-)aF>wOH6#3h&3W$ah5c=@ZQb3aR*d2`LWVQpxk7$A2U)ac
zW*QqmLh>3nZ49#A1xmryjFJ#^Bc>4wZQ`d!iNwASHyo$~tAV^{_~^viq8C&RYcDP!
zRf3_xhk&o9d$K63cy^pOQCV4`@_jUKoA39H#{xqtV+^Z?%)*Z^G7(kmRy<@N$1DaT
zxVr+CGwuxMtI$%*Gsv&Wnw|s2^!*1FhSNtbo34ZzqS@oWdEIS4&wryq%f20l$nxg7
zC=Jy`>Q{81Dpj4`Ju~~5lkwchlj*+!#62(V!K6Yn;lEgGoR^%k5_%zCGuV;rRs+V1
zQaasWM}_iB)3nLKlPu^WMz2B8B0?QhZ~F+Lfy>p0I+ste!urQlG^V#$LGe*Vt3kdo
zC6@7-<5(fdbYjp}{VJR{WDd^k3QEc&d}3i|pCR8lBw+6#Z)bkyAwOegd96|aWV*j8
zkLHLl3QC}4^c?*~C{+6|dl{z(bKb}Ze*yYz`w%xB7Ns!E%i-Ny43;^g=_zBm^1#Aw
zc&jFx3??0(IYzc1rbz0I2*ibhdE$wyYV3l0b9N|NhUI<7+rON?;H=(nCdilqeyntq
zuq1GPRN|B$;AHzn(67u1O-!kP2RaXQq^|)+HLE6r$08MI$iC50M+-{1Ep6E1WHqwB
z{Z;hdSx8EaXlf3GoEX~j6yXGfj=a6*Uq<W@L~;!7g7)A#9F6@|5R%0sH4O2S9-5-7
zn8*;RM8Zi~VXl5BJMtzd(r`<Jk;+hrPz@G21ed|1j7UKmsXJmN=9m|to4!+s*)2T;
zD}HLyogMd(qOd5w%Jf>WSDYEQn5J+jKGKw=7<qhAXnL^7^f(!p43%lG_Po(|K9ZIC
z;wLs=L{+686g`+~S6#%S<%^n>a5-t>BBNRY&WI`*EK^QOvAP#}#oR;{*;RB7@^y82
zu^S!TFu&<F2_Fmo*=GmvJ#`^aY1{R+;KJwyS(>Bag>E8=h4{y=>Q@dKebNBb!OK5`
z=aeP0+qC!WSRx`0`romCE{7Z8Jeb{^<5WP9a}~4O77d_#B7|@sC(gSQj`-@m<=c5x
zD7?We|HU7`4*Sbib%eZCfRG+ME!Hs<enDaXG5qOV@`XR9p(r4jG(m(7&`eF!Sg8~n
z6&`s?Vb2Bhs}w@R=r(S}^@u}hYXmaFyPKteigFWy`&YmYQI(Q_ho5D`3m(Z~LDAMR
z`=@*#7WCC8oFQudZ2S5v1tio-B^b?;$`P3Q9jmd2hTBOA;6YwZx`IltcEhhq3l^$G
zT5=+FnJzW0hnx=|=%n%kf$9GSOB6aA(c_TTV|Q~1CQ!gd982=LHtfS8Ii#I_<&#YP
z&i5_5Vd#;aoI~Vs-8=7(Pm8BNXQ6FsaU4=7yX@YtID*vfhUK_NUN$xr{DHJ=L)*Z=
zPIB$qKFzIo%zY90N11+b0ge6J&nmTWU|oA#&|6q7wTW<zlLp5Yz=zf8i1CVnx*-U&
zXKNRRQX>e~W%We5XT#YfVpAgsNoH#gYHnIg5TzW;YqttdM3|4RD%LG@B^k6QN$7Ub
zWjkZxkhnw8DYKdAw=XOv?_21a_JWMm;~`-6tv`q|_K=i7>oT&&;g6)Ibq_nMHg229
z3Pn=aM|-zCrAN&Lj&4VDw$u-XWIV>NkT(T*u5RE`v!-)l1h&ZNJYW-Mn%3`-FVt((
zoNE|uDN_$bv<>j_3F+B~Ecbkd1%>*LbhMU~e|)XOIF+!qB<$cVdP_G-x~SwjVPX~1
zs&%hA{1S1=kAD@zB7beiNuR!J5Kw)ZMlRe-?_2+u%|l=dBtaIp$){Epu3JZf#Ls0r
zdX<vYNJG8(8_N)D+LI$h){sz|LH$|Qr)WiI9=jnrq-o`euS4E|su;haDkf=#fsNZ&
z^n3u#P8RaW%6D8133JWKy>e<*PJJ<McOLyd8R`<Gt}Knl+n&2Or#4#1cl`>Yba#wj
z;b-?uE#7bkZmSEDvv%)N`?(?V9i$CPd1MTgV(GQ7a#)r-bPphoePU3@W5w@35^8fj
z{{D$!gS4oH6`w{#dR95Jr>2>WPOZq|t6fYpMrStSJ&`RI?p8v~aE3GOY#fE8YlB25
zTKcu`e(@4Ya1)4cT#<v`tVyDu%NC?KStC0fcXJyL93}^Za`j@LzlRoJkeq|tz?vUt
zPudPC=^dXsswPF0@2$e}e>tWhQhNAOBRXQ7a78y^&4#+1DC4PWZXR2PEZGtuoSeBH
zl21S$a_*N;G`V-Bl`!l$T3$PGnLlmgUtM^VqLrZ@a{2YVlA>h!w!PPLGU`ZVVd};F
zi`y**p3?Lg{-Ao;n>=?9R@9%kOeTn(ZN%x{*8lmbfr*3rh~U*Wc7D3~RBcOj8VIE>
zZ}32?UE9H3_)M#B-w|K&8JVs_Uu+HhV8NYLk?Yknr}+6h6)L@>IGV*}g|Ryt9>E_W
z+GBo*dcsxL_gdW<H#)XF465kXIc)7J=`O<t7zcsn@`6_`HS}+m7^o2^J1W5W0eyp@
z3s)7S_HRJnQC|S+OrMwmb++sFJ1RXPT3}`+yGEbm8R5<up)Iz;r9EYd@rc<a+>T8b
zg??5QMvrzP2HpV=@@x!0vC){_^rI$qr7k@Hai%(**7$Fp&>ypb?y%QLNEeaCW_vUx
zK%c=QoLNr>zw=?QhJfx&tEroee3geoUD<J37n)ink*tE$poN~AwCk^TtkY6b(4?{4
z9WA#fYmJ2yDlh4)@t%EK@41;%3{?6&8_q;!I<wa~q9%G8T6Q+KHlI#d6AL;4&-aq^
zlM0#p*AHhmBV3+u$d1VGK;57(nKLbAz_wfOyJTJ@>$J~#0^#ci?z6Z0h#hYwBrZXm
z^}tW|>M$e%lrCE<c)=(pTxjiRE$~j0sr(V+sZg8hkxNU_zKtjoP7hDhB*Iq`!ep;y
zo0QS6UX`fbZLQwl8%u!|Wp~@Z=7MiOnjckW|IR%7>bkhW>p7$I|MzzVGPQ%F039ZC
zGwwR>jBj;Nj>?~IIev<t0TU4X^wbBwn{1bC)nOZku8+K|SRv6oQ-UokeJP-Si7Dd>
zCgI^vpRwAP!n1i*O^kMXm_97@aK2IJ?#*O&Ic6r<`nhx6KMzWhCuazjJIMF$WizJL
zB&B0N<Y(+`>&mJ_sg=z+9DU*Kfy*i5c4DX}Y*AhHA)fF$O?dFaQrDvJduuG@y-D=g
z+}MwuWQ)(m=%cD>UG?;(#vwegx_0S_RlBqLWW~E4FQFE+s%^m`Gy~A*`_ND&*rrFn
z+umGA`5%~yYXgoInQ-Ms3Q`7i6(F?{msIT}73iC>g~B0nCeXCik?W8rKrDPg<keXG
zWZZ+L)%p?xaAbe8#{F8^c&-k$71Xrhqb?VuzfV`nx7Q#yo64b)%;A*}k<&RTSGBaY
zEqCx%82*K$=EV_wLy$bo<EF`e%r!r|<)NOub?N}fw&DiW&D&_v^|@QSt<-J`zqh98
z-$pToUd|eQ2Xbw68J90%-^Wg0YHm-y{9AHr-qmS-&Q(dWKY8A~E=jtk!~nE+Mt?w@
zjlMJJoe>^U&93)MX?%t6xVLlj^#tUxXq1gc?M{4Jk9xAjJG!AteBaLR4s?$~8U8vR
zJvrSF-b4RtYJ<nM3UpY!AVr-Z?^+Q|{U4Z1qXIMNfJ!S5jJ)g_(JS0vFYeo>2%WSw
z4%v)8pgJ^0eIYV9K*cRS2k^p(&GJ@-I+v)FjYL6rQC$Yx<t}%7*zz<t)NJ=1yCP*S
z*Pn2n^|Z@bS2%HKhDqJi9atg|^jczuP8+2lTz%*pmNfkiEMtbrYmFav*qLZ=&qJ&%
zTJsZQ^IoC`*MRq7z^>2Ju~bMVI&8z^uYE&el?WE18+oVS=w~k-Fc9R^V2R)Mr<Q&8
zPf4DGW0*o=xBW}ITXc$GR+ue>_B2sT<U%I)|2<NC)n{+<7KBxI#hJu1Wx#RWl5Bb=
znApY-h#(5n$2uY1qsJl>u_1B6QS*!-&ey~$jYuvG2AKV#KFDnVUlnklz`0tevRIHA
zjd++-xMKBhJ7ou43Z7`DV%MvVdf|>xZ0*+lQWEEfI~rmgI(h9#2xld9YTfGh{!txj
z#|Y%c3D+iqb&SkNkhAT0w)G4_=wy2CSf41B9R9BJRvqW=^_5fWI!YGS!tuPYnHVb)
zbV8JYt>H=w^PFgE*stlcnQ#O!X}3W)Grot_MYhPzx~~D-=C01!Zg+xndg>uJ%*m}K
zJ=yg0wrqR$>CikwKNE-JE$wXlw8o|*IFKsb<j&*<gmp-A`AWQIjNcYvn-RNd+>(@^
zh0o%&(g|#4hL@~;hH_4@O>Un#t%vT8c8Fcpr|FKU_9uuIZ{1oGO*Rg6MMT5qVncnN
zZZb_I9g#pu@N%_AQ-tPX4_1Rkf&pN8lb6D|m-ouuRIY=^+cA0Ya4=j^RV0zzmZ(Ab
zpbf#pg!(A7JH&A2(*V4d9GxH1JtOrA(kHjA3VeWdC~l8jQ(-U_nYplT(3Ryx{aJ}h
zC5AI}$)~nW)wsr;6ads!#O=@5xr$M6uCv6do&g(56Om7Cu^+cNYj}Z`O2Z?S^qG)q
zc}dmkY>}&qOKOez)`ifmSfYzPzjPaoM2%Q=w4M6gjrJq6lXhUSmBsI)iiAS{Ypl%0
z>8}SmDFw^bBq9gXG|a)%Z!0MU+(JA?k)ItYXdj#qy1F#5m=>MSkkHnt318zXePh!-
zpn$J|!gcLqZ?2gFh3ConjTr>7#tK&2OLT|55~KyhPdh??=r6l%*~NRuvePDYxfg9z
z&e~1eYd44bGy6X&9&L0!P2M+@IptHU_)C|Tf?snp&lB<-Jdh5I)UXz#;mVwXHGi1y
zS=rBE>-t|O#J()%t%Y9Gu9s+D;|<Ksn$=;H=s&B_ZW4djKPD#3m3^tPGP2vzD1yo#
zT_;AiCvl{B=~_}0hd`5$a88yyDRW|*rM=fp&UVkk$eLq|A*=EaJjF8JjVw0ZyHvNd
z{dRjnqW^$9PkN`tfnZ}~W=g{TB?K(#>9m=)IQ<s*hk8Qi*XZ2p)<>pb*uN{b|AW%0
z`;vDT8!LMl#Jqp?o4-WoY@zqjwaTKt$I~z_w)L?>^+`=ir{rs)NAs{p@_Xr9z{l$)
z=|55qv+nxOXH=KK*7(Qh`&*v{!_AIgA>5;a6~_NaxwntnZt5E|SDE<pZCi;JQ8B>V
z>!oYKfgoA0aIx%$kYL#OKT<BQmwHy3DlIp~K=$w6qZZBb_PeFR4nME;5eD+o8524!
zcFosLSzg&T`kq!{IP;VJ0g5hT@a`Gc(+hP^*^_ZI&nNSXaY#ui@J57T(p_@Q@12y#
zLM>HdVUpsw_ZYa1MnPkDbQV`(XBLPglCmD>`t|5#KMW_)()U}@2)UxiL571hb^%%u
zwCkh2pPi{0xp?$@+$4JL{a5x&-t}*{BxF`Rh{-O6nItAwVoW!hlt6CY@i2+RPvb&?
zo(Z>_0xd4Tv?ME5PDIwI%tzK%_2vSp!IQeEq&ikII0o&fhGB;M;n~QfEmll`;M|vm
zHR+8>DfcT|nzX_WMkI;~8BZ+7;h-X~xIL0{$Y!hB)64U5F5W0}L1jQ_q+LMrU>=^V
z235-Mi&`KFCIr{KB2Za9BvvPhOSyube+*Q4Swjj#(`{o^Q;o+%*=<7#hl|#uT*bU7
zL1f3uH%^;EM*SsDG<zgnb0h)?6r&ryuME`A>HS4R9Q}O7RW)jWs_{0Q;fXQ~5$->A
z#$YBNO|<?GWa8xteW&}`Yux3~_GhHl*snp9A57rXayd}>`P%WEr;XA=^y-~H41tpH
zFO6wb`$`V83tH`QKh^?RBrOJtsZ(C`D^0IMX1B+)ts$29`GDLj!B8x~j2xFvD#kRU
zc2}<c<1*NT_jiS_vX%cN`GTX_y{&khBcL@k0mWQ(cr58$T(fqI-*I|MV~cD8;rYmc
zgE44B{&1_SYkN!D{VkjGW8TyP{mhxUEq?64j7d97mv-WbQfqtp)KJPs#i_n`o?0u+
zz6dr~@?M7C@2g*AVg3XFeJpSqfBf4_;>Yfex85bDR7{?E{@N>J@*mB(@Hm(h>E_C+
z6!jm?m@@Sr%?M8%eVR)^f=zA(eh2;!q=xSfyn#b28B@CukEi`K98<}v!xSeQnTBf<
zdDBOXwmEGCfd!6)c4kOL@z`2Zaah}oP6X#?cvmV<o=H`;II}e%lN$#u*)0s383yVM
z3m^Y4To@lN!2drCc$7jT)?qp3N|%U{0NL>16;R0+fO4WdW>X>8Cwj#Q6NTnj;uzEo
z>g4@Pxu`yEEE-R3AuxuOyOTaIwiY4T8rgLTdL53wZm}3SSf?1miW3eloX5OaXb?kH
zw1MR;fPVfJW{ey_jVB>i^nX&#O+n3pRckIz?*P??;{;3DClMYdN6k0R$I_3@|H3Uj
z{oLQBZk)}oDRI}gI|(^jw5Xhn5F-$!xTe3?cJwM?|1lG?4;YoAWy}S`WZJm#(*>O?
z3!&jBqxFA;5TsCkvT4$At6lNiZ`y=SkuSt&`D_Jc8-4(^mP@g0Y|wD=+T*;%=gQEM
zJnM2oMK<elh^;1YGYtHFHyCMCiNe@4OuEbg)S{6|8pi819RFM*O+A`<YCy{28L2BI
z$%hcq%OS0q3FNkx8$DzDmpx-Gw;Q*V=+b<JSu)4SgO)VqqKx9yle8%-PFgdyooj^L
zbZSbedoTcNm8z6-Y1--~>HOuCL{w*DOgX#xNQv<%R@*}bxW9>2`B0Lg+;U}!&4Mwy
z%%IW<L?&25=xWYr<Rr0;SW$_oT-_3dPZU^}BnOFB2`z?>f-A6l#cxG7ao<qPF+Hnx
zDb0|<{v9b(Cbh&QhWww$duQJx?MU9X<O_VM?KeQQ@eu+n++%VT4@xs)oZEZ9A{OPx
z&%WJ<m)mm=6BetYm_i;Rf=I}u@bQh2BK`)u@=vohz6RlQx}f@UDEW#)V~W3X^b^D!
znl)60*c|~jpgND*F|gh>GZ;PUCV~1@O^_>@hoNW$nL6zQr`2-(2rY+D_JWExB{ixU
z>X*O`ui~wFu{4hav0aF^iu&U)mt91_5u_>;H3J1yFjTAk%UZrl|9G}h5MuMg(67HE
zQ23_=xQ_%p0<zCzwvNTp4rvJU&%G!l^VSaw-PUp1mSOlpcgxFKKMg;B!L-_%feVT0
z)ZHMo&a^Bq3#@wAwKRSWEc?`?Jna}>&`<y<SsZR8Gpsa>Puk8w72p*0X4y;k<!+C3
zMDekz;LBQhhp^A=5FxWV!iEL4)ca7v{-BrI@BPp`PPAFR&~1ewxRU+@S5AUAj>B*q
zj{O0VJ$i70!(NDLx7b;K><xO>?TOvStF4SRJ!mgRKI8wFs^S!h;Y5g0E@oCx2f*SN
zgcb}WgZ!IVFf-~8$k}F1*6nJ7jSpM${%}Ex=x}Jt2%4gxfu+Dn+NHbFo9w7zIo8S)
zurHlf%3yiI#=4!{*L=n(j>;>A^wTSIpwPs;GjC+-9hE1&ZZ!`?a=L9w#QGf-#>yNJ
zwv>tVe@AUO4E==t!`dV;knRZ>130KR3PcngnArB!)&DJh@D(&RD)Y5lZA+VLBGs8S
z6&;OXp?*=d$!ju+p0z;H*|%ikJZYC})~F*$=Bv{NXuA+cmcYi|HBQ%WVGWDliwX-x
z&r2VhB!e!>>7eVG>N3+cV)(<KZV#$M8rqXTq}%9%rF(#(o;IY&zN~^J0V2b1quZ6I
zg*cogk&zkw7J5SV<u?eM{VmJ3OpYRTEyhs+xZXABI-C6n+a)Tn9F9RA?gK|MbnOAy
zKj%Nh#nP5DsqFJ1gP%*;X+TaR@$Gj55nbbcc*oJYw+H-)MLWCkDk}V8Z1)~iqVh+)
zNJvKEMv70Hdj-d~Z^_zy3$Q7;YSW&s^`UF_<1$m9p3l+F?lCG0#DTGD04vp(v9EW7
zcv^0w>C}WyOh=(r0gK%&?ST^vn_>*By%UsZ8wKx?Fb%CB$bgPryd<<~D~vMVjikwJ
zg)h@)mqTM1()q8C;uJ~lsW31kxJkmA_mZ`=bh4S|2<f-0hf%#W0!0w`%!<2YhpnnR
zLB7+<JtF76JU=Svm!Kt4W!$`XR?zkID%%qOmAv^^go?}{h=V|9JC?{t83>9_+P1*}
z;DybKv!b!#{+V~IbD+GM8v|K7_s1QO+<DnL6b_<(_4z!btN6+%w_1`h4LrqsBiDTH
zh<TR@*zb}9JM<<RK+BUzu=^XhYABnw46M}XtIhY|4-UcV>7Nb%dd!29;Tp=;rm%6(
zzs?T2%7A}cKgA6xY4LQw;2}Wo|B*hvoXEFOu?Ih{Bu=6T`!0|cQB@#ZT`Abun9rs)
z&Ifv!m6&lz=?dEUXH`RDYIL$gs5RFYV?d0jwj*^Ur>3eM0}<F+Qz>Z$6TF@$Xf!1_
zW29!;#Yu;53mbnIiK)T%mLgz9t*E)Et%Mhy8C1u$?+QJFte-1o{n5=A|2pV!r_!8^
zhWwD%7J$FbQkL-Ki+3isv1UOudO7u5@luEzFDQO&lqkYLSC!iEv>QnxNr-qP|Fe~T
zM@AL>^H^fs6ObMi(whud>ZLqOmSp+N`Pg17CKbMTOn+2yc9G8fk1viL7fiPfe(L)r
z2UW+2^h3u>pNE`n{B1XSsgWEa1)jgUH%TRBw1G!a^xi84N$x64YbpC>K3V0G)mX^+
zy<Jdg@e@vZ0#Rm7W)^h(B}0uhqnb2MttnSpUSXVY9iRexvcHNqeq7QFQOT*FdC0+5
zHqTK^HP>xFbwUvU!A_NxCM1<QweV_E#+t9rMOIVJmX%IUs6wMeGfC>WbFSejPhD5J
z#hA{m)WYSWR#2feC|OS(oY!QLQ`?+WpR7xfRe`&`EWrPT6vy6<)^ReWpfEr-XY8kB
zWxy6v2t)~4AyY{MB_CG0rkXa>(!;`pILkCuvL}8O4d3|EV=*_1!pre2{{Yx%SL?rf
z*}bm_i|;3!9y2e-lEp|o|J)^{{D~^T97rpZ`%cTHTa$d@w>fzB=%2Lv60qDM!xb56
zS#$;~1EK?xkEkRVBWO^5*q+sz!e0N)A*bvR0X#~+(n@5sk<cv-0*nSdBWu(mqFY;s
z0&w@Y_5>d#QozyYYS$Hs=G5TU+=Fuwswo1FgGDZnu@|)-aNG{BRu^7$I?RGk7p)(-
z(4D89f}L{?JKa^!TxuCb)J=~#;ZmPc4^;m{-8X9V_9^Ju!@~UMe_cw`4$Jk~I9N_5
zf#dO!3K5kd-dT1|e2>>&)io=MapOAl#8XNxJw7a%B8D%jE8|Xc3&NC4p?AHIUp1?#
zCbp(i0Z11Q3Nq;TL}BLIY$GysNYkz*Oje#uc`{P(8gm;i*n>sWi*xwzWtqIPG|MX8
zCU{%J9!JK3M3;NPDmI7amtsc7(wpe^!1Q7TbenYd2=&f5lKe#Yg0EMgqxxVD#9s0v
zUcsxJ1xy=TJTltmpX~o8co?&G2o34F3N;RFtNTk5#-?cNqaVn}NkMLJG<c62l8D!i
zI^(>Xtw)^wJ#<`HyGx0<yGvK2pxZk{T$&5Y%R^(<10Vf~?DOYNc&obB^=(#kK;*9V
zIKt@|e6p_9u&j0c_*)3~ob>TP!Xy!{-r1j>Uu@~C8KRKjw&a}s;u5MdWjV+45;cdB
z+A+<RG~o^b&E=`Ohl})zt`Hfb=L_ufjv|vChlVX%Xy#sw-0?q)4idbrCL0_Gtmrxl
z)p7YcA|Bh)sE8v`4P1<-dwIwFfx;4uY~Ac;F#@h$T4}dtv5s{&W1&6zrKV0?u{f%|
zx-L0%BMBCQ4KIC<^1!W)(Wx%yf0;xm2`UA;sHXEHVC?tK#WNDyiXk;D5I@Qdvp3ev
z*M>ftF1-k9kR};pN_O|T?etqpCphQ+tq#)>!dexGw|bvR3|2kFU^8LL0;J|)JwdOL
z4#D_JwCNIyzN{pbStT@<EZNyt;t+W-Mbd}jOf-aV#pwQw{{g^=Ow|s^e%0F3dtpl+
z-;l|@*dGJ1uac6)j_LwXVjq@G<_bZD7?OHRFy};lgou92NX+Z;al<k92E`U;mK998
z8uhT+>#}Wtf&%O4uW;Z6;JmjHz;8_tX=n-ba-=g|n-c~<@#G}2(sLPbUBQdLbj_hR
z-T2)(7REq3dyHgV7b_rSW?`hdpf5HVw5MbA?u;yzlDMPDjrUfdv1+mBUWU_znq>a=
z_pF_pi)Eo;*%$Gix%M}a{4kHfDnIn+FM_cNK4{hb=Ab5P=*DtHfbnW-H>z&pgi`ss
z(hB=7wB3ao9#(o3IVQHoO6tW`PiEC3!CA#ISiUM%SE;I#8Qt%T;uWO_e|i*tr`|<{
ztKiFer_~3;{9uFI_|`ose67O{*<f!2MCrx7DLm5!TokMIlVlAqAq|HY&b!aqah5Zr
zgG4-0s90Q%ds%V@5cA9cX-&)kkIgN#VF4NDY#=0uAk?V60L7AScP+ky!lLPz=j`t{
zg$fS-dfmk{`G;bsfrx9c>9W1F;Kp}a>!^&d`ZQ4Qsxjr+asqC<g*g*wQ;XD}bLZP*
za~qPR*L1<dh&0AlUWHTlqRz(jT8gta-mQ^?L+H!r(b|Cz2r62YNtD40VrR|6etl_a
zunxic&qlVnh#)wIZ7eWxa*p*|dgl0%(lb6~dB4*=K5x{39%_Q*ah!xa9AMT951)X-
ze3=|Tbxru2n5I|}#9EI#8;CqO{;x)+k)W<H0?MY<WL15GaAi62#|`UVg3g%*#=^TS
zvPCyHcL{)fn-4>YKe<jAN^U{mg&fDw6>56dOE$mjQ>NYrK+i&Ae>$p4c!I~C!$9Mm
zt~>5|nEzX*Oz2rZ#A7F9C+f8N2erCdGaXpPZwulv6XCS7RU_xV<-1y7-v>&mPRak*
zU>P+}SA!$v$s0LV9`R!MieiiV(?MqcSEKyJFJ^P#L~#b4-5Rl~C@c(c_*GMbU&mHN
zQ+cJQfYPS$A}en@b2b^CMGT&zAZ&iT9pH=L;vtzcX+g|(E-qQ07PAQ>gqpjnV9_=I
zezt$<9GEBFZg>sS=T1rjQ|f5)L&VQ_B&L4LwZ?Th#I>nNJu|nt8<f38Fi`XCz%42Z
zq3Zz<_2|sYwkY)w_1M5E3AzXth^oEgDdZWw+2mmSGTo8AU46l&c&!mS!ciy@kBoYL
zXn8TdZDbb;CDeeb;%f^MdD#ewmD;gtc$kfPaiVWl`B*#I{r6nNa@)?-#x0$f1;2Ou
z=<Z}S(tfA107+jnXMtj8ka<QCUZoNF@9Z83DJ1rTy(lr}V*A}q|Hts*7=ON6rg`SQ
zOAE6xML51-d8esDeUic6NaTMVEQ+GI`M?icRi=dDhT{(=4V@V!M(A<lYap@6A12t0
zgDCv5l|PvH%5j|L#4WF2#M6H;&z>vYGZbPOtOtC31Hu^v7y*j4PmHy0#>ukxGb!M%
zUPqkKo<qE6k<P<$OKG;y#vXev$7OPpgY$g6ca6?ur(Kb|z0cI5j(%Y|O8RUbVf*qa
zt!S4kylBMfu4Sd7ah0Tzy1n<xeP741t1eE|duEU4W7u&NBYoa$Cg9m?CZo4x@oD*=
z_)g1zDVZ{Fc5ALQc9-~v!a-XEt^=^Fsy*@aK^|o>Ci;~6BYXGXE+qdow%q0GSK-KQ
zxMk>GMYBG!26ivT6bmnjw+^kO_%!X9)oOR3=w>?Jm%(svkS6Hpt@BIr*m}_2qemP&
z*ZXDvPZm!)uNLr&)lP{l$dwPwK%RrXb{j{_|H|=wJ!8@r7wrDuPv!5uJtpAWIy&Ma
z2xl!NeHtaka>Jni0$Sfea|~YaIW3*d%ga@@{pSGrREG;KHRbAOJH7o7AH}hVMg-&f
zZzoxSZj5$Q<6{%<gd`o!k?1oSJ(?=wS55VyW7>+uN`YQwKQr3@KJB4gzv504c4?yJ
zM9=!oa-Y)OY|D%w1vw}#N0f9^_Z)HGhSyqR(eLtC;kh#MT(CsRib-co7@sw5`g1wV
zsYueDgeW1VpUvY-*=8fU(kVCJ8fe8e{OvZPuCf|OVMturjzE*D<Nz1|z!*I!amLKP
zW47lWc;%kSe<Yz!^TwHE?EZ@_XZikBJn{f@hBxc7)Blm=$1+QJ_6a{LBSDMXN8z18
zug==O_@^hKOnFE$j&LuoHJWMb<MbY_d%-L2Nh@*}S~GI$gaqFU|Cz&Dsxrmn{<pt@
zimU)ho<eD}fyysPixV+mx24Zce;y(3-+jX$n$x$*PrEC9PU`vT)uULpDg_GKo8$c^
zS7IEsSk|Q>H=8v?1Ud2K;h!n@+6XJ>C0WVnbgFjS$Z{{Um3PLx?GUkxBHDDP3Y2=)
z<y(I<A-}7-zM;jbA4tsXO<i1_&5Z2e{_`A+t>IXhi5Q9gbBN*CSvi>h-zeAriNf*n
zGRT_QTew;hu_g^9Q#9$w+Moib-lw0CbQtBE4H+WZkc84*2y7e^ysgq+HTMLK5olKY
zpFHH;pWbb9-+_Ah(Cu$Sqsm;AZf^l}k+A2RToaO52dZze!m9I0O78||PWFYMlKdq(
z*2u||H=Nz1dGo)&FY_NtlMd22z9Db9N3Q<=Z$^Y;W&D4h$HvIXmV_-U4Ct;U>JB6O
zIlPm;-Ng>MRQTQDW-*G7K!yH9-i3~jC;D4&8O#LSRDUjB`S_GpVI#9cAT?Vz(l#|V
z%I8*>0IN+IH(IX@-`{sn*DXk&Uu)B`S9w>zSMOd&{l0b%E<SNJ$OOL+ty3q$KbIEt
z-Y9ll9Lz_Dx4oHsgn-U%z>k}+^QZT-uDpQ0Zle~9RY*>+LLMY4g)fG?x_sx^<lkR4
zE&2)!^z<c+EDy$=@Y8`lbl+}IZTWifd`%X)&{ylTGn`@=x_rcbc?&Pa*(t0G0!0|p
ztZtvjkXb2>nVmi_`-!u%FjYZ=M3*($+a#d$tY_I@1k*o9Xqb8k0J25A=-)h<dp$1Z
zZ|uJ6+KdOK7LRhJ-SL?U24TG+&dY8jT1Xu3-Z(yUQ}K@;n1j>59$!c*3Y=t-1VPmJ
zWzA`CCSV3f751@u+Ss{IuBx`6d6;<Gz9T4ZbMQM7buXTmxnx*;dloh)w2}dV9lvH3
zmIX3B@)-CgWYH25;Ha_{Vvk3fi{HlnITcUHgrs8KxVV%$LOE;T==t}vI9ABO5!E)?
zflt-=?_m|k9s-FvEGY$r+-{if{TZKY7b+)uh&=m23yG1_w>3ta%D(n`<5rZZ8oHt5
z`=3G5&&MPFuEIQLCW7<2o`mK})1eqi9Ba16J<t!Q4y?aefx71CEQ^oooU3Uc0V<0T
z$0EoY(nbaDk}FsIm_+VhV2>9zb358nWz^OpO$*J5y|D)c$ILhuba}Ze%aoXImS_*&
zt&ENHjJ)+fW7PlsHgqUv+*_xqzc#}vIMJ;@K~Dv%UNdK_F^G;_XST<u10TRta&p@n
zH;)WCI{{Hv1`<C((aBqw$LFG!IMEM&m=w0c<Cbv_Lm2$|qeD$md^F+u085`m5H_3I
zzaUChWk20}Ob-vUnX?fSgM}3o?o$EFd;!vu9IFcnUQNf?4=2&wYEgw8>pTgo3|Sb=
zECpvMJAYfKDi%ruc{*1-0cNLchs;4;2YG~@OhZT10&qnb+o3=nG#M{~b46h|N7ToQ
zCo@jTeoN-{l!bh*JZ228AG_0`xhzOH^=MX5z3q0<4Ny(!WJ8nF!=GnryN;Q*nDskq
zztTVbg}1O13V*u;;j4Vd$%gl?D}=@=P-n#?v#i9`jy|Vf_3spb-+s{zc(@R*>jZ^|
za$70c0VHC6$Oe{AdCY-lhfBg@lc+&uIp|Y>6;Y#$&JUKvGn4Zkz!N)Q!*NV`2)&w5
z;mvC%l<~MzG2iTy6olMICn6Te--4g8&?SE^4Q(yu@n3xrNTrcenEMKoi)G{%esPU`
zq??BOXitb;J)}wLFK`I^DBk4gxf5ne?V1G(tD8jx`a$|Vwu;YFqI)0aL`CN7ApYZg
zHp(bXfkEUA9>D<tNo50}@njN*SR=^}xj{C%-mR8)1JNjk^JJrjXeUwYuaY9}H>(ih
zEOHLA+~OO;E-Bbex-i87ydY*Wts&Z(wjgH|Uzj+nI(htY=k@lg<1!79XBKZ9-D$Iz
zKu$sEp#?!1Oki_)3$?y*3boL+2XO<nP_^@MjsLU$8=T453O_{d-$R&{QJyV8CZs1h
zlifnWlRM<7s<w3mH#igB*sGNWqjlsSz}80ss#W|T#wyRr8)JZjRT9(RVt6in2dj3R
z>L&oKEq=684KFH|E`$H{3#WRCx9J04JX;0gx^JART;&iufS8QUqeAUBt0?Y1Gf$Fy
zl**D1k8px8F~y#&_Tsk6zTXpRb|H>utfjJ5un~U^W?ue|m9DnM*Bx_OYq=~jT_w)4
z&CS|Zv{qxO4i4mxa_kIYd$Hh=>JozJLR+X=!#d(;vsFO$yE!fwV}N)-Wm8MJKIFbk
zMHe2`InGu$XM<W;a^heiwm>A!Z+QEP?j>LZ?Fr-M>pq=>J<kYoHOJr!b(DGs_*mrQ
zo%4q}tG%GS%m{Yyr;jKiip}dX*U1W`ok1jZscFW)^#bu#%{y=@l*SowKTdl4t7jfi
zwr|t@i!Y}j@lcafQH$Z=nY9nP54;91GGY#Aox!ZB2CGxIBKPOzzhOa*dsyLg0=8D4
zoy>^UWos$G?U6Ed<%L#c5zRlipv1Vfbd3brKv|Qt6S3H+^L*VY_`EUULH|w}jd3kZ
zQ`Ie9`U0o@VJ_wI0hZR;6?EX@UJ_A)FXAOOFsgiiNk(K{4D)Vh@QJ+Kw1S?6;?&3t
z^8SdBIaK1d#+}nk#&*ULdo3ZX@|Sm!aGgW3MwU&eW+qL<-+^yi_rX~<!z0^)UiLv!
zeVC+c-0&JbG*JXNevs_xw%^vvlMQ366Ba%e{Q@em(`2$0IP^uiUm3#sc7}bp*C)a6
znCnHlYnnh|bS;WVsLk43BQ+CP+p>vL=G44Kl^bASWW$YS`gP<ea9y}JJ9!4|ny^4T
z|L%je(PHHJw;C!9?I=YtuNR74yk@2)J;Z|jB6mH&B7bS!$4N5}AguUXl@$Z8n~80`
z*8-Ro!!S0@f7<4S^iRhiBtrLS{`B<IM*_iO<&Y#$%K^nwBOKT%#rf%_=r*u3q$FYZ
zF*#g9(ucz!b0wBQI++bC_Q++hZIW5$<BVNxW=X++Ju7s9OVpev@u|;j#hsBxO{*!a
z$;itfLOqY(OpvO87x_jWdVfWnJ=z>-5CY8Ani80^O0)7A`5S4{4vWk3?uag(9miWQ
zH>3vfXBD=a=St!A$Mxhzo!=CAi5xaXt&(aD{b41Phf>2dV}G@77b1sRb9gfrd1^v~
zj4kP^rEjiseMx##*HfQGHW{1hA~R48vezR!;{U@Px8FLf-JNh9RDwD($Px4<)eBsl
z%j>881o4V3jIm)#PEmPlX&HGmf{OHch|#(Dr>71g3OxfQS>(~6tzTqR%24Q_&Z&h6
zuS*g2H;8DGYlLQxXFkI0MmklMdkW1=s=#xVh*WktRNK=IyWg}>m-(5<f?-eHW*Zo;
z<SmPEjN@_$XR6h~N4NK#l`ry|Q3RqmM|myGF?}qLw<cEOAeil)b#ZuPL?%xgf0a>o
z8MtP)?=}r-Nh4UuDl;y28knb6x|t=0*3h~HFAse2+S>P|b(en{S<Qt*q2Z=jCKn1N
z1oi{kbBfyX@e?7zi!|M6{_}ywQ@qO8X%i%yc5a88NisixviU--&Bz#`C_u)n!Tb)k
z1X5EqDn=>F*=$bhk%&%+lnQ(|RUXlKub3txytq^XGZqEig@%u8?4o6EgUy{G96>^Z
z8%_}O<&Ih%d}kH`yd+GKIJqk!Tg{u5V@2Ea?_|mSsjUsi7#MA(Jil^+zfg-fb_*3I
zS&o<lO=9VP>Y<=Y8KK5T7$6nxZn>DHzGc3t-Oc(9#QE>2pd5%QAw?=l3jy0;{Cg9+
z@ls^iUVBi8i<~5NI?c{lvfORg`cDH1$otqsw~fj4QSZK-@*7Grhfi#A8sArpGSSpm
z7yc5b!hU5c&hx#Pcn@-7BZyO#5BQz}`^}S~+=j=_flSMg=n0)51YjHqQRyg92wp-b
zi@U`d(pto$J8iA~d?uLNLojz(7_t5LT?c_$4EbO2lmO&sKY^_%D@IB=@M<sC=Cb_p
zAveAajWC)D-V2%2k0n+W+F`p#Wcn2Q1!A;CQIml-=;j8qAaODqb}HZaV3=OC+ktuK
zK-J@L;V?{bI89QiIan-->txJzDmBg|e;XPA8WU}41_mjOTAc>7%y1#onJ~movFaZ3
zCvnB_Vk+`6l|`zzrO0@EQN@@x7r8>#dB2kp$VPPIzdofYp%+Z)wY4dQ(quy=(u^Vs
zGx@a)*I*U)t$t=`H%#S@M!{6ZP5T7Hw^d_Aj`o|74b^mqFTZ%uB1zv^dFc)V9+zl<
zk6&(#Hsfle?QpJnG~YVLpfwu$9jqNZttm3$lP%T3d7Jz!E2hSn)nPBc{Xn*wIVRe8
z(Eb`q|HM|J8VZ%y8v_fxo-&_NZnyUEtBvvdJ1&WS`4}KyU5TpL8LWPp6X5+WliOb&
zZchs{`E^~vx8Lqaqb?m*Q?n~dY-`GY*x|TA?_iXMLH)awczLTcz}vBKer`YYuRqmF
zusW8*>s}<bgW+K)&m@|Bbuy_*0BX|Dyek-RnruzQw92GoTWSDS0bTbsHbbl%=7hB+
zeVy45dbmJ=kCn#|p9mTdaN6+XYGu+WZf%EzXT^lM-;*wv4{1@#k&b2GL*bALA;o}y
z*bH=<>46mp4|XE(zA@0}D4<__3tJ%yPTJ|~f-2Yq6E@-47i+g5z2Ayb09%zL)@viq
zd4VdAetyNCAOLXxvbvgCAa9E)EuohF2NcsOhZyLemiKf|#=<prR|1f23YO^HEcKR!
zr)Ntzaok*}LplTSyp~`xWzboxxzl)a&PmA?RP>_qm6l5OwIDQtj3ie8%ax5gZ%F%n
zqs~y=Lp_SC*n>Ml&p42m^mvbtY;Lz14+xWsYe-j?Zs1*aTyAXrEFuxV_ZuWls;ztt
zV|s1XddOa#y}S=bkXUx>iQW0)`8)0CEfI{nd3rPRBDOb&k!6^Q-WP8hzt*q%CwI1-
z;icfDeP3qtKpK*=qK>tm^7#uo*Ba{qL)Eau)2u|5Y?{s6XptP0irlwr^SEIt*U26g
z<?r1Pet~wRH~MM@-%HST_=V25sYrhoMy=~#pt|1X!-H=XbfmM@n!$ps-j}|q&IK^o
z#n=|qA2EER?YBO^8=&j2(UZpQd1O&QxU(1Vf^J<C!J)e~bsT!MHT(3vpChi+W4G5M
z{hbPyaLYPzhrbpHQIjIXBgFB`-#)0nmMK%{Rz-ZQ;HAti2&m=X9_00Kcm$FZ9ngTr
z7w=RYgWV$sqf%SpsLhB9l;F3+h>rj4rI&bPa_*bb7DAb(y--Qi32%HR5uLKddT8(C
zul+b`$?+lF$a!Yvkns%KtqqS?UT*A=Fy$(*4aHP-Fa&t{)Gs`6xmSF{9o*M*Ws@Hv
z{2I9lxK2b8Gb4g7d33XqvE^@)&VX$t=GlGpWjnLqchK5hF_^_s<&xd(u;0tGkx8{d
z%jCbmqYInEce)9ocW}<bp}=+OuVOL=*tQghgPoYpzMTh{)UF{}yx`cBfk~G78iW8`
z_-l(QydxsHR<;hw>~^Ocz8dw|6)kC*_z3~(ZGyh6HJDevyLm^~6cw3t3t-wQMF;m<
zs)J9heQF=vV5a<r)tw&RVsG_a8OprGtX*9^7Hx(*CHGdd2>*wGnw!+%9=7{LvKHBX
zOX8GQ?q9v&LE3<bdk9u`TS2LUliP(A4NUsY$)AnZWoB6W;f-KioVBX8L-Z7Ru7jk<
zqC<m7?%$B@fK==MneMUvKa>P3`~NfDvof)>CaD_=1A01HWGxAPHwJTYOJ77a@52sQ
zzAxT(3l|qB(7Yz#KduHAs+ry|IEqyzB{C+i>D7>+x(SgMEen+;luxr^s2h)OR*Vx?
zNIo^bzW1-syZT~R2)7L)E|BWJev>~K=%;=6w0C`d(P953EYWIqI)8hv)41R`YKgXo
zRn~hi2U5#V>#l3RJm0Qj8fB8-9tAiYqK4tFQUv^3f2#|3JZk+LhQOBxq^8$>2(Qkb
zrZ==Z#6;b^dD#9ZH(R(;P`Qb`{iP(D;oas0OOGY&_@4Oo?*HEn=>ID>lj!py{h!=y
z^z-o8t^=l|TMnP%;PmN?k2!uqIS(lN9%D>?5YO3`!Z4T02jY$XU<LAg()qEg!(z%4
z&U1uBNb7jLaq|7|Hq=7-Enz0_D>KhHg!Dp#gXR|r-_6rHLd?OV2xC7z&^yS^bPF>-
zx^u)da_X0xO}MH5c`i*ytP2SJcrBvMl+Ijtyb`%>9`w*q_wJ$kdMMMl0Sq$4G#hJE
z<;#{NOV<@oN?XYeD77IwG|y`J<RD@qs;#3IQd7xv@VPbGV`W??uw82fze+>8pHpvf
zJGfVPydK5lpU#dZSI!ie|4^AYkyEE6mc2i6{lwA{;Mvp5VW{ZV?uKe_F~g~q<+pT2
z;@~k=WIs*EPh2J$Y0flu0-7@lY3s$Jk$2~I=IVbEv`r1UI5iBs-2P7B#+;F|K))g#
zEDLJ*a!nJm%3=qdx$t=K)hP-hualb|n3sR!j0?;3Vjb}DdTVa&?XD0Z&1;JaOK=)`
z>`&zIMtu+P1Kd!pdO%(C%8<pWV~px<4-FBr+M0nmTI)$(?sX_>z`lF`nF7W9K4c*+
zqPUsjBLbbR1&+=MgO)St^M_wyt85TUqOY*M?|#n`<$t;@w+mPmckcv#9}<PMjB0tC
z3>)luf5T3hu7?cpCe-nAIwf=b{3Y(csskW4Kj7=<k*}_Xb&8AT?=RJ5O()uy;Kt+^
z$as10&V{UtK<AHj080JpUZNI(&m?{t!WNcQnyjYoERH;P{RYsM>$4hRsKKmY-7`B7
zE@JN=R3eB(OacGhhaQ>}GnEh*cR%PQ4?<xm+H9Q(G}UHeMQj<~|8CXBt(!jkoWkA?
z%~ublFZw4!+F3oLoWOkpQxjXow0T%hQ?OTWcxCtg%ID8@3j|3UAm|pgYq`o=hF`D1
zN+gT7^BFAl1`JTV*ZPL|eH-g(!M$zbIH3qBk+oT4J*?(YAHqWnC36laauP}ZEX9l*
z&_7x$Dv6=imr20pn#gmYk}tWvoovMym}Rl|h5sOuiId(;?=3o&$vBrqD^8~-k)1ZZ
z9l&X^DtJJX0y;!x?(S#n?E4-@gKG!BTt7R}(FFS@0veyte)NJY=CMBT`7ED7@z*Tq
zVJl#Z7{M~@TX79l*5^OOdS43jn>h=5gEA=B8l~{(VXDa11ur|b6Q)Drni@_>jiq2h
z$ItGH`7fqBW1u{c2u~!G|B!!%2p4T@#0~KtWcO9#22k!Ef33r1w2^vgY9Gxr2QVma
zi|kz93Y~P9L{#zCQXv{0xl~2N@P-mmLyNGt>j}_8H><98$ax&xjIY(Y^11utV~ecB
z<XXI&GmrEV5*;ja{CzOpNr`T_X++chm&k;v?gN`A02L~t4IU|)IZfSE(0=D8GZkiw
zu=5Y56QIp#kGoFbi~odPG@4zY!j~v|uck)G-wYRS`SOK42^7B|!DV`-&lcJ_ZUU`Q
z==D=-jf<i2!jl&zkQBHoX5z*VKNQS$$2VKqiWl7M?GJcF%?+86vMxE{5_xzN<G;-R
z{HPqO_GV!jBf3sI_In>jMgMcIq@7v$Ju$d=1+cbU;V7<k+Gx^^PdsWtv}GF&XP&F-
zvL54@mS}p-Zj?zQ>z!C|ua}WqYWM6YDFf|f7k{*kyho|Jl6h%IX}sR5!RD!>j?pAc
zCMFrfvpPX!xq}}o$4^jy20WGRlC9a$k!Kq5vC?E&9=O?fnoq*!V+wB+UBA@k6;yAV
z0@;^>TQ{g1t>wF#*0`<-DF)G^(A0Dmnhgt7n5p6VqKz^>pMhgjT9IjkK?xbQH9w&d
z1g=S0#C35?kzEYgg?;4>)sdZscneX|+`<__Y%&)O|7Ir!mEIJq+ys+SSu?emfk`Mv
z>F51*{BV@B%Rvd{Xo5>dPZN}pPNdo-0|Y{`5P};1FS6bNxRR*t7LM(SZQJI=wr$%u
zv29N#ww;M5wrwX9Cle?CnfH6Yzi!=I)%EN?UDbU~_33Bt-D|J4o@8;`{dr@M(q<}e
zC1&DRTne7sV9*Nm;2K3M@Yf?m#D(JS4+RZw^(zRtk<>{cY*=jpGR*l_6s?jCL@HEg
zrD%;iwBMof_Nd?yJsDEsG}#+FTvzLm4S%xVPpoGqS*kDR%3IYR)~JvWak(Z<Cs-U#
zYRY!DH$MSSl#NG7wu5dFwnlj2wg=02KPXuxjmIJ=v^cu^dj81SIH{T}3S)*qqq&YK
zL*&^*p}H*}gZCe4DF~r6U6UCJMB|h2(nT=XT79g2a+8S-fu|4>jyyig%Rw9TaS4q@
zu#&7h=;2GL!T{LG{II{hut#z`@vXCePrdEM=Z6PqnAY9@i6(wu!l(+QgBvLn17-Sm
z_bXM`e`!VV*5&Gl_Iy8~xqRZyt-HUo<~1Y<xl<Ia6%`8fi=X9^l7F=%X_zM~E@V)N
zP<T*QyG4Oetp2ifA0$4#S5hlkLf<U=+{eYFowr^0Y%v!tG%G;FePam>1Vd7*P0zgI
zk^tlxuhP1QTQ92?ifWKoE*H#XU_N+Xbjv%>Z8=~aT4I#hXy}g62^_maRmCxx(G?0s
z6V6sP7c6DD(vgQzK0t`Xgq|4k!1Nz5$>~FB;?aBw^`u%Q@`z?iOqS^dVi$tB<HLeL
zAweFCq#o45nV`Tlf7*~UZxInW_ZJ)$Ndj=FzlDT+<e_cXDgHt3MnbCZ12YX&@E1wD
z<t_Gi2e5-B5EQ>^2i?wIS&{n*Q?)frIpuTi;Q#eu-tJe<Vshs^!bV0$d>IRIt=~u`
z3r*}*B6>09wg@?Xo0*U{t^e3k=_rZP@f2C7Y&^}Z=Q&Hq<BMne-jC_1@$5@5q7JBH
zxNyf`sphO+an@^Euixe$(LSMROU#3^nDf$tVEblb@{$R~da^`fC*_oX--&u^Tz>z%
z8K%$v)HxpkbSo0cHbFNyw`|ZsaC`T$$~vwv?;ED3GUcj6)u$tibL#{M)Kf(euivg<
z%ZUWL-gQu%^J{&Ka;^EB8I<?=E-&E4eFC~ym<F3XVC}PLI5;H6Vm}>pfd~!;X-`Y;
z4p%&1<u#Noc=g723-)aO*jO=f$-XT$>I_x8W5~FC6!@sHw9vj1-;U;0&kGzOJiat9
zSlObLEx7#=J?TfxgJZN$d`Od`u@N+jCfV9>otPw1<;`2~d!CbLIHkQUZUr>s7KJd$
zCs}AjM@J=hyA=k20_DQ;wF0@>_f65QPP_c>dzIgm=CePMatoS)ol`uCd?BeD#?eC7
z?@3&q?%z_mv;rR`+ecvaddvip9mXBI2nxcC#IbVI4irJ|G;i|*6K(}#4Bx7#-%0Pk
zfp9PqfaMC%)J|xZbuoD7Tmd@WlEZQ81+#Rg>-Ue)2N*ixe-)Q@v#b8;gQnF;L@R&(
z4W70~GcE>Ai|AsX6+Q_~OEzkWUk*a<kQJeZq{b`d6o$-&i72U*)L8mJkRrO~=5A6k
zw3MDz^-Y%c!Ux}}p6%uhKR4H1Ecr0RqGC^@`1mZ}iI7VmC|&fiod}Q-ESZ~Nq-uzk
z)Y&|+hgKYgvO>jPJR=f0*sk|It0|WkB-)+2IvxulFh6npRI--0%E_IKL&gp-YG!J5
zTxmRJQ9~zjo!SHA;!H=<qjZKQM}33|*!07-{W^1%so&2<t3Gy-fz!=EIr@acXhN+%
z(f{^=Ub-KIOW2I)2`HRPJ;Od{?Dj9d*Eb*cH?z;`sG4jc--6jT(x@(M9D_E3nNx}B
zG=rI&4|dSlyS<;VFWtruVSBXh-IePWgK(cW&aK!`X6%(+2c@FAycd?8M-qmX_PuDJ
zyj&1)nctS5nxi-nIE=__Bt+LU-hVUqZkP@qEF)TsH@?3`1Xu)U*G6z~&-(s-|9h&G
z<Va5>)D%{v6#9_hk?!Oq`s(ztw_EAPXG`=rbIxAUp;g8@G*qcWEjtL&Fly-9i3QJj
zzBqVhKv#(x4UN~Jrbf1i#5JT`jjo~EzUv8zDXiHGDjs-jLO<5UOM|1=Mr}GD$Mk3}
zd*$G#MXh&~4#3H}IWy`UK|bC6v@8H*`N)RF#O0x1X=R?^YkS*_)4`IN@yVGbhEA1F
zn<)-pP&VG-D;)2JyZ-LqG?pA!CD4Eyj`Ci<Ad6<tJD<Gmfr^ezu)#xGE$6HAtzHZ(
zOp2n*9Dzj#{kf07_Y#UMw$$Iny`wd4k?}|BS35adGeBV^91gi`d?m3lXD<AAQe%HP
zm2<Hj^SSgp*m(MHv3F6>@ILI$uUd-gMDB0kQO!HlQ#03<)JNq-O1j6DWu}n=)T75Y
zPVlC;EU03~^kTgIVCC`bp@RA#OC_F7cF68pRDq|hKC_t3Sds7#Ah#eJRSkp)OsgI~
zAk4mD?Eqn9-02{~W+W~+=ODt}-<w2gO#%uUTk?1kmtS^n95CUUZ&PXdm6@9R&(Xan
zA2P`!5Us{<djf_ppb6z~>jL<U1HV&Ex;u4u!~j+DI=(9hr$a@)x#dMqOm7pvs8-|=
z`i^H5sh9X`UAWc4jx+J{PSt{z`MN~`D;M91Mgd$!3RJJcgt1Ehjf}8|?!;w}7KR&n
zg3{)lV(3QZ{2FOzhhc=@P46!nD&;&KHd#HZX@Obd1WiRkjO!H$e$7SLJ<?9-&D$Nb
zwZTs2ZHU(82|kxFd^OlM|D?BNMCuDX0zQqZxq`&^w};$=sJb3F)=0i}ZN&hHSY{bR
z4X)pa_?)=eY#i%qkt;!s@Gs&E85(z#Ur0fi*tTiQSjrLw%PBryrw@y^nHKB7djGc3
zj1!t8#|8de`REp&-h9FWH_%%5xS^$9@sAm9J3I*IL?6nCn0Ue^42O$SP%`5;m-vQZ
zig%VO=Jm6sFgmE=lz#b1W{Dn<&-rKr1HIy5&Iw%MZ$0n2$b~s$sx7qL__Z(~NTiZP
z`W%Qw_+ne~8WL8k?QSxvA%4~ex0F~Dy%>ZsZrqTqDuki`I#rj~w~IH`by2Twlzr95
zr!`z$=;UKlU_PdDD&J|cpN>QGaEQEza`uf0a{ch<u>2H(txg0C`a~>%<1*+@03>3b
zGoqFnrvQ&y`=Vi?wSrK49Ez?vrBSlbbQ*pc{kx#sT`H+AgI_hYx`cr6V+nq}YD!+j
zb)^5zHaVMUPG39+CxwYw%S*{O2cE%bSSlF#WcW}qjg;O7;Xm0s{YpXXD(Rlgn53$b
zIa4`Pk{){><Z4pP3|&}&)iD_rNA6$qF5wu+Ydl>BT+5h>rdiIqj0MU8aV;~91<s1J
z1=f+a6Z9svKX6C{ivplfoF~`|RRkAEd`w;t{3SCCOKFbSHdze?7xuiwj@S^nGG-<Z
zj_<ONo|@8TK;~5hT|t3ify6)k4u@-Y2)GN?cf@uNzI&Gy1gKI-pK112(_I(bKgVH}
zL62$H(BailRj%gp6LyOSFO|UuzO$8R-&#0m*bj2iAyMXFv;{7iF<VQcwR}}pTBeqi
zETUFgwwrhQl;ZVkDhYs#Q7^G!A^cREaWl<?Nv$$<8f-RP6vjan(0oMLJxup5z-Qws
zD9Y^ktEF4&3#evcQ<!S2^0DyB{ivbI4+2lM{1s)-2t}%@AKN05%wA$R-nDTCT`AtQ
zehys;sb&8Fz64gy`RW{`GwMdv@fDTKr7Ti3uLyqpji9z*FZ~5B8|f>jyudo8=jSne
zCN_(ZCM@Farqey7+-4wBX8U9N(Z9oG$2*;o7E+slokHAfF0rjCsy4H2<+c{Vl1@*7
ztc=cBnXRQtGFNloa|aEnW4ocnt?I<d6Iu~C_quD(p%)okA7Lp_->PEZ7s_NKE#9lo
zgDk2@yMhA4f`~v@a%l}U+|XihBcoejepM=zQ=!TvC_^WRuw<u_@1InYO3CFg2b<5{
zOu%uDsvMgS*N35|{DNN7H-wgtHsX22Qc-W}9Wie!4c&fWZ;+}uqXPcGB?)H6MCcUN
z^cXsuQyv>-Tw0rU^PWPe27h-*4*PU2`~Xn%LE(I$GRMe)`yFh!mK!>Bi+5Ay88Wn6
zchAvEWU3zjC`U~ZJo(NJl4E0M`_m_F8Q^DsZf$hl3kAGHj^h!t{rz3SWWS>-qe6c#
z^9Ulc3RnyIOg$P+{~JZAq{=3vpY$a`+^mgAW6vjhgGRrrc_2w|tV>>~+m>d)z|Qx5
z%pYjDHCBJ^dfE%1xz$^n)TWaF{)tox7Gz%zG#tb2=u{a4N!y;wUs_+<qS2((MElcf
zq`@v1{#|9yqs4$2a&WmXKcl<_L;Vk;*3V6rlnp05aBfcKlouy4z*;&!kO*^KmpOt<
zq;?3Td}mE@8U!{>@!$)sq9vPSW5U`!JjIWWA6aNVTJhSFhs^GY)F`PPPmM<6CE+Yh
zd19HQV+DUr00i3we|<>*@_PS6%t%Po!#Dbnfc269y@K^rCl&NbJ5?R0ilv!=G?8*A
zD!~O^!RV*vs`j7=Sc#Y^>(!^_ldLEsV!V!81HxoKdi4Jfr!;s>+iU;kg@p-Uoeu5q
z99yOh$#dtuh9B{knxU5Qq%!$i!#wRqF#Stn+1Er5xywy+4zI4+LvXTUU&ktw!(Ot3
zAAj%ibHh}&??S8byYsgxAS>vncs@w_m8S7H0NsPQ78bMD6xb}`yQOt6O${>b%mSrU
z{~$6RpdvpFR?v;soAB)YfjSO|kX<@5s%JtbJh^3sFSB$b!*L%;!rOfl(*^~+)7P*_
zT&Fm1ck%l9DY?R6eU%`-?+TZaFNDJr1(y-@2x^@@R*&!W^7{EOH`N#GbL1Uw8L0#8
ztz1+os{LeZh%M>1!l=Y%v!$wJa$B1zq%VqH!(zB4%W_3d;0_&iM&TV{dy`^ZyHhkA
zA*>aVi3E>&|JkRlrTw!{n|XF6W^N7e80fMA!eiOpQ0?kK`?N;nfA(oeI6(U}%826b
z$RtnI$@pNJP6XZG*r0?Tcnt7>J&ZAKek@BoKjiBK{thPv-YV*Nm>)>PuV=hL^XVZV
zm#-d;Z5+H>cRHBRvPlo*H4(qfIr@Eh{MAd4nJ(r>PcHu$n~O95V*V@PXwqB%7Ly}&
zfmraCuZdm4Ug{M_1#P?ftK?a{t~}Y<4IN5`(0gdfoP6>Se!-QJrUq6B&{RlSF^g8C
z)t_}}c=`?aqo<|rV7(8&T{8;)>}IdsP-I?v2o(AUjb&D6b8P598K7kHP2?%!XXZ*t
z*hjHmfYmGq$w9(bqiGqHkVRjv0g*9!9<eGVbaB!WCUOQDh2~$y>RCT+Kz-S3&<f<M
zAe|SYHI(y3YDhtAQgQ(0t(?lRJb3-4;aOnbYrj(^iVN8rl@j6OO^jbdg(R&*b3U8N
z3Cw>d)3&&w?=uuxnOeBO;&R;3)=KY3C5ojX5Fhz9#MVc#HzXCNGQ1DmGs+kbM)OtP
z;$|VN*SbKHCNogVzdhR)d{-W_y|UWH&513f+nk#P@_`<&$wUF=Y+&LD(^{~`-C{b{
z-D=$5LDXoR*M{69G1WXjz8yyWl}Aryk-<1D`lFUlPYdif&04GG1|%)8YopNBjrGW&
zmbu`eamIH@HRXLu3t^S)z1rPKEwH#)lKq^4hG;t96gY^LlsJq^(2ycmmxQ!k!Zm(k
zQE=ms?Il9C)8YYOXk~W=?6X)?Z!}mQ`^}H8)o+;6UnWepiBDZy&72Cw^P=-%hHoJ7
zd;Y8i(@1KJ1zN^5dlH;JVa-w|ljR0>rk)wVjN=o5X%lDoXKyB7($LIM5*&r<Ui)l;
z--L8Ry9=e=<oXy1H60?<G>!z%hc~xh$gHl#LD<y9ooNBkzauTm$*R1aNxqi*El#8J
zn$j@mI1+KKR$H{gb;yL1th{=GvkrQ}!)Q1N)1Ebp&?Y-el~77Z#nD9LRTjt(qN<UL
z7FnK>pyEgtfLC~`vj&FPBxg#1;PVjXlEOg{dlI6kJ>T{dViqGPr>FB_7PosTRT`ow
z&3#aG*~$Xw^H^Z589E2UHEE~I17i|jg=fMAqy+Lt9+TiVAps7Uurd=oyI{>OE`NP7
z`!p$8<Ld8>8Bd)ioFR`KL@qekmSMnat5GGCCBIQJ^c0FrPoN$0OG@f(H(umJO5@31
zlrEtv&W$@G>5M{((_zgQsLR;S;?mXVKl~buvF`^&?ot8lA8Df-@W+Cz#FPraoUI1%
zy%{Af2hqb1bABs`v!aCuAWgs^3KiHY)ayx`{T<?cf12pDbBp|HCwG)!qIjvFl9k>z
zZe^k$o6@k+RX+)AQad>ic6CP*=Bm8sG_9GAu%ut|w#2QD=Nfmd1bvr3;t{evJJa#y
zb5{jaOb@le`|#YSL|~)xL3~NON3bXmWn8L%tbG#>j3hdV(cGVwoS23pZ9N)a)QSqZ
z8J3a8Bpv_tdg}C8H8a68Fv9!+4^=~jvI6=Fm+lTXlL4PE71oyo7c*wYlz->!A`aKO
zis(Eb!|bhHpl<G8{(KqbzYWz)`h1*1aAXPiLI2&pX0~tR>}P&!lf=lrfH@YT*-d_J
z3{>M2W99L&F!Rx04(endzU~ykxwFEF2qjhyTn#~UvlECNkCGT<+>H%doQ~(+9K($e
zKIdD|3cM<A2MubVk6&1&s?#A=O+8}<twP-@&jxmf4;I@2ZJ_5CC)?o9!F-G3VALpp
z4;CF)B3^Z_<%N_F7Fivahr8h&2-tJZB4`t*0<xmhWi&R2rYBWYgIo3V;r_{EW_y46
z79xBEviLA>qRQ4MN&B8|M*|1sXMx4l6avztwZn3S)1d#Xvw~GBY*X#T^Ah5m%80MA
zxTj^OG4`BR9{!e++MM$7p@LwTGs_;JQ0Q=Syn?C4VEobdZ%X;wUO(7{`h>jOPidC!
zkj7JXmE$5&cMzlyr5s`>M=a5AbGzE1t4uheQbIN`t5l;sW#?(%)?D3>q~=PNDnb*u
zej1+iFfB>>EI^%JJa_aK{AqiTQ*B1^3!i7gjq4+T?j%n}s>X<mupLrim0X$!9MoQX
z8vFL)k!EJZOpI5#^P2Qk%Vf))>W8_iO<SE<{JAZb>~tx$a(k55oK{1ub_9N~G4f|K
zm`>ETuwBL&>?uWx8>fP?I!7P#QawSR*X4At+^e_1sZ-`<@51Fp#MYoa2!kcwpp_f9
z(=TB)$h7-2ez7rHF?^u~%5)Bp4pH)MZ>CLVYlZ{Np0`W8#i5I_2%%rGB%h7iM_q_o
zM^2_<5<q5fNfO0u)FLX81WD5tck&O3pgDX0>&&!ShwiFLaYg1P145-`6bEJYHQWPa
z4+2axa(r+RUD6Q57zN@GM=hJ#L6nnX$;KHFzq?JuLkSdGmi#PICI=i4Aco#n;^Ep0
zl>B7r$)BI?d)(9(0uMY67)C1S_z@(0U7Tmksbc0}$^KrF#}eP$%(nc=w>o9jzogX&
zsd;9Rn4aGv);fV^#&<xYg5cq_aLViEZnkhvU1oKJ0?kkyRG2m)IZF#kVTHJy8f?X1
zt~ozd&_PP!eQE)`W59RS!7tWMoT<|iY=Tzr8cEc9eRnnx%L@6Cp!B<D&@F1kjo21J
zg8YW`a;t2vtytj3)`c@g#W%k4L8rOSI)_(q^^kkXhbv!2=DOj@Aq+pZ`8N-7R+P2P
zw-e9oKzq2pw@U;Z$I8CAH~tAYkk{4L&C$pH7BJf#SlE&QTvfJ#awm0+1X|=n72xr2
zS^UZLwHh8+z{`0r9l3pd;0~yaLzJBUR6VnMDE<0+;5G;uhWfq3RNgelHzS--l;orN
zy4o`%Qo+txXYE;%aPCVWUq$DywsQ@_Ko4y0|24z4OfEkM>r9}#YN`J|3Y;SQ=!otV
zNe#ad0?HD%8?WbLBgCgxm!xZrdB1o05P=}cX0f<+IDxw9hRNnN(3yu@(1%S7BX#!(
zBwF;vbE@rt?fT?^7wUUrjN#~n8KkzkI!ST!>X7yj_@mSu(NEyTpFD}+k~7POsb!S$
zFX`iEWKdXIrBTRcms#oyS|fHRDY$#Y9=0aK0*=l7iXz^XrrBwxb}cR!xO`yf=ZunK
z{fb5w;>QR%@+DArx390*Z3pAAY**rnK(cQ6c(k2t^BR-h?Wuwo7*$wPYdxFWBP}D(
z9Z#JqDAjWi0>nb9Kx>nY`%3y-p!_5N@F2iBR>9^Dm~fk&<J>oA%++n$<lDcP1*4xb
zfc%c5^D}NIjc+m1lv=_yUX2AF1;-b--LXnaJB1ODpJiM=TB$js`;jT<TAw`81l(Dm
z8K`j68GqyOflj+xbbhqg6i+e3dkZk{d~mi{1b>WLZa_b)_EdSbQhCW(n4Pqfh_h(Q
z=sSp$aS|BckTe#~xyAny(9aGCXZS<I1DeOrK$?dYplOqNY7FeU<}PTk=vqYFhgO(_
zt_us$uVo%CC0Li9^ATzO+&wCom%rXL%1C5u#a|nCVHC*j+SKD9fd;Y%*Y<RTN-c9?
zW}q-gFXmGy(U?!oG3Em9tmBmx1P23vfq?Y1G3+u0*~-qW&gBp^_Xvd@iJb@#401Y5
zQa+`HEHcQJE~aFe9Y=_&3`(HA3tZ5?vb<;n-%yyj=b#K*s+dzoDk^w>s8R2HJTtCg
zQdfx0X39zjnxFM4?3~=V{l;YKj1CwRXyUs{<>)<EiTT549^H8Aa(<B<e#K`lUnPs%
zd7T=BNr|}SIW7#JGOQ(ASquZf9qoFSF>op9F!@TGBE<oW{RHNtfs2)dq#$9VcZuO|
zyS8cCG6R=YYI?d4&RnTcQ(^cI&H~*BUCTc(-d4jhy;j+V53)!(b|2Zl4xCo}^a&bF
zowf|0ClUkvP+xe3BK)?R<8km`aGT??|0nuE8_LQqtWgNp-wXkQKbkzghlQ{<BqZ_&
z9-C4n)w?7CoXe!3glQzfe-onT?%jOC(cRc%hBq}Lyn9dyyQd0MlU)a%BYgE3A!8)}
z_RtT=MOcp~G>;${0|5nHs=72Qa8!>0pDuc+C&OVcz#A)=^2#OjAO~lcUm2x$lgEEG
zsXX^7)2jVi9kl@zAs9R~Y<C~CF!YAIvMxOo8`9jdCq1emhy5+m(|fz?s!@)(N(0qn
zDEwXYJLByB?monkBPVK8NttR#+v{(zgrdp-fwxD;E$KiM(jC<Lk}eC?Jjm5I><j8%
zx3!<%$Id;cjo`PG>M)4}r#t~K1v5zM@OR=1v}-@DTm0q#%`zTVIt+$tH4T4=1;pb$
z-gbP8g5Imie!XgtA2{~9?;31vI8IH+{f3^><L=Up3NQu*bhYh(Seo7{7i2Yoo?=?A
z-~<gpThixtH;f4_wC!;25WIE#djETD`_bE1_xNO82gOA`fV)XCCN3T|xJRMkjkI8}
zz^f3N`B(S?K#gj$4qj9Aojd<;A(`yZBgJe_TY(j?1)3LprPT0FFmKpHdUv43ucAZF
z{0U(1v>goQBuQh>9|YPN2eE9yuV8%uYiAl^u+vtM4VqvLzVjJrmwn~CEe;%;UbMw3
zNy$D79aH7(__l-KvPD%#=R6B&3v5!L%0C_Kn^R2yPS)ZBIxhfP<y6>{Kj`m76w$lG
z6v?3rnQ86c6=%JqzFF*XY|bq(j>&zg@X$Q(U*?yh?^TzM9xYYwiWzixawfv%y-H<O
zTV&K>Tc#b#ABG0;bCi$<l!!98w??63=3l2Y7vfu}Mr7*k(CAy1-4jAXlrX#8jC#wi
zKXeT-rWj5#2HTvS9SnYfNUj@Y{NL&sI1cXrrPnZXv!|$riUIA_^;%E^{;_L3U2eqR
zlDQ`HQP7N%osg)IAxy<?Aa1b1fIdzi3;GtNOCf81@64X#?j?#P^O_WCohKV)IWI|J
zfR__X%?M4QhY_k3Xb(S^=f8ai0K)r(nc8?{Ch4GnqkqbogQEj6pA@1FuBL;1tM1J1
zg0D_qKh_Vxz3AzhE04eDZQxY4G~J&Ec^^!<%p3YY)wym9CnEn*&de|pN*P-m4?Pe^
zLO$tyUfe1E^c3;3nBhn6wiV(#KqqPU`~KlCb1lt7XI<JmWWc_#_;7(`r!j70bF~!%
z?PnpXMZk+NzCC`1sIn`n`eVV66v4O}ZNXMVYzpY(lY<)mG@W(UyQgj4ADfdun<M8<
z!ttXA!5;po`a;b`Xmj<<*-o5IY~9chhO23IyJ-<I&eR7Uy?){e&F)AaN5t!$JATgB
zw#a$=7r&nqN|Woz*BnHTKe1}E_0}A(rFD26QnoHn%-!3<pd>U0oBX=^!YDJIh&t`L
zo;pBUsi!FYpy~M7Y7B*)a=sFcj6+^}aowHK^P!1rfZB~w@{<xrNJst|Lvi|12fy2-
zSU|w%f&P6s?`hLgb6*ceP(Q*_(#Xx9b28h8iLpAf2I3!DkO57k));|DFb{iKoPZ?l
zy62xM&xxlaw{5mM>5F`G`emgBQztdN2fz`swe<D6j+oA3*|ZY5h`f<5YtE}BrLGtx
z74GW6y{t)d%l^d~nOB<jV2+O*HDQ(8;^(7NlE8RAJ9_eHXKW@8)XnVvM>m6<lH+8L
zQQ%7`amu4v=@mu+gbS)mA7c!ZDGpApaA10Fq9@=LGsmz>iNK|$rJup+WRd|u*-SJ>
zZuDoEpfbhaE;`kZUHBhfWG|u3dRY#F{bmc6duwRk*`sDl)oaU}VW2@BO`EHuL32^<
z8QIiLNJ_G2qiW23v_YU6yoD_Sx^Zr)6i>D4k#gsK^HTQc1EVlpcm|tN_Uytseq%TE
zFJKuSuR(-ikMrfy>=jniXx4yPujyvG>m;u!M+`RRZQ|o`N4!k%V$DFdXQ<)<BSaO`
z4rQsZ1(f-Vq>SPQlUHWpJ3a0STqLS@JAbc{ux;3gqR@eCTAV(S?R`~v#1Zq@!)B?i
zhn0s@0p$z6vn&_%lp`JL<I)6DQ|$_?j}y%>V+Km4zoeFBplyk<<of`G&BXzF;F(Vw
zSnfkYat0D?$MBTHEfSKc7g?06i&&Dy60eCrbAuL@rqgw-q)cmnLyn=k<+}~ZSw8iS
z98Pje%&^en$ux{!SqOkc59c<DU<V!sTW$Ve0kI*0SYgoQK-X~|cZQ&VOm&$`aVG(F
zT@L#mGcn0;MT0dAwh2h57_}eP<)Dk-#MH^4ZAt4WvUY!0X})uTV$i!2pRh&sfv%w!
zsri-{a;wc^6ZDs0pwn!_GbnyLf+J%k%YzYnOZm9keWpx1N3?g#AS(LKpi0!!CjP1h
z0oDr@0YNw`%gOV3j>L)Hy2=En=oA(nqyj?U-xVaER|OYpmjeL%8wdOby<o`%3WOjV
zU9Ni)E=M)B+G&-_Mk6xP?SNs0@C#-c5~!5Ym>22OM*HntKp|o$Yz^)I@<Z^#R$#f>
zv3(@_@u#&(a4CNgztE*=g+E-~!sERafw}d`i}kv<$|{R^MC-i=SXx;H&Xm`v{enhL
z`l7)Fb%cgeE+3%8to-8i{+Iuiaah)VZusQ;?Opfa5s~1U?O$5+j_FxU67!B|kI3fb
zp7;d?hl_<5aXi!0gz|l77pxKM5u&#HXqR=%%UKZKcQD*hXt4BFKSdoZn6tOc2O4uT
zXc&6^@Uk%aL9r>vf-Zt4|2eK@$kby~{m3yv4Y9Dl@y~#7qT+svPf3Ne?hRs3L4`EN
zr?dXKRx;Q;4r`a2*pzashF)p!geD9(OG3o>f!uViE_ICY>=-a;=;r>XF#(y_<fl<C
zOQbkaXz9t+8wb#C44SKO0ZG1Jxx*#?SkRj6diL?Z_)YEx1_;b{wOXeJ&WGO{8=XR;
ze({I0r7#0_H%a%_jU^|@2r!YZ5Sp6KyIS5I6NMn}Mz3vr`0N(JabU@KADM!3eo%3;
zDwJOGbwrr-h}DZpmIrkAUo=!vWg*evtQAenk4~j_4;H|{h)omb*P#(A`VNH2pfnk>
zS!@3IWA#g@lQ|V+8bQ%~!j`~VvxXwhvwEu;lYbj9=dqxJ@`CeAJ|_1>3|P#9#q+EE
zQp@;6j{bLWg;lRyOm4dt_W6kV7zm|tIp~gY@YW_@Uq@z~qbtjwTpszKV#VPDF!p!T
z!ZvE$fmey5#j6VQny5b&PDsD!qN0Hy-*m6W!`wM|dxvyHqFRQAM!V9HE+S>H?8hd8
zgm*{)N~v?@zx(j%AH8$t?VId>ijh^v`Ej3_?)ze_7sr96blsL(e#)f0A++xLN_7yO
zuy3SS=4UVxa9Wb>I-yct(e^~ooH@OwS+J)Q(ir+Sf5WJoQ^HH)q}@x^GqkJci^U5$
zf?9u$E!uzu;Z`=P7Ee4o5Ph69FYfCT?z3A3JR3g#41NmwY3=^60c~bhyAfm##0-ZE
z&@kF<c4TSUKZcODkA&Zgf?vuj0pU1UqeX^hUQEoYNbqVM7XvMj8lKkhw)q*f!Gjhw
z8g#<_Q&|2&!ABSEHB)@gT7&nA-6d_1i;pY}Ije(}GyeN__HVBI@K}KOTHrTnKLmi)
z&p%LZAx*jo1Tn~uT0Fi2V=78+Te>HPBX}r#yUq#G8f)yRSlwP5dxKH1?+Go_%_0-b
z@y+E{Y1LTj^e{%s2Wft+Y#lem$4WUwcIQR-;Gr>|5_-&$>v(de`*EPv7vRp{dKpo)
zO0AEMz(lz5;ikfewGQ;}T*Pgo=O+PMXTDHz#^pe}@>_np<j&KayupbcZ|uLrX1DTQ
zwbCrPL97?-`;=o*%KTFgCf|^z?Mb<gF)(=|VT<Ik+sLpxVOE#DvA(^Kg2Ca*+@gRU
z_+~$$*4wzVG+3p<tTr=KV%DI6=3oy0uI9i5<$%PyUN&dBIdIpfhs?tC)!_!D(h@@0
zNT<l;<f0&1E7Itv#fFMy$F2@=&hu%&WZyDRBd*nkwjiNGFtiXXb5>q*q;oi7Zw=2L
zX+fQ~nrL4(#5jlvq-(XZh*fEM$mZ*Lz*w^lIP!+U(bSqPuZYo6IPAV+L#Y!fXb|?8
z{PiF+l1Ez#B(OIFPlqSf!PW%S78jG+B;^*UpHj%B_BCP8vmP~$Ma9VEtm$U6I*4X=
z_f~SJ!qKp4u%kJI2tln_1i5;pA+&SGq^uML(EZeCep(xhwiNX0a~Wrd=ACfI%%*DA
zE@vC3Kz>BdoTKLvp__5R9{htb%_px?fB5|P(~H^+x)xa=l&lG_7MTMu$?*r#lyN1Z
zmHCI0KMZjiHXjm=A<;SU*6k}w_qTS$T4and;8{qL1}G9J@L-9)hNz-LzFW-1KdIkk
z1BL^?j}nERLc4u-7ow<vVv)4OhpGEPsa#l4Vlg@~Jw><PL5MW(I)SKUdfhM!20EGM
zmtm$0@_W^l*VId-+lK+te8r2yVzB_1r}6lnK*ldSLRP12RTUbFf+{Ut4=o3rl?+dq
zgN!(cj44lxOMu6GcOolGi5z{}wrp0r)bPY_g3lj?a(ea#0YseM(nEZsughxqzdeNL
z9GPQ`@GTX_K~E%94EU;p_mE^2wsDR<^(h@B5qhU+S@6#`P16AFo#csr?qdV9$%VgT
zv3&1zM_1J?MfRjt<;yIc4lha<zCGi($zQ_MOf!KgiP5Sr%Ax{OE(V049ZM6UT;mGo
z4Iy~g8RR3|KDb90w&3R<;DG=KX0GRsziq^S*iO9#x_jpjzNQB64HwS7JU;e+9eiyw
z_cn|6F&#e;$pOCZ@xPw#A%1!>d9L;9ZW8g%?<bouy)rq7k0^eq^pJDO2lm9ze4v^K
z0`{Lb1}?5*{kGe|kvRV{I{w+z>q9kR&B{=D)pI4d^xQz)_TSovx$ld6XgAS#kuP}=
zA6O{i3Qo4VCh3)Sd=c!g(D5HXctbC<c9%}LPRT7@Dgg+HL1XYtMdjjNWpCP+MEHf4
z&7h^pC?>^f`ut7YZkS()U7=tTvn1#7JwwS;KLd5rM`H_Rq+$qkptG(J_-j2Wl|W&?
zmicqXp`;9_o(gd%?<gf5ekXobp*8vtqDGWyGxO60!#a*o##`~242x2S%(R#$hsFt4
z$4-NRFa`i$7YBp^wbv!;5fbp0083*3av^*&^tz5PCB6Oe;G8R6z^YCxz};twjHp7F
zLgu*W*HTrbWQZQcV501jDfk_%II^%B`9Y-1960J$!?8$R=9+A|HxQ1S0yqA3nk<Q@
zNaG!wP?pN?#Q&sm3sTUr?+i7ocPm`*q;jJKz}sWR;>Z0|xxpSWgd?>5BB=Ik9)hIT
z#?q|tOia(?N#~D-SX0P+md73S`1v^Gzh1heJiRZ-U`2vRf3*;-F~%ZdOFx31-^#4>
zD{&n9ks_o<_XvoF(GmT7Fz@DK4O|wCb22uY2mK67ko&af7o7`u<RJ_2tZgnDN-F?^
z0_p56Y*Q2aBfu?cDB&NF&cqn(g3+UaRMGV-VsWcE-7J0)Q3sw?@*JuLGV6!Pmd?z2
z`+XJhVxm0Ofec2m)NmE?zsC{M+QVS>3CAvutfP(>W>@b9xW5$$bi%uE9^0|3fAmQ<
zToyI>&lV7`6X~ao0D1<vF2<hM^3MWwe?dwTd5!hX0DbukH&{4lCEhWd180~F^aDsD
zH#39d@(qo?Aj$917k8hyz_e6aL=pMXB;UG>63+9bivc^zDjYtMF=@Go(`px(z(G9=
z1pR3}kS&d472iKDSw9J7j~iLUdbeDp*o-9cdg>q&F{hyLear#<dG2s6p$7&rEt-sD
z=O(ANiTLs<B_&M1Cnqc&Zuu=u7Y8C5hCIza1KW@_Y5mh;Q_VL2bYD2{j%Ya*-7Q11
zw87_G<b|9+La3*-(AZK|4WI1M5i#fp$tuj!stycbiQ(pwD<C_V$)~9xS~3>5dsZ)j
z+}GEPs8^JV)FuOrM@!V2AYVdt5QYCOMs;W`h;$Au@o2kS+!C;r=^%P@tBNzLRQ@!|
z!?mJzs9ieUHGER7N?M+lXx@u_e&H7q%)PM}=H#fyo!(kz@H0%9Ws`IY_vrnD4~#Q&
zF|Bz{rVMI6<?+zyDg<?lEK(DpAc$&-6e4tA1VICMfY5k5WWe_V7zcc8>49T0SA6WL
zLS%U~2@BVc?A9T@2u1L7GXPC4gGjtdQ4t94lh|HWf_OIO5sl8q4ToZ~98pip=iPuZ
zxWr+eKu7UUkT>g1N#)H)<7;8j>yuwQN0Ux7z#1J3hWQ0I^60?VD;{GNiY?rM;(?5j
z`gbf+>dGS_?suZKf)}Iz2Q1)Z|Np@PF7A|)R3N_~nWD|v|9V#P!L&t8b)e@oZqb6b
zJWP#F3c3b5o1JFOZhl{>^zliipg#9^jc*x~O=m>|)pH+TCjB93qBm<&*ueXdM)jRW
z@z*%e`nmmOEaLX>L<ZOX--(>w&C&Oawj;m~fz2LYMX(1+YYm|FbNAQ2g|Eu?_~|n7
zQjJZ5O<eTn`QCBLQ4yc{3iadNN*9(%i>U8W#@9A*Fw}dkdAA8hngA4ATy`gTy!^ci
z({R90W?)ij0@4hGw!dWOYhh+^#Z#rb;%uGzQG(xQq<6}IG=r)+hZp^2p!IVtz=KKy
zsKvQTAt+@9_^4!-H>XYfP~91aAj*`QBg-@F8SU2ElX}hJ!_Y{2ee+NiJJ1S%1uMV%
zKx~cr8BhH2&Yb{c4%{EU?|&YL;I)K1y$LYv);U<wTH6fPAonl832g$Y1C{4LdOKe}
z;<Upk&M42^bmGV>5ox$;C}4$DXh)Z1JTI(Ct>nl7OFBUA0J-*gwR6};y9AIsZ~$ip
z<PPZm;|}CFcc(}?LP#_H0DRiNrXaA4YspE=lpNl%ejq^%x9%u-tsKkJ)@js%I@o4~
z)1@HdPVHHQAdEv1G>OdX{La)+t&Y#7=>+>9@&ExM{N7T!w-;kArx(&Sm-K(Q1Ax(l
z|BwfcNJ8d0d4SRy#k>DVYpQ_Knq;aE9-y@5!YcU5<)yMEAYdh2g40nGnXC$N0bF+Z
zRQ?d$*OTo((wd!;f6|%?jlHoxUQWj`z#Od(P+H>xP61uj-WwB|WoP`NOA4e908GT?
zYeZ#phoGj--b8b(7yt{qvE(_4A@c8jO|ZbiYjy(0<LNW=j=;ietSK$l46gq?k>xzC
zJq3Y0e^Q(lig7#eW*z8kT5KcRAW%+T(j9|tab8*mO)2&0WF0gm@|s{0X$}i36*6D5
zit_?}8>fAGjG9935S13l;%Uahb=~h2hc*z81qZZdas52;04Z_j!{3kDSN&LZnp=9v
z>VVE6D%oxa)H&ND^U=~;;0kvxuU-Uu`z}Q3xl`nsprm?Hu2UJ(QfdODNB7;aQaOJF
zJyuEmPX!ork$g(>GMM1@hqpgssntqG8-7FIMN(yB)81#EwOHX~uurL)15$KoUJ5~A
zY5-syt6LK_V941iQ{}h-==vP?CY4&V*|w+aoz1TWs)?uaH@efys?b3+607h24rm}~
z@AyiGxl`rYh!W!<KU_47$LHG@tN<My_(9aD`A*c=<#~-;DBU^%U0KGl%RlA~*anke
zk}CBgQ!%8AD<5+A)s{-Iy=fHGiNg*{xYdKulQVd~tBcmHpG^q>#+!jPw(cVAH9`vT
zi!FL}24|8cd3nv+Xq@6EQS_{Cfnbd=$NXyUm5fgL+aNoRayG&Ac_&Vc{Fy`U5EjK+
zHPyuj9ri~QJXOa1M6Z8Nxj^`-i8+A5tuXmdv`CT=N85*qZ#?GnFUyiL{-a@`^N)ZA
z9<@Y4BS#^|ZXQ{Hw8eFiY;N-WN|y_)yawGv%da3bcem!eGz9Sb#~#1Qx24^SZJ$@r
z9)lmIJ=?_+*OoooB~bs3Kc3trE3hARU1irl$D2KUPZ-OW5;s)skgVTq5aCm=`+dGF
zisaXqyS{xnMna2bJ^`RspWffg>Z#DMtbUT=Mw$TfF+t|<=C(cnNM^I_@ej<3P=l3o
z5AdkgLV;I^+e#s|``b!-adKP^kOli5qclU;dW&!Lw=ziFkF}gcMZJ5=fyGv;d&ag(
zy0wXw0cUFK>qTXy3>fm4k90~^gwtzkM{61dt2v7SFFWZHOqFff4rPsBn=A_wXo##R
zW8{ECotM>rp4Zs?l2^i&v5O?`%h_RSl>`X$zJUjp9X>zvGzp-m&S~%1f*RxgBWbBI
z2ZMIb+4ec*9(VYz5)Fs5cQ=!FEYqbf5qk8rcJhnTb!Tgoy5xhFV^`x)tBM~ahga*v
zC?vCtgfHRD9%`!}ht+DNPg|NnvQIl2K+l-Z(MC|^_<dFmVYDy{J1bAuJUJP?1cBGz
z+E}43_qb$woezFS-sXWHGrwzb7lEGNvtk`gC1o#*S4ANn=ftHaU{-lC+!}@9kTf#t
z6;!yA;Xc!5Qd}<M99rMoHcMlBfQc5MEA$+64t)}?MW1RnSEeuN!^!{_z03O(@Z9_3
zs+9FRh-z7Xl-3F8HzEi~*oDDxF}gS2zv^Yb*JAyORV1QJV(^fu$j7J~q~rcYS;YTF
z??AK?U44dacS3q5*lv_{hii8|nD~8H5@?bd{ZIFMb$fCCy(uVn;(732QBq84w4LWc
zEXX%x=RInbR-KXq`~cyEGP>fl<qg}a*K;r~{GAf~As#GRYl$+daZHGfuoca=`or5#
zj%9}0!>XuGaovd|tVBq=NH7{=f!{a<Qp}>e+lCa02<<1Du;jsH29EcrQ1|V;klNpH
z^o*=|ml=c5Byg$QlhEUpKtlZeTM7$B3b_a15T+qDsC{sx@d3u6#*ek-nt^nP=25io
z(c@tmbu})^7GWKDLSe>YFxCm{ZImrXa24le+a1lP$h#f=B_CIzSVK}x;>Xxhd5jnJ
z+ue!Hs2tk}LRIGZ3c?|aWyNAPgZJ^2*ph7={5qvbD;4c<e%G?1HZ51eYs00W-(N->
z<1UbN2QrJ<zW^#*rKS!H3z@cC7RdJ)?s$P}y2m7Gorob1qn(HX2h@%co$~fsbsNn1
zC19dabrqYX!JHg$QaJ3gXtE*^?MsH5vvc{47?9wFBm8r#K|t9QQ!AkYl$*Wu2#u^F
z3BRR%V<7mA3Io*!TA%6``r}Ks0+*0cl0`sEshCOt1ppaZl$s$HHCd5|JanFC!k}{Y
zG=)CMS~Mi19={ZJ2?`}!&a~Q~WT}oHa$apkNYU0I3&tj&df)APi!q_flmyCr39iDz
z7H+9~TP%coFT>vZju05@qFsC*lr<DjBfcqJ5@jNV(}rnmP4;Y`VQft&$_dl3hJNJz
z3TSIGI$$}}8xdNBms`OJ`Wc}?pSm{CV%iMa3truDU7TYHJc*!yp@-B_F^GSQCb7pS
zWThw}2L=36b#7$A)PRNRT4nOGO6}G<QM9*CWvD^~j$lWzyOJ)zfm#eX^urn{$nCcj
zlxkqrJzL*OhB^pp<8S<8Q8*Cm6BMbH(NSX=Q@~NM@zQp=7_q-#W>?xvxjI;KAtHRh
zqRPMSB>$Y?qwlGo+<c*o^L_~;Ta$I<A_g|o&u&Ipt%YhR6bUEN49$gs@{e#&VLC`8
zuk{ouZ41Qrhfx(U0kk$=H3o{s^cNMd0k6Vu!~`BZpsWd<xga95BS?WDt(PF9pms+f
z0GME3y_$j?tefv_bvkrXM2Mx=@_jq9@b{i%^mT;G+uCLhDn$zoqnjmAl151#vP+nW
z*|C!qyQB&R2m0J!bN`e2>%i2X|8MHI15@ATzo}39FZKDod_RktE|Fb7i|}5gN@CGU
z;44_)okWvk(Q*KbQoyEbQTV?RnwrHwT$|3b?)qIaf*0isbo+ZTmJE7<kI^Lfdt@im
zB6a6g5;OAb!5Lh)z}GFpiO{P~{I5POVJjDMe#rD6s_$KCj6+@`x7QlNaNhsh5WF~0
zbUS~$O4_Nx=SH4yAXAhRacmBprHTe%5uo0U;1`c$!knS$vTwx-mAY}Y?$W)4=Odo6
z4gONTt<xEGA?qzEYSklA|D^%Fjv%Qqi*mM|p4Hu6_>pqk#!IjOdo(IIyug+wXm`yw
zP8=1fYROK<G8G9&Nwi<b@a<V;h~fzZgyiqnd98j3NDldCS5cRk$82|uL~0K}<h<Nk
z*K~mka9>^#v2;ub@~E-wq(ZaVO8h6Uje4o{HQTf6!q(t2qF8O6-Se&D--L(mez~N@
zSGen&HJ+d$=R&A3&eLco4)ftros><%d7|zF`=Ji!Mu?yI76LJF;wM$&FigC6TiiXM
ztwfpkUSK&nOrK18fU7$ww*`p3D;ib)^|up;#VR&Xr$UX>1KLOx*>=@uReu)Vkm^w!
z!qYBBt4fvJ{G4QSU!x?fBh6(nkFv#6ZlH6~Y9li=Xwk?47}e}SD>}&K__`!eTczo%
ztijEXg<X^ggThLh)fO`K2U5jC3*B@tmRXzXeOfx8`xaG&4!;tf0K_=*;UuWZB$D@g
zFysfznZ6)W*ZJN-trs9?a7?x+sje>vYv2XBMN?V)y&gnckn+Az>p@25@SclDZ7J*-
zC#)e1q<l5Qp`9DX_L-c6*-A}6pYOBS%4-?!J7td%Iz0{E+~aD@bxfx+)~v*546NUb
ztV9=NJMD$+f9dqh0I=4Tm7Ys4vyp$j58h#GAj=Ndge7Q&Z0`KP(uIGpgi$9`w9B#8
z_gtZh&%FpH%Ghd5vlIIO+cna5u{`vq{%UdmCPvFt>L!!FsCbbU(oW;;ty!18#}Vx2
zTj<W~(B_08$6Zu{)W|d2(Ri2@OkXLZ4kvzJOs)pmNI<@R1Nh7(7!}4T%4G=+wkm^q
zwOW{cDAQE9p9sgI!VfBur4{SkkHzvZ_E9+SbRA|XY#Noz;_4ls65`U^TPV@0Cak>y
zrHNe{#1JG7Yj~Z-5JdO0zAil`YjQiXXvNHuod_C@&7>rCjZh=I=P$<1LPh&SB}+ab
zImiNMaue?A2sqgpery@K@jL}14`0)d^w8%R?iIr#4!Y{LT48T|_B>rL%EK6MIn3kY
z&LShcg(?f9u3^NC!LUc440B2|g=)!<lOI#F+vM|)PTEr}BO5C*!rxoL*Y(9L+@RTN
zSu%p)-Zc5H%d)PlUEKA6zZ2m`G7JEEjfzSE{II}80iywuoFufB0a(*?NQu<a@IUX^
zNLXN;qu6<<7t>+!lcBmEXPx!Zj%<@oAcRXGW6oj9)kratLwttmd+XTH_L9hd#Qn}M
z6PS(t?nOQVy~J0&g2772pS<7H&=W)>NLYSiFuIc^;60yjF^DAX+b`I&<~v>8t)Q?a
zGzvJR00?q*?Z1y;C?@xK3YntDTVBgZcBR3MfQ;;Gr{I#|!&~Xwz&O(vx>t}46TnzY
zsAk`{+cxM(u|@fjhd0l=5Eqlgmq{hO9U?j(2<Hk<9*gFlRz{3E69aK}-=IQke6f)r
zDd$ennH)mbN~SuC$0qW2e?iG;VTnX#n1E9nfRN>jfRTQ*GjQ$}7=-Tfzm0$kvQ~gS
z$>Dbw8tX+tP>eI8p;0^^QUn=Bn~BNr{AUVmq;s5<3Bi6TGS&MHE%1m&SJ4g^h;j+S
ztOb4TqKj?gxZ0%K(bVB#T<&!)=3a<GK6xe*WbYiqeDwL9XSMsWyNN3+`aS@H=a|gN
ze8d5Y!nrGbE_($_U%k_ONjS*hfOG~f*rXqK(itK41tX=063uYN-wjxXngayqwx0-c
zf{L4V<Tq)sgryrinRCy-$Z)X(@@GKj34d_Kkqyq=^W;EKtAP2EM)jR>ayun3`dyWu
zPh9F%yY117`9n3UX)!?zV#5KlK!|Fnd@CfU-@JxnHBk)wS2Kp9FJll$Gfzep-((Wd
z2VsU(nE!h5xCbcQ!r5h*pci?;ViqTwpx5;WqpQU7s)VL3E4#rfwyFLpNRlmO<~kRi
z#6sE(wlRz2*-9hpyb_4F!o{(bv$n(k_dj&0^1J`G`e9kLT9(pLx(`@MPf9feH=xu1
zH{den#``sPZAgvRvJt5-ilxk#r`j0+tnQq#ragZP^SDM{WQ_^@*38X<_@1{-iJC^1
zf-pyxAUFQN5fe<7(qjBNN-pO7GT(UlerVg#94qQgnar8{Zm_iqejq(W#rmrW-hYqY
z+)&SHzO((2ngTY;2T<DctYa-=XlwYDFdcE*1RM7^ey<50kuq|w34Uo8Ry3ubjp*uW
zA%f%7TM`{Ug2QIw-54?a>~#<qqym4L`(H3hw1`&*D|d;#1Nj&JtP40JR%aQ@N0ipo
zmxysEdkGSpXWMeJ*L7Nm=|3uPE~2-ZS?L(dhC5X|0*pZaWV5AyJxfwYRBnB(ETk%x
z_<}2_4wUfm7gN>If9<-zS!So|<^=;TJ2~|pjBKQvOelQnpKLc7KeWR}W^%?(&9wnC
zWyMMpU&WA*FPLB{C-RU)<B%iUYr>?#t@-2Pq+txGbfi2S#o9>94qd7xzclcqbEL={
zU*cpmrSXer+QH;2RXeRco7H|C>odsfe?A+oKeURY)mh|Yi9Fss^iS=84l|n){XZBM
z*Z;c3vU4-DrQ8&Y0XCA!TYwsw8z6?25JKbDd((=IdC-StgpVTf40@gYxIXEk&HQ(V
zuOvA&>->D%8e{8E{Wt#EqNz%L6`7M_nYE=I`yukS|M<xqdffk|a(?@BBw_c%zGq|f
zJz?Xnm#S^U)3FcaGu2{#xZ-k3Gv`I7BW+Gzq_QT#CK?X#dFF9Hbk#&>UPk?RHBx2E
zqW!b`uFLV{U+FSII-#tB!7HK)ZQtvnEuc3^O<K-(wXTcBYP057M=pTWHpXriuymPs
zn=>3Ewy@JZ`nx~uinRdFr3YZlpt|1aVn;t}4BK(fgUCRCLYn%>-X$}(Xr=3^PnZ^7
z&=WApoC>&?xFn>2XQP<Cw)`iP@nD+&SKiF{38D5s<;||VJKI?Mp)FM2rA|BzkGiz>
z`d)MBFesC*o<9CSy*BvDA(T%fSgcZpuZKL`-fxazch7{}e@-1A#AS=FenNo08-a_#
zis7{iLLj5|YyrWp;`1FtN5QR3X{~yPbOk_}6}hT?Uxzir*mJywh=N9EO+-+jV34}4
z^SY>1<5K?^MyqqQ0*@G#X5dR{*rpHsb6hUfO3|h-S)b3-!`agr6OKu0gWNwKnXZg8
zR}kh_f1pr?(?G?W!&`p0HQl(KbxNd&XOo{Kq)}vqpM(UHrPL~VtluQMwhxm<0sw~m
ziP$L)M7x~57#04ZU5aD>LA#6yKm`e6AG<aXWHy>%PTPC(MmBH>=qLX_w%$2PvL<LB
zY}>YNPTRI^Yo?89R@*kGZQC}cZQFMDG`8Mvf8Xx@vFFr@%sMCQ#?8vi=iZErh-ZC~
zfT61Bq+MuM-y6Lvt+Q6|Vxe-GGyTE+zR0TCq|MCchZnl%=ypzNMAJ5kt56Zqf7Y(X
zfk6ndpW6fP#f=5c(S<=4dFEX7_BCY2fYA23e?~xi7bwu)g$T5F@kSzMk3U3BM=bvr
zE|ZSlkcEEp*G1IZh9HU>w_z*kaShzFW6J!O_M|qDhh03hvxzU4heZi!?}D88NeHxe
z;n2<ZFN^Z7p293YA2Jpf0&~b|6w_F2{*<tm7kg>YFblPmSOu>>2a}-JAF>8uR)gi_
zYc_{y6CxDo!WE!7vw>ZM1VO@kBJG!YetF{uPIMI(2SM^TmPV<r`mg5)=QPQ!gayA~
z=^A%6+cScvC;z$hfgXB1g;O`8k3a6U%y$(5S@P+D7`Kl9Ekg>br6^bx06|W4!beh6
z)uI}(KCNCxVubPsX<>@u$ORK%UOk@Ty|`=|rO$=4F8K??#X7lON&ghD{O6(vCDS8f
z#@63n-XFF^utJDlKYun6lcsZeDc1V?k|@aW7|8}U`4`>X6babHMt~jK9y5U#fus8J
zSn0{qqXdZCjEK=aDLGpxu9Cz>mN5MRfz{XHUw=!*k+j~*npl&`m~htwIMY&VZ){}6
z{ov~TG^LUU*BoGNEhZPVo#A~A6ti1NMbagG5_D-XMq&EZU$&Xb{d+#4!Jq@_-e$tx
zdib?g7t@|xGx@thWABHl#9OU4Vguo&B*{e<^>`SCLBBs~j&yj4?8+)fDSD1Hxk#q&
zBnZ+i^8+Ca(gY@?T6`TVpe>_af+v9I512*>tf)wFo<uX0`ubW?bVgu->g^il6f`QS
zcOgbvk~%aW(wrdQShhAcoWQ{H#Fe157y@qKc{wt;Lc1f)bj-W8)`!VCc?~UY>|4!Z
zSPym?vH%+!!ToAk+_UE4cHqd+7N6D%6x8By@*vm~H@MHE+O`}VAPcRcX(jkokor*z
z2LkJNw#QD0f*(aLAiY-prI_KJK&E8A7)$U6R*1np7tD2~Gx`cux8}ARd_p6sMU&mW
zf8B<v5nCGo8xP55H1Q94U+)P9Mic&Xh}#Kb7E=itVrSSD%=T5*2g3mGYOYFTNsuca
z_0U6R-k8yCLREz*z%8u93m%#}Mj8+LjW_Id_H_AcrH&WXPT%N9pX(`Y)8i#|QBIJB
zn9PWc(z0VdYd$@E^>}8IVExI}pIKHNJI!vO6suG`O|Qz=pmsfII3_UP7RjZsbBxIe
zByZ5v8?lJl<CaQ|4qCApZBu8Nx(-**yHMmGDGq!!OpF8^*JH;ym1~F3S~QwZKRu{v
z6f-BD?*D!!=*Izd@9MiuM$LwBPs~Qm#N2~vs<<Gojwhe3r~x#I##(CzMT2mmjUZ8^
zqj@3X8@2^x5^vHOM>h$TF_QoD+QlX@ggQ@zwZu0rO6b4)RVC7C8dnF^AxVV$WS|4?
z%Umz{ApIL)K5J%%xV{kpkyPYskf^e@kLeknMtw+%_q9IBfjGq}`}?0Km5ekI+F!vZ
zB558#K;91J3%}988Ws_1cFS!=I>?TW-(pIwOX@hhE^B|eri6SrCT6y+#!#@fO21R>
z??-^XA%yFbb*2;%@iz~bo`wJD!dW?*?kFhUXsj~8koa7x(CIR)pFPDx8j2Cwg|A<1
z%@0BO=o!vBU~P{0;GGl@v*rXc#xB?3N*nP(1<4!=^KZmzGU{JnM^;){P7yFf?Ho40
zc)*JkXGA#}<g|DO?xc^9=W6AxdB$oKO~d%lX`AMuCg_lJ1V84%RN3&|0riEtJTyzI
z_u>E`yh!J1aUdL`n%CAuJW!LcIT}6Ui8L)R``2iA9v>DiHDag^!5*~h7V8MN5Xz1m
z!W{o|HtRG>RV(&>xK{1-sLWZ=OYByxF`dqw57DPL8S~IF<@=gdczfF@J$PrL*w8~4
zic%V7d@QlB)ab!RB8%kCNpd@Gs8>d$HZnZGtVFG(bTYY7iTzi@<B-_QK>tK(d6d;&
z^ASX)tTGBnI8iY}=_QA29y+MEZWPw(#7vS4n4shCV%D`8=EEncwf|V2x^T6F=INV=
z&V`;0Pk+U;RwoOtE<1=On?N$RFN|$I`c(Be&CIEEAi^hCwKxiel{=gsc?pk&t_%ra
zffCOyaE_%l)nux9-3Hbr@NxNWs<Iqiw1V*<UN!_hNIcAP54Qq=F6XqwZZp}k8-WGc
z?9&?rf`K2MC-mM`@?4qC8lC*|mL_d(s)JuCKp;WiuddK|%2a#`&KfU1Iw%xh-lPY#
zKodv4o4BuKN*82Y^(Sa>UWbe&{YpJR)+XO>0;2XTkgl~vN164^ibElwLWXP5`b$m0
z_FhaLDv3Bx8Wjsk|3=%}Obt*#(ahCs(e)f^!rT2EDooeRMNg8ljt_NKWR+3AxQGWg
z5kRNi4wWo7jCSvMIsL)VC_j)ng*4NjIyLV{z(ZT>XGg_%-DcTv`kOR~@md#v$9Gv%
zT;G)YavS~O=!R+##UCP|?U1YwOF#3S?ZOm(GQ)%Yr}fKOiN9I4g8bh}Rs>g<5C^$=
zW|XtJEWzfl5B?dR3;*1sH%pzw?qGJ>=>Y|$g$0SeQ2m%J%%u}c4M^PTaB;56ig9ZR
z^$y*b@rFAT-^wrx+!`e=k_LSM5Fav3cnwlvi^wMFNicOR<EQUVq0Ho(92lB3u5gaY
z!#;;N=XynUByPiRDEsY*${}Jst1??r^8e|g$qntJ#Tm2WC4bs-;I+%7Yfh_m(66v|
z*l7xYvUP}6#)9B(<!ea!)1OY4P-|Zo?UN=w`}|1U&tGRV<R5a3UK|3TDHl_@Lzbzc
zPYN5b{dEYq9&?0znX4h7)gh_j`=Q_Od+HtWFLU${qLw4^)s?{13$d-K61@fq*j*(}
z+%QZob%ujnO&ULyqv)&59Q5-W?@e1DCq0$tQpE(WuF80&rpEMar0gH!3fXEfYWa>i
znRhDVWg3O2>ZYn$F0cat!<jQaZw09s`3gml@DC{rZ~-+$To(h(!gfQn=;L^qvG_qM
z9Pd3(GdMFRZd`%ie(sRbGz<BojHS?j;gMz|=YozQp@$;p|F<wybIdE0u64p;j$U$N
z3L73+1@;vO*g2NTA<z;6HjbVYHf=2|MSnUml$B%&z=#j_G)WJ(G`Ij89`3!iOwiLa
zk!6MyyeV<wR2Z`%Vo_?_bb62V*910>W|CsA!^>kxxlH5vQ%E_iuG{;-A`m!yb@Hj=
z3GlAssNAf|f`@Bd#d`u<ZIs4HzX<J2U<+b*wPtxlbqgMjfoIQ{u8Pom`9#m0<zd6p
zFBpRW7|LIZ42)G_7eBqMFv*iGC1{|k>3s7rRS|SG-i7Il(k(fqY32u=`FE&LS;<on
zMD3?UNQlcrDgPv}OB!f}TGyn(6!1_av!2$W4jKMt>Xg|u3Z65xj0-Q6NwvWLs|yM1
zgG-7@hN<@-qICE`UXD>#r^rJ_C+Vrtm+t{mMe9ljJStOs_-kn#)EQPXPOl8BDNH2?
zaEJBnDAQPSmFZ<jINk9>)om$pi};ph2RP{n^O{Y^*ID!#$ANguLpgPw^vENN*<@0j
zR9vJ7^UDs`!g4Wbf<|P5J+0~bklo!(>k;}Ig#7S#*tMo~#N2R5<Xm+~vT^Zo>oA}R
zQcL$VP)!rU@K4T7%`3g%Y@~wMu+g1Z)hWOF2d2<a1szR2o|-bGp7ZKDl9of?lYa!3
z#&YW2IdD(;c#a5GuI^CfuU^50Q<P933s!-lQ3Ik8NryagJvGzsNVHsK{Tpw&D%_2d
zNHHq>A`>g-ACnF0U3WZo{%9&TA~2tYC+fwOfDe-U%en0R<KYui?NIktmbQVXk}aJR
zBb$g8Kf30`WV>IEjN2|Xv-NNh?`;ycsYLPr7F9f+DrY1bF=-klwFAPbk|FI)RVbE`
zHp1zss+h-4(i-WsMK1hceXFWZ_;A0_`6A!OvLqvb*^|wBDp&Jw0F?E1L>V85o<B`n
ziGfR6({qh0#*_u;8`6)Bq}#)hYr_4A7x=2T^gwLEXS#Ivf6E=XmZY<b+UKGQ^tO>=
z7qlwga>fG<YJ^c~4N6dr3OX%+I*k;BMaTyq1lQ3J`m#9pqp_FL@QYXkEoI_&!#u&q
z)ucVR^TO_KK$z#(UByHgmvHl(NWg4wX2V2d&hG=+i<H>2O!mHCkN$K<R&St~x~#>G
zAO4ZrD*s#H|65j?Ykt%Xaa@OQqNJF25fM&lUT0&n!x-U7G$-JtBNQXoN(mGdyk8>U
z&yXEWzaYan^^&2^6e}SRL#kA~3_FRTEg1srnLir8aZwg?2xm2=HyDnN<>@><_Kks5
z^LiPZ`)d*kRFQz&<(b)brK8!;_R#TQs{qH|R2KMVGj4&u8!M)%40Sb;P<x58LKs!G
zi}2Vjj`!D0iJV?K==pi&J#{XuU?TS=i?8-fPm=i-lSn_X`%yU`H1R-4HHG=YuLw|q
z%er^wR|pqVcI_&p5+bSYuK6j7S@%d`c()*DRaXB~Apf!F{3TsmN)fO{16EMgd#;rU
zQvez3fP{Ni`<_7c1HwT#fO4;8rG215BGXAO!u2g>R<{c>KPQ_^2vrw9b{fuFCfb@Z
z2XkAAb!#4kYnfSP49Mp98z#g*C({bn2AwDECHa_NQFwxM!jm1k^H=pTrahT_^Ban0
zfR{Gp8TBP+wc3#uRk1Tt!JEZ4!~n?=mxQQUbW%2aSdk-}tmS8J<p+La-e8@*OT2`#
zy<c;lhd-?u=25Hh#;sr1o6t{wIO?RgR(x<)F4iRMHqpk<u^-3)exkprf!6{rGIZ1-
zcs(b*9ilYVB`62dD*X$=(F-Wt_+#P(HDlbW+A~(3N#hvaq1J2@Zy7nNhLvv?Qs}gZ
z{NL4Re#U(OgZ+0D8uRS=;m#~%@ClV!VWqIcBG|+(Rgebkjz;I#c7&U-&TmlF(nj9@
zuQ?>Cd<+?!g_SL-b4(PF^FLOQ&>J9Su#3*YEmm>k(3W!x_y)m<i4;mtAAD3jZXbhS
zcek1b???GH9gfX919(05M&)1CFV$kf;)<ecfIf3$o8f-$<4a>_rIsMfN^W<XZjDgq
z`)G>x_XF?e)8+MhvmRR>08W7Z*U{6}L*<pM6Juabcl-*|7=TCmy|%M5u0&{CnjJd7
z1hCDoW7$YUz4iF?tiv=vGBf{oonFWnFDk`_Dg7)fi&}Qw6V}-aEvgts^7HMPYp#<*
zz(qSSd|M&C`zaG+(@*qEu;d~+v$<ixyArz*r{eu7%VK#Qx8iz*OKGS}`b^#xCniX3
z0pA>GjLlte0BGUP^D>r}&WX;bJZ4o!qja?{q}?_CaIW`zkFL>ojh_fVd(duO-1f9g
z{D8SAIk983tT+E$ig|oMyZC46B6gL&4F>M|c1@)RovVi;^kwtQ3}(7I=i&Hj>7SPK
z^Vj>1EBH=NK}}K3)5^5Bl*jA!1Wc)A#`ov&Qka&PApk)KTds0{E4)ND$;Cjn;O?dA
z-t@<SA>TQSExJw$S|!3(;*u>_+lO0vP>QCRqh};nbGV(AbT5{kqkw^4Eq22n!MDS#
zSLQu26w;7H6xGNxiH}Q}XxiMX{hw#dq&e9+VC}$1Lrpkq8D?51R8iVUWgQg7Ruszq
zmcFH25P)`-!W)*<pZ{IR7HeXX^7H;@dW?tu_D#XVu&zl=k(2m)^2&&UM<tELK1rXS
zuf>%^VG0*UbNwnlo=k4-RsQ}a-c5FT4^46IW^#$jRMwivq_c>}peYA0;qO7ijRA3-
zQjx9J`VbMAY8Q2GxVnnJxOlxdn8ig#goxm@nSipkZrGv>U{(%?;AGVzAypNXvjT``
zQ`FLx*MW2z%B}sTymS-=`L6omU}sT1ccJ{r605sL^55$z=EZtyM)1V=5L-DD)q1#X
zPzf*-C~R`zF{*z$;PA9%^8z5HI9jZ%P^8Kai8OIlCPj%TMWd*wZMSVT#+0l4iI(V)
zX92bv&`!;8lJopQn(Yu(?hXa~9_UA8mfgyTi#i<ftyyh~<f8K&Y~8+U*Spa595CIh
zXD=80g<^SgUtw<B4SxAE^mPn>1*3A+VW*S!^d494HfehijFOpWeou?lchn3vuXqq;
zFL7Bgw*u@W_3vQJ>K4p!ol3dnWQv!k0s&~a?TB;}hSnv8py=>t_Mwc$1*p>H6L1J{
z^}@s&&96(EwlpgNUcI3gg4<{?&B_ChSG+yVg<bo#8zIRd@^a-&?!74NkY`U<om#EE
zAJ%9~OO;$o99zEli;vS-ipicjn%}(8r^Z;a(7C12R;)Z0@W~|t8-Wf^@U36A3IMd2
z(hnGguRrR%nd-Jlf?MT>2U+RX^NX#4njLvn(+Ul8W50B#Th8PhZ#7);UGxPG(}HS-
zF!O4MG$a!^WtGcFviIE-S-3UmLo0u#C_`w5|8HTw1Wk=k<BNF=y61|7iXT<sSEP~l
zfj~`VbU6sCPhRuxL(LrkxM6p!Ai}Nb;J4(?Y1bilOiT+!k3N(VD}~!6hEn9L!KqQz
z$K+-VJp{>Go+OY`YcZ*ECXgS7k~!i|jYM>wh!K`q@JD?I&38pYgq7715Ur5%5kZSI
zLW)->ATR9Tw<6J)Iq^^aWEFjSrRV1DRv_m_6FNAR3NIwkh*pXPFg}k-{#_n0Wlq~1
zq;r~r5V6Nu!y+f^=5;*aXl7Q<39UP5<@WRS^)d}f?n{5?pWzdNM`f<RyXmCIO?}<1
zOLiR#pCJ$>2Ul(tWXt!qvBuc4N0pWFFBi@a`S{6Ut=iO3+JieQ&N<~(nQyyJG&1j6
zC?8luO6%vX-Hez8NO~=MfhQ~3to6AWpO{wd@1CK2shdFE|6ucmL>1Nax`vJa$XigB
zSavFcKPvf7c49r#)y)8W9gGi7SF|NR(oN6s&d^%cEVv@oxX83#JQ5_eZ%ZaM)I?LA
zX%vUwvMFDV+I?K=C+{Jqtg6oE4`%WF<WwiL*@O}0EP;ms_(Y!~YrXPG@c&Jdjlzjn
z{JZUMFM~dOdE{?jVWO#rsPW=qw##Q4ZJxv&AX^Q0S3TsfDwnjaDW<Uw8HVQTA4TAc
z5l`P0O@8?9UnrPTr{ch=pa~`ATg87X6|xi=)7?jm8HkCL^k1RD1X|fMw4$wq*&dV;
z{={h6i331$_(j{ez}7u4?SQZy$=-p?fs>z#M;9u|QtU!8Fm+cVjXvN7-4YmUIj4=J
zP^qeE4{5V)qlxI1?P1Y%q@kx>)`w(WsH0_%sqR#M;OZFQX79HrC1d@$T0>zgd>DBB
zd&~}&YI-r?`XvoBk1XwRQW_qf>OfvISqo#ygBEc1oP&)!<+0yT+LTpXeO6qP#=S=Y
zE=I+G7<vT8q?{QHsE!*^wY>&LXkDT~or@`)2{fSF`{pyIQCeqVLs0E{?P5e1ljG8X
z1Hf#e!|h<q4ZC7hMMk<zhiTHQ+4d?hRax{b1~ll4j2q6)|KuMLBVPTA0#hXC#zP<J
zas&vPOy!29V+}!`GbiGm2#|#=FWMT(@+PbPU^KG~k{wl6c}HEFTZ)0iq(M^NLsC}J
zAmM*EH&@S#CRfMUK_D{dfv1~&QG&t*-UGj?6c!5&agvm{M3<s=Y^3S%ZbCI1P6g%w
zxt;}!I(@KI!?}0})*a!q%|L{!e=zzaDZnFcMp(3JYSf-gR9cR*CD|1wxd~y*whWAT
zzn}8(PIE>x-xj~jT%4oWyJPOdRnI(p_&3Fxq4T%F1qCJ6e3=L*A~zwi(aU5B-o7DI
zjd%12r8?@2L4vMz^uGVdv;T+&<bAu6WC`m8cY)L0-`CBf&RHDaZ*yyX-o!f{4gfMM
zErQkNaw4-C%d{k84sKMG3b<A1zUg9}r~lCWXr~)k$BTVec5~5}SBGB#X@v0@vOZ0p
z0Uo@j=E!iJfos*~5K~lpR=5MdoQ%>nm1X^sGNcg8QBfM%^(MsD_K>WU>q3Z}vi=Ls
zkuwIzBECO?E%;dfsMg+D(3juE3V^I}Zyy9w<pdS7@d7If9Ay)p&u6Z|{(K7mpT7ok
zj{@-EaP66{6agAH^vOqsOZpp9UJyDdn7>&WqI-3UHhu2w;p4p8v)cXIZ7u`b?zV%e
z-rxBTI#!iZ`SzN&Le5=OxX#4pFXOABn(!8m<oj3&LM&4AKZG#(RzJi8k^u`Ja`DIP
zu<3eJ`)llUlZNEZt0%v0&f=<8mTMeNZgk(tFDg~U0OkTXPQYq^_(E^)6YtpC`a<j7
zi%IvInSjQ1YpY+zQ+rYFll*OnHgX601+**mGW(WTRjo?j-p-6yi9)V-SKa7)5F-jn
z(tp2~KLNd{ya@gJtl9w}c1jJuH~M^<C<FY~agDpztbAkALcgM)BF$ywFCQ!ro`)-j
zg$jL}ZC_^`jjA(Yjs0Ina<<UCh_^2cw$X`9&HP`=&HZ0!URAqlJJ@gjxmj%&UbAke
zu~<|2gYFi#dF>j*odh6bL0drxTd_kTpb&=;q4vJopZJ3w-betp$;EoSx~5j3r<hR}
zromu*F{5KqdigS-P~Mj+a)8o!Ngf==x6ZaC0Q407I9WiT$d&lC(%@9iq$SA=^1a*~
z<Q=Gc7O49XsQa|=n)Gyq#o7|sx{zDAgB$r%)=T<TDG!-9%f=Yk^bzEJ$%79OK^VY%
zPlWpjFoHW4A~;<VJhe-1I<?B<>L0zb@}LIRm^B&SaZf8Xg8ZP~ZI|+Ti67~R8Zqr*
z9-WaN>8`hv``*-N<2<QeMAK_4(2xFUP>-=MnZ+}c&MNm3-^&w_=;ws-*M09^QJ(&+
z+d=lEdW5+j_K5oQ8@n0VA`kkQOjr{lI64A=9?7LQZCWMA9Xhooa2t)%7**+BvrlMM
zhW?AbU#i&q0y(llV6u<CH%+^zy6%>kaDW6)mTFHc@KMR3-KpkPBhrXd=?NAN`UIUQ
z<Tieto?Hv!Y9Ofz_yk#3*+N~9y1{w|x88wokqUVp{ZP~-5blAHkMa%fdc0c%3GxAS
zO}mU~(TDoZkRoe_{~sv?@%CF<>78_pxih}BZ%0wrd<>{H9;h`CsFf6`Rg6djS)?Zv
zM75V54DL{6bGmXh=%qFfMrVhbHi?juFuwcUvg+pEV5|q*L@4P~O7z(x_ma~X=R&RT
zkbS_sn9Sh9reEI~xe~xH$9=V*k;RwIHB{yGBlxIrX#P#d)9t%(D1LyDfD)K*1??g^
zdj>5x$>*AZ^|eOLtoFt=J^k(LPgukm9(o+q^59T=(Kie0LV_hIJ$8(!w*P^6=)+Yv
z6=%0!BRz+-tpcTKp2!_TQfeZX^+&Q(wxBRJZOqA15wVIa95!GnSa^o^058oy5iRX4
zomFS9dZbq6FC_x3`@fnHzTn`vGgLW(D9q?d+Y~9O<_hvM-J_v;-6OQRb2)<I;!Vl5
zFdiwfl=0P!CjtegGa;!#2*X1H#Io(_IfQVaVEK#9E2XA!;==LS@W6vt;?2;{n4byX
zLC#6tCcpWz0Z@mbbC&6iPF`fgm6G{&XCT|*ds3A8_Enx;SWXCw!Az*LN*@zf+0%(G
z$c~3ynK~0a0-P1>g-*Z)$uDfCTfWZH61}tKAe92GJyiRBX*9rIj;%XjHEaXAQ_0P^
zld;d*k)pS=YwvGQbDjUZ8ZaFi4*nsQFZDs+qeq4WxOHGYCR!@^qFl4T``$Ly0xzKy
zayE=#UfWIUIl72{SgHViC#u4`CqL=0ApHh835gL>bjo0KS8vZowC^6H1aFe+Pb=_U
z$_d!1<zpvyLuTy_6=8=(U?CnBSj6I+U7G>}pOVUlo~rHH&@uLZ^G<jfOaESVHzK&K
zuQUP7H{>R4&$5^q*(BGR6#*CBKisoQjX^(2;G(PR&3znD<I=YbBh*k31K*iEO7xo!
z+JsjjQm39kE>lc~UNVbj2Avh|&AlVJ%70!7m<WCQ42I5-@?rj?xBv3sOTABoyG4w<
ziQKZhgk$40v&+;~T0*+H;D&Gwgf)R6Z$PuH<IJvMHQpw2pTWhe;u#s=McFk<t|IuB
z+BnFT$W8IBp@mh~%jEQL=ruDRX4Y8{fd5V2FKatOYddZsVK)?y;HUi#$WM@E578?X
zr_UoGt+73%Q$~&(r?Kui`9ZhrXc6usqm&P;=~Qd>?Gj9a1J7<HD%uXxoo|GZ7r^J8
z&=0wxGL}y3jxQDT76@mzKsXBq!r2}W&IW*RHk3vqeCPowLdtL3`90D>2P3jmN@GTd
zN$A+!W|?>6Y*5#OZ7k&SIoexYGX#Iob=14Nukm4`{P8PQAFX;mjv$TLIl;XJ&2Ntz
zn?RBzWhfLs0QGc}z%=D<sTQEdvlp3z4+xi7NIZ;~6(m~P1WAlsQ7nAD75TXs-n&B5
zYQVs&tljx)_E$EO=d0`b3b9%;Cgm)qBYwH2*ALxBtRKzPTFvBx>7)8!*i-^#>fLBV
z$$SAZ=h6KEoB4{Pwskp?O5w#A69+KSu^IeQ`vpA~uz~Y`3=-J?F9$LA|C5n~m76PR
zcvUQ^=L`uDavj9wl1|S37X?M+7Nm2Pdth*nbETD9gR=Nb)dO>3-qm;+-_OxOvE?z1
z?rE}$PGe=~dYJ4+;vGoi`?RpdB^3FR+trQ!lDqkNrC0;#n)&wrbp5`Pa?S(DHd-Gn
zejbc^Y;YZQ|HtyP^{)&_@}s2W(JS!zF0w``>kD}QH%MQv4Rp*X?X}NMQD*Yh^kWqX
zTOdyQ&oM*5_v==czBRl|u{Kd>-1_N;2$1ZhRb&-GHnG?lBj?y3A2`ajxN~#nt;;Og
zxiGT=^vqa%^dK5Cjc#4sL?$*ImjHTZoU`yq)hg{!LYFf<dA^U+iSalro&_D6q*A<l
z11h6&#2ib7N@su+f&*vh?<FiMHuOrlB`v@drW{P|#AhF82hEuD1fJhVA|Vn*&w@K0
z`9O?=fWEvR%>w2y#T9vf&2o!o_3Bleej&Q?b1F?mx&D@czWwLHk;2iuw;i^71|zhk
zbM{m)(JR#X?<hwnn9||dm6tH)umaHyV85D}oqL9PXj<I)!hy;`b#Dq}`9T^#Z^qZ(
z6J(mBwPI-l8_vSI-`1OVIK<K?t}5gT>{4>r_WAQgDHhFktemJy>*<vx2#sd;)`-4+
z=Oc5pw9h$aF<GadVLE%Nd5sq@vX*y%7w^hoDletR5R0Yes?!qA8p!{Sj|hJRz?^L3
z$HvC@p}#3DciGE!)tuuc^X0|4P*SR-`L#gS=lOZeyR&?1OlzCOqpd5GTXR6_f~#<A
z_(#y}A`6-bZ@9~VKe`Gh6gstFE^8I(azig2n8~#4A6X2Gtc`pGoD!&Jv!~nzc3~jn
z!MQaq&6>pUff&VK4ERz2wX}@_;2j;4Qzs;qJBnet>Mn$}Kh?xZQdNG8iK?e_IQV(K
z?fCaVa*ko?%%9ye&BVK=<MvciM3@r3jU1!@EE3V{Xl$PTnis-qkl^O<2=PwhcHVbb
zPRWeS*BZhlgp48))`b|7Nsd64pZOv5UD`C&DOC^A!>)Fe147gk(UwnucIy6{dObxt
zf9lZSf+D4R-)+MYTrHcq1n#<bHpG?Y%>{M9o1y|8eya@1MqvDU?w15{N*u>XQn{vv
z)>I}vWxmYny#QOT*dNYD3vG6>ufXGyn}LgUkNW5r1DIG}fK_pwyJ3!?>;h^r+`2lU
z$nfy!BVh%n`aEix&pmK|49;u)Yp6P;;=rj|4@PG1vGK|*I$7GU&bK6T%HqE`k_Bch
zLGNGT?r)V75t*RnnhSDud3rV?Se*G;y4sJ+qD!Bj(8n8@>;x(@Lj^L@cC7o4ZwXXu
zi)rG;ilgdr3N&u&`Sy(J#d<O4AtXQd)xVk)?|4YKKR|E^{4fBCOnX6HQ=(5C44*%3
zQhUO^=1|l8Yz5k?s~ehDD|P&aD;WaML*R>lOH`KON!6Ny*3y@%j}4>Pbjw@Op<%}r
z&X+I{k*{-qF6qv9lF+2GQY|OuNLs7c96Q%P?t$m51xr_=>Xz4=+Q7<X8U`*GxJF{q
z9j=JQGlGK`9uWXKovJlT;bSLqy91WmYR|z4>rhk-Fz6Isf_dp&7uUhYCX=iR;{HOU
zJrGv!9q1g5iKrk9vi7HtM>e`OhdnG!Lz-x)FdVSSMufASoAA|wv^%sQy!^!^dCu7*
zIE8Sh2SLo?ht-<42^y$MB4lX)N!_PTJRiZav~Ht;qhtlBvI~&5+IL+}Ra{<Jqwn7=
zMh|Wl&{gtm+n{yMRFa{bcL&|;5?D-DDlAVooH<EBNtjsft<u7&iqXsOc>A-EK;5us
z@n=kw2fG#X*;P{X(D3P8CVUgTHa2)n;Pzaads+Zn?Jn;D6K{&L4Uc^y@R78TK_4n3
z|2HgK^Z5e62bC^5Uj@1afrc|wc~7rct*q=}wcd;XGlp9@WJe0J>~xnkHd1l~l+JcX
zfPX|~?(tJYL?UO5hzOAmY;O=xI3!Bl9(JuDu$zv*uQIQ|i}intiWL&NK)I(w&n4hq
zv;zG~xzBEbhLzK@Wim8avw^z>0Y?7l7O*Ue*_H!AN0(NgDpcv!vVbZs&6F4@R@1KD
zV5fdXrei6tHg3iHm-wd@p6fPVyty~#7l2P^UNv44yuzkGK|*n?1Z%$dQuBo%hDRND
zrZ8cGL()mu%tQE~BJho$p>P(*f?zHkNMJ>Dm1Ps{3$U=BLf3iIr%qh6>yq~11^k(Q
z-JDJD_7ddcs4*nW#mCdCjh#W~pi)tJWncaLAT1lF$!tVkR%&8EMLL>*hisp@=r5mW
z$LI(Q-#Z&p9BTGUVpA}#k6v_ePOyU~c@2>%4NSBN6!EAlpTphipT~Bq^p15UfFgXS
zk`CMVcfGySbHp9szo5W!b$87+29UxDn3BG1EjR^+cqg=ON3hMomAC5Y9X&&lTwGz}
z$Ny~FAl%SDC7GzpnK}QpFXTU2x|=v&3JE#4@i%85m+zDNWli~BX?BxX4{jcha(4LN
zDDjSfU-zysedI_qIGyjbW1V5$dw=N9%;;Lm^$`?<pCb`!2|iZ?FTdn5Q~?!<6fi~g
z*7;z2`V*eGR5A}Cyi@S>qAv9l_2DkZE`5(Wc_uwY9mAYcN;^q}4{Md<U=3z|PXi1j
ze8*bMQ((@KZ|mr&gBTB2Ob-!|<v$>fttKHJRBo%&joh%0<1Uz{q_$k9PFVUVSTG=`
zd@!t-4D43TzC!R-<zFk%8v%XkvjaXDUPC_Do#S9)zU&V#WH(!;f`9KjCw#p7e2~(q
z;Kx$mmi2n2!=`3-#E!LU1>s2^`YR{F#(Zwi8~Pv~&c5wzbB%k}EPCPt*2VsR)T>R^
zn#@uLz#aoPtF3Ps%<RPci-Hd#R%wt_>3}#<<aDEd*Nwmn{g37^KK+v{-{Tekvqs@T
zAM!HR%`o+z6_(uYcZOM(UN1M`-{JQJ)XV))-FO!Hig5o#bYJblW-w7R#+>Q|B!$37
zB{sL(R~nlhl3H`=JHa_+>*Kyv!JpMPJQnyV!3Nz`%hrj&GVQ(S8SH)C0Z;-tXxoYE
z@Q8fIhW*zY@OhLJ1G|0!zV6cX_~Bs99KH5j@(irZ7z%vjuLI}iH{w;L*625|jT`YN
z#`O}@b+a@ywo@)6dYe>#>%Q-j!Ed3O&RZh48PMFpyh#xBJ}D>c*3=(EVd9RCTIjCs
zJjQ{qG><TEn;y9kRPlgbY|onv0Qs>I|600n53jKxw0tgP{9BW}0HK??-xm>Euh)|f
zNCvW@0haJ_kX9PxNQT4wHEL-|I`d1qQcPIWO(9#a_DIGKOb_aVh==7@@b%P(<O{}w
z9geGvarRpbH_7|-)<%$C3rUUGH}@&N8+2Z+@5?DM^rwAWH#FdLGU)5*l<DQnu(0UF
zSIi^l4-H6LS}ms|v!cKieoLbo^gpPp%f))Xz{?+KPEQzX!%S<x)HftpsJvU`;|U>m
zA}=*ONdL86i@GlgNIj!L5}r}_#jd+wPZDiLR|oQTDfJOx683kwZY}r*9(jX4|2YDZ
zCr5#&rjeZO#UcZc@T>O=`1u928MJ<<Fpv~(|Di6A5cSL~iWrTGk=>Xce2T+9VE5a2
zf#G|;yxXs6Kdx5!dvv!im&q((h~VqOOK{C6WVreGIR$KAAbf{L#LSd>HyVXc_@>QG
zi2!E<Mv#PUxmJmmp#wOAf+|ALVAfScpb=OV53+#<hTLsB$>QckCBMfLwPdTD50bfJ
zgOSe=uC!IrlsoDC;iF;(tB|BJ2Xfr(4Lz%iiAAj1-;^2t?TEg5M!Frq#MrnZ+|^*%
z<<w@1Ot&}f9%JWR)Re9`XXhMd`;tdI?;I!RB=PbtvJ`!ImPVBAnM3E)aP=&()OYhN
zfU=lLX#^0I3<IP2^k)KFPOhjSP>0!S3Kr|~_RE5gYS!2`IalgtpR|r_GI`?=d(1iy
z0yPs9Z#{Xz*-hKLo{S|Cg0!G5hgg2Q8551x#lm{HteAOttf?GODd-8<F{j=&K1<%l
zOs|W02-@Y&=FF_)Z>gnMn#?*m5V*v&rL9{)^8)yO#3t3Ddif8mdmxWGVO&dY^SSeW
zAFb(p?sM%SwX7|LpDhT3`(_S8=9bVJ*`*t0zf;VT<mPk`%%T7#1`DVUUNXB&nvKWH
zs>%VWMghpj&kPVjxE{>g%4@I>r!C0WGH;|;O1KUPmVWQWXVuQjiYX>g`CTG6qP-qh
zz}5pG@Y&nsC3fy>E9A4Ei7z(o&)1mO`+j6yDX{W>zBos$gRIE-neeo`I1dPXii}*g
zwr}iLq|b`QYY^0<(vAys7=Ewltn<_NFcCQaW9l0di1meDCH0HBxfjX2<uTV-;GEys
z_o}1t8{*<+;9B6~TghFW__C(*Zhj8XYvQ}#F#L&qWQTaURyhg~`**%{*W2&=bdJ`?
zeWM}WTj2A>r_9{Y9*fudMxDoY6J?S860?hcN91a?t#mrw<={GV_h&Fq4&<QEVMyUu
z4Y(8G%P8wk8Q%c^%T^E|`=N91`OkyVF(NK>)`e~IW1GWi&(^3!$H@(+t5q%F&kN!f
z5K#VwUN2Q1d_rthm;BE0=5_W6BIG1WU7Z!sqdJWZbdY$d=$!S{_sHiv|5L~pCKC1!
zwxh7^!ecd{0O=lGT1rMr`lQEuOo_yod1RaXb29odNWh&_)@$tGndjbl19>~8nr+xQ
zL`w!r^q<6jj{ZHHS(fW06(1$Q*XwGMoolVXy{+x>?q{4q3c{M5vh$jmhm3RLT}+e~
z^mNO1Kv5>06y;I1M@*5GeRtta@CSUK=Y>Iiv_rR@>*1ogm~zv$^%0~}24}6vRpw??
zt!UZ19ahp@X^xFXV}Xnu^FQ1bdB)ki!Qys3qf1AV$#q>k{nxbzjpr7?M2@Dy`yga5
zV$S;(;k#n4)mfrg+3`$2%)YB9Pua|a=~aj2#9WV@;ZRT9J=qIlhI5_6bQB-GmAf92
zMX%Q*bnDS6rF2+9UW}DBn1lSZ1Mzet<-};}&QCGa{!}n^-1n}+15rPv%w;WXyaV&X
z>#H~TuJgMPg3-}5mlSCL?5au4L@Irk^Ovjxi2R}V06{7Aj<)G0TG>ex<ODC^wg6{!
zKix1Xu}8#JkBi$jWxFE@ksO~urt5;^=f94oSfZIwL3x%)lVR0$6FF*bgDph>_V(N4
zKY|cFBdGED=5VSU4FtJTsO831NiUaY&B}rtt%b$$8s0OXxCTVPDMu<@97{fsb=-Az
zDWV+g{Ib!wHXnL#CSPkHz01eTQv>n9w0)owqO;Ki_P0Cp0%T7Dd!K5z3>r#udyiMr
zOvQGEX-hO6)9?o6uoi|xUYT|%=Fxh!%H!0!0u*UWn5pcQCc{CqUg1GB?#AT(abCW9
z@*-N9mTrQDsLwiJm8p|EJ2bSwN5K=pjaQe|(lWIilGo0)Q`V!-sUBm)wg)eAm<2DQ
z80u$JKU@gn)=ZZd*m|UewmuUYz7w>B=~X6Up+Op6{TUvYhgd=oCPw-lS^q^8=a$sl
zei$%1y~EXs+$d_bCdF6?o2j>o(6`?0(4zB`K(2WcfwTkAEgtk&7}m#R;oyPkGP_hj
zkUt(~a&ON^GN%N4LPT&9I5e`cjq1-fn~~CnmX7#he*Y@udpRgwu6w_(DmBoi;N<rA
z=7?LRq<{Zj1I}>VhR8D&wrq&Xqt%OS?ic*?lCJ5q%uV7yY5#QC^g=0J?t4kzG7pU?
zfg9hV#7}_Ayh~$m{_7giHp7~b9#w<TdE2jNt0&5T$WhE|#Ld0>&$YaA&&1fe4d1cz
z-Isu~D@UF+7Y3|BM;hmMDJPe+-bngXCpXIP!j8g^8Q(^WHU}n<x|>>8P!Rk?Nq7)J
z!FZ&%S4SX?QHs>0v+n=&ry@xmlLI+#{Ly_4P_J-7u|y~LYeZt$%HV*NiitLqB8Jai
zsPbYZ?G0;kte7g-%SL^3pAH!{D^R@PS^6P+d9m%;HOJa6pn1mVSjCV5lsZEeBf(Hy
zfGJs5Tb#vP6m^Zy193P0QlR=T7veOKNtUsSAXe89bbkHbIjalozYT5|ov3Rt!saMI
z!H{>$G@Ax3#GvYK1v}zSN5V8^N@BmxoC%Ftx~D)ILZ(=nAWc0|Jo#~xEFtyfSz5gu
zm1|HuBAm`%j|}UoSd<{e5KdhE%NdfalHqBuZc3Ht`qal{Is3+bg3~-^OH~~yj0ro1
zyXd=T{64P?!l}57Kuar9R^3BceYpqFUPf@86(xK5@4K*U>N9soXtR>dXa%m}qeK{{
zBq6w%-0vxgpUKv#ZoUc{(V338DG?uh33~hBMh;W%UKPImBPr)hn@O=+LADlqICPMO
zL@u-1HLX1~pcKvi)3;KXe`o<O5<Vj?SzQs%?HyV{V*SdPlX8;79MfkkExk*#QKSg-
zGctPtzNPgOcFn>9MnO5;dBe9fx%BCK@D~~_+UFTpxszN>Z59U&T=x7XU&=q)ABSYt
z_h#$FR0?^SEEaukbCG!j#lOC$p!cvnzCkzF4``C~&+x%{*jbXi&cpx)8!Z%4PQF5u
z#7;!sUHlS9-SZA;i6D9-`cUx9w?Xmo(Q_pE<neFbQtB3xmzUG$XVbi9gAKbP0!{_=
z?uKNhQkI&}#Kb4#{L>%b_d804LOwTEZ+8!+VL%ZkB$)mb7k4C-+vVr;f=N3o6qB1B
z_k6cxg}lM_w{YA^7ZB|$zoxi0pKB=easD_5k6-e0^Gu1^a9S<hpyBLs>3MDX$Gue+
zRd3tTqaIdgvMN$(tx=cj4@H-j(lmw^D(DyD+OLRey#e+k9{d)f`=+5`^gylL#O}B=
z?`ehY;RPj4dK09_)0^IO>KnDZ(a+OiIrhKHC4EpjJk%auaR7{HMDvG7W_kqtq}Eao
z?Lj4k_fJeoAmfJ;V0T7vm4~Tx<}9mmW*O4uolt1wosuy|w%*K?*SAHGaw?&z*T*Ey
z=J>?7J0sscTMz`2<82RW<D|I7U+ByEm)SHe&==^dGAvhc)kcS?w;1%JAKZ=7?dm=~
zm2wWI*AIrO9WcHO0NmX^Knwj1Xp&&(B|_A6`xEV*P<J1r8<i0l5f{N5xGt_s7Qr+d
zU!~ibWal}h7W>01TOa-}7gyFO223y4#-W$hukKu#e~)LSMi0GHiH+kHbhu{KJOXzo
zA$<^U1Sc59z0nHpvPip;<~TKbJf{Zm9y#$*h*6Ul!GNOru?#7fKV&>=v5?Q%E>OQ8
zxooipDifW4vnrX$Fm@3)-tkDH2T=-<`Pko)<`~xI=^In``F(D$@AP+4&Q@96p^YW^
zwYG!}HFL_z9zTXi3;B{N6!H+4KrmJY?uFj{loxD8^!CW2qM|@P?b*Y!H0!EuB%6a!
z`$-%By$`5D8RrIO0kWI69InL9U|G=T{tO99b_vccEFeF-M0hUnf4KM<;2}*kaonEG
zX0dYF@BXFOX72NI1ij<(5f-3`!GC}^UZf{ylobN>1~NEgt!8!15vS@DCRM}3$<`~Y
z%nKk3fRg1V+xer~=crCGQ=<W%5p@^{C5B(jat;W-Aaw91R093uO#4@djcbO|K@sDC
zTtYpw;cE0eGR=T8KJNh{kz+<;vK~BBi^9Wti7IPNA!<<3F+s{D51pb%ZN8P%A&12Q
z$wZ&`lgqb>Rt;atu-H(*^4hm6`VLHoVlbX^#Dj!A8sOh%!y9jl0SwD$Ln<F}3x53M
z`~m1pzdW--pvCXxuI0wcDouXl8xm$X&<<BGrbz@PIArzo4%|16w6HpH-ct>|ADb#S
zBkgIM%9!V26|st_`81_ea>}6n^ce$``sC24vJu|@n9d}u{%gsGG^=MN;|#(t;Qv|H
z-vin*G}OXClqP*v^jw;IaAw4{ZTZ=iOazEaro^Nk?jJW}-jG&2h<jucFkutCCi}cw
zHcD<m6Sj>XNdK_Ts)>@hSJ<Dvdj$WYDhBbEy`YGFCId_&)CBIqGQ8nu6-~Rqz26b{
zck>c4uj%${jB|Hn_M+xY2TVRPv`Dc1)SG8t|9YGFIWM{dd53$AoLffs`nwWtQy!p!
z628)P@gV;g<MJboA}Ye_F5m(si)@ZV@jO<xY2ckd!7}qC_t%Vz%S23$P{0?qvGkS8
z3l95{FzxkVm=@r>^0*y%C<AC12mcI#1(OJ=Q??0?m(?4PFQ)W+dYEVO+IMhY><z%;
zccTeIz%$px<rt5*{IQV8Duy*qs0*O9Q)S7A3Aah610mCrnm?6a&Tbcq$;_HBBS~f8
zjn;0khQ1@zQAb^(;EgS#QW0-rgo_XVeXi?1B0pY<vFkK`7#K;b2BrHO$I6h>L^-42
zdtaOlgbum_+ZVoqLcC(Z_R+8twqBICuPqL?B~4R~B+aloz_(3}vX0zuB?sWa1?4`h
zdGOBNhPQ&cnbO8oLRp2Jm0Gu*@iP@Jj%p<E#Z=fkMgnhSZ$*#Wqr`U#`_=$q>B1}d
zWiGqNK&#|<R@@q<H!a_X`Y(nxzTQBXZ#xo$!qg_om!%lN{n^a=vcTo5#P4Sb@wB}}
zf22VTF;3b!M=6*k4d*aT#8ZGef)c5yc$|E>6_@CJ83FQUI7Y-JWzi#j)`h$pK5gKf
zYf0^_hgOBm73b3qxp-2r70Px9iS`OrM98Df?O86@7087yN4908hzi;`hkS6D$vilX
zLg!Y^I=uf_5-E=9B}4a5vJ~17S5(USG&KcDL+aevuBig^Eeyix0y03mSmiXs0IN=v
z3!}<=#2bir_#w03^GhSNH@-K@7#VJ;{+Sr^y}+XgDR5F14G`l=b7Ad0=131SVeDzJ
z83uE4^V;K!RvY?GlXmz2Vywr1XD4ZX>>X!<j;}#xX<soTkFC@eE1)<+v7>m;i4#6j
z-9<RlB(0q+DE2nU;|8dp{G|%!s#27xir0a;6SpM&J2eK6UL-+D5*nf~D-J0YyZ{vq
zceHkqRIw4U+-`^Eokd-?oY7jPD-K3wrBW#?d@-$9B680z&~LRJ&wXNslP<?n;yj)A
zidTx6r@<24n79sQWkTQ2T&`L2Bg4XAYbWr8GDQOj0<q<eYXB&<TE5_^NT&n@{Mw%_
ztg%OEspo(-*{2NY>(+}FP@V?rUXd@Dru$ZlxMV>;FmW_kQnaZ!Pu97a!=%^C(uO|N
zOsVe^!GxbWOnBQSb*lqd-3&H9)ppD?<IWZYGlQ^Dp>@G^)zTdK1&c+T2xXe+bQPMg
z;CUhW1-2<HAOKw)y3h(^ScIVleTFFG?-BT+ZS9>Yj-#RzP+?FLahw5iP>?%<3R_SD
zs4!MnP7IO`dW-6Hd(*-AUl9=2_|mh!+b&5PyjHN?4u7095$!TQvap%UhZLBaR0=yv
zr2KQwCSEP1`!pn7HyZ3SQdh-ec7nWqr6_q<^XiQqVF5}A{vGjz@`V40eytLgQfTrg
ze1VAB=4>=e)Pid>;bCRed*z1{fZ%-$)8o}`#TNchuLMlMq(gkwMVxHepAY?{TRevm
z@YNXcdRCBgOu_y8NjQ4gb=bC1CO6O;N<iX+J*VSa8L=|lYCA5a8;ebqyrBVH_nh<S
zH@nvV@Bn7tvSFjGWn%l}hJLP5x}+klFcdaKF^h+eb6v96vlR+RYprLo{)`w2Na~}c
zY&Pxn+@Xk-K59-?;Sy}oZCIm(LmrDG{$;Wws443>s9V~23tBXZyI-y;(P<+vz%<Qf
zkh=5-PI=92J(smsw9%mFnmEM59hf69kD(nnSb*qFKZ7cEW%7vWK3(jj)L$!>l|>OS
zOv=|oNqiRz5A$fobG9E1wi-gpjE^Z58nAV?8nD(esJp_Dn)lD1^uVh_4sz48+B+ht
zkARfRj<90#ZW?!J;#U68jPhw?{o*phl{%m94Vc%4Zit|17nnZw%%a)PTzeN-fPeyM
z*oubO?1Rym6tO61gHR%1980V3YA6toOqdP_?HNPFatjUcsAGcvKtK@NwZ#y2)QU9a
z+zJjsT|fh$ee~eG1Ae|2GPMmVVHZovANX%-xjOUy!<LxaF20S+l=lz>q^o-!XVbw{
z&&G^}UAK`*A`CXP`eW;%?K7Stfc%DV*cu;qc|EUHdcj|9Y@c$}XEv`Yr9K<Db?bjN
z-c9)`o8)x4%Q`rjVp4p^%x9ApX8v*d)7ZFzIU+#n2+ZF}oBIR8DVzBkrO-<iA3v7t
zvPDB3iM0i9InE3^T6|E{*SEO3T72^UXS|q*T~S_^Vf%o?lf`raVGVd6XkS+IaD+iZ
z+Wjl;%K+eW#AX@ZPbp<cOaTAQ!Pi0!L&iT6`#>z~q)n)ed=ElphczlSFv>cI{u}ZR
zZGQO9!EslvHPH!ND#@vGiPHvBa1jPcjUon^mG(g;e+8RqG2VKPH@5{bO0&8VcX`%&
zsRC^l?_lmvEAy5`$SQyV%D3)`1Jk9QhbY*N?RTu-i8*R);-8UTl9TxfIvjg*ixUNM
zzDdA9_Y&})H<%9bf948$-JSPN)3j=1jMoiMv}Y}2^)}ZC@Wpo3ikYl*X&4?Utm&KZ
zXQTVJ{0(?ASl+tzcc(S~Zu$^7-2344XWW5O+u=Q4uauJ!+69CJTGZzcVrhotOdR^&
zMzgp0LrZUvP?-4<rDoomMxPA2*0SzqW1bd(%^g?qYhfaCS`D{XSZDL7W_oW!yX|>N
zzmX1sA&|Evdsuubir6i3tM+oG*J_;DYMG5BtP>!-3<RYI`8yR6Ijp}K{A{EBp--!|
z=a#!XY_ZvQHUo$h2n<CC`u1Gdk>hauxNjJ}5_CA`Z!x9!@jW)<)G{hQLx0{dELIuA
z>z5>j2j(-qW_7P)%y(LKx45+S_HUTskO`EUFr<K{;S<H%zXX%z{>M@_u?BP}izQMW
z9Qfg@*zUO^wLKl&Es*<r4_r7*Jdr$IEK`;LVk|Csr~+_xIB$-&u9!ga6@G_NYCi3S
zfK6fi58m^Y@8bQ1KWm}aBQiIUbP1dyESA^bTww_J#_$|UJkc<Wbjhb8p7%|i(KeK@
znT8gVZ*N+ls=HNGZlWMQYdbj*ThF~+x~Y}BlXlhZJ0W{rC3X)Twd?Q*dn0ePrJySg
z8~)(FX%cXV;BBV0EpE}|<fPEL$my8&JobYnrWF`Bf;qge=!1#MOVIV_Ios|VJ6MFe
zL=`3{Jq0~Jbq`)78A~0AV<|%7gS9B20Apf8Z@%7pXzW4r`@X=PU(5?M<`x)*@$`UG
zk?VWtX2xjKRrfvQn5%zp;J$?8gYPp=$Fu&pCIBQz#bU%DM>s3%S$=vel(-~N4dO-6
zYPo=-qc?|LIf?mKG>JJ{%127Sj$cZdm747Nzr5!OnjFv9o{M;_|HGoCD<5f>_O5eK
z=IP&Y<kW}>jLAW*n{t0Kd_0bt6OsG%AO{`k->i4R-W+|2z-q4<wP+&ts}h~^LJ}_@
z0T;v1o$FZRbyu>AcpEvN>&~*0Ym!^Xx}s_=H|F!skR~O<A>$|y{})+r6;x-_L<_TV
zcXtRD+}+*X-3jg*VB_utHttSvcMI<B?hxEHKkxUSi&J%Ors|Q4sj2DdUOnAwIa|5P
z5v*~WS(mjYeDieE-l^WEtGwP5Em&+_Mb|4;WpHb#&@hm0nwd;ZoX_1;Ul8^$^{)J;
zJNK#Tp+JC>9G~5$+9j1x07L>{d5Y%k(DN<Nv>M)a1Kp?xBau0w8{3n?FIar*R$3Pm
zB%I0rX7J$&@*?wM`fu?`-P|{};ZP2AY{<3eIkz@k&`Ej!9P<*+^RIDcn&tIu9qLj)
zpV-BJQmtYO=i4z%_3Gc_z0^=mQ6Fw8r495xvV-ycs#<E_gX_(1TLFZtx(S4%M;|kK
z^yb$J0WaOk)*H~bX}sgtrNyR+%D-2a4Y$%mh-!a94Xp469_5?US*QzLMUwA*CxFj0
zcjyoJiB0vu@20S*!4bva9pW2wy}gZ+*(&o*U=Z^V4>(ZxkHR#4Q3t|U&=Il<7#Dx*
zVCVa7OMVQg$vG*9uek3a@9!`+4RLZC!~BbF0+POEBf*YJ48x=&3m3>vtQtr=^1hlt
zq$JIf6(z{HK&s@OV(1$ElzYqKJ?G#<QuL9LT>kj#l&byRX0_lp$!^-7{9}Q%C`TkX
z=?CM{#O$UbKl~lSj*S!3O!y&f1?n2nR6YI3;M`PfaQh#c^YU*$OZ616Q(M}NU-k8h
zd4YcuA}m&HMJXB1fcoL(NqmhqYsG?@*Lj79bmw!4e6SbjX(n5_9vv;Oh9#R(xVP7&
zdl~LOBRZ_L<ZX$GISlF@%w9hm<&2K`YDh0MN4?hUNjEb*v7{$E_JwV>>;n)f413kl
zuK@CtH=JoXp8q&+y48buLqmf3>%;MvT7Xmd3!6wA@-IS#7k~E~C#O}`(}62{c40!x
zpH*H3s=*>szvXunScJ<0v^5==ZQ7Xu%$tSai=<A$BEcze?Dii*tHpy{Ha=GI)m^Ix
zOHcmSaM_6d{-cM7VTZA9Ma!4Rg4Rt>=&D`AuAI|tU9=eR+TrpvCMb~wUi}4KUs`=L
z6~BU}^SL+B$g8|{B@3bwVt&vN8+FCzE3x+5Q;3m5T;PV#(-%Utjk7K^-^Qt|r&#7)
z05U|_{QCF0VUZIMA>G(U%a}vVV){{|0+}Ug!bmF+&2UvHaU)Ku>>khFgCa=pDjgn^
zG*?n#|1?DxIooHfs15m*Kb&@Nf`F=3Lp{D7Oi;Qfa9@w$RkVPrx=`1%vF}XNT};K&
zmBzSb37C-h?FgxS>z&KEvH!E&lsTFi;$pODa=d1mEa;A-8laJEN1n6X_NAPTR2<$-
z6YVRpqjbw9rS6VXg+{ha)55NLC2z7#`9S1S-cM()H>*vMYTB7yFb#091-1AbJ&fR~
z7%Z!Og{J*XIjZ_t*%VFRZl-`6^KsZ{y!#g?CZP;IZR4*Mr1U=<8efK?5x#Gv$UX^=
zx6MTy-wAJb@yeI_l)UUk;EgqcPxj>}yf1_=leC%`oUK+oC~Lm_L?`Pi8}_PgB4J()
z?5X7|t#C*WG6WiUG*DO)_P1#Tq6eW`acx97PzI|S;-crHB3Y*Y^F%+1CVnMO!W)X(
z8Hj5Td;5{o!A(@!%mERzmg*JXe8o@XY42>l2zQez5w|`kiDg6ubBd*avqp#hsF3uQ
zB)7u!wV!2anHSKKZId8i7`SdV3n;>Q6iT-8{ghm!xhP>mfxk~pG3zP9kq-=Az}Ax(
z!|az20-7B=Rg=2+$CS=e=_o7B!KB($>-%O$VegrwVO=e;3%O}Non4W4@~GukkFkf9
znw#!1@%=wkIgd@m4Et8ImL~FcvJ`ABabbo*9QI1ePM%qMG`mK}@e~oWr{7+{(E6+!
z->zsOoRY}GfU}Ffc_+NTjTmeUahqs#^4MZ?J%K%pJ5NCW>zzl@P_MR)e?6auD<0RR
zCHXDAgi5V+j)A*ma1NVVj#F8+@h*ux?o`%{i|OjF<komw`3qUvlwV1b3B2G<e-sVZ
z)1>t3_^y&O1AVn1oxNBs7r#II*&sJT1jDgGy_NDq;1)aI@Ew^Em-EJYYuLF<TG71Q
zPUE~em}%O%qZJ51^R<F!d0q{l$ViB4_v4uHS!3*E*Wh<p{umlQPfP-IriqB(s^3e3
zTjd-V{uk8ULn~|>z0S1|{Ugsx?f!y@ujJ$ryIyN>m3;CS&v^B~V+U2%gJ((wdoY&N
z2jFD;4fG7g$eZ1KK=!uC5JY4vRPEiqXEp>@O5Mn>vY=f&6+DFgCxb^Ior#LwSLUV~
z6&q@KpUza7VgQ=XsEu%f2jk-h`Wb;D$5M1s%Yg6aeF(t+iuH?lXS;1)`)t3mrT=%^
z4?fJDnBhN8qb6IlBm>y)mj(vuIF=1WlE5GVkMv%1=pVB4c%<c#_(H{DBAEZ-6N5yj
zHwHrmYjNlB>dj=xqou>fH?|dft^peJN$bJ{%3ya=PqnnQ)FMv1juPfZfrJ4sBx<|~
z6A2g6@C)I!?=nn4)L$UBZKtkg_edZj(zRYrZUbLHZcgtqZ_9I_m#IC9^b^xR;L=TM
z2nX**QZDLxrjbN<Y93}*(Qgws4w3KehGFQ@84Z#QvSIz7y*$C?P<M;R9~Cul$7xnm
zvN5-OV?TG_pM2b}w#Xfm!5$)e1glK<L|osNz<!lqtUhx7yf|8%9vj*vM1GI!TcunD
zNA|f}W@-e0%4Na~lT(npD2Sqzfyu*S5C6dh1#wr`Lb7skn~B6ucE0ZBo6k<S_1JGv
zH6`ULok_oVy*gy99T@HTjaw}#*!dF@EqjPTK{4tSFs$gJ{gZtBPf&}pSBNd{zB+up
z4e$H>oWudcE!opYzlX!n<GdC(^r0exb>edpqgMT!wKht>aBJ!a&aWNdDz5)Md&`ww
zCAOm3EUg-Rqw!RvCJ!8hu0)WonUxu<v+dR7py4SKU**mcB(m*2kswXuXK#m&G<i^>
z{XytklgR8bhk_rXAOycm;Hx;h5Sen+-n;2MplHE^_EEQt`(x|kLHj-o)CeXme_k_9
z0@jbSKFCITy?!lDH>CqiRm>Wz4?9+{(20GZ11Scaj^z*8;~+yd^AXB2z=z{EYxAg2
z%RPJ4=YX7i_TPftC%U42Z^i>zo(R)aJBO7BuPp8S_po(dZTwLN?pz%9r~hDFkO50z
zlq;@yM_)T^1*mVLo95?wwP9CWAcxSOpRRluMcWqhqZh>U=AnUX64{)-<X?qHWZLF6
zw0Ai@SbZ906egl$%NVo^ze+kkl3<}k+fstUXBe$_x7~cL-}_7Ln-4+chIcikxM`D|
z&r4KREqzbvNA`Q8qn>;-q<86(Ha{CfNAL;0C9cIU%ZSl)u(eT}OeL?Dw4@i7gWj<&
zgzonD#1TO(H<$#OI0P-*oAQaw-h0Y)y=k2}ub-!1vV}k7_xO`P-U%Q%SvlB}2|vU@
zG}r(_poi=sj6@PvabtZK-TF<>G*skUpo5#zovEaA@jWRr_T*1k{VZ4Epq*Tj<w5@H
zhn~lOOk0BQCt8O$=T9i-`^zXmf97=|!RCK{H;*?1T*`n?c7JEVwP7xx*9y>@SRqo5
z^N|Is0~6uj{o`)Kyra=-E#|%=(EGv1p#Llhs8A|&G3?P)N4(zn{P*^>QunW_EM?YK
zm(PWr{*tLujcpwVW$Sj&3kZJ`Jg4~g;KE5hJ&z>{?3ORwjbQjTPm33hQqM*~2uE)@
z@YcqlQwgB>bf;A_S+AQZilj{kI#47Lfii>m!~by(Juq}|aT=^Uz=U<L#D!aYK&Z40
zTr?y3i+^`&`+Rs7?cSHwU4GmwSh}HM?JO@}Dr9E`XB)Bx^tHIFU%KmBALw<@62!(b
zA5rpH={D~S@_FvKz?YM;w#~}z_I|$aW8@L~MB=@+LYetB)A+)2n3Wg4EeM&sVS01r
zNaFvo1L6?2ufQ|7h}B*6hP^B=((G;kYI4dk->`^?^>T<X&_*%}gY25BskHp*<svzK
z()ICfC##NFpn9(+bM#5<w63(u{9bRzJs+5o<yeY~lUSBA=HGm>0P=bJttHYI7IyV=
zF5rwQWxE*}!CMbbEg=(}=331mAz%H(k4Np|xbl>oE4JSydV_(%<4M=G;wVgCGIa+F
z18)*Y-9tZ2YnkJ~a>oUW=GT#aA-JQCcznz*ZS{2!lG@rjBQqy;uU5lE-PpK%-AOQ{
z_`gIkBDo0C%jn}_mofdeG`lVCsYQ8WXCd<rynOQs9mKt2p+l#@HIoAj)l9(C&K3rn
z7*FbGc6w`ou^sfEUZoUeLA<8`v50<EPmO3&IQfq=rDLcUKp!I=gz$_<#y@5`jXtkD
zl>Vrn$9doecn`&nmg(r}W$H6YvwPCTTkrQWM9Mn@Xp$M3xk35mf1p$&TZIe0;jYWU
zC&lTG2I@+yFsgs16hZAlf?5{IE%S7P1X{6?m8%DX(`-|WMXbyj=+T;h)gA>z?ga*u
zd&@pkoxQ?ad^cK6vC%iS8xQ2z4Pg^LCZwMp3Orgdj`<Wd?zqk1P>2xysXmw_PCwAu
zjy+z3yE*dGg?>uBG$kfN4H{xVJdDz_$m9X4aYU6!kvKj?Q682FOo|d3pdegDv=)pe
zjK(g>+mmLIW_u~|oPU%6sqO73zQrNoydCvS<A#yLPpL>!gyB(GHSrZ5goH6KPCMlW
zHw7m#&mKEL&un>72xKeN6_<{~HMoXOm=uv_elXv%te2ZWQfu4cA6Y`nvvNfem-j%1
zssho9bs!7{WRfa-T)U}xDi&vnmqcavb(0=zu~qSxlNy(8zRMs3ORzaD)M;BU7u)8t
z+UtxnI}$tJUK^`PIsSFG-KA+=bBQV58&A602kn4jt$hQ)-}M6V(#VgA>mkVkS^bAF
zKBme-sHteKF#=3=Z~eg~?;&qgNMxzh-O12$W4gCU1(6xbm2n6n<IUnD;>kVK%c7+J
zc&69d0?Zb938}Jx#RS_7W+tLCcm&30L3jjz==+ATz^xQfNr*5Z{epVoQtNYf$St@q
z(NF!Mrg(G0UhT$BtAu}<R6C487U(-tBC<Ww5~(tIK(6{EX61AEe^=xk&~(YeM*lvs
zkxxm{v}Dfb-^9LO#l`3HH!Q;W^j?SqsOmhMOAhkM5i=JA62{OMxb@ThFbW2hbV76*
z7^}k}PskR)$0Y0EX={(#zv8$C5(bVgQEf0cSnyjkMThfqK>JFpVvYrhV$rGy(=vyz
zO_7pvl$tf%sk$<UW`~b%VVUt`a$&=?Z2#P)t3_Vf43DG>U;`5g|AZeRrxb~v%e8BP
zEU3fQ+Z^KfVfX{y0uUWT1t+acVaS4uPV%X}G2KeZ6B8pL4Tba&mLGc`)(;0Y7xJwR
z@4(P~HHeGC+kxwcuTE^;8{{TVn*QQChr7#_<~72bpL|adNA4D|iLMX6^`=G7Pv<j~
z`_uoQJ=pg*I}jNm01MCq;vxjR0pdYyL;yZS&o`0>k;Wo}(L&%h$cG5P0N4eU5dnH(
zw>=1p!T$Mmf}Dr}$>5H~ASe<*JorCYP$~&v1wapSBn2b^96;b?fF}S%%PScm76PCN
zil78U0ct=PRDc{PsiRUMI8ZYcAReIFB1sKsg8(P#X#vmy{s2%Ni$8_u<u`TNkdZN&
zjQzb@7U=<K0HD#|9=S@su62@8m}{6#PWr1ul2#cJ?@v4c7ij0)sd<%M9e#7!Sg&u>
zJt53&vrS&`EkM@clBYwaY4gI_65F=OfrU*3TfZtqet|!LzsNFf(!44*c7xuGu9XKb
z+UUY|V?&mzRY%k&>qo<#)<~Pbr2I~;@$Yl3oCoe5L?E;6q!{7dhP>a1dDUN0a;r$!
zxGX%v`6g_ldbUD>IyMPR->Mktd;XJ_qckp$M<GbQj&`jXgc-Ib5UHK#r!T$@k8jlG
zNJ|P~S!j&DQA&KaceUQPu=HVwlFLtR%y^i!xD;rb9V!_NOObWi3Gq3I39+Q375VkG
z73n$FW?)c}*e^#%d!XV>1Egz>`xaV);}RL^JiqYu0=TVsZB6wO_zFnV^X4!+yACqz
z(_5%IlN_1T{WqN?lX_56goRkTSP?q<eU>aU_Yx8VuR5G0mnvKojhh%=qPl5<_%YSz
zTa}0}Z5u{N%Y&DFuFpr*qR8cM8uMZe&(UYES2|x;#K9`YJ)Qv@LWc(Ju@bH#N>!&n
z-?w`}UfmeZIs-O6vu5W?#9Qz4R-ia0z#M`W4<Efd)~}hko(PaFGe8QsUB*fQec#vY
z36kmMRCi)4%`0j)V`eQ?)g5d8unLP#H8Kut=CXEFHT$;mcit#JQMl90X@<24$xd-K
zH?_*vY{b?N>;|7U_&LlVLN_Irn_t<*8pFaixuG=oDjQ(km6+9#pwqWRZI+Nf%Ns?U
z-y*oJi;MoFL1@UT_VSd?{BcUVAvQ0_O+NejE93#!)O!;8znNOh9ZhZES(rKhkNOfP
z4?7#^5DOsIQpN(%Mgks*21}*&>)^QL+g1|_(x8_f?T#eEw*?%Ja)j2ZQk<(26Wi^#
zoIoK<M$hz!LfeRQqBF+q-o&H!7T3AnXfvOvxKT78{ih3cN-}43)}KQTIb?5+9ER7j
z(662X@2>w6t?T|%Xzc?=Wh7es|Ctyr3k&Q2nHd`gD>wYt5C5Al3kWR{fB_0(0Z@Ua
zg#fI;N|M)K)vRW6Q7e4x=0_wsiv_tFFEyY4_FI&Uo<;mW?>CcuKJQOalzcw+T|c&m
z9dmo`!)RxOn)H4n9KB4|<TTSgG)$Sutnm-qrP`e+Ip+Giywqq7G3l(2=NfitMr(0q
zc)ff)uG3(QIbz^|?AqV!G1qa;9zoMaUCmTLdfLqKb5%RH$44v2&n|7Q5UWwzbJNXZ
z%FqMYzD%W&t?5%<TO6x_!=IH{HT;{e<24I=`uA=fj@>?0I2Q8vgT`Oom|ec1v_JMo
zj}F)A5HSkaK=HCjEtoS#1||nts;%$U?;cxa35>aODPtC9UES~PUsx7XO{;iqmdudM
zziDf*Qn*Rzr^Q^s*oWZugfbtaQ84_ETRj3hkeaQ?3y4ev@EzC#e7hf@ZlO_XYO}1h
zV3*Z6A8FlBQhk}ym0>arKb9sEu`kfoNB><)reka1UVWbhB9wPJ(T{wer2QZi*!A>r
zt&U$>;*)4%%JseVegP@+oa-CN*qYrR8oXq~#vE^p4EBB$E3nHof`Q~pcF*>LryiZO
z!sUmkGqu8t>VP9{F(ta-P-@6n&0{<eU;S4c2)j*5-d<!(f`i0co>9(NLC9OmglK}9
zS@ED2I+}AiRO23hlMBZyyW4}NVs7uKBBTEpVU{v53%lP_<%GNk6~5&@$%Ujg1)YXr
zImR$PA-&BVQLRbAoP28QrZss~drMHjVA##7y%%UX0Y~|H;UNk=4R4M#s3r~&Ks{JV
z^{Ll5nvLoezlRLXog5yR?%^2Ip^w>LLbhK1XmRG&s&vf6QoF4l?%(pEdxxcrw(8j$
zovY)26@iS4>GL?blV?{^j~zh!*kZV2u_wso1<FfduFKs^OEnz?>ZTL~-Lgv)StoKQ
z)>bv)1KFe*j8V!pATVuYQ01!rBAp^GRZwc5pOI$FlHwQRl%60j=wObllYTlq{5w%&
z%`EyMmee0*dLc*(l_-8fL5eI5dGKep@co_qI%aQAOc<OSZdS*QffS0!g5L47C7!ho
z)|tyXu@LcXf3i|tJhMJ*ddXw{*}On~Ec(aDI}ls#S7*YENhrra9$1ll=*aK;?C4+U
z3uq;Oi)(Hp-x>WX9z?eu-;eZ^96ukZ7qw&ZDU>M-YsbPaZ?CG`BF57(ca_Y>jZp0t
z57CPS2<*9&^szYcoL1?+a(ta1kM~TS`x#`j3<k?E<CV)(P~fMwW>sWtK&o>pO9FjQ
zD`4lfqki#&uyUJwA5)%64|Ez<oCb^0XYmGUDWOY49eH(?YEg7?rW~ylo=(TO?z;mW
zCucJzhnnsy3)lxqtr1LM-jD<8^;45Wm5KRe>fZhSZ?1K5NF(}e>2&)zP)(1iu2C_o
zd6h4DjlPt=^_7HICrT*FFETC<N^)O#IbcFkWW+Tl+&WQ2bme7ltHY^R(eE{*PYm9V
z?dFmYJEkjQr@DuhR&DE5+f13D9HW+M+PjEzKh>Dm7})IsX;ZsABV&Cc{tcB-cjO(A
zu*qAcJ#2DZ75MkVV^*xdpLO3bq8C~GwMx{>jh(d25DhT0UiWRpil02eIFa|E{B-WQ
zlJE%qRAPP6vZ~)c4mtW7$?)$bdT>?$qJGC3&16%JJWS%Tx<4oS!I&v37X%xonl6bm
zszGYseNqmy7k({K?7P+JTwJ;rXN(Ye90f^woWH%B@R9cpB9;Ky0X9L=5`bV}ZulYr
zV1jZ!VEt?o&B>~5>a^E|F1<w`$FldfFJG;svHd2sSq98PHlJ`%Y|g^8MUjR<frbqv
z4>p#H$?+|Z1c24&Ru3OlxKp+&L^<iBw^eZv=^Alm*JBNj6Ms1+KnoxhknJMG?pm5d
z;GyDnVK^n^NhpwvjnluZR^tNZf^@Tmnsn{;i?QSUDmARGlq*w&tJ+>VQ4%v8bp=Hm
z^T!L0r7ZTOM+<E)jf3EsY2G5cgl(bbN7nvyi$SZ{4rBaGdo4Y8_3d4iJqldn@rO~*
zdZ;a-YHl-M^T@oo3X7i~rIW#con+y}HN;_PH}ZMP*&Ecoe|6cMI&A~0;z0A|f@E=_
z_&{GHWGVmFyj{BKt3ZK&T0XuR{L`=VQ|Lrey#4W8CXl=_tG~)R5#;>%tZ}r$rFzVk
zT3yuhb`LBJnVrL*irzmb0$3FhcbaAOr;J`o5@+@;>xbJywB<z{kIZ68=E(E6419?E
zJ^8H@!(hjf?qogDjzBp;rofPA+eErxZ<{90ZIx!URe31OwoOw&sxI!m1Ff?o%jJ?l
zh?rGjnx7deDdxU~rR1{Om;N3qQ%7l)F=PLx4}|c&LPY45eYqCAtay{%OKO*9pb8=P
z3kLI#-UlCufSX(K0kP-_HjerU_7$)lGyzL|8f30CNhk8B2_V2;Jy_UL1!?_q#A=Mw
zb<+OH2t?7XqQ$e`nrgAR7jur^P{%YNys;FQY@?U%^g~xU<dGo>z4)TKl(ZVEh@uI9
zSDJy0vV0L%$_DPcbCnEy!Q~z2)i4PJQlTv&P>bA6?*8}WaKwJ9G^`?L$TwsH@SB6}
z(u-kc3@3E22H=TqT5QJ)uB9CTxZ@mW_-e0*&f}i|Z%+oFxDMI#wM_@MDijh22uRG9
zz+eeA=~IWmVtpJ@5<&e+gfi6E>qK2#<tj}C?D9|mmgUlSZeR9dIoa*XovJr?WxQ_^
z%_J?9D|xYjAE)C$J3wj{VIZ^MVX+%3<wM0^@pR#R1<q4Hy7V9FGk?nK92W*MkLM<F
z|EhIO)Wrrk6z`ehn|V)pMC&*D(YdU8;Eby^^SC(v)WR6K1qsOjuz?KF1CxD|NLR3=
z_v6ZppzA^RD-WWuj)gT0urR)bHMIYK?2UBN`c(({Q+b>u8ca68re+D7Mm9`Lr-Y5S
z937>}7(7fdI!Ykw4X!Z3$yu&%A2a2dEkGY_Vdk4p8jE?62c}C93u;356t1z)Fc~$j
z*<T8nA=LGs$UMM4T!{5hWdF|4R+m?7m=%c*{sF+;F9A9?!h{H%-w?>!HS0tS$+|>z
zf8$a`7|cUAXIaZae><K1(BVlujt&1-MFyq7CVw(1qJ@|3zG_}DzTbQ(-QZ=gbgwr$
z@q2S7Vvu-le|I=L<i_i)Q4i*1NayP!7~p+IuV?k9`CJFQU?f$_w&|GXTEciGQ;@(f
zyfk%eF;i&T+heywYD$8!X~IP+R%s0sZ+bViB5b}0X?KC&UK@TAwU|CwGAt8@R!tAt
zcodaNkm|@c)+@7F^4LVWuoLPgkp-#sz^tIyQ{KJh6H(N~rq7s-!!eun|Dt5z5rv@H
z%|rJr08j!gWY&p_0QIUW%ZPp~A+}*$oLClrLY1juvR*LyvUwR0cS2mPW;wzn+*)u`
z?IDg8*DS+`o;P_>Z1Cb{J*%AGoy~S##$ZvD40sIR$6tL_6+yYbHweeu%&AlU^PBX-
zmCYN^4G$IOO+u`^Pv~Ddz38s)(%lRd>ebbhD8L1q_lwg{G%d#RRD=GB3;<iZ(xFI2
zIGn(?)JY63jXydI#w*%Q!t`Jx^ZW19p<`p8peaAr=oabYrUS@qhyr{;DjlwZyN|WS
z6yH1e+?wfXX#^TCKb{qi?V$c+{|<<j9m4Fp0E8Z;IIejfW4_^|Acbc?Y<;u4{TY<e
zET95Jmr{l$t5C+4f~HZ#Sh)u>lknk&l<?(-l>A&bVV0Zp+<$>ZY%7wA>}8Ux<HH6;
zSoy~6bp{;cKiH8y>~uEEyeF9n`J*o+#fh`tf7Q@TkXd*E$4gyf6W^o3TSG~GLP%yX
zI@Qz6LaIRGI=t(Z_2dh!)UbXl9>ksm{FJApUX$k1PCCu>io0H=76(un1i_K?Wt;f|
zsPUPjt62mKIwW4~2*i!&IMqIT*`8kBmW{td`dzGx-ZK>-cpW)CIc<c4;4k%1QT()r
z$;{=3o)8<qHV%i0aujTho*xI<#06%(`bjMXpL5BFoTn_58T3usp9xi#UjAP|_&SC?
z7TXRPsI{B~c%sE-<6%`5IYntG(e~6=p*$?B5*WdDbikbaYlEIC@9abYwnG;L`(2iP
ztx<%(d^^-QR1hCE4!9zuIkrJ^bYM8*VUT@rfc%<e8}7=M0@|m}f++F%+qG$*0K#pb
zz&LAO1ZATLUKu6ILdBf%_}vR|Q;)PPHRC62US#N`d9?uKb%b_r+#ymG>PQ}OazdtN
z3~78LxLvf*#9FoP?5e*$-HD5qWljNBmAN4uuQW4l{NJD<7bn6QJo3GI1m5^+{%hmS
z>H+0C=GE5rHv^mJ7*laf^Kax24x2uFfeRq9%5EumX62ZKF-cRMK`DNq(t-8dO$NUE
ziDEfg0ES<Ngw|r2n5S6mAI_8cqKgvA__rQ|mU7<M_HhC&XN1=i!gUjm4eqV10Uwv@
zp5Z?duUHF_Z%yThi}3cDK5FTjx58B=5`mYw&U>cgm)q*RBf6M>(bvAs$NxYpifd_%
zAPeSI5Vd5$7bdnzT)}n+W;AU!!rCkSP$5-{#A_-`&6*((xsL!VcTo!vFA}AEgrsPP
zP-r$lIfbtpaPA5`aZ0$s6<xW(ZH5V`nl7&*TevQ#G<fEA953%{2@mL3(^9p)8t^)U
zx4Gy<QZf*!(gbfhQZ&$++e$kV-+7zKM?n<WY!ArOTP(&g8_UE1vV$fLh(kv`u1mtY
zPkEjU=+Z8Emt6lq$BP}*<!nENu<qDV-hHvjew)#ooBA&v;FNot?cpr<oBm#HUTw|(
z<0ppO`~{CSnu(uid>h;2!E9oHhCj=5<DgIWWo~nVE)m1Yr!_)ZXk*@6DMKFiT#(>h
zqlEV^qJkz0Oztjl_s^4yu(#Em54Bn|F#-&Q5pqRy5+1Vj;kzWvB_@>9G#RzLJE0nw
zDIaJKf!jQY$Bp3<ZL_M?YMlr}e)XtTsC~ij`$x8l<2c1VRK3$>R2<A&hmfwny|sh=
z4H8+^f40li$P})bC_<CSh+>mF(r=B5K1oSD)qg&I%nnp2a46Z0!NYYxXDi)>m>6K!
zw?lB8T63`GUdxdlK!StFA*g_&PI7`=a3uaU?4q$G?R~w6vO?ecPEQ|@<U%Lwy3aqB
zlm*pw-mEq;VMePiz*96a5phAthQPghrsEcy4ztf^ZrO~aFJPUS?rr?`T1emJh^5J-
z{)$3neF?<Mv%kbDF}is0z>Pa?N#$3rRH-j`^Hf^ZQHZR{O<!b{sj1Ay7!Gurwe6TX
zJc*~6ObczcVqud(VMdYBwPUkaT6ds`ZKjsiZEN(?4bW*%&C0V5adU<0{AsLA&~wZ5
zjWwg*>OzsUfR8?>{x33`1KK_w>xMyhQasTXr!o+CM|hooY+}D5c%m`(d3v@vz>GXs
za`^|r>}G*|GlRIGZKgGW{r*qG8-v=OawWo2FYoXxu=6d7uWWSZBe{<MdZRbs^=J!C
z6trdiN8WP^A*Zzl%5%9~+#Y?CZx=C}c91g1d$&l&{NE*!*7fF_A<y@OHgkLzvrDuC
zG*@8og(j<G2dk&moAXi0xLD8rn(R?}N3h$WTO4Y0LD-L86U?^sC~Bt}qB4+LJj6Bv
z)CN+2;$9M3`0ODRq?Hpc{NM-bZZwB5tg@(ahvoBGMwfboUQ>{Djg9K8h#(~vSar%o
zVWldIOKqZhggs+=^JbB$`A^X9zFw|B%@<i(FUW8wxM4Uyyd|~fs=_fD;vcw@iwub~
z+&x;fh)dmH;XwR_|4!4$yqMT~bct_?>ql(StP9D}GEa<S0XXMx;=yFWG4i68v$(><
zQDH0Cc<D`>;t=*q5t44zf(bL?g{fJnNFi=DKbVoRW3374@gw#PXHf|i*pHmqXCZ_M
z_d(*S0BztCG+qfXcl>FWxD@D0^1)_~8X_|y{|{nB>=kF79QMnte0;f;S0)(FGdd!=
zkL4tc`}l;*V&G8Uy-;lMDT%Z1h<;br8U462SbOKb@;O_c08imoTTdr9QVaZ<R9aF}
z%UE^f$paLPGyiOoOpn>AaMp2=SZ`$7M1k!b3(%=A->udjHCbkzo(N){@AR2;KD^7-
zP7mQZwEBGNrhghix+RFyxut%HyYkg<`+o-=A8*JWZ=QIZ+w;OD^8?p|tgn9LUq9JD
z2@;u>WDV#@q$nxUb`6{g>khIZ&D6glSj(YWh-~`ch(v{Pb!+|O9nYaBo++>|!2=k9
z#woj=sGYJiF$HLt@CVKF7X<|L)*XS3=L?1Ad(iZl4Tin#0XtKtK>=pPX_CusfZ5GC
zsAdLP7TZjB6XTzy2rb!e+17T7HW&?Wuh*>pg=h=lP<ejr`D&?GqM=uW;^iCrSI$L7
zK6;SiKAEAyFfBXBlQv(8+zMvY-GwK(_#m$|SED7?LlBudKpEJ%L?Z=xNMjF~hLNXl
zg0dalUv+1n@-1mEMkqQoZ}+smizad)QdZ%WAR1j%kWv;*(cA{x0E1H8Q|#9t&XI*8
zd+g%O#MXZsQ*T1*Q9qA5XwT;-Ux$``{^{b(26c530Q)c*c2m}I2#mZ`zipzl4{mN_
zN@M)A&x}(D(j5g|s{?QW8z49h05Q<5ZCmhu)x08QVq6^tPKj(FGwE6amzx?l+uJ^C
zJbM}5@~v9M0p_0Y5WZQH6{(ul0p=2WzuuZLonsT$lRbb^;~(K1;``_5W2CME1q=!Q
z=jkz}e#<o0Hvxazzf0YoS4KO=Np1)r=@#Ze37j=cx8hdaFGnW%Q*i$-xE=U+q*#p|
z7hX)BP#)hO`$;;Oz|eS5rc*u$qEih0cUUNf6%rS`_y7hbuD)L+shTkZk4PXFne!N{
z^uopKnPs2&YnNaZZ~W-5<$;52A(N?SHaK5d#6EJVcq6%AOBc{!#P{u+PT*cM=N@7(
z`Z*%pCj&=X1=z_BgJ%Jj)8#-h2`W<-geq$Y(T-xIOp}BtnStMkT_{aNW+QDZZIUoS
zv`M50JGWRQp_lt(;o6IMPx*ZG4%3AsEnJyrI0;!*Eh2%fEjqINlv?mgZO#8#bExyd
z3G{MAS*rc|c5;STLHb?SRRw|nkDZbuW^?6ynGt%vFUwm+TPGK905)gd=3T%YI<MYu
z8#_``|AHY~ER_pVK?YeGn`M%>w&Fmr=w>c@mj=!doj{ks+;&e3r!(k45K^g*;^A8C
zvpmoklYl>|Uo(gfD7E@nL?45--=><FP50h4`zAIFbA37;5UCaKE@xIC*RMy*EBXi^
zd@~iKjsaIJa=|v32M*P36E!8;2kU+X-`<2PjO*0yi_#L?U0f(a?XSq8cgGg%8+e;a
z4L0r)WU~0O9HI+1w=MSQDF^$>;a6(J$2L@6S(ScX-w&psoEzUD^xHd6mUaNu|1)8~
zu*+@xYBdId2Wk3f6YrGPZcifkKiA!2-9fkq&d4mbyI{Z@WrV@Tvi+h{s?Z-kqVVH0
zHXFKM>rjMBw#g8R7*gzn4=YCo-lhc)C6&_ejjI8VHmLI*(@g>Xc$ee5xbK}R_v^j2
zhTx;m><~|>6{Yyd@h|1tNKVBdTT$-E_CnNp>x3bm`QO11^Z%yZn4_OV>yX<^f@MDa
z<<Q$QMJRxJTn$U<w*c{9?NvLMyb5pZo9&tS)zfI%x^W8@SI1k2(#ivGQ~YeEiNiX7
zeuqK)5#unQr;nd6$;2->h2vQGo)SM5guj%8VH1&XsVN5CZ^MlgvWObEQ5hCgSh33=
zQxO&cu2isVLsOkpApdBUx`YAMEQF^4>i(_uGFAwDZl4<#DbC=kx0&SqR*A{^kR{8)
znObG-q)<Gx<)mJ2scUY##9q13d#_l0?SAwDfAm_;cgV-`Y9K(loXy$WRb$k9;h}Vn
z6D`yAr^5W48;$&wdkM44FP2bTV&G}?s#2qvYW^a57{;MYlm3^#sP9s|lhSXwEzb!Z
z(r7~9q^RWso-lDa%8I2xM)T$YjJ?tb$_wqG7>!WVLC8C4QO99;VC}m+gvpBt>C;&J
zPT4IRO5qqv!L!szd>gsYUfge~hOLp;V0(dLA+R_sYkUKYygDI5NNKxhipe!gDEyUA
zE7d#{LAWGEOz$K`JKkh9eG+oiZ0rBx^fh2|=P3xv_4Yj36C=N)JBL%Sv>)!WH9oFq
zSHrs%ftTB`omlSU>T$&0^Uw;N^aOf+#^>;_gXDM<5P|VVF=t3Lte3!lu5-u}#;Ydn
zs&pICB2&2|k575Me0U1ROZ?AwbMdvE67;RjN+MmEa*gKf+<*Nk)_D;z%bvcVFTx~T
z##WvobyZ|DpI9?}MG41TztYRz8ZNcc(^nY+bjGTQ!|4TEi<>^ZsGvC{s=))s@imP;
zYK`tcw;8ln@Q(_&HYq7#MAk0VBuu0#wU&imph&_ci1{V2_7@-X^mhu}@g)eTzthX4
zg@Dn++6oVuWQ`2<-}y4PcoBv#T=8&yPr08c)A`sYAbTOeSMdrr7Yisx2p|T$Fj!3@
z8g}-}tx4nBc1E3C!|4(!uv<;SQQ1!*Od^pM20!gZC5OhYf(3RqJgO~@PgFtMg^LBk
zu%oYLmsZp(S}b|=^jIMDSnMi&zAX++9vi)`bH#K0eVm+p;^O~2w*Nd|9Jq+Tk_r4A
zT_jIIYk2~;$~fNYT~6+`wl)C`=?!Oq0vqp-x95EMIMauRLYIcM5^UC?UGFRc2vqW3
z*d8j1?c-O$+Pbz~-JLx@$wGC~a6mXB^sURc+n4_YwQ)kMZYJ)G4c-RvN@4pxZ0nz}
zx~LBeirU^?8w=7)l>QyWG05sD<i2%u;P{$|e(B0VTR0vbBB<_&CQky#g}z#ev?&>x
zg2QydPjV%3xA?3Ww?nOpq1Y~O!?w)F5XxT;*RSpKv)r>~n+IaM-pTwW*u>VZE<^OR
zpSRx3!^WIn2$Y4Bd!%bqJc}WBZ@B7Ww)6<-j!U1odOFdfU0Z~dAwDmVG$=KyI+~_*
zY<9y5Cad(tU!K0|+BSh@q1JQN8Ioa3uobF_&Ki^=FX_5*Oc|Maa#$i3<W;mRs%pvN
zRR+f{E&ex>xS>;rBij`FEt(kqgUPO4F~wRjjZ8I0Jt+V7rha~jHaasx_V9;UNg2EO
zaZY6D8tH4-X~Q{Hn&UH~2$q?naPbyltjUlNC9U<p&1BfIETjWFM{Coch<9fHsnnqw
zCQb~n`Oi*0UVpOSS`9fBLOp!zr_P>xyhRm}A>surogdeAHzg@1FGJVOFC=%z9+EkK
zk8Mab+R{8d@6ctx_3qN9(Ls~Pq4z4(=w@1pPtJ6*$I5#{l|A9ns_+V>gt1-uUGf=i
zs6u&nQbqtP=rsuZ$fo}9Rz(OVDJkh1M)MbiMUokVrW5Te&Z~Hee6U)UZxD*$jl?aS
zbsMX}Ptg<u!%!=^18ef+MVm?YNdp>Gb<b1+0v={wv?o;zizRTI??f6{n6<Kb0V#21
zj!c^0h%82>mTASQ+>Nb^IPv?-(BtR~?KJq&`b{wtS+Rf#yhb-s!XL7@mhH#6f8s35
zAUL~Qa!5z6yAc|%oxWv}%3#S0y9D7EOJPb%_Z8iH(;Ng16~{>7uU|{!>*H7e;>|NC
z&LBx&!8Ka`qBXUjRGf@o|7|n1pZUcaf0oMP(g>6_`>i}dxr7nb583e8y*9QJ-;`20
zEPY60C>#$QO`>az!huul!;tDJNHj@gbJq-)&o3(-Q@5gbMg%?H=H`o3fg}y|lj|i#
zGvm)q8bqs;tVi5eHUc(Q8NV4f7*O0bkEca6HyF)IYZK!w`;4ErSsl0o&|l;aQ1;l9
zPH58u4!-{|uL!^Y>o5H+R@?LqM?8oZ!8D5$+93isXb^vr;oo{`)&!?lW2+!NDGObw
z`P<+`Kqshc*h_9StbZ%HhqxzYv%xx+F^fS`3cRXswIG#RvalOLS0_kUYl&e$+VmcZ
z_(WgquPMJ3{yH~QEDx0&a$lznBoz%0Y%qo2SXf0-Noh{^4;4y`YZ`^Su%~N}w8mbl
z&-)V~@g(ICZmouSB%t)XZYTg&ot=^G;zmk2wlne}!&&wkhFgxC8>KNM7>VX^{ORA;
zu-Bw%>`e*767JOt;}JJygHh4@uVPG4)CJxl7#S?0smQ>P86q+krRKt>P?7KQOeV>m
z)~{my2ZIFY9pd8cKRb!0(6VtY-3l_#xog6}2aPdL%EI?g`?;mx6O0EnU`aE+>gs11
zEl)kIZU4@<4gH@j_1F&1>mtIgG)6#pXvN}2o1r`iqId%a7GlV20%kJkzQr+r5e2IY
zH<uQ^@p;f&;p#Dq=Pgh4n=83Uz-iZf$BL_zjlIuM&2Oz(;I5&aWXa0U+foT>b?E^D
zWghl%7jJ4z)$}g1THkHw0de1O@BQ`(PobicV<0<Wsdi?)?Dt^6h*=5y2b@T$9?h5R
z&O>HV3*4jP(xF#UD>yXA=<QtaS(a#*wmyhL@1|IPdgJAcIBIYyJ1(@VC)LojbBh-K
zl@X#r+$4kk)PQ-{6JZz4kw`pk5vyYXifWKEmIS6#E8q}c%J+oCUDI+zQdJ1oi)Rp&
zF{4(`gQR98W3%J=OK`qZ`{0~s1<8;c(Ll^vcMQ)HAljxeVRl^3q*|Zh?dax<Ni}O2
z#HH@*RE99U;8Xf?-uE%PXdj_cr9uRJqWxK?Jy+R9dwEr0yV>;j1La#O><uaa0~RYY
z)yFKinC_njM$U-BwTc55`H&rD1u8uWw|@C(3ia)had7fLXj78^oXtU<7&5F(C$EkT
zv`*u$4oYwR#p<%Sze>^vL8`boi~7CZ5sO?kjN%=ULe|*sRdgUE=KcIDxp!3FV_F(+
zVm{c_1o+7+*w+<-)T%}7<OnefY`B5Dw5Mqn-L`Ss*};hE@X-4n;q$oHxpbU}U}*JP
z0PV}G%`d_jnfrilsla76Wk%)yPFBs#vgt<x$NIawjoGuZV}%_wjWQx=PW<?8Y!160
z`EW$2HXN_~@}^RL@XZz+h>tvE`=PF=3xR23VamtR+xKjsUtOg5+hcJXc-)sp4D^h2
z84F7PyGHO39)-foPWsH??Zt&Di21VFOx*=#_2$Y*z=FJBsOzczYrM;`GLsqp8>NWO
zBV8@;$JM2-^YXsw#l(Pg<bHui)GbluzNweOiG#77?xwO%<1II=F1IFj6+dbaHgc*d
zEjp8#84c)$<a>_^{XLXC(5e1FJS-SYNGEJQ0EB5p>^16)%B>i5I7*EV`g>?~9mC80
zJ@mFp^uVOq8wUB0+LQ{6Aw4)^rzvm;3X>aix{v0YV{jeIEobzmHorw3a+mhCfMCV9
z^-2ygN$@bVn~3}GyAKuTKMmH@(q{$P{`GPcnEd*nf!KWHUu9D(2j&%8f3ZpklBYjJ
z@LYT!Jq$X=l4#MqlGeMo&0RpupatV@?_73vTg2Dt*gq-ZsP!10Rj@U_@QzzbW!1M{
zuB>X?>s%H{CRH%~a8%7Bk3Ztat&6^ADW5T^QA(Mhz{(ghS%wJbNG)Z?lB{&+QQqJ$
zbdLy_eFhYAU_uN}0@?6;S4<mioDW*PCC}lzF;X3;V>(PMJ6T7j^VWl&Z^Uwv^J5_9
zBUx=XXOZ~9qpO3D;&HB0gKF@KmtIF$hzg~@;cUo@)TE<+QNyVI3NXn~HHoiSfGzos
zbz3GIYg92ukr~oBcgK-wR}UefZf+F*5<1cx#7E>Ik2yNg4*ad>_O(yzk~4y$Ii%-?
zVUd`>i%jiJ8yAEfogyG%Okj$PG?SOliN-ck5tO-L27$$`t>`P`l?VMO;)pI#Ru`+2
zP#Gk3S}N)rQ`WZI3GHg4P0I<8is{)ZeIEbw99`B&L$^28)F}$G!fd={cstscUFW_M
zsaYFe=F_qJ1R@s8<Z4L|n?Ev4<?TQYg+-R#zoo(orO*g{LmFbHuj)cQ6-YiXiE5{w
z+au`xy~qV`PfOx4?w+XQJLxID*63sNK$IM$Ib79Us5)~t;!fN9U7r@wPna_I1IY<j
z{A?!p&Hb#N3wrLy@hQY^C1<R-sOmB4gam7{Wb(PrCh*(Ev8R-zE!LvShP;4=tk}8#
zPqhINRk#S={>&it=PHr4ofgYFt4_S=l$~1iM@}+AUX{N-tC2;uB@Q0U?|-I($E|pb
z*Ejz<wJPlT420%3V~o~d(8-k~q&%ISp9}x(2de_f4BOheG_lF3KzDGvSK{r;U?65B
zhG>n3FaZ<ZRCyIiw8!p6r=t7GqBfX_OyEO^#-w+Ij-rh2&U32#l&11QI{Zjz+YNrd
z)*E@-oBh%dbfuS@<6T7%PJJBqji{_7?8cs@jx1kkLZi@I+oX@$@B$5UDO)PUK65JC
zM3-StNZFvrr59XF*ciCx^?vIkdGHHZ)Yh`5VgY%Vr>e`y@~b|s6f8NY#_JfFHl^ZC
zsnbXcl05iAjgnuQ*dYEP3@m2MS7^D>a}fqBhmAKfc$&Ax%~vdqxDb_cR0SULD%$Eo
zjA!q#7oLi}^pfXb^rqDMi)qMRljU!28Itys{V^6RErcYyMB#IeHg}*(I0ZcYWmVg4
z(FN8(K;)3}hj=Df1)l~&C@~v0bV+zG?nwtx)1b(8Y}($Ls8T&sOAm6H$-i?_WURY}
zrn#CyZ>q7*=}+S}sY)UDnK2h(;lQj*ev-F|RyxJX(iNeMNYPJpOp~PM+vQHApQDTu
zPJh?ft4s(aq$UFmu<9kWAdd%JNVYXJ-vLe1ryd`|El%81rqI5=Nw5O7za)7dOwz;3
z2vgIg)RD*CA}pu!n^J?PH1(>p63G~vaQRI%DGW;UXFx7|f7y4>n~l0`b+eDx{2!1T
zXNK*1d|-4Xz;%<wnj53790azJ={&f%6;mW3RB?&8l`t+Dg=v%8;5>19z=UttfEBk(
z`)m{SY_gbWFc0eZS<^eP<-YIWI{^Y|KQsB9dj5RTy02HmmSi%9LRCw(d!LkK_VIE@
zLwr%z5F5Y|qHgwCUR!p^me`k~_Qxm^QN?BZU7i`^4X$U6Z+%|XsN$k4UG$W_fivHq
z9QUfVi<xdD)is;~%%GUtoR^9<fX2fv%|>|YS?M$GB%1GwbsCHKFO_DMB^=jU!<q`V
zJ2e<~l>H8`bfZxR`4qyMIxa!K!G>MiD*9;jIZz6n7LgGTs3Y>YkmIpgE9^OD79)$G
zYKaKN0OJsN*?Gjwet-BE??)u4lR#4<|EAHV7sGWqJ*-8DAHSsuh(tdl0khb=Gw<jb
zT)nzp;pYr<tqwT?tTMi1)me_OoqPk5>&cduB{I}o_@k`WTgSdf+QI2Ue7y}?>dmEI
zVf_t*2y>lVA~$qS_9PGbnj0h9i0e!JE{!iweBm|aUI06^8r()+^r%+OE!<B-sYg3|
zu9?%w734(XEDFFpM1Br1PpQ$bH+S-Jq>P%pWy|6p5S2y`*G!y3bi11dW39%~BOTMK
zWG_YKaE)~1BcnOyN8kJ^ByF_Hd{NZ=@oE8^{yI|hQcPt!Q5R<}E?i6DGV{P7Gj0ka
zy})DNk9nIA1l>@>OifDt8QS}`M%rD@DjuH{PDMT=zwrc8qf!T;WKAWr-$w#t`i=&(
ztBX?T;3+biqS^l0?jxg~Lw^>Uuxb>=9wJroh_8{{`FH=tYOYhuH-v^I%Sv^=bsI`X
z34T*PHNiAf7~zz_QZ$Qh32`YmJq0fC91eqi4fYS8Ov;3*oVAC+pIBLMQ;>KqE`F(6
zClj@ntpY;b&EjalqHC$txz}8NUiXOb-Y_svYQC$88?qE_m#&szPi<D%x9yNw_i__l
zhqcFjy7=V_6eo$!qmwh~*rv>HDJc+h1?IE;6h9L6^EFnoEAqD$smr^mTPROzeH8SI
zU;0~)z;ikeVk2bIul+Z4(2+HCuztFvP7qeq?}p70&)@R`$qSu8bYL{;btbB=#KzoL
zmaAab7PvFT37aaeD}Hcx*};1!uY9)61bV+Jel8w4GOlFwv?tZGDkP|DjeTL4`kyMm
zMH8V3h;~w=zw(<YP*n+`G}YBcGeIgx#v+v>)w5IV2laVPP&~cQh|nFeMC_Ca;L?<h
z8R5T{+jymc%QddE=Or6G2}^BJ=Kk50!R&q`?7p$SodC>TL8xy^U`0&yswiMW8a0!j
zCVwoSlM8B&P$>yBAH(tEOjeB#O^+Swf@ctWQ)cYG>~RuxQ^an`Zh6IS%_DYlh7+1E
z^O&jpuxAwxVQrE9<4B{~o%X)NccA&AuylC1ix~zO6qg;1(#+Lo`17K7zGIt{kqqHU
zXJ8Z48a(SKWydertMxbUv-MrnlR0pi6{w$$SBO)DA)-w|rJUq3LVxX51L0S;SygLL
zxi^?#^8e0T(Hje~u>2++w%8~kOpr|QvbIf>Z>=v7X7e+dwRyt*H><J{7N0aqiAaiM
z#7%q!T)^{XpNYB;4MS;lb1&fWL36OQjjN0D!KW4`ROiY6!&XH3rk50b0AGdvz)g#S
zgZhwwovUwpn?pD;za7KRs5GJyzk?Y?TNyUoKYcD+mXN3WjJuGCEr&z6yk{|rrCU6*
z3r0N5me7yK)gn|I;!oCXHN80oNq6(<ooFNh)Tf+}kUMAze9q{tA)`(57U#JZ6JH+o
zyKjc=Q;&X&G8eoQ6So@Z4yy_AyL*;h34a#US)i6(XlWWrDC|B%l3>0-q&yoa$VPa@
zZzfNN0R;;}dSc#b%xkdPxBv0|@ybNDZ6w<LFFk>Y*?DU)TdbQr9p&W&0pW?j77c?8
zNU}3dwhiaYb8vp`*O*YFDjE&Mr(EEc^hrgwUgV~dtDd2)i=EkRB$wp7DJ7edcZ1s<
zNZNncMP8ay=~QEBf&GE)8tci)>?p}O=@IK*Vh<XDwpR+_49XhX`K6hd1#6G0`e>$j
zF?Zn>z-@Ig+LV*w*y2M=P%J~IZyF&8%%IGU4||{3Jq>zxU*4WwYvdJj{-CVN3uQQa
z)zcNJloqyiXwq^bs`h+`&Ah;GCr^Xc+W!ve>7-61k2BhNfzFtJQRr2^_65q<ISfVD
zr?q(?WUo9l?fz0ki``G1>FQ36Yel5q?QOz%J~<U>QEC~8H^n6zivu60+C$8MW)d7*
zL2b@8QVV^Dik%YXL^<LQ7wfFckg9qeg_z6Rs-v;Hn8oBA2Tuw38B5aG(nxt62~esK
zKak8>l#uuhU-p+;w1mf+lwiJkVNmYeW&ph0<VYnjL20EBwO!7}wK{~>COMGJ6+(up
z0r{`Bk$Gd`Z@XsqSBJxTp-SPvs>4HPE4jfwh1kOpPNUE_hDhFF@6*<X?sqLkoRpH4
z^8b&lw~neDXud@`xVyU#?(Xg~xVyvPFgOPWcLqDSyEDMxgS)%CySrV!@BZ$3_r3Q|
zDwUO_E6GZ)>gwHluc6(wOPFrarRsQ|kaI+eSTc#(5p$?2N;5FL-%a;M+VYu}=~B$Q
z_02Rummh~0*&wOA{?g{~n|Ucf=wvxEWR(x$_&yG2DJlVT%VzAom5wns^TUx<zLCe}
z>nN~$Ml7LOn)=$(c?5tp0JZu!WSj(;3xIG+Q@%F!P#84Oxa2y7&-PQ9U{5vo$T(7e
z;?P%n)uJ7VAkf^lT~Wr?5EOiG@L278%#EcQl+En$81;KJd}NpP*(5wTF8AG4-E`5J
z`B=a3F{6m~S)GV1!b2`A`dXyJMI4q0b_-N%);W&O$)8yiS1-zUp6Y=ko>7HFNjUsU
zX6R8IvQ_>uJ9lE(z<H;xjA0){Ir{NbRK4H7o`%<8_aFOVJX{Q(+nI>=Y7CD(aH55_
z5zjtE++Do9UlAzw+>9q@%y3kl<UZTZCtF^PF)?hm<fP}x{L=i$yUJI%!lBsG>H$V=
z)$UQkb!fOUv@}M=J@Pb%EWZ#?boYnUGb!|SY>iAuk&nxoJ6EFOV`m<gNd?!keWGXG
zaI`NwamQkAGibi)(4Pnwvk2hqRXH;T*d`DPJNQwVJk19tZMj-{wnVYnebT;<3AhhM
z$r1Ktve?)!;rC!FeUk{-KHRdSfBSZG&<U_q&w2R&;pkb}IQ|Dl&&kQl1M1NQNP{Gu
z0qE%UCdPpqT?BnXTX??9?yn1}fgl@aK$^s7w%uZ|m7J?;%TG}8Q2`a?V@>Hl;VIVv
zg@vb4AVXvG@^l5zlUsQKTDs=-c^!dsTo(pJKQ=&{IvO`5Vk7Nt=wH_)<pMAV07^g=
zt^ji2B7^Dx>PKZ{sGL<nEe>9$!2!+$91|Y271lUhV;Y9A?qM+8h&OBYlm!U%>_K{c
z7nR`Ll=4rLl^eFTE$Ow^dW$VWoh_C!k>DsgVoqa9geegE4<TAp$=3H+xnaGga<St2
zSuqO=6e&Naj?H@wi-HHV#|8hK#j;$5=C=@_|4Dpw6KF|JBZGeQ?m>2(Y2mQcli3lA
z?P#6UT(b$;T*V!WuDaD`*?L~1rS{~tUl|?B^qrUf5Id%5;zpEP!lrnN>|oFgS}YzN
zjgglLFCb~CaZ*!k<T^MzMwZIydwM$$zq8qphoqp6qWVh>m;ZQ}-D!zA;F~*Haw!Io
z=a%%TG)}6DJ3u4u^og^Zm{4fJs?Qid6bNB7+p9*E3gAp8mQ?3#A<NIb{{V7{>Cr>(
z6II5$W4GlhYN+<Dk*71;#E{9F(qdD2B>N0N!@qn*W}E^}(qO1xspwE_{mKfH6dTOB
z6GYPeDyM)?b0RV!^T9xkNuLNTc>pG^y%HK9hR==-AozmqRWO|igv+7LTU%URjK6n&
zWRn8`Vc8|kKOXYQfJ0b%rh;CBoZ62EH;2>_urN8VCtK@rL?mj1*qO+2jBQYgr?{un
zj7bSr+8RcAmh6&28{(&xr4)rq5v?HDq8q+}>UtaUwCg$QNRPeAkt#nD79iyjR%qY2
zT79}{&q4Cng~`;jx`XDz$XO!J%;R<JOi6tP1osj+wi##bw;VVtEcGZv17kuBK`n>k
zc^4-VgQwL>n5V=}`L~(%U`G=2!*Jgs<2O<;EHcj|!kqtLNM^Dm_T*vMLuhv#T|L#|
zNTN<Y<_DCvPCLuY$8gCI0l8Of&4u~&DPC31f`Kp7omnLIL8C&D&`sVje^e6}w}@<q
z*(=LY$S7N~VXo+?_wRR_QLei!$G!fcc<r!Nnm8C*V7lIu362?%%$!)(u<3hTljUC=
zzM^{j4vTP+sLBucg$D%p-sGG@#?~W%HkmMlnsMDXz4n^CP{7<{f#L1EfcOm-JgYXp
zV!^tTL((-n{Pel;W?f>9aJzJ+#2@3^H?wU9wle%K&H$6ysBa__T@Q2o{_Jz7sos+L
zp^Q(8A6ZFRf=|aC>Q@p!cBZMx6_td``bVmxjIaY$$t41MHVLbQ&&*A{w5ag(>?5>o
z^^d12xsr4$Wn8}%0H@1S0_NFYQ^?KuX9-H<3OwRz9;WHjOQ!NrA-2y#es}R;_Y^*C
zG0|)n&;8m?nah=E=;QQLe}97P!S<t4x8boH=9xk-2b(f1?csD8c8cLt=Or|cmWTwo
z?^!X&F>jL);Rw<f?L(Y~QJ&vn>|m{m#k9OLv=-RAfpV(G2!7Vzf<E=i7Z*<aAa8C+
zPo91}H%r&g!6$wiG;MhRu)qPcO%GmxKybialcz5L8x9CD_yku(r>?eA!Mn-)*0a|c
zBt6^1#5l*=cLPHm<l#KQ-SCfeSAwr4p)8dl!WO?)#?^`}aiRN&^V|XB*mh`kp22AP
zMk-v!;Gl7P<^85)j1A64U)3`EkBUl_mz`X;i0fRoKE~(4#rysECj^Y&^XUKGae|OS
z0WgRx|EJ$%XXOBWH~}PpnewiLO=yFc8NT6y6U7R+j=8S4{7Sqis~M3M`n*F4RQy!B
zb*U1=P0G9LU{;ItmE~eCI($xW4~QRNt*?vP(Fcc&R;Hu9oo~0t_XqDa#;-e;y-mzq
z!j2MeyIh~1-W~5wanMf{QwlcpO|OR;ZbeJ*wPOe^?xc7!Z?pHngVp^Sej8la#y2~U
z{<Q58*`_xNzZCtID;>V#j+@cPJRRP{E`}NpEjir*Q6{ZC9e9=#$JfoU4XP89F45o(
zBo@aGDX3SgrA>@>CEDU-gAYO<*0rrF;T7lNMt0A(Ne``G&a_!@M9^kVw$Hdo!5mA6
zH(@m5x+VKJqP0^%hVT!{5wNQbCgG6D6&Z*38}OPv{6aR<XVx`6+e=@ogjci$#>rg+
z#3t)^+i!xq+x|6b+&r=SYNjG>Z{))ZTcfZ&gN{46fXt}G+hPCPeJQrfCPycL@amTO
z&fH7Y?Z!5|kz=$|<nYbw==dVRc(drKt&N6ujBz=~&uTlMJd4ou2!dtsI$tI%A%^Ze
zb_F7nYy;nszCQwDWkWh2NE)c7|07HEU6=Ckg*4XCwZSl3(1*w$gIGl5Cly&C=BVP+
znM!n74x`842~fNeTS@rZ3LB#qB*|Pkh=6EDeiuvPi)R)LwqiJ~-xxf@!WE44=E{+W
zfv%=uZ1hVmB-*2+T{v{2rLhM;!a4Xq;?<0cDoJc)ut)9xNDf!6_mRBqtskH%jt6;&
ze=rqXPekln*!%sh5Eswk9{c?}IrKOX%Fzw~CD1Q*?Mu5lq7@j5_6t=Pr^e~XSTTbg
zw{wo(cC?)j5rP)FX6X`)vw)f56G>K%c8=svevc-w8ZxV&PD%PRUr0r-xZfsFhzvUC
ziRbxCyL#0@a5#xkxz{Recy>TRvxIZ9@ybNRyw$bMofSsv8+tBc@fe>-LDFCuIYcF+
zc>pJo$q#lbYrYXiN0Vf=r2CCQb=g0uJ=2l}3Ap8G!$jjWVOH$6Xlv13GQo(fBS>>c
zTi_$WMyMoxmho$39u?d^8-Q?Rpbe`rXj3ws6tYFn)0NXmIM!LGv5_Y$NwYUWPE9e$
zh6E`82dOTep3YT(D~-|I$~^_lp0DoL@@Gd}>k1iM?=Z66)Vd+NMONPxECsqYMBy*+
zT_gmIF$0r?hF*A5XhJ4B)p*@O-->Q0h7Jdyn7awfh(N~`j7z6}E|0|bfAMCq%21I5
zG=7OE7;f1V9$lmH6>Ch~cPKC%f_Bs<q9MjdpR4aU8Sjq&iWUWw1vAWu=tHPbj*`Ou
zK-=C>V#y*WomyU(K)e_o<fHJv-!owv6EhT!ASK3k?ObT2Gc!xbS$h4uL1MKN!Asf)
zewV_c=U2eh?YRNXWpyLlS(K<h;d*NhP@bfWz0zS1L#uN;yDfW5!*K&HQ@GvmOJ_<7
zKS>e<2Y>NQChd&OEVp!s)m=1@Heb^lm|eHF=dDjC1Jl~4@f&@^dT;Vj)<enp(73tX
zOiF7oJaVbsyf^IVv87PmfF3?V`K7)<?tY>v&d+QG3?#&rQN<{vlYm1BhfI<poGf2{
z%my2^9VbVVl$u>g-Z+dD+l&U(rY)UY%siWMwPX+UCc6Q&t)kIf7{kUBG+4pwbd5og
zqu+~_e6T%uWA#Ix4tHf^u3>3f{qCrl)0(-9HWV@#r&Ec8)B3rKZa;A|(bLO7I#B>>
zpxB_GS@#a6%EkUE&13q!jM#{vDQA4VOPn?mr9hAm*>4wTy2mro3r=SU*vT#8dFsV2
zpKzZSmdEgkz+fw<8aRV(!&7I<ZM?O%jvqLKf>G?BwOxycYp*d~uVaG0E~3DVM%5|c
z`LE#2!&D)C_gj&D=WQiSVE$Qh=GH<Ofj*)D&_J`RICv$f9A3nKbPlB30#AJQkaj0H
z-GgxfHOGYCc~FGN-H?162hl=qxAb)WMnP=uhF(rgUv&R?nzQ&-V_A+Cg6X^B)O$1w
zd(F0<bEZ*%9Na3rY$ufz^k0J+^pcq<*z0WjHvG-UZnd<pxjaV9Nlw>-I9cl7a<Dt_
z04=If(1uz+QI?FSq@J|qSYOoeyw+?>JuKO?Y4L0)Tw3)MLUdzS^U?wJQnksOQ^g&2
z?tMDD#||Q^S{hPyi?aX_i0Ro^DoqMS%zA>xgCbDX3*q{W<g_fP%WlORd;+2-QOfD(
zmI}71^PUPedA;<Oz*YDJ)>b1j4CDk5!qH-!3E8s{6)4i><D0TSQG2-)u!ue%(1q+N
zXRVJ2-tL)pHhK4-kG!07j7ASH`d=d_>NSyOIJS1N$KJu2X?~>Pob*d=1^%ATKG+5(
z+k*E73;|7go4bUmKDJcP%;3DPU{gH~>L<OOyK}A2+WNZ1!n#(E!Oew0wM98H@Q?6N
zZ#zWvY*4!kQISDC{<E}=bS3nM$_iRVAkb<`3I5<|7{+Ud^gO*8@a4za@?R~D{I&vh
z!~p1knema+=lbmmci(=_mr`UODW9dILH%#DpT%?7r=&X^{Ig`n{`@&kp(#IR#z9Uu
zQ19D$R{^bbwzSPJn)3rpi@#`+c0cHee%5B3)aKe-xD!wR+?;-3@q8f7mTDOq*Be(O
zI(5mW`@|uNk@y6UnYqE%#ES%Pmjvaf0x`+Dk0Zvk4eQBxEv2q#*)8E=5%)fWHG1Oz
zw)!^V=&mmM-bHm`d16X%56A4(CyZ8bEl|SXT_)>WE^@^c5tByR4zpCzbQ%<>-Hjv9
zMkZK3tBDDNQMYE6RPLo8R2DN~l7shTxmC&weAv#`V6>7x6`Z@Pz%8%yY87`V0;P-@
zDC1z!ue=fMh3NszaRwgf3#a+TB2c@<q>$fov;r>3Ta2<GV;bZx&4&A)IT+Gm7~p2g
z@yfiSJZ(5wR)g_y7W{Nmom1IiOkO!iW=tIlICr(S*<k}yWgOvpC=dLGRR&)9l0!2d
znDF3~SoI+3^^dOHo(hezvVZ&u0`jZ;&PkNJsW<R*A6mf&=`Z)x7R_RZ;-+(Xg6o=u
z+a}=1%Y$%=dU^9V<C5EE&&BKU6EW6>Q7gzyrjQ`(=otHK9bm}Xtu_dSk#q&a@jOr!
z^=(oYH2<Pz{e6&JVg_pbJkw*(uWuMb80SYIceAjX_O4`{6-=q>ANlj11N@6k?{3pR
z9OdaqU)KFq)>*d~kjoQrU}qs)RvWlRe#Dd1TxM#&_os-3(z>1VgXY6Z+4^?L&aseU
zRs}Q<y5iD9adKGm?lTA$ZWw>km_g}L{=q&{xcN}w(Q+M*@l%-#ui*6f%*@5MW}0mg
zb}GK*CJJoS0bC8MKA|0|7RW(3?y`iAJpr4(Pnbftow8zPRQ@Jil56CB$eFUKC1$o(
zOGw_rt4Y_4PVAA*DpBYrSIj30QLKd1jv8f-Z7ABb>6Hmde;c(|E7jPXscdS!9V{OH
z?FZzVev!9~6TOJr!skZ+qRh@rXd3eG@s0+Bs8LH5wYiboQ{vM%f0&kMlIypp9uOe(
z3&+LA#mfaE4FyPn6n_KwflC;jM7aA92%j^Hvr*$!(*8W1Yqi_Hw?BJ#!^B@)yjj<l
z0|CCHSji*dCXc@C8^bUcNbdTG3kWArzHW71V*V@eih`iM$#b}ZbXj_aXTNrAg;Xa-
z1`Q>?8wNyqyQ;;#^#=)f@id%0N<@T<#y5*cdu@XN;*+#P6Zi8nAiGlFuXVi2N6d@F
z1Uj1`6lbh)4h27t(Na~-UboF3$~+cd@GES@fekqq6vXDKTIy$}5!3-XQ3n_V$)KZG
zmC(ltyc<4!dd5`eJ;ICsV6S++@D8v?bhOe6-J9$7yfP)(Ar>6}_NZVV_;52p_{TH<
z1{mIS)986|d!aG`fw4l~j`nMruWjSKF}V{+mt+A(_Qv!kcI(Dj^<NPCm;+5!R=-c%
zTh9WTS>r6m7{qDVV%6>)x;V&Ph$_O8^o;HvsQ_i;Wa;QR)CB9sRDFl5IRX<*B_^0>
zYCMuk==aFDVRwG-8eHwf`g)IT{)_fQp(6A{F(((iYNBx9^z#af-HpGq2~;Ec@HoY~
zi`S4Sm0b%fS=N-&OKLnS!lgI|9_M$34a(&)pSZnlt1avl?wGq#_H0`#JFm^K{xsG#
zYk)iCOQG6ILKKbM$#+OkBgg*t1vx$>9fHuTP&seB_rUF80xQOEH8)4gTy4<2HD!|7
ziV*9uAwL>`Ba5-?c(cKF74faYzrwOzi;632<BcUV=D&CH(BH^(^3gzaXH+iP3tETj
zlLEu2si=-n3{-k(5(zI&u}e(-w=;(*)^{+&GPe|!)(Bk1bgLDxlp8GeIP~?bv#Edn
zX|J-WX+c2FJ6GBr7$C+?4EHI^v#^9|OhWz(&zmX@j1Ox0q61K?aORhz`0S=@q%n&L
zTIo_m*n+%}tSDp0q@NRv)S&xrt`XU+?Zp_tzC;&eT+vS&*+L3GP-e;k@dF$42Dh)R
zjt2>o@tF@DN@R#(n`&MA-w(U`aQgn0GR8&fh2lt99i~nZM(J}<S|s{0L&z$<8{I59
z<^*dSaPwq^o<869OrLdeW4>0_3`$+rDWX@!SU^i;x%(MXS9^)tVw)886nO`prEj6`
zoUR5hvx}*hOkBK<*LN3z!-%g$n-q=MKZ2S!&K1J(w<s+1A!dTdlHk&rkk210|7L=%
zQN)%$5(XL}f;h<y4eUwj<N?B+L0Vn(3;`k(pwfc8p8fGDREx~QUbTt;&Eu>+PYJK%
zn`c*$VgEMbljYntPtHR;fUg&Sni2Mgz_}=bN>3um;64XKs<Mx2=%{D@ybI;^T+C))
zQ2hhjh1xkkAytRoP<q9*w=l*T%^fDKH*3U%&$l#=L}mse$(Tb0EqY+W#M0XDM^6Vr
z;Gve8CBD<O*3}3UBfKMUiZE#>nVH$y*Xg66vWwaiB&6JixsWk_%MoV2uzMsV&VK{%
z6?FKI@Gz7~&tlVk&Phq|NQu^yZa-CKk`bF&n8S;ZdxY=FTHqr(u%%~lrVrKG6=PH(
z*ouZ{f}C3EQA1%&laY#^8oMGi0ShAvs3AV=PmK>TDWGs>VM>O0J*qIagD>;IUN=L1
zD50((fo+L`5j7E-@U9>sc9@!~^@DbKvM;T+N<lxZna$Z^NA-kgxNogbSI(4rV3JbG
zv=xbhm7p=YPl7=TiJTQRN=1CgpV$@!W#&rXmlS249HstmXxuwbWg*$pF|a=m1Wfr#
z5Z-<wbhE67>S#yf^O<6k7o^9gh76S!@1ika#^-Aijfk}k_2gHDe))YfsK-wN2>t%1
z-|ooLIEmtnO{RH!d;S=U4^n7*a$0gnhTIecZYxrep5${w1akh>!Zl<^l*h2U3OAt<
zbd3kWhR)ijhW3~5Qw)&(u?36p3a`WmiakK6bW3=DUZS9(9QwoZ?$lV@fi0s*e2E{h
zdPRiUriIB^emw^%b{4w;1H#|nGnk$E)O8x-Y94*(=AEnFohwi1l!1BGx?iM^*PMM(
z^xBoAsa3iRny3t#NZ9nS*cH%G@2H4bnPow=r6AhWeopPP65}EyQHO0teDgZsAtQca
zJ-|#D`u7ws@&T3}+k>kU^$&VjEmT7a*wIrQdRSpy)Psrne6%3cJH4Yt+~8v&#2(ZC
z`Z}D}eWVhaNceGJWI+>jDE{u27ov81hG>iN*RZIj_D5m)2sIO=QG#EatpA*4g2o5Y
z^T#x5fI`HR^S_M%tCfT4VQbKWi(DJOZnn1o8wr%;Sr6q+jnQQ>MZ_)$jY|F1U)pUd
z3>kvx))Xf8ok@(v&MtRpvP%x1e68n|ZOC-;l}*wTqTe5qJc}K64B@ZB*|#l)F$YwD
ziqHEdMeW5HH&Q5fQ~*tlCgk5T4?;v&6uV>Xx_DXyB~n~q@hTm*WkF~x7DAMY;$UP*
ze`&FqFhUD!t{(A75AO&iwxvBM;j50etazcGr;+8PJe!POOrJj(xw9+S7y_5f8O)YK
zt|nMDm_DEx{0aiV@>mNUkr!4ZtjP8r=WDGy2YcrsTO8Q&jx6=daNM~QV(5jX=-2H(
z#q$dl1}JEtYh1=y$hJa!XP5BMZ9EknA5Erv<WzHz6hDi}cZMEM>pU|-s>G*9ZPI{=
z+q&%FTGeP^x44&e3zvBfCK(jevOUpRDjHjj11UoG0ADcA^LJl;UgQdJQnMKLZ-@bO
zMu+Qu&Cf6uYGr@_@7mM<X1U>D1HHuqU?Espc|b6~0TM_Cdi8{jX#T=`(r3FrKp$xU
zYTaQ7yB6se%Ep)1xtVC-N?qC|?uYREWA|=_htO@?YA@F6y5YN9f3MNS43Jo0qr(RR
z`bxUmvMhRO-PZ#vXOI74{H%FNhuM;OtA^OfkJGOX$NNEFN%*n`<d+U00DkDgv$Hc7
z+c99T**(W)2%DXPUyWsZ#a7t~^Y3DkHhaOI`$0^~^3vNBcZO<m%znT3@!_Jk;8gbj
z0>`bWgXfn>@qOq^9=ih&knEL!a4f-fate=AV&kwcL14W;hhuk;!2hHOvy1}6NjR#v
z$1s(8G*$*?2`k$JN}C}-T@H5RcQ@v>vD$xDb$CaEcVw)&ivE};^p`FuSBIdyxG#7%
z^kGm&g>p^b+1drK!WK!5F^!4!`UIbqNhpbtjl({}O%92HpMQ~Mad)dWenfp>v8w29
zc~b7R6#byp`1nMRh)7OXc@l1!iQKRGa@UruoDMW8l|z>;$AoKO)_j1`^^yLg*d-Rk
z>G5{2)zi2C<OwZbdBW9kKqpba^nR1cLelk4Pvo*3cvBK$@BUGc++U|4alX8)yKXWQ
zruM;Q^ZLO4J;h(+?T?VeZ$xfUJ)=~+SJ63*^^EOtb<UQE+`3(S;J!1o_9cUWq`79;
zqvn4Y1A6qw9G(h{*!)QJ$6-?>G!q@p3pd9qw0_OZ1`s)m^;CkRP`yOrjtwJCL_XZD
zaEqE~Zl43h-V@0qh9=$JbX*lC@2WL4RJ%vUc(5B@{o@-=CYfJ+W&&-`M<)l5Mp>mK
z+0f}0mV8s4+M;hP@T8acQJ3U$W`FN?0X7Ngz8F*q_cL7LFXm88fyr%lsgv*T>%>hX
zS%6poka#B&)BA;T1pKmbJa7cI*m|n`=zF149A~%bqUc{98rC9nuq^2~4n{tBN-qI3
z)kOwokZG*{?*I|3TJtq1kz8o7EnQMd3E(dZ%a~+R3_8@~u}Uha{9Ix`IOKk-0=}Hi
zh<ZxIK3uvzq2A4G*KjOW6Xfo`7DBuRSII{kV6mO91`qKbM&S7uEJ5D5SJ$GPK!{uz
zLlufBoT((l6p9woWFwb4t9usi3+DY-tJFOibC|DHCSUA)YY|Eg=zv)PssFpC_b5Tz
zerg^~P%dWSZ$&(jJ^#qUJ`_IX_&X1=s))=hDo%v>^sQ{PEBryiclshVI%Gb0>AbB<
zJ6$yR*&5HEkTEqk_A^OU3fgF8Jf5V@xDc)A-X262iP7I|F&%m8RMV9w69+Ua=G78N
zrg}Sm1#$wAQ>nV(I58;e6Swu9P1ay5p?+T{sJl@}mYZohs}iw~BG!UWa!FY2C9qfi
zAq@N+2X*HHl!5;;<<Sx&l~~~d<8y;}L*MtIj*^0*-J>pIq2wZP`mb#v%VJ?BU?H$7
zNiSsa;Z$WY;F`m}F~&fa{Y>Ae(0q3(JQg&aXGBZipwMgy){ZH9<bWj#6K$K-k|;}X
z{)f{PqS||vSVsDS^^AXjZptn2>jGd1#h@k!9S_c}y9gwsy1F<wNv2~`-{lxh8=>ge
zlH$NYM6sTb<zm5DwAqL6gc~*B$%_5`u6?K>(_&7jw%~<{fmdXfr-jc<)f;p8W<L9b
zgPYnhTRzRfF(^)nszISnv{oD?u~rR7t-DQjf?K9(F=wx#)G*xZtVFZtlwCB2;kj0J
zrp^Qm<N)d>R&8#{&_bI$>2z>Qy6P}nR~MhiDDhP3w4+F-{kHTULN0F&`-=Ql386ba
zqDzoN!X7cX%=~Molmt=aS5OZ(v*ALto#Lz5jxW55s!Y2tc4O;GN(n#VW@2enZV3|p
zhsif`D>9p>!9!1ij|vTO*mk7PzDRU%$6nz&V195HGyG?*vr+Sk)5b-5FmPBUR=g@g
zBt+ueRBl-2N&4Cpzc6STsE3`4%uW@Nr^1veQX3`ttds~w$xXU&3xK4yh-J-8`vyCK
zaU8JX)=MC+h?7F9_?cq?(Yn>SpTw}?<j4687B0t<Pe#&3R(NWOdu*8%aQyI~4fjPL
zPqwA$O=op|x*QUp_q~QP@w;DZ9$*8?&jPX18vX9pRdI@0QxJ(mv{ToeV+!)!c7D3c
zb4m*g{^wB*Wr^;!$F{pbI@cBRNEy15fjUuK9#X5CXhXw#*!(r=O2a#K<N?I(rmto)
z<fs-pLX_RZ^zQ@tZn^Qh#t`+|WopUqz+<8YsaqOj%C07+q0(P4W4efhR|{=_O4!P=
z*x;Un;$5ZO;cgzH=|t6!EihF^O1Z+BMoPsLv6q4i)m?`@l^R8xI7@T`_X<yV;xjeu
z1HSv~<I+MQxUm8tfP1N$RA45vF<$csVBniB#W;s5t)V-#0yk~nZci+d*I}|4fF$u;
zTZZl2e4+=C`bCc_ZfRrmts$$vjgn#~L5v4x(^QV|UU>NJza^%O0+!o+G^iFn@f8DZ
zlvRI=XbQGkQ$x<|FYMvZnLP1jW#<?a+<EvW;VY{S&noXiLmFwU`YzJz@0q?>^Kw*R
zVM}Y{TQiuD%oxtfmo!oGHyI4g0r%FfkAlCjB&b-;YW&yF*tuxT;;@+2&M$A6`=)G7
z<0}W*OhYa9Wv!V*>n^lcvHIJ)Pd?WiW!1p^%#oK#eAr5n8yfOoF2i`5I`m|CJguKe
zGNrLbxygmDsLprKy0VV5a!_n4%0cn<n!3MyLp968%f0a>lNwZmj>xMhf!FS)CJ~w=
zRJ*!mq9B)j!a~u9i+DmsE1zv9rk0NuUv$qx#F13ZG8Udf9XyU)W;JLm{dxF;qXah6
zqm(33o8Q(U-PrYP+UXJkSDr3}Z{kx0WXTuDqmmx}#IIR?ap};<_jdbske~OM#EWC>
za0z(Q$`Fwy7GXrUxC`lxK>jIu?qYtSBDjc~*Hb@1Q~j0@Ww->Fi@<gnmZaq+?+y}6
z$<y=2SBm_HH$-_>`#M^Ur1#yz&|`Jm3%`FG4r8OEIO`gGhb)U|Lzk#i``3G(=GPW6
zQRqT7EYk+!7{6JmIIwuhk^F6gM}DijgleSFh=JoPNk(y?3s*V^0<F<3xm-xQ&HhHD
zfTs<miVjIOFo+0=H>gW!3`CQU<cE-#)B2{1%9eL|Ed`;M{c6a&_JToR%~mA+os@u9
zmVfP{5EU^Jj|opy@rWgsvVS>WY^et6RICM=8_*x+&x?#|n`)BR07e@>q{2m0R>XcB
zg3JM87;#}>S4{bl20ZqaMtV4^ez#R%%9B^-sbIOhZ#IZ-<*hE4ig`UfXo$pBiJKcY
z!D5x8>a#wpgkQL1Fs8eF@W-Dk-!a(q6=noQZz|ixZ%n^8@a5`g#>H9*3D|u{)>ozo
z|C2%-npDIQ;&$>=*S@XvWcu%Igw8D2I^e#AqkZq>?#{Qj5y*MNweON*ds@WlOY*(F
zuzjV7dj`HRT0QC@A6r9Vku##+DPQu^nNeR3VQ`}G-~<a*{#rHNNrcF`rpUN+)Qc9+
z3Bec+$1Xq+#mJ0o)Xjq_TU#d4QIXb88?go|r@scn035{)hn=XMzlA+)4P}+yr%%d#
zobzq&UqM8UGB9Xg)S6m&;Yy+IB&~!j-F99@xtC+Ud^g*<9BpAjij&|>gw7*{vMjgl
zN{D!ZVC<XFop|~M__OC4wLNp8h;5YL6LH)E0=t_H{9eBiM0iw?mqmJ0(d;7PtEE46
z=O+AjLJ@((j<TPh1V%}V1Wwh(=Kf_q`2}`k@U)$Z=fFLNwuw#P9Xi()B-S~(eVEJ8
zFniob8)Eab4pCq4FI?L0vL|hlYHPQhY`C|P<y|gA=T(Uk+xfnVAIYX@b@|tHdPUk2
zmDcS$6ufKbS(pfQpGWt&BWZVkPFJw1lXnk?GN;fhYdzlxL%BfFM8a*_;!r~E1@+|L
zt@^`E#(+!mS2{?|KcX&+HW;cMMBz+^=;hu@w)VZ>zA36n;o9*J0#_a)G8`JuLkU7x
zm=r`-C-SsYHJv~-^$7rhz1dD7Jzdu@l$8LT1`>@m;e@b^2WMfX<~->>1f32{cbwF%
zLC#(3IgGQxyr1fAbW2!zaUS|Rdj9a8L^g^{xImQ!hre~;sOQyiW}-!^Hgbk)vIz8r
z#mDa9AqL`4ir7w67jlG%zM!%d=5dpDT#`#1br#owRezP_<|_xqCq;g#m(_E(YC#t4
zGpzK2-ys-qKTjS+HDN10B#8a^iz=!F`iG9yCQV;nbUJwCD%u$bIVO9<($f6v+DKAR
zP=K-8odbzdFom9~+D2>;Ga<G9{?#V$rt_x(q4yOUB@p-vHJVw-xK@4_PQ`w%ql{}a
ze61BkP+*Gd$WZ_!0=pnZJ#E>cM*L8%RaLerqPIVum3cp{v=MlEuM0E5+-en?TOdi#
zN_kJg{^_%RZ!c1V*)`1t0C(oeX57A^3;_E@W*=x-zpq^EcQ@l&uTYx?Y%J>XQaHpa
zD~~`TDPDh4<xTw)Wv9lJx$F2&>l8B>nJp8d&sL3<3r#9~o8BmPu7i!RD>!PKcf3r{
zSgXURZqla1kmNZ#3PXoYs9t?c4|}C;l2C~liH3$UPXiZZtKKNiDc72duW`&Grw`Pj
z+45N$X~)hZ&E?;w`2!oG?h^PtcO4H4K0<rcTI+y_@Jy@$bA9G<1EXpoh5j~{E6Xc|
z%kP(!{A{o%Oa>E&e8xx2>{-Oy>FK7scxhjoL9o2*Fb~K()t9#4?qFu6eyr##JpGls
zGlynOuNXtXsVAr3*tr9)BmM7WD4=3$6~ocpBxdqu`3@15=toSxzLQH*9%NeyFOh|v
z$@p%DugIu~myKN@O-Q}cwqrG_-V2j69kN*^Wl)Tc8xq-7?zX>vF{%oK|Em^!dj(1L
zMAs1R?}>~Sme4SQw=Hs(LNb35vVU<zR?+Oef{vBI<uKqLyc@Fr2DVikFCMJYHd_v7
zfUF_|cposj9PzS5>l2EGdTId_oAy<@=HO)I1y!X1BtefA095R$SbUn%VqTddisMwn
zsdaO`pWG!05+I^V03Ghr;`76PZ%nJ7*X?`^)2C<K+vW4=YR(48s1iU1xBvxK0yqF^
zpub-pgO!J^3zK*Gg_g(UU14-YHr5}f*oPZe^r?ZwiP27MTxtm`rpwyk4BR_rco0Mt
zK$P)Pp1?J>&TWGE!cnM|RZXsGa|-O^CbTu7m1}(<i9F`&l%S>{OX2->e%#Rk<Xi=)
z0_cNCs=tOsvmnK403E;r<XH_M0-v-3fvN#PNV9JWmP8;I$4oiUW)kRI%@>C%;|B+&
zWEW0=5S8n*IB5Aw?sQ3sBj|m_6KcDR%c!YxTEl}FZ{9!$!u>NnBdamU#0GQ94MGv|
z#Gx>tb@&{AvL{_8iMCr3Uh*GJM;@(y%bOJ$r2Mu)-wsRywRpPq%Ws?`@|+3r3i9Q{
z-rHvsW#EMQPX3K~QV56sL!>Ein0ebGFyL$k&p>+!GQC4|#Gg%CUQ@;G=_<e$fc#jp
zfT7sG`ugZ_@##E?XeGm=jLm+x)l9@YNt-a9Dw2icDUdpDYE1>PyFG(>h+hi+?VxF9
zW06-;#j%uYhFmtE&dMbui-r<whos9jhU=UVkD%z!DPzIFY$u;}+TtA0f-oDYDcUym
zPG8({nSbgQmLR9jX3F#|iDVotn$vaeks;A$Dq$NB#r3<FA@3Uu?nut|^Y&`191AF}
z^I&3#HjE+qc%MPcjk2<Q^<bf{Q5L?sT5;y!Pw9R`yC|qJNkG)r*^EruFh198HZt7;
z8oEMqH&R?nHf&{J^wa5U{`*HzTcKgPw=c%)E^?G+&I(!3CQ<Mj`3=z!;;!^9`q-e;
zG=DhuCsKH89EqfQkdwsS#gFlBnkEJbiuZYE%Ae+;o3e@H(G-%(YK6&&TcoNtu1G|K
zrKeQVk}MoxltR?6O5ea#kvLd2!GM~Ygn^pm<guayo+KmJUM7e@T}_C|du+(WZ>M!o
zf$dqGR=TKfNr(8}2(|Q=m*|YEW;S4gy!M%}t3N{n)+a(WTm8VNIbJC<kO-TnRoNBy
zHu+5E&_!`YXEOk>1q-pioj|&iy3xU+ww#G9=+I@l;HqZ7ok&l)XdR=W1qhdVO@$UJ
z4iq@N!W{_r#EbWUEt=Aw0|TN6X5=55YynBw9IRFG;O%}<OHH5duxmaI*oYq1NP$pe
z{czs!KMta`3Xx~Z7%Z${YT;r4s*HGp4Z#E8vl|ITQauJ<^mv+vW@dSW&xfwz<SC?L
zRKRCTI6Gcvjb7cN#_sPAvs7d<apYY^s_f3c5ad`_22O~92YjX9m`c$gl0bqygHJD_
z<T``9`r}-3AJFcdzg7%ck#AHs46}nAFhvz|)|`d3B@OEHGd=jMzX~A%8zQyDJRK~|
z*(t^yDbX;e>b>R>9RFNRLB{UcOI#8Z`L}6>m9%KjnMyyEAgg$O$pdw;Y?d1pEADJ+
ze-icpa8EFRIMV=zOE{RR!UZN#o&css7q}jPTUoL^&o)?l_OH=zz4*F(-x>9ncX(qo
z)bsU*VJ{QYTSAeY;vc8O#u2#eZWjm|E(}`2FgC!tGl-Q|Kb|m#NFJx~gPWN0clCK=
zFqpst4TrPc*6nhfd&F}cWWs%!%A&uyk9lvPrGhGeVtf7F=0K*U`WiVD?e^yoaa{wA
zo@UMLBX~HFB&Yk+4)$NBVxI8MB(Uxl(&10n37=P47%eR^3xiL+02KB;!IWZ7f@!nm
z!qSKn=8<f2&aUcPg_NLeLP^khLnb+hruF0Y{UIM?)w{2N$uG5S?nS&aT9$=jP~}tJ
z$gBo5SP!rS--K-X61hnPd{MskHUfqK8KCID0207=P~~3$IRFJT`4_+ig;hJod<lYY
z0*FF-;J=B2l$!u|uzLIs2>kED0U-J2FUHthP;)cD9nb_~Y60MZZ!UslTL6_XkC%~}
z`XBG0w-x~Ki@n~r6(9-TdDYb03g89+h?-v8zPNypVbngEgUUK*VBvRqNkp2+IsnrU
z071}g7k~?xZ(2Qv*x^Q0SEuQV_sRb6{Fm^QN711|qz$hxYLGHzeknJN0y%pozYQ8~
z1*Db6i1!7HS-!#0m<8MFP}X2h=#69Z<|frnoAHlXVz*_1g4p6~29Sykh{L9crTHpP
zjv5v2@8LoR$@&{Jw*zm$|EG2eioXYkMErjs&tHYqKNVk`=C9oVH&mbnZx^Pf6c3wM
z>$#m0fz(^d7(a@%THcRIuj~_2F}hnWTIE7>2sl~MYgvR9DrtWQi3<&tU@n0VCWv|E
zy+1-voJiiCH|BAfco$yZ-pyWQ-6lP|Fn`AKn#?fiil_F}*hvO#myDiL`}$rR;V;Z6
z{J*0EUCscYK$YD9SV#_bHf~UJ_ZO(pz@Ub*$=R=SD6Uz=@Bn{F^ELx90W9IivK%4*
zU#;Ir{3w4lRg<jm8zU{=eQ?@zG{OW03-BJOu}P0aJKE<BN`}kTG$=D}_jd)-23tNB
zKR&xh!?^toh=u*{S%m%HuJ(g;KAx679=k^eo3azZ-e;eNpRGx9fOoYUUxGBi2(|wx
z((q%+1HGTGUT0sGxfJ@FXFr7mGfG(6%x90I?pG$b7VI*pa}0$1v@;Ck%7SOLlqWM|
zX7$gGb?pBZLq6tAeiqp_1zXX%vTFFysKqX0{5oWo*(5m@I;6hbIo`x!G(o;QYRWkn
ze#Ja;z7!H<pZ#GEuVI44G@J$WR{$S?p7DBVf(nfpUY*U*=u!R>q{05LAWhD^9myHt
z?Xg*_>qCF5u~N>Qm0ph8g+w|r#_VyyKCMYC<@<Bu_^f`;<9vDO#_k<5Z0<--O|9SX
z8}$86(<pyR!psb>u-C^`1q}cG+Y=JfmNH2xeVN^@*$D46Y^N_QHLzv)rc>DOX*?+B
zKxBp-&wwa~?nHq0aYi-7F=@mSo?3|d1lIdoLPE+BIMOh=`*ib-S(;qKbb+(QA8zi9
zK}^_A?h5CQmiCSu*_XSWeyw{WYLKZMJC#`_XNlH5A4V$aqO+39%jlAM$sSmB17a`d
zJaotDHWPH3{ZKUnG*H$|MUH6PD{}8Yax|{AP+QZRM~$e&P0_tk7Vy0HS6_+zBx^b@
z!!z2p>vEWzcT0dv9v|T0lt3N`bLm1_Q8msR|IP1DI|}FR>R!^=v6_wFHD!$y7fCUs
z;{Z}Gvt||R^GxTGUPW4Jyg=@2>pv6L0iVB-641p<s-&Niz>4@3XSY4*g&&nW&uV02
z<_IN@^s>CtPxSPBwpm%-hL}$Nb<7QLHh5oJG|R!uOMP)#8UN9u`42VvagcXbxWI0Y
z`Ak(+jbb%3<of!GnJ$kLE4i9J=|~a|;)KNsou{ZxAPy!U`DV7N2%jxujX^n@4nrDl
zegPM}$s8PTk$=Omh|62l<zM6O;XHP<d`ah2kz&6jkZ$E<PP^T3!o^F<5grfL5%tg1
zD)OF^hZ)^e)eo-nj1~lUW|i3`Ypc$gA7j7Y-tT6=)h%%^9wdCtuglTBsk``TR+qvW
z<!#f5>Ox;73q0S$MP8nVkWgG79E0ovn*1k9j22IUrf-Cc+KvqU-bi~~xTeq|R*X7&
zV=z<G7&Iuuf~}vP`IuwNDc?9VPm7|;EJg1xG4Yiy8FduL*zeC1eELie;+vwYcdIak
zdDeQ4V3$h!d-sJ!a#vWT4jjQs2!$hK@rb66OS94bo<PHs%rOSXw3>WR@2^?p>}<T%
z4<FbBI_T86mI%`~`u=mn#WU71<4n8yVVhLxcY?8>4%By5<W_Tduag5dr}t$pEOLgf
zg(ZCE2n&2pUoNiYMUiBO1C`c$4H+8&A?PD5i(q1Dd=~CcN2AIwhz=jEnn+2XszS|;
z$Nlk>_USHfk6R|4RVcX%9ho0Ca8Bwq=94u*tiztm`>@&cjY*523PO9cUSYoaN<8Sc
z=>HaE&A|ph=|PFIkUfTJ1&xTQ61DePCm6Oj0c-W`cO!!TFvS)t)lU#3;Wx^go|4M`
zh`FVmF&0rAxt#Z{6%Y`YtmK)DC+0}Xn~BQh)ZNdkUP;>)C^45LQ)VjG{qCE23;Tu(
zoZ@a+Kc$kv>4+Y+Xs{}aYUQJ3-#N*2h@V?4Ay{(>!~90Y6rT+#E6YHu*6&P88^JlX
z6j(^PmXZW({xtw6b5;EV<Hb#@vYt?kc<LZ4Tk>kGDmIy~&@Q6d!?-Ie8+Q3!HUEf*
z7EgNc%eiR#Vjm=J1(+jxpDHM&Tj2mF*f8;YWp$(mv)Pl7-|G-1yJaWXqN^=vh+6IN
zB99g_E!4TKXtFLYB}386q(6Sr!q+JdZS#w7>Y?v>b|Ds#`d};38uKat<Dwn2o6sY#
z>zCNA@<M2eK4iQL9+tYrzrhw+yh(vL(%qQJ^LY<iv|^S2^Xw;M7L3ACry>N5hwKlL
zQ3{8XvuhELOvE;up@WJ*Dxx@$!8hy0q%~;ekBMk1Vg<)T&k!9-7&sHzP&89-qUI`S
z<&6<tm!8FyhfYE-X06&6!4G;`=-SqoJ;nS>Wt;uj5@pummSzbNBuL#&f)+U4{2J8x
zYu3#elL!VV;lcP6<sbtC?Jf_zl3u^el9qJ2`lAH*%0^(OY$VpuSG%e?%_gaf2?WG-
zTeritW>Rcb0ks%Q_VPWLy8g{b3J>uL*#@@xtN`zyn3RLt3-V4{G47%1GwC59+8H1y
z-fR_8+eQ8D89ih;Cy>;Q$)O0uA6Rzk#k$!AX;%qoJw23O@u9feyM};4o*_VwtBY%9
zdQCoJjj_F`NMJo>9_`)_{x&bIVF@$~<vZ(Bh?yi%cs#9o8#yCHF57yukf>-!r#RUU
zP!)fdQxSh@)Q)*MY+gDBE@_h+bn2IgO&my?8D)nR=l2ABdbPWoI^>`o8ZGB(15FPj
zgNqfOyx*QxYt{(S={xWp!dfw!QjcUSLe|#afLjBS`KyWW(A^hEsC%K}Lft*Hx3vL<
zb1DbiQ%dAiqHIlDs2nPWCG(p<<gG5fI;oHXYizKk{X@u8w~Z7(*5DG#b#w<fT!YUz
z%mM?*&Q>{J#?`s~gP>>z*kKh&{t{8S!ByofYL?F{v|#pKIRk4JtiE&WGkE2Vd_daX
zXbGZ6SH7j*qQX7udy9VeFx+(Htb7t*x1658$*HR0w0ck+(OqBQwlf+$JNYP*(D`wN
z!+PF%!pj^v@20TKYDjZON!jkLET0sztzAmdo#efMK~^Y=ZJL5XM%k0suAdqww`2`1
z24XR)R0||ds{u9=8Vf<r->?{|9%Hk6`C#e%GR$@+eZ+Oy`5p#`K+aW)b+-Q^B1(!8
zn`e9?j;S>Qp|Y;B9dEn+k0@&SanOAN@%G5W1bHv(q@<<NRZ?RqalR@h;v?D}Qi<5V
zJl6N3?(J_DLWyF^j(BFIWQl<TeaCF1`sF~;qi*uaTQl&^p+Yr_0!6XCe)C1l`9Wr2
zC(7tcfpB%frOOcw6Z08Kn(NrRhx~oc>r#e0qKTaRYT?!D37~(tAbzwIg+&xnb@<tF
zZ7{v$a~m$@yg^joa?pO+yT-`pIQrKTLu_2CqM5=!6blf&`HJyzctOv+#_x6<X_9c$
zN1z?mkOJf{T)HK?k76EzayM;@E<D%g3~OB--!$ULSdFw4MO5GnPdz;#>T9#8FV}n_
z&{(IlQWsR^nSC#N$;X~pV>9HTD7O6I;ztSo>CiI6X*@c^sVd1|ehhH|w}ssxYh(&i
z`78akoPu00qid*-Jfp6+wvU`JQN)~uT1TG9jS>iISg6s{qNHw2fnbFb?Jj2zE?FHp
zUN9g`5A~53!vH6sDZxXLE^rnhj6t1hbZNCoDdnit$w#;S$V;BBm9FyFNu-Z=IDSJA
zd9*!;ls0+1$^4ltLuFb%1}#;bgzY51i3^k$eFx9>*Hgc=f)o06hSG*+cx@q1cE(ua
zt_BqCj+(SmUyt?}T_b|9B3O)J8ycQ%Co}miri)E`V3G`OiA`H<nhfq@S;orskcP|A
z?95dR)8N$qV~lb4$66rxMu?wqH1i;@hu6WSrm2$&lhqo-JB+#Df}g@9(ah?JuLyup
z5VqjA3(T%uUQO%oqCq!y#!H<kyNbKTZVzAz@#1-p=-=1Y4P3Len4q1hn}egBw}YMT
zx{E;8quF~QkWUVF*~F+$q@Z@u)c-N-Q`}%@vygNp6hc}0t0{Cs>$=EK9KU`wz<bc_
z^sO7(c017fg~kfbS?mmkUrZr_1&D`{h!0-G996e89bFLm%QQ7V#<Ci?0x#d~^)rY9
zPp#@z8Do^7j$VH{T)f2T%Gy>FXg1{Tr0^G}B8$PE!u*lL<6RtQ-c<t#VV*>}eCh{u
z*f5EZ(F0?|4q5^PhkOzNxq8~p+8!B*M{W>NCLTxrf|&@l?q!({9;Zxj<$GoQGNViS
zVEswR(~X>N=g5u5=g8S$KvLR8WiTgstB6oU?j48L{o_0%4b`#<Lb1+DNL3!EJR>b|
zS_eQ`_jk#+EGySbW7XVzq2lb47u)pJKQsDPs?8P*-_Zo`<Ds$V8Z(+rnn9F&WQD(F
z!9w~NcT;(&$%-p(!SeNWLzCsdi|q?<l?8l$7P*ftRSCs;JY@J@1N)sFwxNWXE5j_N
z)ZRX*!Ivk1hp7L==CytjJ9scMos)ERWUK=PbE0fK5J_H&B!qqF1j*UlJD6Lt%OuNp
z9a2mUHEH+$$6Ro*Z89ndF5)QkDhR5zn*A<a422Mg2|#B2wDTYfLAg(1;rbOs46g+b
zBN^Br2puE~#5d8WCzS9QToG>#Deyo%fVW@cVML{Adt5i)9>NCm+nh*Vef^Ws$_C;@
zJJnwfnQ+!9ceTLb8-${Dvq-UZfLA>laVWiVh&_!g0eAS8)qVdHcB_p9W<ljoU^bSm
zkrwyQ-@26zh+73eKyvBGB%bj8&`<o$8`6=pgnEw)pwcY>J1}-Qy*J&gg?4o|=Y+&Q
zSpT7iOF&M2B2#y>+0}J%QISdGn`FtsD_;qASyhIIQk5zJ_hqJT5toC1R~cLzZHU$E
ziDs*}_Ckj8vMQ~eV2f<^VaW8=nV-M0efcf(J!?`3qe<FL`>;%JIRE0(CdBIXHXn26
zI!=#JJGae-K2W>WX?GSzA2;w9iqTUo3^n*J7PD3+L8tK6KD^uHxa97_HA=IWqdxc8
z6r<?c!R5nd|0L1@*r5Z1V}twIM9iuAaP%z6sNcCBth4U#6T*z5B^wQRqW>{IN2dtR
zyRE90w<g@Nw2H{>p6`#%7!;NKSxfpqO^-$HfG2q$7~iCFEt$tJGI@-y^`XN434HxM
zTGQuV)z)XeUNQxq4vxy7IN5g9p4IIthodc@h^f(oN@%0o`$DszUb^|`KgXjc@nS|?
ze!PgPN23Qayl3F<VUve;KfXKvdp1`%uk^P5{W9g?ZGZB9_x;bQ#c~zC=hYg^&JgB+
zALNmVArDA@2OvPajlUrsre;bL*yeuaZFS?I*z|Z~?=>F_HdY*7y$Sle0}uhesS+zM
zE@k93b*FecV2QxzP4N?UV}f(05YHVoK+J|C9)(&XU%~gZ{YghD=T3475K(_54h$b)
zEFvV0Cpzu;C&Jtfn81G?4EYvGj|pY0wIN)S#0o=q;rNCslJr;lAhS(PaU%QQ=W*80
z`IH1Flbphn;lSF=k*{=y)m=wCk$O{+IDX`Xv*+oivp$fAZoTsjCHW+I9~gqD&kvgh
z`g|n4Wc&<ru((oLw}0-O_4~Z(tbp7%zVGBjWd88*ba(?b?*in3Igr*s=O_FNCOD&T
zdt-4hk)2wu*oa<y)7HOaBFXZ>1e#1}$jP5mT#!f9FP+^bfX$9S+z%FDXD(0ve)zcu
zZAG`SDT(*){by9@joWca!6}mP;kresDH?JS|6^7V{juk*)4Yqal{kh*+&r{}+srf%
zQk*rVBx-<{qhRO!`)A$NW|304UsD;P^)9!iCj)(@FC+P#<<OSI>f-|KW-K*!<DZRw
z@VS>rOpKR|7rMf97yfX+E>8)y3;!~$^VZ7Q>$kcZC$BW$0br^JS^BoyM;65S&<`}$
zT)KkLX6jG?4TD_%zFqcc>mhK1^tVs}*1KCUYj`R9U#r8#Q`v|W|NCYE+OtAv-xG$M
zD@V3YHeVFnH>(b7FNy#8SG{Nrjc6Cdx4diywQIcxIc#^EtXI8Uy5(q?szZ(CF={h~
zrTmo0mu91z9KWx?!nZe4;J@>Yoii=82=+D;yl4uGBpKD`NhDImTJvbE^o0=8^64S&
zKHO1d1G+tJHIFnsEP75hYe{JhdHyf9-Z40{CTiFXCbn%%Y}>YN+fME{6Wg|J+qNgk
z#I|+vyx;eps#A6T^xFMz*G6^s>R#97;t=AEq}Y|~jTT>b%RqXh7t+M6UWuI?B+d%G
zpQHUU5U0WP1*L?)_4QJpQ{=^$*X3O!73^fJIx^Z^C|0G^yMoZS2`iB{IJ3IF{d&+5
zyhT?yOj7xq;<*MlOjeAc{a+pQhfHhoK9eRje3?05&<#g)_=y?p?=s9>NZ$xRKGk_<
zWd?obk}p=y2phY0iG}oPt^E@^awvPnDNH3&)NDOGynlSg(uO|uSLqwPA0fxKn^ZL6
ziUn(ghS4JYzwWi7AF~)-<<VSlg}$)`(}Cn9yD@Tx)?~n3utIDo`S57IB`!f2`4B`e
zGKjY}^_T18{>3yK!}y$39yXq4xHRPPS5Pln+^-5l5!@8ic{vT_5bRPhG$|D>_N(}^
zV1kuhz0cWH0+^bxJvZX-#yih!$Tgqn;7p7Z`*3Ez-2fyr;TQEIY4@Jg_oJT|EdJoU
zyZbYYa&#@#=JVqJkx+{N*cb3&d~^qu>0#_S=+1Lu?SV9j<|vHg?7I;BsZy=b7MiKM
zLO0~v=19MfbcSJ;YgJ71B9yLp4l^B;(EXq(H`+^yU!D~jelFoxamRSfh~;29{Pd+D
zS3m&kGe0+$yyf8Y651Br+~0f$@D+l=VbO&X7ZwgH7B2GCi9y7X#=#o@>@?Unxvie4
zw1fX(iExFv4mlnpVazgBnbta6Qiwf|gW|~4x{NC1+DVK^EwcLFq_tsX@)u+I_2yaH
zId#7b&}$h_9vc^;UU)#ZrJkAav4LE8g2&G-LAGaGohR{>rmphwW&gYbo+PMZvQ_DQ
z2=0>Xc~6LUbmbt8;D8GMgj~%cT{m=BpnnmlP1_(;(0`bq-+j$!O(5gANk>W)6y?dC
z(oZ_8q^#yz?xw^~1fI<gTcNV}C2n3uteiq_X>2VN*+GQ37UNe3D4c!*y#p!9lQh?h
zZsmGhc`>z|MRB!sX@(U6Wb_N2rH@s}i?L7j3Nn}RptcJVqyj7}QMJ>g%F!xRw1xg>
zf>AF@wtr6FJlTKVj&IoE)7-#c*GaS!s`AV|U-<ICp^czMyTAlgTXJ`fg8H|=x^%;L
zi($(<0fUeyjagEiN<y@scAtR*O##!JtjHoM#V{KAyVDWt!v}ymIq3H-u8X8+&e(Cd
zR~cely?0U4u<0k$<Nx|Z**T6Tg>E3`WL^o~aDQlC-7e#zJ2IE8(GOu#WOqNQRR|u`
zYZ3yu_FKQxTDcW{-#8wy!(K}WMt*sziS7KmGhVX6(&rYM`d(M6UC%>kP~Y{&xV6vz
zmZ;7q=U9$8)(6-!Dc-9{R+7GqHkgx=wAP#fuH@GU7OzIiO?OlIQ$Mee^K|@X{LeC?
zUvWZhC%BCI{jpjJHeJLl!kta&#_AZ4Ek4A8B7bVQim2YN-&|eqE(EvuQ^_+gO#R=~
z(#|~BJpQy39n3J=*~0Ky^lWHT&c#NtbBQ9H7wz_YWf*ub2nSfLLh9ba&u%Fz2P<>R
z;(xs6Z0%ICX4laj??d4SZ8>kxhy~pV9E>1YNT@dB1k(?oDBw&>*u^1~m5H#~6sgp2
zHPviRan}9!e*w%Hy2aI-*YvjKEIT_hiEY{YfY)z*o~^E1$F|S2TeF_ev!i#M_^&&*
z@9W60&DN`N|1XM%qNe25XZ^o4@)6od7YBflE>}T0!3F&vWb@m@cs7eN;@JbgyZq7k
z)P$t_o82p|x#hn7DfwkG|0f$c^|1~^>9M<fQqv;t!KtK73Nhwm=KHhpRl-O50ItZ?
zcJR1%?Re08Y0{4QLzYsa+S3C8B?dE&*W;%9eNi*>Lx=trFVZ4SF*D<!1#T8sw=e))
z2z%oG!G0XhGCQS|y)Y!FV3A+iE_k<_*B1w1O=5m7uRovI2(N_Y_@?XAy7br6Ea4t$
zCA&w)p0SbaoPSG_fBM#UHr1vKx758KsPV(VQ5!;E3K8(7PGt-^Q#|py{y8nq?sWI{
z1jf4S&90KH()_jJd0iGlU>D_Jl>j)Lowf7xEG%7*b8T*-Y7t{m&0tz(CBxRYI2<+!
z?sio{QXy}spj5-MN-$~OZ2z!L3rtosKE7MpS)#GaCi-sH;9AWrfAAtdUtBDm-Omk1
z5DeZ*4vtgG!r!--pGkY$oS9j9LtYpkr*vp7f$gL=B3O#(%;YLc9jT1tA_X*yLe{e$
zk1rTNvvu-@A@=dUaZ{mps4I<ZHySeib$sTFN}pYUwkC}xxs&&_-8v=WESACjrBQ2N
z^v0&;DcsFQ?k!Am>R!&1q$9PTjZ$jP`gp2Ki~Z=y%t@gsiAkq%5iJLySJ#?iM;x`d
zyNysEEC^XGUF)#apJ6{U_W~H!Q&b-5E;J+*U8TOd26>h7-Fq+&PEtAm6crRKX+l*E
zpJmB?!n}*fV!6q|oS_t)qg>PY3UTJsTFaOHILL2XNjx@08nmk0YeHhd0?%enSIEFi
z<VXXVf~T~83e8I^0zp<#DGY{@qA$m>h7{%62dGFUkZpgTB5IM!sQ|i6RLAD3{PCx$
z5ESaHg4#5}NF>eYs7mve?MNo7#gZD+9%StECJF+&SpIdo=b)}@wF51JGvWZ=OtH~s
zJm||2#Pa7CW}>;3u*JFX^$!cr5t4+W_k?A!9AbaX(%M^G`QkDo2+g`7@eq{@rBy0s
z9agD0@N#Kwv!=kR=>kL{-pn@QnjViMkak52N6K(Qkfz}>M7F<k5I#~!@(dV8xo+xr
z+uc1fS`jJt+g4+aaB^wy;aC?xpc57kVl)I2OC&-$))g0M81ghRC?7x&WCx_Dvv&Rk
zI*~$L&i?|(Gh0YC{YqNw)zUjXoyV{M#rJ_b0!Yw`Zc{LfW&m7m1c=D7ZCjrSwzj?x
zR$&Gj+;3h61NrSm=lchQsvun+Pni;7SjzMaZr!(L#?4BwnCKlJ4LiIGnzJn)zTTOn
zgbB^(Ua-2jt^O26G<Tpb%;YB}u%fU@JbBIBD+^WUQQBnWS_MAbv%!q?j&gbMsCVvc
z&!g&Vtq|m;<OAv~0&2}&XSGawXAR)Qa+8B4_2U!S;sl(|1S$#)k_jCGD3XrTC{!x-
z$kQlTD&_ufJ0jZuCNLSzgh3`d$4ncD*aSCB2-+AeKR?)17bgjx6df6wz(fpc)i8-u
zA#7iYRaBf#R)G{DtO-ontQ4T7nN1T_3Df~j3^17aBj8++7~+Uzp=V<$FkPn};s~eF
z`lmt8%_SPf4LcQj^k&~4hs0}2#En~PyQ{N|ySfq-?RWYjE{U-iRCHFqdslZ?!D3d*
zEBGnqb`G!!BVPXZU_#iVmAtAObl{Dtzy}w#V4QRpN$*kPm=Lx{V7(nJ)NvBX8D9LV
zBOr!Z!vrq*+>EfE?dSpUTFO@1zHw((_PIx+Xx(~&HTj1sJKaQ};OH1ru~KzbLu|=x
znK1>aS<^L&S3m_tSk?%&yveBGO|0lB2~<KfmTx>A1{;goY~}2P(91tPja@*wHTN5&
z{#TuXdELgxg@89u<@7vl%?hsf0{$+Q8ep11<J+qZl;TTuN<(t^IC9Kns(mUqo4fnu
zL|gOIHm6$4(Qir<6ba?JjI8Xmxh|e$sm-t?DT86IC4fniK5s*(*(PUbDsXP&BRnzf
zq|?bq@+M7)KpwYSN)qs1RL33KG#tXbzG3T)OyVw!$XByRz!8piY}aT+s+QGh00{Y?
z@Y9C1QRAY?q}+&Mqh+ilGKg<QyMFjsVg^b^l1q@0MW?;|Wq1`aF*TYhDuI2eFml$o
zqUHkWkNGUOt>is;QaDtVDHH}WY)3G>0jcLX5({u}HU=G_6%Rek$E6Og-?imyLizh*
zrrCrYnuENh;Ee=&K-}eF4mf<LY1EaJ`83uYOzna@R5l+S$ma9KmkmT<tJ>9X{65vB
z8Rg7bO3WprOOBU}#L?1jt^lb>hrD|3?|hdqI$H?<*8~3Ymc|$C>extN8!4l!tiFqR
zG<ivQ(*|yFl?>Hc242yUB*6vJ&N23{R^xTTGRRa7(*a*ITPAYH1=NLNCywZ@|DxDi
z#SLUCvhL|m47N=;#lps78%V@W7b&9z^(!L6X(Q<MAKwp){zt|;T+~9m4p!Wp!_^W~
znA8qIfo86-(RH%R6{F-}3{%WHieIx&VG8ywkLl(qqTFkqC=DK${eT=ydSI0F!z2aU
zJMK=qm%j(up+tB33kaC!XLqw3iC)%|Xby(#Sa%7h{lGNFTY!jBp_o{b>H$}<9mAJ|
z6%Y&Mc){mLs5%6yP=l2muGlTnBua=-?U!v7B3;i9&<8TP5Qz*r2Qr~KO%MY*OacWG
z;;&gRKYLm&;8=M0o^I01AE$zGIs!g0S0+$iqErW}e2fyo0aP48Gtl4z+3<nZ9f1+s
zPDO*%9gU#(S;fFw3UjLY+csJ2<l5ROlWh<(Pmn4wC+XI+jsUkZZ+iY2sn^$M+tywz
zSi#;GuW6nDH!KjAh<wSqSP5E=xD|Fg?>7tih}-t6(<I_Qh=0tRzjawoUPQx7pDLl|
zJOrYhLs*;l2bi8><4!0H3K!W0;j&em$L1BPaW$Bf%}{gIRU!U^F`t|75=e_`SDc&Q
zS`!kVj_)_27>$T=B`N(g`<G2PqN|*c73Vb86jUTe`C$37_F0?Kw%moX+-2jo*ToQf
zyri4kcZN7=`U@uQ!FO@MH`VUjU@zsexGhfn*`5797eG6sc{Y9woycR<jEK<i<^dZa
z4$J1&q}+KSqSty{Xx+BzH|;?Gs->cRToy*Ob?*%MY_`0QzXz{|cZGCiu)OyLv}G==
z0<+qm?UCkQ3A5!q0o+zd;P04*W;cXO5<UM$>(4g^l5+`E@^NltJ7C4SY1JY80bF1V
z9B|^73pm*o9en{6vA459>^@v${sNj`rL81omBR0AOy|YvjBO*Y=0@*4j$deqQ{k~d
zhuG9^wo|}MT_MwGp`qjzrjSzjE9aDB?*bSsA239Ccy*#oal}YE(>lBEinsrh#QBsn
zR$Z7<zJ@a&((OSA3Et5!rO=!rDNp6eWB&CD0`O%$cjNOH=boK`R(p5ExsCH^`@Hw@
zxAN_%Y~CiZ@1ok^A2PR%!tRyW!I>gImTm4ze3Y`=$U6u7Gaj8sU}I0ooBG^Xxurr)
zE-+j%_VYOcQ>lsCWuQUNt-*Vx;NZn}a{-dKEKojyn#ZB`jRw2=B>BMk!XAQB;BKjL
z05|IuYmEpmHfWxPZL{_Ps5Kul&3|Bun7Pz5F+=RjLLz4v`2~-+u(GZ7^6sMB<6Ysm
z))v|`NR)f>aU*AJT`N?V&=Js0;OeO!u$4%!6NGF2>@{5MF&hw`^=uGkbNPIWj-M5{
zkY=ywl(<-@^m0vW$Ha`?gS65J(<`^N0md=(vIq8bNK?8fx9==-RBP4O&M1tPQpGjn
z8BM#ho5Tz!XY=b=EA`G4*7_<Exlq~a&Wf)5>!xqh4qXMAq#AwXYm0E>*dF%BMhU7D
zxT-k_;ZATQ2Ge8t`y%CN;3b5ejfJtbV!AbO<3gjw+WGLm?g|?n(#DTaFb9~{0K{u|
z?@JdT2Tqz26`}5IZkKvNdKaoQi`lEpias<6^_2kY;g|R2aJi4~p@exceR^UUCK1Hj
zsB2IRq{23npT|x-Tp=OWD1=0*Cd!n77V!s*b3=nvIK8d=q9y^>G!Up;0)UGFa|E1Y
z{+Ig^n5khQQcIYEP#8_+A+Q|+;N^J4jdTNoW-=9Bg|R!5qPK*b9teA=@etT5jVs)b
zgJ0Ed#F{rdI-{5EqSFy@(@Kc=t)cXxnSyHD#5g=wSX~zIFfb%PN6=;j`6X)DXcR&8
zf)Qd6^8bbyAH}jG21=6J#W2nygcm_#rwQO>0sb1UVo?767l3-C<3>@xau}i}sCCnt
zes$BEI45?+R|TJjjRHY;E#EHK*?by~sBZ=i&e@`qi5E+fv1+bsZ)Q+SG1)?WHv$H%
z<?##O(9G%{=2Kv-!V`yc|LLIJcgntpo!*B%cOPu|&0=eA{-;cYfV5+8=Y`f~DUH;7
zsY>9$Zg1RnBH)l)iCV7`s0n_SRPY9Yu($*(X|VhC4j0AWYFQct#ougM^8d60Z9o#g
z$<1pwY4Xhn4jiHtlt#e(U+ZasxZiKh;iFoi&k_0LY>s{-zE45K{ruE7jz&Q^+Cw#*
zPp|~P*{C_jEZk$odP0nFU@>&`=d&Fq%2Tf?Z2-C68$F^2rlT_`WRqRn>FVtz6!;fA
zA4rjPjt|yETsbuxoIu}~ZoH2>Q}$58MD}sq)3@@MO?_AKRiH1`-K`Kz|5C^HEk6Ie
zOwSVeWvU{W4AE=23W$9KszMxqz7#|GBLdqE8Z&RP{05;ield|9arukt_sn4fcJkr@
z6b3lq->vhF80*2b&t1-f84JqA6G8xL<m>>RN->U|1MS<g-Z(dgxU7gy-M(_(3s_)@
z>E?8YTKJlJ9>CjoAs~lY>{>xdu{GAp;o~K9*7}&HavwIa+hA3}5Y6sDV0fPm>Dli!
zp0|*B7M13-asoA<P8ID+IsGC7lAWioZwK%?9avAFVV^BYQB56Ko;ET{?zH<HEOxH&
zP`|b2ubl%I_9p%k0(+33z5U!W8#?f}KMq8y0N$AfBS8%!$!s6kbU8Xw(9s#mC`p~0
zG~waK<@au-nwgiL7&E_aB3BLMevvbYhCBryctR6?Ggz}I+LUs(n$CyBTi-MF3jpM$
z*^YDG6QRC@PB@$FU}SA3q-PMJ<dAIkRI%y#DMQ4JInj?-sf~*5tF!2ox$#+#wX#C^
zjT4GM*6`>xso^|rIL$7-jvrcCXReeLbqW(0Hj^9sPk4vC8Y%4s=MD^19U3hpIEAS0
zrQKQ$l!0KaQ%3#ToJgJ=P>N20F$COuAQsgkwnEb`+t2)C3snrUx@~iGU)py%ze^dV
zIS)L`a4mjySa}sQO=10mo-;co&M|HCqH2UG?sskHdRm)h+f|~gfn^^aUPlgA^r#|>
zrI^StU7wh@T6@5kj94<(cvKmqPlE5Lih}g^7cxF4y3ZTWsW^SJ%w}3fmH_a3V_qUD
zw(|aFg3`ugxRU;t-T859W4JKu*&9bD2Mftxob{o6tmGs!77oX`oUvkvS{jsFz9WOZ
ziG~CwKU1vx6Q9TwNrCE=1O_c?S2cgWzAC~l7b35teN2bOBG`9La>z~B<_^p*Q(a}T
z#u{a?DePK^qfBZ~#n%EFfewIom%<<;?4#?ZQ~N_o<0skCdG~YGOM7#7!PeYzBDY~v
zH_i&jww1Dbm+=-dQ3_r=8o@bTovj+I={8u4K?u!H2aGy+Js-wKw5xcsTPj_v<`bDo
zFR5gAqxR<pFEQ?2y~Y0(vi-K88;*oBJ4y(5eh{Wh=WxPvxAbld1^DVU01_%#>5yON
zLOQ27chA#fnfhQzukvx+-7{?A)-u?Iukt6|Tko!Bcl{7lPSlKP|EbI2aRSD5*^dKH
ztJ7fFw@qtU)|L)v7RdO_Uy_-pBW_1-sLlJJJ&k{Q1|eOH;x$=FELbUftaGODUYek4
z9S2FEE`s{E%9YW8cfy3AZ(s5erE_HQX9d-j{-`Tm%w~JN-5Y%8LRd4G{VjtU&&EC8
zBzL?iobJ<qk=pvsbDelmYoX&LJJJUtWv;`RhA+)be0miVd|<S*L`WH`vyh}98m>_S
z#Qv(Ie;kQ_F>4|X1kkG%$zT-EXZm!F|7H|Wkdnm|6u8&|Y_;yaSXDN|gYO&Xa=KCU
zLC?6xVTupPCDz2v-CYqe#{5co&ShQmI^^5AfnX22+O(0KYlIjq&^sB&`B2Z6l4_dx
zM%QC(xqVZB`bN}~<k&1rLY6lE#a7|0{HL}^_4eY<U72Y)@nPoNLnK>m>cODLf&ce!
z7Yo*R!W2(1bwPn~vWHU8M^ub&S$?we$~2dEWs%CMNO7X-;+R{_j97*2Vyn_2OdD;k
z#<cP<D6`Me!xfc<fJD6w$EO84X(@4K5xiJDa)|w24-M_T!pv`oqIU9%RHC#0Y7#gZ
zSyKhhfJIs{zJOPe0W3{>@r#M=E^-g#lFQ%I{3KVc1Vqf6i4+qj_oZJv-+Yi5_4@G)
zqG4?F2I%V+aV}T|GAv`};;*BkvZUybAN!kIQX~ASJ^%~}U%Atc4r!^wYul3b_BuM*
zxF)J^3b;y@Ux(;BHI-ff$NOF*8qwkZ&$-W3x-(#KSdRaTlVss!VMty41QrFXr;xHE
z`CiwSjoQFxuk_p;!5K4v3p?Ay+y?Q2j(BWrdh`S2EqW)ER$MA4oNqkf5e|Y2iz*dP
z#3+iUzTW!O{0#PfQhx;7y4`mefR~3;G;SZS$49i-@7uWV>-p`yW^JWBfK#)S>CoPj
zzWQnEM_;!l9tOnu@EO==X(yl(A@#X7M2|Oh(tVZPW?4qdFtv7}(O@9h+)(|nNc#(G
zXhG}z@oxGt8r95HkB0q!Ty2G$KRijWJx$(wo`;&xvnb`@-6zJ!XU0#t3029)56-6_
zS6hjGuUVy%nzFOK{?1J@l%eYh1BEwrD!W7gjI1vmAnHF708K3b9IhFB&i;Q?Z7K8v
zjSGQTtv*t{|D$TV)3o@H1yGvszBfYm9Z_vzCh<OLy{Cr0@lNh4yszO01HE?04b^g2
z6Gh15hd6rD-8|1>|5vZuolNZ*o`3FFkE>`2>0(Ea>&yb|j_wZ%fNG*QSLgFls#+$|
zZJC8>N=yNe9Kofoikx&^e)v++&Z)ulD>}TXVn{+(8M)aldlK*CESdp2dosRPas=W3
zirTQnYcVb9V+jB#U&GnYTjuKjbRc_p;AUg`PTp+NSeNyFL~UCCf1<Xdfp>;X8`h?@
z|Mj#13Jn27UBu~O<{uT=mwVkfT>m3#tNtHRn_GKiUJ-mG(B+#{Q>)s7<=qCMTZY<#
zxg!rLUEvQ3;7~G|uct<sBzLtkBp$8*p)ZhK>+n6GJ7w#K83eT5Y8d>(42n?KaH<QP
zw$kc7K~rUljY$dE#i?!UehN<aF??l=OG*L+^Vb!SQYPY7YxI|&=%1jdGQr6?-a+-;
zhO;NgOH3x89-+vz@IcR|j4g_gSDH<?9MQo-PGujCh`~q64RtSxq`UfSNr{&P0;@s6
z)-51aUoKk}71DV6tCdjf<5hpgG*NKO-xR1BhL(U`%s1VEfK|8r$xK-d{0D1g3S|Yj
zlq<lLEimv=jnX1Co)?l!d|{*6Z5s<IC`$t^%HJK>x@*O(i85~5wNHfK*J{lZs>~eF
zu~-WU*oqhVPy6yqqal2scjXz$267^hQN9NvEoG<JTr0*+nru2HTAN%}v;5cIc#DXt
z_XnH-IGh?mtOl3^TTVKdmPRpfaTDPDiJw=s2|s{`+`CF8pd>sTrW%~gM@r|;SyHEn
zCWaz}byA!2Ie}A-B4T{1h$Fwtj7J>#5Gy1zNe*dKL94|lr-96#@+|0OKM6)stbM1o
z{<kTm=meHw-hyCIQ=jjIxHI)mzq2)&4B;_#_3Yp!w|Z;uo5L$GjyKQ8{2jm^v38Z6
z%7fH>GB@GdOWqo8G<i{E^z{zv4?k$4Po_##BBP_5ptvh|)Grz9poRjF4F-LM!lTl8
zUe3eR7ZRfbDlu)JX1vJ!@>x3kWB_R5dBzKQx-iqZd~C#meoYF1hSJ_FXMCp0!Y(+H
z#49O>^%JIak6=|%PD+NRR}R2{*BT^wxWDJ0CL0y?4^7sRorwYQ>!FN9%7!0U{8Fre
zEm+*KvD)oVk!$m+hWR)NUYLfu-|BEjMRT;D?hgtf^W>*f(j4x0UmrufRx#<vTumz*
zZ^T~0OML}3m?3zYo5Y(o7hdcpyrtZ92#cCShSE0<-haxqdko%V1z3|M%|h_O<Kd5S
zD;3faZi4c<CxR!87Sg$N#CbRp)-eyx75uYlXs_TW*AFk*Qd+_#t=%wSlHFudX53`b
zErFk>DlrXNfE~_ajutIHU8Q?%+111$gBdL6CpdUGq9me}Ioco>6RkiLph;E4#Y0jC
zhO3LbrCkcE&Ur_M3+T<a(c1{WP34LrdNQNCMrMX_uuT01KWfm!POe}cVTM*uL%UCe
za)M(7b3&65rfW_^I;c5EZnat!W!Q18X>`#wN6)uZN*5(Pmcc-uZ(<(QxLJ9ef6DbX
z7Fv(VK&w<{%<xM1^CRw)im_FKfwLm#yx#KPci_hoTDS{i0qkK%s0+<4xcy0DOL%aB
zSF$ohvkQ87)bMB0`9lXL;IV!+q0P@w7hjOiw(|6Zma=|-Ax&H5X01QJ63F8=CIvT4
zgyYQ;M*5qTI#w#sOO$vF*#zWrjKo(wq});FC1b&i)u;zT>a(NY1tCeQV>OAqkr#`N
z_iT*cu|)Ze6j0o1S|ChH6)a+1tsI6O#$1__4?{48<HReMK$Rx>_+r&`tyl^QKAE<Z
z-N?4Kc~P@oZ{pr)RyB?X0^;^}{9Zu#y3_}#vB+nULwaP@0iLO6#c=w?jJpbo0Q<;1
z?nbwvBp?rI%YXnMBIu+?0+f*5?^m?|*V{1Sklrb<EkJDo?%&UL(|UDSK-k`ux`L7M
znbUHD?JzJE6E|8CZ!Yj;KZzBI1&!hdN(9Ml+Sc0Q{J}y=^7v#bqu+Ka<CSXMdZtNQ
zQU9Fzrx$nPV1#sGf$ZAVKrM^iV_JA>uIp{9l`V-AhJWS?IjK8Ro29MMoe$(n5+2ke
z3ND?(Ab<*wI(0CFIGs=Dq%KF(*s^6S`0$lstG{z;4`g@i*U>8ntbn*<+f!Tg)O|o3
z^E5p%qOi&fRyJMKVpwVz4ClCqVGQa9_D*OQ-GC$IfZGGSaZYJdU95vDjFH|V)oqn!
zbJ}W?6pytQ?U8ErIOOk(iAQ;#B7y8Nhs1n5N&xEkN4yZk$CiUS+~&WXB3<h?VGjg;
zB_I*nrD-9mfNDW(u$B#y;Er*8YXf1D4_J^*vRKp^7{^X?Xxj|`>NA#PB~HtF7x&_%
zv4{g;t@LGzo{BHK!Xs3M*R6l5m2kLYW4jyfF-VokzbEVJn^-B3VJ0unJS|k`{&J!-
zCIjHiNko~Hhe(UcLqZ=eh#6n;StBLLnCCn0CCWqk`a30%kXOL;gUm5y-%W+9lSIcR
zu(foK1=RK`Ho=*U-laXBbmjwRW4G$|ogAH~TX-_8(b<2~&hLa$CqP&v4<imV_Ej)h
z*0*<x9{Nj$Bv`j=KjeXuJ31w*AjgEZO94t4Q&CEgj^?3I9)9eXzQ-gbHP@4PjEaq1
z^@f~AR0*#nCGcm%F=^NfPD3oQO}LDgM7+7Y!BA_c1ua5hm~KA^U*qm(dTw1NiF94(
zG2*nR(S$Qs!W`c|2jX*32T`V2I&)utyST?@{7RFK(S*n7mE-&Ax2K9cPEb<0X2AB$
zEfh=m@P3<MssH6=xt8$hS(}W5+M}UDdT%LKOLM|a!?aw8VJ+RqLw?CXD4XjQN^?NB
z6mQ8H!sX}EOiw#^5#sW;HI)HHeSajmrh|QU0=C7Bk`(YMs3EiY)`(&T6TYpv{XUC?
zK>~C+yj<gMB1gx6!y^{c>RvV*fF-ab>M;w4Gs5ehCGuG&Z7D86o=gVKDS1k$=5+z+
z=SZ%VF2=aaDw*y;4SgCN<-ZOO*`^X{O((IAU<LYAI@Kap-3&3U#bUf744G8yvjn>7
zLb_Ar0zO}oQWNoIf=GiEJnNQV%$doQ|C}!1>Iuc*c1bkL@RcSlgBjESIP_zBO7%dh
z^+}V{zo{TO-Ww`-y@yE4x7J*JXrI5U$kE3^o1`N8KoqrQu-llDfU*-=8AN3}!mEJ8
zc|H|9D`OW!p*zTs8}qFHG63;T;b`r!CZ=6=lESY&gP}l(%`7ErChSHv0SC0?#IxU;
zz!)>i*(#5EC!liL4$`0k)-@|Vr}i?66gozIVyU|wx<bk3e?}$$4!uf16YKUz;Z_wH
zt(x7_!EicR8wcfv5<57Cxdrb|FKy3GQ^%uXQ$uPXx|h@Z#AsGtGFcg``wb<pVd`Un
zSC@c|$T1>qDK5Fyz?f>7n@t_bYv@grg>ABo0g7Rwxwp;ku+JDk(qT)AdX<nkqQBpF
zR-i~iB3v#Evf{oLe2~)8=QyvBIXH>0C7tH=;6WrMxFN_)O!D&YFmYq9HponZ_6+Fs
zI2jNgX=?RohK}5`M#JO`3m|$tz||>{et_s;F-c;6>H<&psFF1$W#}(0VVmCu8IH%M
z3B9Ff0yAfJ4}Kyb_CsO+-rA5-TVluJPpfVhj~+3RG1p9q+tt5+0=rBIJa(Z-bj6s(
z9b#_qsbN?R8hlay)hJx{gGTILJ|Qos)Uxm-!>>bePl~qh6woXL=l=$drlBSx29E#u
z?@V5E`PFJ^k6gcWTiRmw?mw3_8-6gqY@euFz2HVWhMs=`SfT!O68!2dFb_dOtF^sb
z9-k}IYnE7LlT-q8Ze?q~$CHCS@}P>D_1v%waHQdZt=$QBcDzDz<-kBd;X>ffiY!GB
zJsLh2ym=Z`#4Tg)fr2$30v2HL2`_{JMU+|&XP7gv0~!384*kOw4cORYqsu}9>tndK
zAH!{pzbys_RCZo^Kk?j2t|tGE^Qlu|?6|MWf-VMk5I!7>?BW`P8yt0FN!(t$YY{;#
za(ABgXQLRql3yeYxuAowbK7MfsrhT^+eSH0;$v(38y~+Jzu?#|pAZ6egZm*Kc!y-&
zb9Ha@*EVM}kFVH6%J0DE@V80L)LbJa0R~1JgqqY5z`S4g;*=g4boKpyb0N~g72T8;
z10-12mDlpAXGBSGi~JEJw<p2@*xK!LeN<jj{AR$AROYEZvmnB&yw$LG4YxNB7|rdZ
z361kbPX3#;g&~VK7W9|Z?^#Y&1S^{6X&Q#uJpBfh{wpS!zxr{uTDoTa?=TH{A?aY(
z^kaeO05f!Fbyz9<ejz@pNsOtH&Kq^*Cjk^lO3}Z3Twv_W1C#h7v<Z|c^g~iOe4Pqp
z%;CXg{y2H|!3cCt1nf<QVPfN;0SL!La+P~WjH7#ILQzY~=v4t&0fJj-vr$t<{7j&7
zQOnK((k6BS5c%zoYhdT)_|_I;i&LrJ`A4pqfT9gMJvmZ$g}urw93{Hkj}OYfCR_B@
z$3qGf?o%F&cFGSgMU{`r!Ur8+6i;ZjK+mRsh4n5h3gal*;$f+xu598pxqO9hEc9{M
zqO-g297E^4uBQ{>siKfTXJ=fp|6LzV;1$}_eL<h1a>CuXf9RHDp?}qA;T5({82!60
z0fa>9H9-T|X-yv5CsdE@4X3E0_$zdLfwawhVhzm!tUd7=9w`gPjUS)CN>>bt#^s_b
z9IV)>3}n7!<PLvxH1CO|WP@gKqWQ;gG(WA?U#P@}D044%9V~t8%SFE<IK}h$WBk#p
zRCf=~?CwaQG^Rs6zV;ee=IvA~j<I)@2h_+yovJ-=Z6w9nmNLx<Rh#JTKl~uSVeOV<
za8J{;N%BEv$?Z&=_IZb^T{R?Hm<ubGA_}qn1}tN><hN9T(<EAyIba&uvPjIT@!WK{
z7Y)hOSf-?nd?l-9b2TcJ-BmVw3kF%!^<BF%0HH%0O)V;sQ_xyCHKJBv)o?$@tevT!
zeGaSqKKYX{EULWiw~VII;mdqqU?7(gU~{t|o56|HwZ?u%XzRSaVsvb-JR8DCh%9B3
zBRjJ#hj*S-cMf+u%s1Z^a1k8*+)`VAmb}ZA{gkm|&rarnU-r)3T$e3f)3O}Ty}uou
zJFTky3a-iG`LR~>L#ZAZb9aK00q#`2_wnat7k}5VPTfkc;DZPlA1M=t<vDHsbf3Y-
zVtrh#63OB7m({hnA3b?cU46SfJta^Fo`0I4?#K-%wft*QEP<gKuoi+4B>R$kHvcDE
z3B%mMj{-pp`@i8Wi`lVeAi8)GKU_J}&9nh89Hajuo};fz!=@atGGxGPI)$x`EyW%~
zb0uP8>A|ov1xyuR41_(LyrGX_S@KrtSd6tRx&zn8NNET06tmRBebg+mAaB*eui-b(
zRLkysaCrO=Z<ayh@QHuDQGBA5k8IwjU|(oE_g{#tyVo^fG6e5lwVD>gZECfNO=pc!
ze{sWM4{J)C?>r5_(?J}?`5*@dy7Sv9|IZ+$Kyc)g`>C~Eg8KN@y9iyA{|lX%*K!;V
zI#198VkzEY4zHj$+<YkHY+g6GrN|Fno)#@f(8nSeBl~S6B+l~)CkDHB@j<XBob*L_
z{VHwm?7*HA0c!?Iu4kK3=Oz0PZ;-V*<~~C0h<Q$EhFS}dJ}UsjNpJn*kw##DnQToV
zj2wjV+)XS@#S31kgrp6j3J7Q4$cD#&j5IkC<1Sw4f^etwvQ`u6$z(FhZ-p<#THFlR
z-uH)uvWHhHVgGsmtt-aj9?HDvUguFa1&cTrL-d38mZy@&@1(W*UbhIXXM1Svr!F<^
zLgIjRv^zkqR5d_aIJj13a7U6hFwssp0TGEsytSUKi|8Nx9&<}ek2bCYw0U-c?i`#t
zT~|j|7G-21Go=$^uKp78fK+^zr01O|4oSeA^$SUM>uQXRtw;@sgQ3iu7b8|OISIO$
z#L4FbO0R=i+i~{O^C`lm*9b=P#aI@@c*zQ4$qmv!^Iw=>gm%r>-s<0={qL-JsRl?O
zxS$*??5O}G5K(}3DlIFLU#@;Vfwzua;`?wbiIcKOykohvuK+lrp#bKi$H$}ELc7oS
z)!#;UFK|Uoo;rCs*Slh+@>;6a`^SLkkG=uG=}&%4zx#>$CqK3qfydYV_7*YP%Tx62
z>jHSWrG=U!XwN8S`seUIzI;c<?_h5>I^6HY=q(6v1ppr3PuW+6W^*P_uYdAmD?j<M
z(q6h=Fck6+bT>7*j?;Ywn(Agf`5m1d2}84^VHcDLuxG8W+o#feS3wW6SssM{L&_v-
z>n?oaE4nVqN@iK4H>S?8tay90{*RQY`aJUpmz$2L76u+v*Xr~J1?7-mK7D$O6w06$
zehLtcQ*Z|Q6bs(#b~bxs`cTti*e{Vkl`iRu%aG3v=?HOJVI?ldv%7eZtP*7wUeMQt
zVQ*B}VV7oJianJ@>?7aNHTaK}IWW63@*huIWd^5J{aQbKy?sy`yRWrIBDqM*y>3Pm
zd+(ikx;jhr>mEa$K&L$2GJ!5ZEOZ_cP@tsv1Izri$6Sn?%gPQR9g)WuuR_VFv=}E+
zF1zmp!S78HCA9Bk@&n5ZS`OB~9d6Sb`b#agu(-X=z9+xsIqS<rHWRYDDEx8>8AaC%
z*I05A2}5m04Qxk=6*?INN3}i>4SpKzwjdr<RDZ)4MV<*KOKy*BbJPvt@!-A$pbbuy
z9@)d<w>H=IxDFZl52`JA|K~=sv?=?Fgra<qRG_;D{joaPC8LTBm0Oniv~i7q>i@7Z
zBbB_|bvwk^YRzH(hm{GlVv%gm{j@(U)7An#_euLO=Uk)G0xb=$R<9|0k5OHa6jfMg
zN$6pY*1DR*kVq?28<+@4NVtKhr6^C5jM1XmRcWGc3Rhx+m2+%>`nx_PkDeKqLcJLE
zyUgZ|;-lq&NA|%)v|4g?D+E5EL%F?v9zu-dpPrRddU4QCimW0KJ_Y&2z)_r~)x2^Z
zuQ&mws3EeTXLcZOk=TjYC{k&d8I|$|UzJLJj!N~nWAdFA;%pv3g$}rUS`gJbhypVg
ztq@y6Q>N1tkwg-6w%j0Lc!Wyd!O{Y9fZd2Kfb18$3bE8U5WL;VAPUD4H2j`LFb?j4
zl36`W*ujA#H*T*6g&M_CiN1ISTTFamXY^r&V>O1p?H`X-(_q78VHj!WS<GK@YEpc@
z2oBa1sAv8FM7(ss@=Q1x+isvy5HhwzcyX<Gs!R}}nxMJ5c2q6bzThTx4+hcs*`nVs
zo`IOK-nP|<vW{IviS<1-3Do$%U&Z$Y#iBQrLA2=fUS1#zh@QlAca7QDj9M;P$H49n
z$EYdDY6Y99DGetA(qxQ7<gqgO)b-kNYAHrTy+XGg5}2TX8S^{7JBRnH<x2!VeqNg;
zoKJ4B1ymPWKYc}-;VI;Q6@40ugQE)gp8B5C9uW{qoPIDG$HQW{tygI<6AZxINrqH<
zdJ_D~{C$(9|2^^J<EXRLF|fb^9ZsfPG_b9lj6I?qg-G45_9?Z)>YcRNYZYG^dtHKI
z;6SIOlQL}1@{x@b&p$C~^kgJCqcg-SKoY<UFbvDj=&1#iAS3{Ijsnqgu?T1_s2{t6
ztmc-DTLAeil?(*-<4fhurn6`w(dR+v>pqskMg2^;QS5LN=P=Mrq2+(~lF+U!XJqm8
z?^oVIFc(K&a6&($m0ZaS(=AY{+uQF?)D`K%2CKA!yhd<nY1~|v79WYh^4PmJ=#C+?
z!8~dFRuJrQYQU)boLkJx$mWbBc1!lf8f3{rRH04ODUV<?8}-rl3oJgN(v19aC~Fp`
zn->+*50{ndah`@%rOcR5c<vw@Bl@=oDu&WHyo-vU$a0>yQm!Bz_5=e`Q$CQ~J#Sfb
zwBTXKVKtVa8}u?{WF`;^>0r?=pA@B$!3|J*(JheDA^-sxpKvwiR3Z87H&KZ&;j%1-
zOqc*ws{fJ(mq`}UD!C!20pkdle-tSxuu}?{XbA2fCCqZ^aS8Y#N{BhzeFHapb!Fjm
zb|N4!+(16{PKUTxoMQImxnEe7uh9!s8>(Q%TTFiYd8l9@_258{7JiH7^vh~a{dMIB
z7sbFPX8@nX^KjU?#I+eqAagn_hzuueppJyaC3NX=he*y+OO^XfeqpsZVsF`7AB~ro
z_VDHLda7$z$C3jx-7nexN_(X&_B`B#+m4IFqyivlSVc~0GOIA6P%!dolg;*_sz8SB
zRukh;j;BVlRKu*ux-T>@$-UJf>yo4e49b+lLjaD`-hV3)&4x<TNRS1*r9H*Vgy51+
z<M1@;VxB0=BkW821J$(9Zmm4-(hU{3A?J4|7#g3{L~&>h=esuQ-*9lsd0iJtq_x4C
zzn`AYqpj++^@TXCj+a@<ViSZ48LT3@!iaR}9Z}^FRF=q8^b$|1LT$H)`Mgk`V-gDL
z0DFKTg|q_w^=DF8owdssh8b-7be8Dw57Y9W#R*Ob4^Yaxsq89NO)Kj%9enWLT}*@f
z7qkb6u<}fF+d3s&Re~M^%!2W-DOl#)54=z!)d~a|23X*7I);9RUqu~#CgPaH4>aS_
zkFPt9m_h+Op75~3O5-sMzi{~3Vaqw30GLcMBw<8<j45Et^PDi5;HkohAkY3W6m3Xh
zq+UP@BO?C7^5KOII1#ZABl2&Ak#P$qLOYSdRMNfxO~f<&spuKL*$Z?XJxNi6l+WF3
z`fln63-65DJfb5Uc_*wkC%OQ`)owQpL5h6~JA`~7a4iNCy`t(i@DCMSznw6-0h}5>
za)tUNu$u(a0Q<^_vvl#O%bP+lDbG(<w?TP-A1~o;QoK|uP#rmm5k7wACOZmxMBa4}
zQpa$G^V@Od@&CbgbUi>-T^V0WG#5^$q8ZW1n|Q&yE^ClrJs9V%s8W*1=_;I{3ON{m
zRw#DM`N-qdlGKv@%gHHgB>NW1!z)56I|2UZPN^T#T+3><i9#(Us9>+hla{6!zUAjw
z&o0GKQ9Xo11XZgUL|Yx~r3(yQmOiqKls&r}vYt-r8!d<+fSa@Ya15&*FF7`=IdW)P
zd|So(^%&-+Lw}gWM`QpTkG;f0BAq&h<>~%jiXSKZNv$Tqid4*6TPUhb@t}-=ZrQrE
zd>dV+gs=$c<iQKNdDs@Sh==A@fP=u<Dh<pN`;lj3*4#r4*~<o@8BT&gvfY@Z7M<B-
zgGFoFvl=ZLpry!No@h7?BFd-#eWz-AUk#0PH7L12i_)8K_&458;|QZoCa2e0qE+IN
zWh>4u`OKn?Xq#$z{sw*l?j0y=AA4;i)a7BhP5rKMSkr=|je^wJd6!aD!gC8Xo(b2V
zhK%IcbIeC44E3IsuoYZi)+3gqmZE{AA1^EH<brEnVIAc{4awD~HE5fvh}Dgn_UXS%
z1*qe?%@rdPxA`0qz2zlSYh48GjhoIFN^-I9h)~ib<Z3`$kBP1P%Wm9<8QaE>pzHK_
zZ?TTqyd*U>oF2pi;9DQptJt%DlgF6v3Tj41eL0R9<~VpI@1*Al!3#rtOey6&woH6H
zJbm?4WRq;Aq0sW%R1jM8f5R0grL<N?G^2wMe|3~`1jJ-<FWh~oUuCpSEbPR%LZ$W$
zEsW%81~nK-62`-xcAkd`@clwGifK3z*?Rv7lo|j(rj*DA2fiwuw~badvN$vX=Vvr}
zPSP30;`FjeV<uy#nBpSKw3PxEkytQ}LnZ?)LX)bYWh3QXGAcO`gTkn}?N(L4WRRSa
z1_T0NaNIa6_}#X44`S5WjVJ#=vdhPRU$Y?&!wE6t#IKMVar1*5@))lw|4VvLx}UvQ
zrv$t|*f9gWvgC5J&1PHPyVAP3Ez|P}blrZGv|x5({02e&2W;4pZ&~dWB4;G7UkgJQ
zE=PeJIEeh%7X<B28N?h%lYKN7DCP2l4h0Y3OfSHu03n%$^tns=&DsSs`WL9JR3o%&
z6@Iq}2E!U?x6J4x8tJrL_;7ietzX`$krPlCpA#mnh<J8z&9GFi<a-m84=>@`j}Xd5
zxD3Y6Erd5t*&X*=7*9jxw>J81p@TDPO@%TkN?@=GQ$v;9r><3*fWdb=qwsFNsbi+6
ztBY@OML7(fn+P<d-TvD|IIo(((l9(XaR{^}nNk_;Q~h9!1aL9~KIJYIY00>Rax@^Q
zThl_8>AZDj-G-Kn7@=rNviaF~Mq^k<wk;Nq`^mHrxTwdcZ>;=U3~0Xo^xKHWF-8b!
z{cU0PcI<o9NS~vsCB0Q$er{1)*i0*=5>vqJmYY(WiCPJ++q7K9OcnZ+R@#)QQc1$z
z>4aF7xN#S!SrX&I0D}5bOLBUJ1O-4O^2cc4IpuEAqe(LCe6QH#z#=hcT}gQOVXdUO
z$?OSIn30*g69SwOGo*wz>M^R5)7d|)PVG7Yzupc@zGyFhZ>nn3;O`oaUOTgnMk}!p
zK7LS=1_ohuy`5$K-d;XB^EsOorup{%I%3$9Tm0NtI6N9)GIKzFm?Rq%t_{F0;VCVP
z&{-~>m~x5k>bgl%$<@)coLHqu)4qqa{x>9f3)yOGFKVa!NkcK&%0r}iG(rH{^MAu7
zry6NFi1DT5iUd@+*#@C?oS4kZ-|0zD4LsE(=n)QKIy4oLSm#g#8$CsZC?vY@=t9Eh
zb5I=O2=n|XrnE64fUt49LZ~&Pz0Rzr=T!lsh-fe=6F8-^SV)r?R`GDCNT`+$#bA?^
z2l9jlFZ+W_RKM8>W;^2icEqdwK}^c$*Q{m{ru!gu1@CVXT(EZ9$fD~w(F&DW>M>%%
z<y+_mND0@jh9FT)(UTe6R~wG3Ua!ue_nQ^Pmo0ktYh$JXfG8zaJ`yAIU%>%T#<rqR
zg!R5e(7Mj{%f3o{?${oZBk?Jt?SR}i6{tU4sXc=M>JrrOT`g;!4|t6HREApt_Bk}O
z)TqY<QwXCk5IKN#J?8aSLKzLN#x30rmlmhhK%GtSX@m2VR6!rpJ)3>Rla<@d{gBDR
z?D4KTQ#!phfY$ZZAqMALCS+wNxhwI*Rj=dIUR&<J-HUzq4qif~V(jPIO;BROkSqOG
z2oVA3?cTr60wNk>HJS+YEKoRl)UI`NNzx-28Q3z2HKn@rBSm872<j&^2%{cAD6&KA
z7XwA0<)`S2jSLD{Iz>hK_0zCR27lYMM&%h4M1!+f0N|92hyq&1c?(8^lESoR;8sZt
zGXf`5nbadE@aioFUg!gu?Yy1ng`U4>iW+pf{<Zev#AaqE^YT==TUn!Al%U(=vu$zF
zbT;p#c+U<eM&C9}m;9{eJ_okIA?z-dSmPY19jSF~#P03#WzCoGpYB!ARgc|;n>%=8
z`e^U>0ElD0(#;)v%T!AY)pizW!EqL@gB66qJlrnsw22jQjW>r_T@C>=T8(c*x@}v(
zeO`nPQ$5EFp_HXYYM)sta)KHvj^YNzP}MPEh#Fl-xEvkffr!H3h$eznk*X2ZZ0qvt
z;=y6`n_HMC)H!@xb@cUw7B<ykThzLD9o_)c0Daz>A$dO-JJ$eNzJd5rh-)+q4BW2Y
z-xa;h&d<k<xH)rDF~2_wf!ZFv1idE2d3ssH7GqG!p0LB+N`@Z7C{vV~TwG8JT&_IM
z5p8^SJ7jv^o^_*nO8Irvi*XfwAEV%2TkTU4<6z{OSH$0(#=(?0t>z~8nVvDlPu3A=
z0o-2lpN|lBLo^~>k&=n2IMT`@uKdi*c;|TnAl0Z6#oim`H&3uG^vODe$(>b6xmY;|
zq?C*)0*4r~o*p9P^n1Kt1(aKS{-U$Z;-b!^>I|s~hEuPCi>y=D2pK|~?IvB94|$f0
zPm8=3Qp*{pn!NlL8PX#JEVg-9-g8X@0BMAbn8Hbf47QV;LqTPrY<!mO058wECSW)e
z1JlYDju4~ZU5;NgNFxxkk`tldL7)<3CqOz~wh{OIsxj@#NN1&lM{=rVnbc|As`*(m
z0dpExL;K9YSGS`wk_siy3Mt}4O8qZ5MzV|MJw$4XMZbqe6pJv1T2LLHV2sd|0A2z%
zxJq99RRJ!y?}oz?P8%FHB%HD~H$2PKC1_?d<fA`xa3qHs(%9nu1X+0Yw8T*{#_w@<
znMk;!-!fsg47~;$E|>2ZGQEKQhyOw{hD>DY*<dn5@*@98Y9eYzXCu-L{q133;$n`}
zK%GU*;@^cSSXE?D#!S1jAyWWIfl$tpkRz+PA&VX4t4$N^cN?s$2*<gSnOU?OO;57G
zz@BKsa3fj#i5Tk7GLZg*EI8SSNb7LCe8U4qDDLv~<{Fk$sRF5?$!=_bFRDv?Bl?`-
zAfKaIiU);t;zu`K+Z*Y&)BDEW1VR=6|2gVqZ)63{nA%GU0u9Q^#F;up`jf`ebf*({
z^<Ax<+b^x!Dme;Zx2Y2bAvIt$0Y;cnt;2iYSOdX1UOiTEg?oP>E!Q%-nf@1Wog(jk
z$));!p{#s9Y0Wrp9si~N_5GMxdHqSO2XFz9)$n(`-ANsNd+2^$KW3i0+x--IQcf2|
zE3dZxpu%#KR+%~|C0s8HGYS9&-w#J;t*QDu6x^ca^ne~uGIHuB^{>0p*H+|-;++Y3
z@)L*GYn7_*=Xt%J4$tD`Oc9k-^>U4Ii^psGZ`S1+$XQg;q;fZ$(%nF!U#;#cJ7Eu5
zD~a=0cLeR|)HL01+c=C^`?TFxqwKW@q)B&ds%cS$tEmJD0V*kHT^|6JL4_F{*H^&?
z24#@XLRgX!#I3{ohfNJKoi-m4d1#d6mb*JiuU4jh2s5R#_!<4LxE-Sql5=`Hl{68r
z9d&2crI<-?1Ao;olTcfuGFl0KK;kB5;qy8te@FM*YjTEA+gB*p%_p@JSv#A~J0j2H
zO(r#UcaF;Ev-wXxD;*%I(O{P%SNd0?WJBSwB$;$yTnmg-^R$MSGjKyht$N5(S~sEE
z4MM#wM%iTo3s)y#BoqB^LwmsffTztbPTT&MrvBAckJNVpkr>vbLV^;dXS;kaXh8jC
zE6QJ1faKxw0c)Qv*`R|dc958Jo2LM{X;6%(fRg@DnwPRn%oqSwH-OeC3MlpqhZSaT
zIl<9`PL9n3{@T3UX)nt~4Jj5f7k=bzG80y6Qv~GU{JEjGdcJ?5Om?^*IgxMtGXLL3
z#%_0)&x+Kwoz|ko)aJPGq*cGe;DW^i`CVu?GXjcbH?RvpiZ)6KTUk7$6nLfHQ~G0A
zab9X<9tkc<Ckha;nJJNGNu$#vD=1|>kXuktqLfeORUg3Y>9dz+K{mJ>Rm4byVf-)b
zK5b49d-M%O$IUa_&l@_2PQ2l0<)1Z{Qc&M^@zyIY=sjVAqBeATb%5HrKusWc3$ld)
zjQG&yxHhbK@d1<?s|eET@BgQ<?~bSP{r}IgS7noAliAtB${yJ}WRGmwqc}n#JL4#1
z@0k)ZOSbGSN>&sK4HUoIdw0&~@%VkuALn+z&h@&Uuj{q1+kNg+2ysk8>+aSX#?ZW`
z%2TN?!;)+oWxbjgHdT@cH>xA4@RQVa^Ub68f`%=~4)X9Qr2FVnu|HRhdMChf-&(bO
z;hK<8>8oe=Z}$}z$T|eBY_ImbyJ&Omh`*n$wB|EMWUY9@T)YAu)SHUDw+u#oe%nWI
zfE(A9%$L=gB_|{p)MME7P-;@*BE#wtJGuQ!yHza8M~8E{XW5OynfYd^>ZgoJmlmp2
zw~D=K4BEi7L{YXVl4}MV!pSK6-DWPND&L`dX6eJl;d2N{ohu?9$Jgno%;L_TCwFnp
zy^&uHviI`lgQqA_phPmFjZ`g;f{xtQEejC6x4ZPa{4TGBF>d92UOF#_Sm|gLh<P-6
z`#22yUOVUE<<|n@A28XX3Ycz-JQjXMM&sluCv<1Q+i`ye`(|=Oqv=w?=q|>nDi5re
z@1b^^y~n%@XBzKtHRYWhUC9oOtyLdXq1*QB{6}7!SJ@J={!|9foL9{I{Kt~jShjPB
zI0v0-m{Yzfu=m?>ZFC=$I+^>1Gdw<6%t)BRws2o$u!;ZC@N@uXiA}oVq{r7tetf^h
zHg?Q0_Ct+%^<uBYsh*#Ux+GO8Ep=Q}xYC;emF;oHIlXblhP+v0UOS=_mxgkk{mKjD
z^PIyb<W+PLFPwAp1r79d1TmL)Io^=Xjv(aqerkY(>EkQ1E$n_}QY$Zy=?BN>U;GIk
z!Kw(DZO`l2D(r3SZ0|<svJt(57i!9Y&<dBnZ;_yro82%Ca3>@Ak00tMV#rK%l66xq
z9j)D^j*0mC=vvepN==27oU5yHnhb{z$<Qpq{_<lI!?c<o5#okh5k<K!AuYKeOnk7#
z`wDEVMhkYVh?GBresnfvYlRC@?X5En!TM(L?%!I=C7o~(8by#{$*jM}G~ZAR`vi_U
zrsK-H<*qpTW*GQEJ!_4&?3mQm*>C#?aRu(p0<WUPm0Awg_P-)OJ;#O5B=V*ZJ6`5_
zL&sFp^=2hRi(!;xv!tI%iDMVap(~j5@jOYnLL2dLi~CE7)-08Rn)v<iyTY^g0-3N`
z`m?NI)&kk?m-pRRzO}IMygB6kwF$8*?a{y%7O5qJe!U(d9r{{t0#T|mGQ>79347I*
z9n4kgBy}V<F#hsIR=!CqjC51lheT{<f8AeRdAr(RZM~@B#4T`NG)P3#RZ~x{atw4$
zgiZG0UG1w}ohIi$obQ+_ej&2&60ayNe}2a{75LF|50^)m&pwZ*DD<Gwqmu}I%I{OD
zED)@KFv_*n3Wyz^=N06x9k=4>U7nN4ouPp4t5rA&etMseHa~cav%d`DWJ3jBm%l1L
zUn%6@d;h-Sd)_;KwK*tO*LT^ttji!N?6Jjs%B&~6qqV!}-6tRSP_>U811;VjLf2<R
zW|F7Vh8#Nm1;isH_ti}L+g&x(arCjl^|0A9sa2#zMZx?O2Ify9tX@Vt1k>E9ViQX}
z<6Ffp7IDTNc=y?k=%YNx@#4j!L~1S5p;iAH*Mkg2#sfFMq9DaPvSN&sjswCfSns-F
zDrH6SMqaNR9aKijdym9VdC?EM+P~447gLtTQp~XndtSeBGfy#u_#K%>PPaOp`+W1+
z6^3)MTyLI{H3iddg)-;ek`I&2qos6b5=ZPufbyvyH4J|bv3%aKZf$<7@8z#_#&AiU
zLYh^BGhI~l{*Sr^Ss$}Yo~sY(boa4h6%-m<+kR(t6APRLi~F1vtJV(RWwN*iJrJBg
zatK~HBWftV=G*k3TSW<4cyoQ`*&DwPHc^$vT+U0DA;YgbWXi$^_%x5-<R#NL(2Dg|
z-mJe=$0(Nj>U#W|fbv{;E@b_K);-dA16URd#7H;Vji2}hS8ow`oi-&xkumuiHjtKv
zPwX}+<r|L|p+vzGw<B3cBTk2^T(P-$c$p~k7Tqe!=iLWjt4{f0yt_xZ+ez2&!Cnoc
zN+KB>F=p`R)n$y<llLat%W7KnHcr~hCcq(ZD3J;W?|$fGr@~o;sd=a+rN7TD>4d|L
z3B}}+<fg?|6zktyL-}ykkiS;Oa`y~3mx<+hmW$>#Mi<iZT9i3~h_Ba=MT7?%$-bhG
z<W}X^KBa0FC|{m*{WLFPQt>v%T1vN_UnP?vAO5)Hz&Q;ncFXQ%^OLCOC=OwmKytzp
z(J7;ZNm11GDNQeXvu|BppT<LjaJ%Fg+6+hYd}qz&+hX=RY=1`gJYxwe!^R)KreDYr
z)O32eDB7}{?P6+2?~v)A+^KJ{kLmv&-o(U!01hvxlwR-rvZ|5SeRBO<xMl&RJ%#tR
zFxv83wZh72EtM2KAz!tju{nF0al0|PS4L2;l3p#F5QXl&;R|&F*@_X?5$e>!f>t_~
z`pkXSu0xM!=!m64NJ|crvFeqZzoOquj%OLVu&riQT0N<*3#FLwr_mcR4Skwh*P>k1
z3ItoFy%y`#EP~x@YGIHWS$pc<?7d{`*lRIMVoE&m^`Puv>K~2cwziMYISfnYHLpEB
z9Gg`l%E&v2_Y?C|K+b<1H%%ZZIO8lJl;+`BR1iz88XQll`o#1K6_z2<y)KbafNS2F
zTS$=P)vAI-BuLMJ&**9-C~vHwds=5a{HSyd8?P2Qm_Yn6vXEELL_s#XYxxZrbgvyk
z$-@&sH{qDokeH-9L2>@cf)Q;n@HC(ic@?b^<;bUn=PJ7j<73P2E@=fYPfSY*?cK`b
z7T_kibK1Vz(vV2)dk6N&Qs!u6B|mPfFem5MhxB;&rNH!`nM-pK^Y<w4EgeQ!-3fdD
zLz(+(ZcYPC@{TfHc7z$JEBawuV7)?@PqBb>l|a(>$<YYKG9zdn_g>C5*_Yv$8q&Y@
zH(G}0ylqo$%P)u~-*Vbg`Mjk<v##Lo8hF{pXpZjMrpgW32uLsuRxj=y$EY&NHlj9N
z#=y4!aD;M+?$&p3pm|}y&&NM~qK-q>hAFB%tP<Zgl%7gT65Eo#amhBYuUPb9Alswo
zj?X+N!ffW^hpjeQ(_h?@UYo&uZ1nGQXt8UYy<eejy49<0I#(HdfQVmN34gtLUyFqK
zh~w=gHI@-ULGJ0bwLakYGO544zIW%?*)Tk~{^e)OO6QtwBi5tHZx5Vnrq=JWDQ%8)
z3Ith9vHR@W=!>ygy4s|3Szekmmv@YLaY1}I5QDiJ9e{4sPj{t9^g~*rKy`ykYUeiQ
z%4BJF2RkJKb7VQ_oJUy;@?=jrsoyq@(@5?@>cxN{g0UiJyLP;=Pu&)bU)^YUykBd;
zJ&?5TRF^qO{#8||ywfab&&RjC`#|doo3cR_zvO$rw)v8l&1&P8fbRi|3%S!RS<hyJ
zN*`4wtkEJxaI^m4rrD&9mP+Bfr@u3NFN&|Q-F6_QU1)YqP7pB2+R*T&o+!^Nvod(7
z-@I7Xzs=&qEAaeh5SEBFcXelu)GFfs%~h}4lW=uLv7ZGWy%&~N_(STnJNF{86`SUY
zfhyJZrdy{uBFJ|rH#4hIvz;r(?TbVMk~~yraPXSIDMj|#2@yMIzg6)UHlJdzu#Ea&
zqMBUc1HP?d<v~g_n4h3#Y#iN|<Rx9vI~20%MtANEpI7kcf-3fFMDjOy#3#$moL`AO
zi$az3{-f7RZZI8%H;RM>?Z3#3$J}l3(z<Y6**wI*cLgqHIv?g3H#e*5TI@`=)ji%H
zg004USn)^A3yBnN-%fIByKdRboxist_~VL}SYVi;=DB87Trjtj&TZi|1?ohkxi`gr
z;$>aeV9BG;tyUJ;uIc+hoG<Md^t|Hw*G`AiI3XI-Xt)ZW-QB0<5E@MXBCIsCZ_|V|
zy{gVZl|xadlukS<RASiWt#bns{%hfRMF|gWZD_g=@Gtr6U?)U0z%^zhkQD#;;wQeW
z!N(=AtQ6%+{TQv6l`1_=ecJ1a*SyPUzYNyOyka*Wt-Q&JO%gxp!BgeaymaDFIX%Lb
zKEcmfHjKZPOzFqRad4@59gS`y8K)=|`pD`{;@dKZS4nBTMA+_LYpbXydSGaNoxNql
z6l&qS?|i|?oF`HLWeP<Be_ZytunON#eLKn&_eUD{XqAJ?E3=7W4Dw8SPmQt)qS|t~
zgRhY2?Mh$A^{IfIvBxCIk7uN4BU3mz+~Rn)zYXoN*nPF^Xy0&sKr|PhGPg#1W^I_%
z?$;W+4;t=pv1z<g25chietf>FVX)x)0d4YD_2C+9*4W|4ZMvVo+#gtq{CcGw_IPHN
z*L|&;c_zgt!NOi7-i{CX)4}`5f>d%Rjnl@?RUr0JZ0tPAdM~zTS~KyHU{Ct#ZC04S
z@YW^=J#20H7lWRN4Kk%?oZ*#XVtdz*cc|RcgJh>v3pOZic=~v4p50?J)IQ4~5|R-$
zbH2BvFG?u7!gW*fGVoo3@k&-RmdNOKD#|9b28mJ6jDBSFDDp8gyQM-_ve;&GP=y`R
zM|DD9#fKH0voMIYC=JSV_RCbA(kJ(49p(*r_MFXDn`6=1w@s7Lt<|o;JQJiQ3=K>W
z)f_6l6NVJ&GOIf~;(n*ukeXxDsK?Cr$`#TT6{L9g)Iu>Lhcy;U`iYGC$F-$Z;r@Y@
z$%}S}IvM90A8YQ&t&qlqpRqfoRdC2Ud}YgRt-5!9!@-9WTh^4s{xKw@XZ}|2hpGmW
ze$|L6y56iu)bUA8W{~H`<?{A5@_!#9bD0+9-Pwe?^}Hs!6AqO%RU!;HKn4$bPZ4eV
ziRVQIOMuXPA6TEutK8iRjc;*R9?pF(!twq2Mw3?emb&tA`&3+k_8QmcSN0)QKY!tr
zyB#{Q6sDEJ98FC0PfZOa{6zRl*d)}huCtbSzw9!i7f*E$ZZ4y*wU)noTFyB_QB~5?
zU8*O5h;GM=M$evGUc$z@JmZU3$yS$q#i5&x^)CO?%KK_?lHn}hUBrUv4oP{R<#qV+
zDviks(=ky<r>a=-3yrv_vH|0gMrd{5gU%rdY}J&OV`94)t)9yxSOkk1ibZO+2sxz(
z>f(7g2FWVF@YXOn?WM`By=Ui!IZ!-n<U-;z6RoBlZ>a7<rrhep2FwnffhYi5_|6#F
z8eV?eYI;CzxXxe{Y+0EWyIl?`;bnK>Fqpr}PHu>rWG%U!g=jbMo7A!rmUKBoTl~BZ
zOXiEKtYZM)5Jsp9R<~=DZbU`#8yCV4N~+9U?Ce%;bHy@K=$W<Qx}%HEA%U3w#D^nc
zqoQ&f%9*!BFK;N<6|mD5sjNQ{_iN$#xh(c9zLGgs-o=St{$`aXGSo!<uIJ<%O3w=`
zT9q3{P*Y#^EWe;_$!rOPvAF8%p3*4nB$e^ru5HZaoykg8OBU=hZAD@Ya7Jd-Gp&zZ
z7W>6<%IsKb!rQIMH>YPoA8Q@Ec&jQ4)gJv*`YTHp;IPjDhrO-+s}f@LeeTuNs(RPE
z&bPQLjg|*DCfKzWJHG|g+b~*uN(^Vx3wW${+DLU#|8N-^oKzcfWpAAMnhG}ZsdU}t
z!FK5>=JW3q7aq;>T$fF_I=kV}EM2EQxDk?Zb@o<oK-2Wa1VsskFU|fT;yZ>1?wtYb
z`@+&!xjlF-3&};6-K6TSWNVGBPt@*OdQexPsAgowi<I46$GqKM5dG`%J@X#{kN?x*
zV|wO;dp}&*$3DbzwW{AXyRnX84;Xw?nYi`3Ooy!^^zXxjbL^WJ`ubDUeF<~7KZb^u
z+6D+i=!QyZ(d}e==ShrvqTZcum@ZfLi#IfHY#7si>nrSM%!4Tx8Os)ZepDpplDxfh
zfuBviT5y8u^t=}T`i0EY4}ROl=@w3-S8}Q_SgV(%VMA||Lija-d%ClY9n?LG;zoE9
zm%J|tt@!p@YZkQb?GtzPX$=Z*#LKq&m0crE?ZfO$MK=2P#_b>RF)4e!ka|;a<NiYI
zq-F6`W3+O6=RgRfT;ojf0$ouog2-oK4>6c+`HS-!cZ=ZvxbkR)22qkAU<f$Q4GmJN
zKhOk~Gh*qEX!u|27>eu7jy($e8Fv15z_6r3v}`M@#NDggpUJm*N(YvaD~8kVlx<~t
zFNgF33Qaj&IDp?S$#Be|XnY2Hs;Q&<NL|uKyjt_gmJsEU`4?55mpebIYIT9wG>I|R
zVcU9=zq95?yU=zh$P*=||GQvxz%@}Q82Z=OUlDLH8ds+Y2zSdCG!6XQs(h}KM4)q7
z>+a}P+=rOWZ{Y$}neQvEm{dQgf~<r^WLH&d9_bOQW2~5NaV**uTFo*uJp4{xJ3@|7
z5P+?|C+91`G+T7H7|D$#>mClRc&-R0A!r+C3xyx}waC##^k$7yffZ4HV@DgS$ETE*
ziN$`C4##f`IzxoQA#6cPIQ}3Ilw`BCcO7RI1meT4`2N~nng4pTo==vu(4@|D<KWwq
z@*VX+v3#>|gDIIZgz&+})<%7QwMUA1{&@de4~wV?s?Ai(BfY9r9dUD!wud<#JKf_a
z7gojJzG)urtK=zLQE~<X_gB*#XVC)FqDg)f^sD>QxocqHTeM7Hzu!E_nk*l2-#6Ln
zq*BKn1%coc=IrGW)cr08IEkAeD0W3KFcuP&Ex6V(SDtNIiir4#dK&t+Ew8koly*vn
zL|f#RzkT6UxpQ_~^TA50$sPW6@pT{5IKDDkU-uw&`j7&H#PZaw*)hf8bk(wYw40M!
z?Rc)&osSL5#hG#|R0STUJuV)UZAnUv3$OE0VFftj>Q=REyC~hRvMYMR{8-$f4+ll;
z=9E^z)S9|*wNW*ZyT^mOBFU%Ey<T*<L(@mb@kD;q^i{f%enot&&~qxYSFA)Af>k=?
z11jw=Jc=o&ebjNNws8$Dm}O|E5}{3Q`^yU_=adn9YVB*5)Z57qR%$N#-Zge=mdjss
zyxBEBTZmhJn>0oRI~MHveFfKIC&AJ+1#t_CGBw}tJyiWjn{#M(&N^i@y@=@%qpQ_!
z+9#H}y!wHBUYL$oK2tp^37jl0dVGbi5V5FTQBrE?82x1W#e)jV5{4H0bD2p63|{#R
zoQzo~mpvyLid+L9R7ocl_iIcR*A3RuILU(N>*n_dZkt5gji+6Fa%R{W%i&mN71}~d
zHoYF@dh;vuddV{>xiZ}pM(2qhljRIYACnRW1qRR-tNd%Jrs0}*+>BzurLrZ6(BVZ;
zSqrIwe3kMrhhtt(RE8fvi%kkcym?zT?PL=7nKn5YKh4=v1=SndC7n9z9_gV4G??Qa
zZl>dnJ30KvPG9``q7uz(u=J+g8!m-B-Tp6`+*--}HMES2sa`qUrF`zWFKyLs9<4w5
z0Zbk@@ZPlmazoF+_pq3j;pyqy=L94_DTXrW?<q-E_t=d^Ir`dAdPNamyvie^nQSMe
z#Q%Wg;w;Zl?5JhY#qO&3qSFzVBX2ItM!&~7Qq8b>jTcn--?<aUOLYl*+b(s;qEk`s
zw2)GW5aVc={N;w=)3r2^*Qh#wCfwyWIz4Jh7ChHh^8EzFa#BQQ-hJInsB&)`qg7FL
znfZE%a4?t{n^^d$an|}3{en>hb`6#ivXNI+@)Rz%r(TAzvd1hg@5JowUepIiG3*3s
zIM)eKNr+{DPK}VQDZ1uk4}F9dOQYm3dA-@px}~<5!s?d2Kr^Es<{m^IJO8yxw}e{a
z%c=X$`)pntXJ>0fy@V+|)0DJGxd&@^GdFmGOI;t|(H@m>QgR|4ozlK{U#E5PAxWY1
z#V@+n2!`NSAH_Ope`M~i3dQG=gPxqx%akrchxV#@JbHg>?R00{X%w~qrS0izbMKh$
zv695Z<k1bQ*VQqpWQ$jrSMwN==N~Ug=I_fMn9T$buTPw24>n2@RP7U`Bk}uE8~Tid
zo${>7#;Nl=%7q3Ze1Z*a{HcD*>+;%nYu$Hm!J(6W3Zk*fPib99m~$;n2Dvpss-0e-
zb^35!(d!A~kPpkZ0}iCHzB*l-aY7Q`An9!M%Kck)WZKk8Y#4FQ(aMV{z8I)C#>-6%
zmixfWt+68%mG^QrkS2zSMY=?8Q%8Zn1{oec>>yC{goTI19eSn~hv~53Sju@Klo<D%
ztVepoxrGS#dT%n2x|qZ@cJ;+@N-+g--N%n|hL>*7Ad`#*&!p^QVatBsd!+mm*|tbn
zy;#PZWP@4x3wf-#f{{tOm%PTyjT9s~rAC_-aS{H#v>_(ccalW6XxAEBGR`PZx<&jV
zBMP^rn9eawn9=#QlR}b_c1mPtd0a@Tw_2WRpe;I+w25)8v**DLRfv0RCT%3+Qg;9)
zFa1|lw;Z&-;d`G8SpL#+$`&8hSPzG@zW3x5Ww{RI?u}f(=<v?207m+BWZ=|u6<CXk
zmK03duk1xBMpb3&i^6L!Dbi+gmqQ2%j5Ebbewf2#G;O!tpqJ_Tr@}KhGo585Z=PwP
zT!vbk_x(8yoQ=_V!NWT=LQnGqCPeL2bD0cF)iRQVA!a6bb+H#_zE2A>j}hfkYA&ub
zhX)K;7~HUf-1Jm<l5m^B&GEG3lXN1VA)BCtfxAUPpP0k-cNJr9qt8k?B3LV%Ka$xx
z&=e)4J<#EBgPkdFQE@4~EbmgvW40ux@5IC2FDD7SKY4(nS6|P3oLlJ4sMoXS_+dUH
z$4H^~n^#7ad<~Y2myY6zPz6tF?py<0h|xiRyrypfd|N|scey>}0WrOYf|a{F>N5(?
zKg-KgUeb9D6zyP^D*4G4<j1zrP?+-Ek3H<cN^<+iDYG8(eZ>pAYQ&AXxIidTilm)h
z)0|hoXmUfP%=evF#N3rs{nB;^taY~b%pE^3PYUxDeu>3CtT`9Dc?lD2Na93vQRr+~
zgTl;57HOLh-}E9WCj%D7YjofN+Hz4?SnG_Ma}AZZ&QhxgLuqQIUjdURhS>>A`hYor
zTq92Q=TpX~*(Sd{hL*+zFI^U?{w_(uk(<GwZLI0}@ke?_zN!<`kAh3bQH_n_FVAy&
zdn=G|oV;U6INp-FYwaUs40OXHgFCW%tkj4;kip-Zs@(UZeOx~<p5(Y=^DbvNi!uA7
z+T6$){~NC_gyp1GwT%^=A%035pGGbxxek3h81CogE8#W#?)zst{&$j|VZrtzB7@`;
zG^ZQTkGDxUFLogW(Xx4F&Fz#teOU$hO&tpm@5J5P*sm7dbM5DPw+(4ie{nAw293W|
zF(Oh3k<h<5q=aaC<DE9oYiT#OXi8Sv7FV3*MpC>y&2o2y|9(E@o$W2O`IS~$8&ybG
z$}LV3Rc@y%t#qJ*MAQnuBzJ|XR(Y2;x%OMXO|wEtk_`8=Fm>mHlD=-Xdj)(vnYW33
zU|f9O-t4Uk-~zDEoC$?;RqfAPvH_q)A(fdzPRGpr1e||3NRFr#*BA~ukEMU$t8gzf
z4E5pLH`7~0GiUD~C4FqTd^q4;!NKd$`(5iSRR;Z06N9^h#+$-tZwAr>RNWdLK)xi-
z-q@95VBdDES~@vIA2TL;x;$80QqWoZ!5V6CrS+7my*-&-SSpb||0*@u(49=9T{14Q
z>7FZV(4)ke^QY!7eA1=6eia)KI`?@;ih6rU`TF9*QW|c}Bp^TYm|gUzK$dTfMA3Qo
z$h$DeqaB<6;p4embH+~n?G5Vb1&*ZrpXlAiv=f~*vdTVo@%T&T!K9z0KH~_@c`-uE
zD048Sces)re989aCxKW`_37aBMqBB551)Z|W&)6U{j)dIP2Rp{k86#@c0b%~y5MOQ
zY<%DUO1g5@Ua8?m0pmC8K_>B)to2quTD1&DCo>7JF;j<Ty8=;!S49mGxl4Fmm%_lR
zXSdJHbw`_mOiz883PVQC{XFGqJDKtpk~-h@Ps6sd+Y$!a!fuQ_RO<#N%_Mrl6mEO8
zp0cTot6KvW;kij2yPCpwSU;bP^?Ta>?!?14{GUYCdc!E3h8n+KcrmZ}?P{jkyX4Or
zX8n=H7vptDgDyAgJL+G0xv8vj!MmaN(2H|Z)aJJQ_d!@hB)7Fc#Tox=kIhTbKdN^<
zuedDvu^5*{C_S_h?bvPkV$W~@Y3*+GQv5mbBEtR3(LMQz_J{=J!$NCpah%QUhMP@s
zD$nV!Dy46Yi)}HKoP(3&DN?<hfj%RzN#4h~3rM@GHmc0m>Mh-!-61JuR*&)#CHJ4m
zxE9-X@p)p(XC-Mm^G|8z+W9f@Z13aL2Be=)zi4JRk8M?HhRpfLh}Ued#fsZWAUDC!
zOT<_dS)#s*DX|dy#fh)#Vy8a5r_1@C7vmlgJn};4FfW;>VNXo0(QCPq{hFIx_?X2M
z{H9CT)q8AuW`*5)G^%dn4C)ZBi7OB;gz>$Rr12M%urqBkGES%i_uL_$DY5SB=El$J
zQX&w3MizHp=ZZ4_JXOH_bHKLjfpo`H<8XJ~p%2a7a${NbeA&M7!g1KGG7fTTzd&z;
z!{uJj5S%OxIs2>AQc??Bt#85|-isBi7k?oxhb#x131|Fpm}6EFMXLzS3^ARRDJtFh
z>?D*s7;4loa+tLHc5C{XjFc0{LJ(in%~>|%)3k4E1#RURG=(7xo)&xT%%AjPS$^Fm
zjbz-(dt37^QQl&Y<#7%#mVx=x4VMMQL*g5uD)DsHLmp}B@_`1uLs37MMOU7UeoJHP
zRt?hG0xN%hchnLt-EsZG^EeZgNHAhO>zEFjl7D*iUAMFkapnhs)lg(HICRVIRldq9
zJ5W;|ohl~ti|5#snSOkrp_nDTte@4X`^?}bf5Iou4a9ke&lj(qm%<jFIrxd`F19a@
zgI$_#?a7pzlcGPJpt1Ps-Bo|R*JA1V8=JzNJ<}c~#zosTkKTlIm(;7f^``4?C(b59
z@)x-4xR<C)j8)D}?}=}ADRa!+trpJ_B=H;Jy?CnLx|AC2lry(f00efS_`3oXaf9f7
zuiI*OR_1z}ZKK35IAO8%l>zi@_NSecE?6H>bIadi%;K1aUR@Si0aL^^`%(ELn!YQ4
z!HM4r7`7O_d8vZ+xr?4rW~|xhF^>mxy)L7-s2D@Jy-*}qy2R!(<2O71H(HFzsHn8P
z1+v{6K^}MRxeTAm*pd}v$<eabp-BL>#Hgm$Yn<Y#J$2B@pBQzczCQ}&LB#nh{&6sF
zcIUF~A$Q#(w(FaMbH_1DO^c@4l?jt)k^MN6dmt4e23+nv&>WCBgJVFsSRGaFsM>SQ
z2Jt2S`zm=<Z4x$TlLZw>wLPaE;s$59M$4@&6L0YKiBsz<?Yv|a1Fhe%c(7+wbnyNR
zL-hM#;O|-C3`=o2{k4>>7RlO&Z`YXk5BmlLH5120gp@3<(WP{Jl<~X_+&Yv--xc!P
zPW0r~At){6@1HJ(qae`widaw+5iJ7PI_ptgQuc87;ez4hGC&Nt$aoMvuxlMj2f5=Y
z5<omen0k=}P(3{^Di4GJK4{GYEm50uT~hGyJz;|3p5}w*iJ<lO3qaN&+|we^SzKB%
zh!+Hd<I0La=Wr9i2`)VzM1#9o3!=wK76X5MECdOkh5h~5Dk-T;id<$eoYgbXrTQPm
zAT_%B=|+$bF%cN2*#f#i1g>{&0cn7UAb*}haKNcbJ!d;enTP>`I$42?3>C28Kb8qW
z;XH;w@cN1upc+~R$O*=8AEWDmj~AI4AQ=2lFn==QRzYEOq;MfF7#auu0gB*<{h_0a
zKGrs__Tn&rexgS`bE^M<LZS6DKR|9od`LLV#s-Z*i`l^J?ZhAu2e=p*c!}A=Y@lE?
z5{9s|wZl0dfa?EmBb5$8ic}B-2vPzJmOwyo$%i1wf6oUGLH_@@nVf!tR0RGn(g|L|
z9UXvp|4*~lbNm9Og2*8dBp3`x*LVzK|L0`x7}QP#OU)!^cZ9%Tz$KcK7neI1)yWZp
zfg>=08c$yT&`@9u3W7&NA`o!EP`{1CKp{v1UI+pV#&Hr6qp=VK5`PvH3Jt@b1&u;s
z@M$O%1OYhAZ)j);3XLy45I-n<2{2GF3JmaK0q%d71Zakk8A&KU5`{it{*4z6hY<3j
zph*02fPnuI8hSDb1O-8#xc<rOA7PLPK*M-6U>pjHiv$t#V_`_Z(SKt=K`<~NLEzJn
z_%tK}O<*|Sc~2)1_FrBw1Oh|jsSS`61N}o#KyUv@3NRDu914Ns1EZk8z~4b20PQ5P
z{1+I4M1o-ii-STj|5fja-A<&zcQ-H;1_2Z39124a3Ijvq(~w9A2A_t4!ttH)1Op2N
zGTDEn218N*!z54yp+i9t1o4FgQVrgGfMyVAyoH=#{ACjCKk5g=0CDgJ0?bH!&79Cs
zcs2%9jlj1%Fb;*U{u2z?Zvvj^9|m9$+6jdr6b4NY21q0lO%V4`G=5kC7>JWX_?xET
zU?lL!oZpFn)EGFSFc=g*4ZtNF2Lm+w`+Q&k1m8cva0CMRSKMR&^?n!_Ly!z$5GXzk
zi2}0j?;sEq41%ATPC)QA1BPSJ(BBt~1)Lu+3ZB#_G$cL^iGmQ&01HF$)PDkkAF^Ns
z47hojKxn`Tu>?dozMTM6*#BULBk|(>1O$PnEieKNCCq*>1nh62v458)6pXNdAW^_`
zKM4dxLh#go0s_MaMgm&>Z=wM_56~)*@PD5V3lLER*$jz7BJdp!7>C505Db9ej{_qy
z2!ikg!X1hyG=PgnAi4g?fB)nFK-ECu`&~j{AO?b`1povI#;2ixw1>C46J8WS7{kHf
ze=x9rbp}96K@+SPh#mYD10ZmGRinXBINmrQ9DrhtzYsWKoyP*{gD}Ivp%6S_zyJt-
z{RRU?l+d~0P<$H$!T_<2Ckzq|JMp7G^#5-TfCIVk_kkxM|9I<P&I$&C35+Ko00JkB
z5;*+tMDq^@khlJm7a)H&W+*s<z^efee5U~eM#9OF5;J1)6D$Ca#P<>i5{-lt8UaYz
zcuNFkCFnSSwt+Cs!GT2g2QT-(E{lQ_#03D1J`s~ah|rsXc?lc?XcKU{B*YB%Xu|#j
z$N>17Mxrr<5eCQL=OYL(EgUaMAYc>*_kx_50sB8%69gFF_z)!Kf3!ac2tlm{rUioe
zxAF$GT?iCGSRf#O7JiHW_FV`lzVQKI7=bxa2<RWZE&%h7Hvu379X-%a;pixUH4<7C
zg@EB(AAo|R2)qOVgdqNU&_D*oqd{R9I9|X&Pzd;+4G$1o|Hz3#APAU&Bt}@m5rj$u
zKnR3}qA`T6AOiVYAw7w0KpLP^z>^w@K@;Qy6o8BGXaER-W?(Q3VNF8(wih^Y0{|DT
zL*OPz3<gC|2Y@ynUxhF@n852{=)XJ{gWtyjSQrAwK!G6y&W{4NMfmW*v;>|Dbjk?)
zd<pRW*&h97RV0MKO;BLizvbnx>ViT-2+9xu@}E5TXBs?tk~SeQ^tXllX;mbYFt)%z
zdcw0b3aHTdJ_~^0Cv*s~-6c>s!28=)<qxYO;aCDUK>>XLq114KG6aASq*){w*zOSs
zjUbE*U>o_Tm;Ae9fB=mPVU9*33Ca)v@|y}zRswAC2{Z!~cY<VsLIN9@{|X4`AK3Z=
zZTf$S0PUm)!}nt}upP$h79c1TklXNhfeQr$>IXKc|J`8wcv(BS+Ivw+;qK8BQxU;%
zsr1C$=15@wuMCsJ05`~>6cxY<aEQDT6s07GK+40FP%=_rrT@=}KdvWv`&fJV1bEpy
TPyts+&`2~DKfjW;GS&YBjImOr

-- 
GitLab


From ff6c81178b3f3098882a7d32771f6ed960c1bf8b Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Mon, 27 May 2019 11:46:09 +0200
Subject: [PATCH 17/19] Moved dma_wait signal (timing problematic) from
 dma_control to dma_read_write

---
 .../Wupper/pcie_ep_wrap_sim_circularDMA.vhd   |  30 ++---
 simulation/Wupper/wupper_tb.vhd               |   1 -
 sources/pcie/dma_read_write.vhd               |  36 +++++-
 sources/templates/dma_control.vhd             | 112 +++++-------------
 sources/templates/dma_control.vhd.template    |  47 +++-----
 sources/templates/pcie_package.vhd            |  51 ++------
 sources/templates/pcie_package.vhd.template   |   3 +-
 7 files changed, 103 insertions(+), 177 deletions(-)

diff --git a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
index ae0781666..23c34f18f 100644
--- a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
+++ b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd
@@ -201,27 +201,27 @@ begin
     end w;
     begin
         wait for 1 us; --startup time
-        w(x"004A0", BAR0, x"0000_0000_0000_0000"); --set pc_ptr_gap to 0
+        w(REG_PC_PTR_GAP, BAR0, x"0000_0000_0000_0000"); --set pc_ptr_gap to 0
                 
-        w(x"00000", BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address
-        w(x"00008", BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes)
-        w(x"00018", BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address
-        w(x"00010", BAR0, x"0000_0000_0000_1040"); --wrap around, ToHost, 256 bytes  
-        w(x"00020", BAR0, x"DEF8_0000_0000_0000"); --descr 1 start address
-        w(x"00028", BAR0, x"DEF8_0000_0000_1000"); --descr 1 end address = end address + 4096 (16 TLPs of 256 bytes)
-        w(x"00038", BAR0, x"DEF8_0000_0000_0000"); --init PC pointer at start_address
-        w(x"00030", BAR0, x"0000_0000_0000_1840"); --wrap around, FromHost, 256 bytes  
-        w(x"00400", BAR0, x"0000_0000_0000_0003"); --Enable both descriptors  
+        w(REG_DESCRIPTOR_0,      BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address
+        w(REG_DESCRIPTOR_0+8,    BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes)
+        w(REG_DESCRIPTOR_0a+8,   BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address
+        w(REG_DESCRIPTOR_0a,     BAR0, x"0000_0000_0000_1040"); --wrap around, ToHost, 256 bytes  
+        w(REG_DESCRIPTOR_1,      BAR0, x"DEF8_0000_0000_0000"); --descr 1 start address
+        w(REG_DESCRIPTOR_1+8,    BAR0, x"DEF8_0000_0000_1000"); --descr 1 end address = end address + 4096 (16 TLPs of 256 bytes)
+        w(REG_DESCRIPTOR_1a+8,   BAR0, x"DEF8_0000_0000_0000"); --init PC pointer at start_address
+        w(REG_DESCRIPTOR_1a,     BAR0, x"0000_0000_0000_1808"); --wrap around, FromHost, 32 bytes  
+        w(REG_DESCRIPTOR_ENABLE, BAR0, x"0000_0000_0000_0003"); --Enable both descriptors  
         wait for 1 us;
-        w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --increment PC pointer with 1 TLP
+        w(REG_DESCRIPTOR_1a+8  , BAR0, x"DEF8_0000_0000_0020"); --increment PC pointer with 1 TLP
         wait for 1 us;
-        w(x"00038", BAR0, x"DEF8_0000_0000_0300"); --increment PC pointer with 2 TLPs
+        w(REG_DESCRIPTOR_1a+8  , BAR0, x"DEF8_0000_0000_0060"); --increment PC pointer with 2 TLPs
         wait for 1 us;
-        w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --Wrap around to 0x100
+        w(REG_DESCRIPTOR_1a+8  , BAR0, x"DEF8_0000_0000_0020"); --Wrap around to 0x20
         
         wait for 1 us;
-        w(x"00018", BAR0, x"ABCD_0000_0000_0800"); --Icrement ToHost pc_pointer with 8 TLPs (half way the buffer)
-        w(x"00038", BAR0, x"DEF8_0000_0000_0800"); --Also start reading FromHost
+        w(REG_DESCRIPTOR_0a+8,   BAR0, x"ABCD_0000_0000_0800"); --Icrement ToHost pc_pointer with 8 TLPs (half way the buffer)
+        w(REG_DESCRIPTOR_1a+8,   BAR0, x"DEF8_0000_0000_0800"); --Also start reading FromHost
                 
                 
                         
diff --git a/simulation/Wupper/wupper_tb.vhd b/simulation/Wupper/wupper_tb.vhd
index 81f80dfc2..d11b50ca8 100644
--- a/simulation/Wupper/wupper_tb.vhd
+++ b/simulation/Wupper/wupper_tb.vhd
@@ -166,7 +166,6 @@ begin
       BUILD_DATETIME        => (others => '0'),
       SVN_VERSION           => 0,
       CARD_TYPE             => 709,
-      REG_MAP_VERSION       => (others => '0'),
       DEVID                 => x"7038",
       GIT_HASH              => (others => '0'),
       COMMIT_DATETIME       => (others => '0'),
diff --git a/sources/pcie/dma_read_write.vhd b/sources/pcie/dma_read_write.vhd
index 9f68ac642..3a3451d79 100644
--- a/sources/pcie/dma_read_write.vhd
+++ b/sources/pcie/dma_read_write.vhd
@@ -117,7 +117,7 @@ architecture rtl of dma_read_write is
   signal current_dword_count_s: std_logic_vector(10 downto 0);
   
   signal s_m_axis_rq : axis_type;
-
+  signal evencycle_dma_s: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
   
 begin
 
@@ -161,6 +161,8 @@ begin
   add_header: process(clk, reset, dma_soft_reset)
     variable next_active_descriptor_v: integer range 0 to (NUMBER_OF_DESCRIPTORS-1);
     variable read_idle_counter: integer range 0 to 255;
+    variable dma_wait: std_logic;
+    variable evencycle_dma_v: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0);
   begin
     if(rising_edge(clk)) then
       if(reset = '1') or (dma_soft_reset = '1') then
@@ -172,9 +174,10 @@ begin
                                   current_address   => (others => '0'),
                                   end_address       => (others => '0'),
                                   wrap_around       => '0',
-                                  evencycle_dma     => '0',
                                   evencycle_pc      => '0',
-                                  pc_pointer        => (others => '0'));
+                                  pc_pointer        => (others => '0'),
+                                  address_wrapped   => '0');
+        evencycle_dma_v := (others => '0');
         active_descriptor_s <= 0;
         current_dword_count_s <= "00001000000"; --256 bytes
         for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
@@ -197,9 +200,18 @@ begin
         end if;
         
         for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-            descriptor_done_s(i) <= '0'; --clear done flag, controller may load a new descriptor
+          descriptor_done_s(i) <= '0'; --clear done flag, controller may load a new descriptor
+          if (dma_descriptors(i).enable = '1' ) then
+            if (dma_descriptors(i).address_wrapped = '1' ) then
+              evencycle_dma_v(i) := not evencycle_dma_s(i);
+            end if;
+          else
+            evencycle_dma_v(i) := '0';
+          end if;
+          evencycle_dma_s(i) <= evencycle_dma_v(i);
         end loop;
         for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
+        
           next_active_descriptor_v := active_descriptor_s;
           if((i /= active_descriptor_s) and (dma_descriptors(i).enable='1')) then
             if(((dma_descriptors(i).read_not_write = '0') and (toHostFifo_prog_empty = '0'))) then
@@ -211,21 +223,32 @@ begin
               exit;
             end if;
           end if;
+          
         end loop;
         case(rw_state) is
           when IDLE =>
+            
             rw_state_slv <= IDLE_SLV;
             current_descriptor <= dma_descriptors(active_descriptor_s);
             if(dma_descriptors(active_descriptor_s).read_not_write = '0' and dma_descriptors(active_descriptor_s).dword_count>0) then
                 current_dword_count_s <= dma_descriptors(active_descriptor_s).dword_count; --assign dword count to a signal to calculate the prog_empty threshold.
             end if;
             active_descriptor_s <= next_active_descriptor_v;
-            if((m_axis_r_rq.tready = '1') and (dma_descriptors(active_descriptor_s).enable = '1')) then
+            if(dma_descriptors(active_descriptor_s).wrap_around = '1' and (evencycle_dma_v(active_descriptor_s) xor dma_descriptors(active_descriptor_s).read_not_write) /= dma_descriptors(active_descriptor_s).evencycle_pc) then
+              if(dma_descriptors(active_descriptor_s).current_address=dma_descriptors(active_descriptor_s).pc_pointer) then
+                dma_wait := '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
+              else
+                dma_wait := '0'; 
+              end if;
+            else
+                dma_wait := '0';
+            end if;
+            if((m_axis_r_rq.tready = '1') and (dma_descriptors(active_descriptor_s).enable = '1') and dma_wait = '0') then
               if(((dma_descriptors(active_descriptor_s).read_not_write = '0') and (toHostFifo_prog_empty = '0'))) then
                 rw_state <= START_WRITE;
                 descriptor_done_s(active_descriptor_s) <= '1'; --pulse only once
               end if;
-              if(((dma_descriptors(active_descriptor_s).read_not_write = '1') and (fromHostFifo_prog_full = '0')) and (read_idle_counter = 0)) then
+              if(((dma_descriptors(active_descriptor_s).read_not_write = '1') and (fromHostFifo_prog_full = '0')) and (read_idle_counter = 0) and dma_wait = '0') then
                 rw_state <= START_READ;
                 descriptor_done_s(active_descriptor_s) <= '1'; --pulse only once
               end if;
@@ -358,6 +381,7 @@ begin
 
   g0: for i in 0 to (NUMBER_OF_DESCRIPTORS-1) generate
     dma_status(i).descriptor_done <= descriptor_done_s(i);
+    dma_status(i).evencycle_dma <= evencycle_dma_s(i);
   end generate;
    
 
diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 943773be8..3434af89b 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -6,11 +6,11 @@
 -- DO NOT EDIT THIS FILE
 -- 
 -- This file was generated from template '../../sources/templates/dma_control.vhd.template'
--- and register map ../../sources/templates/registers-4.7.yaml, version 4.7
+-- and register map ../../sources/templates/registers-4.6.yaml, version 4.6
 -- by the script 'wuppercodegen', version: 0.8.0,
 -- using the following commandline:
 -- 
--- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd
+-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd
 -- 
 -- Please do NOT edit this file, but edit the source file at '../../sources/templates/dma_control.vhd.template'
 -- 
@@ -215,7 +215,6 @@ architecture rtl of dma_control is
   signal next_current_address_s           : slv64_arr;
   signal last_pc_pointer_s                : slv64_arr;
 
-  signal dma_wait                         : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1));
   signal tohost_pfull_threshold_assert_s         : std_logic_vector(11 downto 0);
   signal tohost_pfull_threshold_negate_s         : std_logic_vector(11 downto 0);
   signal fromhost_pfull_threshold_assert_s         : std_logic_vector(8 downto 0);
@@ -239,15 +238,16 @@ begin
 
 
   dma_status_s(0 to (NUMBER_OF_DESCRIPTORS-1)) <= dma_status;
-
+  
   pipe_descriptors: process(clk, dma_descriptors_s)
   begin
     for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-      dma_descriptors(i).enable          <= dma_descriptors_s(i).enable and not dma_wait(i);
+      dma_descriptors(i).enable          <= dma_descriptors_s(i).enable;
       dma_descriptors(i).current_address <= dma_descriptors_s(i).current_address;
+      dma_descriptors(i).address_wrapped <= dma_descriptors_s(i).address_wrapped;
     end loop;
     if(rising_edge(clk)) then
-
+  
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
         dma_descriptors(i).start_address  <= dma_descriptors_s(i).start_address;
         dma_descriptors(i).end_address    <= dma_descriptors_s(i).end_address;
@@ -255,9 +255,7 @@ begin
         dma_descriptors(i).read_not_write <= dma_descriptors_s(i).read_not_write;
         dma_descriptors(i).wrap_around    <= dma_descriptors_s(i).wrap_around;
         dma_descriptors(i).pc_pointer     <= dma_descriptors_s(i).pc_pointer;
-        dma_descriptors(i).evencycle_dma  <= dma_descriptors_s(i).evencycle_dma;
         dma_descriptors(i).evencycle_pc   <= dma_descriptors_s(i).evencycle_pc;
-
       end loop;
     end if;
   end process;
@@ -279,7 +277,7 @@ begin
   begin
     if(reset = '1') then
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-        dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_dma => '0',   evencycle_pc  => '0',   pc_pointer    => (others => '0'));
+        dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_pc  => '0',   pc_pointer    => (others => '0'), address_wrapped => '0');
         read_interrupt_250_s <= '0';
         write_interrupt_250_s <= '0';
         evencycle_dma_v(i) := '0';
@@ -341,7 +339,7 @@ begin
 
 
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
-
+          dma_descriptors_s(i).address_wrapped <= '0';
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0).
               evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
@@ -349,7 +347,7 @@ begin
             end if;
             if(dma_status_s(i).descriptor_done = '1') then
               --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-              if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
+              if(dma_descriptors_s(i).wrap_around = '1' and ((dma_status_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
                 current_address_v(i) := next_current_address_s(i);          
               else
                 if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then
@@ -367,32 +365,25 @@ begin
               if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then
                 if(dma_descriptors_s(i).wrap_around = '1') then
                   current_address_v(i) := dma_descriptors_s(i).start_address;
-                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
+                  dma_descriptors_s(i).address_wrapped <= '1';
+                  --evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
                 end if;
               end if;
             end if;
           else
             current_address_v(i) := dma_descriptors_s(i).start_address;
             evencycle_pc_v(i) := '0';
-            evencycle_dma_v(i) := '0';
+            --evencycle_dma_v(i) := '0';
 
           end if;
-          dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i);
+          --dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i);
           dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i);
           dma_descriptors_s(i).current_address <= current_address_v(i);
           if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then  --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished.
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
-              dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
-            else
-              dma_wait(i) <= '0'; 
-            end if;
-          else
-              dma_wait(i) <= '0';
-          end if;
+
               
                     
         end loop;
@@ -814,7 +805,7 @@ end process;
           register_read_data_25_s  <= (others => '0');
           reset_register_map_s <= '0';
           for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-            dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0',  evencycle_dma => '0',   evencycle_pc  => '0',   pc_pointer    => (others => '0'));
+            dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_pc  => '0',   pc_pointer    => (others => '0'), address_wrapped => '0');
           end loop;
           --for i in 0 to (NUMBER_OF_INTERRUPTS-1) loop
           --  int_vector_25_s(i) <= (int_vec_add => (others => '0'), int_vec_data => (others => '0'),int_vec_ctrl => (others => '0') );
@@ -6928,7 +6919,6 @@ end process;
                                                                                                         --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                         --   
                                                                                                         
-          register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR        <= REG_TTC_DEC_CTRL_BCID_ONBCR_C;           -- BCID is set to this value when BCR arrives
           register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C;         -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
           register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C;  -- forces the Busy LEMO output to BUSY-OFF
           register_map_control_s.TTC_DEC_CTRL.TOHOST_RST        <= REG_TTC_DEC_CTRL_TOHOST_RST_C;           -- reset toHost in ttc decoder
@@ -6937,7 +6927,7 @@ end process;
           register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= REG_TTC_DEC_CTRL_XL1ID_RST_C;            -- giving a trigger signal to reset XL1ID value
           register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= REG_TTC_DEC_CTRL_MASTER_BUSY_C;          -- L1A trigger throttling
           register_map_control_s.TTC_EMU.SEL                    <= REG_TTC_EMU_SEL_C;                       -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
+          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Enable TTC data generator (10 bit counter)
           register_map_control_s.TTC_DELAY_00                   <= REG_TTC_DELAY_00_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_01                   <= REG_TTC_DELAY_01_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_02                   <= REG_TTC_DELAY_02_C;                      -- Controls the TTC Fanout delay values
@@ -6989,18 +6979,6 @@ end process;
           register_map_control_s.TTC_BUSY_TIMING_CTRL.PRESCALE  <= REG_TTC_BUSY_TIMING_CTRL_PRESCALE_C;     -- Prescales the 40MHz clock to create an internal slow clock
           register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C;   -- Minimum number of 40MHz clocks that the busy is asserted
           register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C;   -- Number of prescaled clocks a given busy must be asserted before it is recognized
-          register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= REG_TTC_EMU_CONTROL_LAST_LINE_C;         -- Last line of the sequence
-          register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= REG_TTC_EMU_CONTROL_REPEAT_C;            -- Repeat the sequence
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= REG_TTC_EMU_CONTROL_BROADCAST5_C;        -- Broadcast 5
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= REG_TTC_EMU_CONTROL_BROADCAST4_C;        -- Broadcast 4
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= REG_TTC_EMU_CONTROL_BROADCAST3_C;        -- Broadcast 3
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST2     <= REG_TTC_EMU_CONTROL_BROADCAST2_C;        -- Broadcast 2
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST1     <= REG_TTC_EMU_CONTROL_BROADCAST1_C;        -- Broadcast 1
-          register_map_control_s.TTC_EMU_CONTROL.BROADCAST0     <= REG_TTC_EMU_CONTROL_BROADCAST0_C;        -- Broadcast 0
-          register_map_control_s.TTC_EMU_CONTROL.ECR            <= REG_TTC_EMU_CONTROL_ECR_C;               -- Event counter reset
-          register_map_control_s.TTC_EMU_CONTROL.BCR            <= REG_TTC_EMU_CONTROL_BCR_C;               -- Bunch counter reset
-          register_map_control_s.TTC_EMU_CONTROL.L1A            <= REG_TTC_EMU_CONTROL_L1A_C;               -- Level 1 Accept
-          register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER   <= REG_TTC_EMU_CONTROL_STEP_COUNTER_C;      -- Step counter value
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -8983,7 +8961,6 @@ end process;
           register_map_control_s.CR_BLOCK_COUNT_GBT23.RESET     <= REG_CR_BLOCK_COUNT_GBT23_RESET_C;  -- Any write clears the counter value
       end if;
       register_map_control_s.TTC_BUSY_CLEAR                 <= REG_TTC_BUSY_CLEAR_C;              -- clears the latching busy bits in TTC_BUSY_ACCEPTED
-      register_map_control_s.TTC_EMU_CONTROL.WE             <= REG_TTC_EMU_CONTROL_WE_C;          -- Any write to this register executes a write enable
       register_map_control_s.XOFF_FM_HIGH_THRESH.CLEAR_LATCH <= REG_XOFF_FM_HIGH_THRESH_CLEAR_LATCH_C; -- Writing this register will clear all CROSS_LATCHED bits
       register_map_control_s.DMA_BUSY_STATUS.CLEAR_LATCH    <= REG_DMA_BUSY_STATUS_CLEAR_LATCH_C; -- Any write to this register clears TOHOST_BUSY_LATCHED
       register_map_control_s.FM_BUSY_CHANNEL_STATUS.CLEAR_LATCH <= REG_FM_BUSY_CHANNEL_STATUS_CLEAR_LATCH_C; -- Any write to this register will clear the BUSY_LATCHED bits
@@ -9065,42 +9042,42 @@ end process;
                                                                  dma_descriptors_25_r_s( 7).dword_count;
             when REG_STATUS_0      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(0 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(0 ).evencycle_dma&
+                                                                 dma_status_25_s(0 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(0 ).enable)&
                                                                  dma_descriptors_25_r_s(0 ).current_address;
             when REG_STATUS_1      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(1 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(1 ).evencycle_dma&
+                                                                 dma_status_25_s(1 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(1 ).enable)&
                                                                  dma_descriptors_25_r_s(1 ).current_address;
             when REG_STATUS_2      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(2 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(2 ).evencycle_dma&
+                                                                 dma_status_25_s(2 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(2 ).enable)&
                                                                  dma_descriptors_25_r_s(2 ).current_address;
             when REG_STATUS_3      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(3 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(3 ).evencycle_dma&
+                                                                 dma_status_25_s(2 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(3 ).enable)&
                                                                  dma_descriptors_25_r_s(3 ).current_address;
             when REG_STATUS_4      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(4 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(4 ).evencycle_dma&
+                                                                 dma_status_25_s(4 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(4 ).enable)&
                                                                  dma_descriptors_25_r_s(4 ).current_address;
             when REG_STATUS_5      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(5 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(5 ).evencycle_dma&
+                                                                 dma_status_25_s(5 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(5 ).enable)&
                                                                  dma_descriptors_25_r_s(5 ).current_address;
             when REG_STATUS_6      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(6 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(6 ).evencycle_dma&
+                                                                 dma_status_25_s(6 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(6 ).enable)&
                                                                  dma_descriptors_25_r_s(6 ).current_address;
             when REG_STATUS_7      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(7 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(7 ).evencycle_dma&
+                                                                 dma_status_25_s(7 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(7 ).enable)&
                                                                  dma_descriptors_25_r_s(7 ).current_address;
             when REG_BAR0          => register_read_data_25_s     <=  x"000000000000000000000000"&bar0_25_s;
@@ -13564,8 +13541,7 @@ end process;
                                                                                                                                                         --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                                                         --   
                                                                                                                                                         
-            when REG_TTC_DEC_CTRL                   => register_read_data_25_s(26 downto 15)   <= register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR;       -- BCID is set to this value when BCR arrives
-                                                         register_read_data_25_s(14 downto 14)   <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal
+            when REG_TTC_DEC_CTRL                   => register_read_data_25_s(14 downto 14)   <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal
                                                        register_read_data_25_s(13 downto 13)   <= register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP;     -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
                                                        register_read_data_25_s(12 downto 12)   <= register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT; -- forces the Busy LEMO output to BUSY-OFF
                                                        register_read_data_25_s(11 downto 11)   <= register_map_control_s.TTC_DEC_CTRL.TOHOST_RST;       -- reset toHost in ttc decoder
@@ -13573,9 +13549,8 @@ end process;
                                                        register_read_data_25_s(9 downto 2)     <= register_map_control_s.TTC_DEC_CTRL.XL1ID_SW;         -- set XL1ID value, the value to be set by XL1ID_RST signal
                                                        register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_DEC_CTRL.XL1ID_RST;        -- giving a trigger signal to reset XL1ID value
                                                        register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY;      -- L1A trigger throttling
-            when REG_TTC_EMU                        => register_read_data_25_s(2 downto 2)     <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL;                  -- TTC Emulator memory full indication
-                                                       register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
+            when REG_TTC_EMU                        => register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
+                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Enable TTC data generator (10 bit counter)
             when REG_TTC_DELAY_00                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_00;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_01;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_02;                  -- Controls the TTC Fanout delay values
@@ -13628,19 +13603,6 @@ end process;
                                                        register_read_data_25_s(31 downto 16)   <= register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH; -- Minimum number of 40MHz clocks that the busy is asserted
                                                        register_read_data_25_s(15 downto 0)    <= register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME; -- Number of prescaled clocks a given busy must be asserted before it is recognized
             when REG_TTC_BUSY_CLEAR                 => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_BUSY_CLEAR;                -- clears the latching busy bits in TTC_BUSY_ACCEPTED
-            when REG_TTC_EMU_CONTROL                => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_EMU_CONTROL.WE;            -- Any write to this register executes a write enable
-                                                       register_read_data_25_s(35 downto 35)   <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE;     -- Last line of the sequence
-                                                       register_read_data_25_s(34 downto 34)   <= register_map_control_s.TTC_EMU_CONTROL.REPEAT;        -- Repeat the sequence
-                                                       register_read_data_25_s(32 downto 32)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5;    -- Broadcast 5
-                                                       register_read_data_25_s(31 downto 31)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4;    -- Broadcast 4
-                                                       register_read_data_25_s(30 downto 30)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3;    -- Broadcast 3
-                                                       register_read_data_25_s(29 downto 29)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST2;    -- Broadcast 2
-                                                       register_read_data_25_s(28 downto 28)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST1;    -- Broadcast 1
-                                                       register_read_data_25_s(27 downto 27)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST0;    -- Broadcast 0
-                                                       register_read_data_25_s(26 downto 26)   <= register_map_control_s.TTC_EMU_CONTROL.ECR;           -- Event counter reset
-                                                       register_read_data_25_s(25 downto 25)   <= register_map_control_s.TTC_EMU_CONTROL.BCR;           -- Bunch counter reset
-                                                       register_read_data_25_s(24 downto 24)   <= register_map_control_s.TTC_EMU_CONTROL.L1A;           -- Level 1 Accept
-                                                       register_read_data_25_s(21 downto 0)    <= register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER;  -- Step counter value
             when REG_XOFF_FM_CH_FIFO_THRESH_LOW     => register_read_data_25_s(47 downto 44)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_read_data_25_s(43 downto 40)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_read_data_25_s(39 downto 36)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -14647,7 +14609,7 @@ end process;
 
 
 -- GenericBoardInformation
-              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(1031,16));                     -- Register Map Version, 4.7 formatted as 0x0407
+              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= REG_MAP_VERSION;                                                                  -- Register Map Version, 4.6 formatted as 0x0406
               when REG_BOARD_ID_TIMESTAMP             => register_read_data_25_s(39 downto 0)    <= BUILD_DATETIME;                                                                   -- Board ID Date / Time in BCD format YYMMDDhhmm
               when REG_BOARD_ID_SVN                   => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(SVN_VERSION,16));                                    -- Board ID SVN Revision
               when REG_GIT_COMMIT_TIME                => register_read_data_25_s(39 downto 0)    <= COMMIT_DATETIME;                                                                  -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
@@ -20702,8 +20664,7 @@ end process;
                                                                                                                                                          --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                                                          --   
                                                                                                                                                          
-            when REG_TTC_DEC_CTRL                   => register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR        <= register_write_data_25_v(26 downto 15);  -- BCID is set to this value when BCR arrives
-                                                       register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= register_write_data_25_v(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
+            when REG_TTC_DEC_CTRL                   => register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= register_write_data_25_v(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
                                                        register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= register_write_data_25_v(12 downto 12);  -- forces the Busy LEMO output to BUSY-OFF
                                                        register_map_control_s.TTC_DEC_CTRL.TOHOST_RST        <= register_write_data_25_v(11 downto 11);  -- reset toHost in ttc decoder
                                                        register_map_control_s.TTC_DEC_CTRL.TT_BCH_EN         <= register_write_data_25_v(10 downto 10);  -- trigger type enable / disable for TTC-ToHost
@@ -20711,7 +20672,7 @@ end process;
                                                        register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= register_write_data_25_v(1 downto 1);    -- giving a trigger signal to reset XL1ID value
                                                        register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= register_write_data_25_v(0 downto 0);    -- L1A trigger throttling
             when REG_TTC_EMU                        => register_map_control_s.TTC_EMU.SEL                    <= register_write_data_25_v(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
+                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Enable TTC data generator (10 bit counter)
             when REG_TTC_DELAY_00                   => register_map_control_s.TTC_DELAY_00                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_map_control_s.TTC_DELAY_01                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_map_control_s.TTC_DELAY_02                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
@@ -20764,19 +20725,6 @@ end process;
                                                        register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= register_write_data_25_v(31 downto 16);  -- Minimum number of 40MHz clocks that the busy is asserted
                                                        register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= register_write_data_25_v(15 downto 0);   -- Number of prescaled clocks a given busy must be asserted before it is recognized
             when REG_TTC_BUSY_CLEAR                 => register_map_control_s.TTC_BUSY_CLEAR                 <= "1";                                     -- clears the latching busy bits in TTC_BUSY_ACCEPTED
-            when REG_TTC_EMU_CONTROL                => register_map_control_s.TTC_EMU_CONTROL.WE             <= "1";                                     -- Any write to this register executes a write enable
-                                                       register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= register_write_data_25_v(35 downto 35);  -- Last line of the sequence
-                                                       register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= register_write_data_25_v(34 downto 34);  -- Repeat the sequence
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= register_write_data_25_v(32 downto 32);  -- Broadcast 5
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= register_write_data_25_v(31 downto 31);  -- Broadcast 4
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= register_write_data_25_v(30 downto 30);  -- Broadcast 3
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST2     <= register_write_data_25_v(29 downto 29);  -- Broadcast 2
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST1     <= register_write_data_25_v(28 downto 28);  -- Broadcast 1
-                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST0     <= register_write_data_25_v(27 downto 27);  -- Broadcast 0
-                                                       register_map_control_s.TTC_EMU_CONTROL.ECR            <= register_write_data_25_v(26 downto 26);  -- Event counter reset
-                                                       register_map_control_s.TTC_EMU_CONTROL.BCR            <= register_write_data_25_v(25 downto 25);  -- Bunch counter reset
-                                                       register_map_control_s.TTC_EMU_CONTROL.L1A            <= register_write_data_25_v(24 downto 24);  -- Level 1 Accept
-                                                       register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER   <= register_write_data_25_v(21 downto 0);   -- Step counter value
             when REG_XOFF_FM_CH_FIFO_THRESH_LOW     => register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= register_write_data_25_v(47 downto 44);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= register_write_data_25_v(43 downto 40);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= register_write_data_25_v(39 downto 36);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template
index 29c304945..8f4b2550b 100644
--- a/sources/templates/dma_control.vhd.template
+++ b/sources/templates/dma_control.vhd.template
@@ -194,7 +194,6 @@ architecture rtl of dma_control is
   signal next_current_address_s           : slv64_arr;
   signal last_pc_pointer_s                : slv64_arr;
 
-  signal dma_wait                         : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1));
   signal tohost_pfull_threshold_assert_s         : std_logic_vector(11 downto 0);
   signal tohost_pfull_threshold_negate_s         : std_logic_vector(11 downto 0);
   signal fromhost_pfull_threshold_assert_s         : std_logic_vector(8 downto 0);
@@ -222,8 +221,9 @@ begin
   pipe_descriptors: process(clk, dma_descriptors_s)
   begin
     for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-      dma_descriptors(i).enable          <= dma_descriptors_s(i).enable and not dma_wait(i);
+      dma_descriptors(i).enable          <= dma_descriptors_s(i).enable;
       dma_descriptors(i).current_address <= dma_descriptors_s(i).current_address;
+      dma_descriptors(i).address_wrapped <= dma_descriptors_s(i).address_wrapped;
     end loop;
     if(rising_edge(clk)) then
 
@@ -234,9 +234,7 @@ begin
         dma_descriptors(i).read_not_write <= dma_descriptors_s(i).read_not_write;
         dma_descriptors(i).wrap_around    <= dma_descriptors_s(i).wrap_around;
         dma_descriptors(i).pc_pointer     <= dma_descriptors_s(i).pc_pointer;
-        dma_descriptors(i).evencycle_dma  <= dma_descriptors_s(i).evencycle_dma;
         dma_descriptors(i).evencycle_pc   <= dma_descriptors_s(i).evencycle_pc;
-
       end loop;
     end if;
   end process;
@@ -258,7 +256,7 @@ begin
   begin
     if(reset = '1') then
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-        dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_dma => '0',   evencycle_pc  => '0',   pc_pointer    => (others => '0'));
+        dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_pc  => '0',   pc_pointer    => (others => '0'), address_wrapped => '0');
         read_interrupt_250_s <= '0';
         write_interrupt_250_s <= '0';
         evencycle_dma_v(i) := '0';
@@ -320,7 +318,7 @@ begin
 
 
           next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00"));
-
+          dma_descriptors_s(i).address_wrapped <= '0';
           if(dma_descriptors_s(i).enable = '1') then
             if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0).
               evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around
@@ -328,7 +326,7 @@ begin
             end if;
             if(dma_status_s(i).descriptor_done = '1') then
               --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-              if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
+              if(dma_descriptors_s(i).wrap_around = '1' and ((dma_status_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then
                 current_address_v(i) := next_current_address_s(i);          
               else
                 if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then
@@ -346,32 +344,25 @@ begin
               if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then
                 if(dma_descriptors_s(i).wrap_around = '1') then
                   current_address_v(i) := dma_descriptors_s(i).start_address;
-                  evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
+                  dma_descriptors_s(i).address_wrapped <= '1';
+                  --evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around
                 end if;
               end if;
             end if;
           else
             current_address_v(i) := dma_descriptors_s(i).start_address;
             evencycle_pc_v(i) := '0';
-            evencycle_dma_v(i) := '0';
+            --evencycle_dma_v(i) := '0';
 
           end if;
-          dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i);
+          --dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i);
           dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i);
           dma_descriptors_s(i).current_address <= current_address_v(i);
           if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then  --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished.
             dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; 
           end if;
           --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer.
-          if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then
-            if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then
-              dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write
-            else
-              dma_wait(i) <= '0'; 
-            end if;
-          else
-              dma_wait(i) <= '0';
-          end if;
+
               
                     
         end loop;
@@ -793,7 +784,7 @@ end process;
           register_read_data_25_s  <= (others => '0');
           reset_register_map_s <= '0';
           for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
-            dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0',  evencycle_dma => '0',   evencycle_pc  => '0',   pc_pointer    => (others => '0'));
+            dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around   => '0', evencycle_pc  => '0',   pc_pointer    => (others => '0'), address_wrapped => '0');
           end loop;
           --for i in 0 to (NUMBER_OF_INTERRUPTS-1) loop
           --  int_vector_25_s(i) <= (int_vec_add => (others => '0'), int_vec_data => (others => '0'),int_vec_ctrl => (others => '0') );
@@ -939,42 +930,42 @@ end process;
                                                                  dma_descriptors_25_r_s( 7).dword_count;
             when REG_STATUS_0      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(0 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(0 ).evencycle_dma&
+                                                                 dma_status_25_s(0 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(0 ).enable)&
                                                                  dma_descriptors_25_r_s(0 ).current_address;
             when REG_STATUS_1      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(1 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(1 ).evencycle_dma&
+                                                                 dma_status_25_s(1 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(1 ).enable)&
                                                                  dma_descriptors_25_r_s(1 ).current_address;
             when REG_STATUS_2      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(2 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(2 ).evencycle_dma&
+                                                                 dma_status_25_s(2 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(2 ).enable)&
                                                                  dma_descriptors_25_r_s(2 ).current_address;
             when REG_STATUS_3      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(3 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(3 ).evencycle_dma&
+                                                                 dma_status_25_s(2 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(3 ).enable)&
                                                                  dma_descriptors_25_r_s(3 ).current_address;
             when REG_STATUS_4      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(4 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(4 ).evencycle_dma&
+                                                                 dma_status_25_s(4 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(4 ).enable)&
                                                                  dma_descriptors_25_r_s(4 ).current_address;
             when REG_STATUS_5      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(5 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(5 ).evencycle_dma&
+                                                                 dma_status_25_s(5 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(5 ).enable)&
                                                                  dma_descriptors_25_r_s(5 ).current_address;
             when REG_STATUS_6      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(6 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(6 ).evencycle_dma&
+                                                                 dma_status_25_s(6 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(6 ).enable)&
                                                                  dma_descriptors_25_r_s(6 ).current_address;
             when REG_STATUS_7      => register_read_data_25_s <= x"000000000000000"&"0"&
                                                                  dma_descriptors_25_r_s(7 ).evencycle_pc&
-                                                                 dma_descriptors_25_r_s(7 ).evencycle_dma&
+                                                                 dma_status_25_s(7 ).evencycle_dma&
                                                                  (not dma_descriptors_25_r_s(7 ).enable)&
                                                                  dma_descriptors_25_r_s(7 ).current_address;
             when REG_BAR0          => register_read_data_25_s     <=  x"000000000000000000000000"&bar0_25_s;
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index 6ded628d5..be343196c 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -6,11 +6,11 @@
 -- DO NOT EDIT THIS FILE
 -- 
 -- This file was generated from template '../../sources/templates/pcie_package.vhd.template'
--- and register map ../../sources/templates/registers-4.7.yaml, version 4.7
+-- and register map ../../sources/templates/registers-4.6.yaml, version 4.6
 -- by the script 'wuppercodegen', version: 0.8.0,
 -- using the following commandline:
 -- 
--- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd
+-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd
 -- 
 -- Please do NOT edit this file, but edit the source file at '../../sources/templates/pcie_package.vhd.template'
 -- 
@@ -107,14 +107,15 @@ package pcie_package is
     read_not_write  : std_logic;     --1 means this is a read descriptor, 0: write descriptor
     enable          : std_logic;     --descriptor is valid
     wrap_around     : std_logic;     --1 means when end is reached, keep enabled and start over
-    evencycle_dma   : std_logic;     --For every time the current_address overflows, this bit toggles
     evencycle_pc    : std_logic;     --For every time the pc pointer overflows, this bit toggles.
     pc_pointer      : std_logic_vector(63 downto 0); --Last address that the PC has read / written. For write: overflow and read until this cycle.
+    address_wrapped : std_logic;
   end record;
 
   type dma_descriptors_type is array (natural range <>) of dma_descriptor_type;
 
   type dma_status_type is record
+    evencycle_dma   : std_logic;     --For every time the current_address overflows, this bit toggles
     descriptor_done: std_logic;  -- means the dma_descriptor in the array above has been handled, the enable field should then be cleared.
   end record;
 
@@ -1008,7 +1009,6 @@ package pcie_package is
   constant REG_TTC_DELAY_47                   : std_logic_vector(19 downto 0) := x"084a0";
   constant REG_TTC_BUSY_TIMING_CTRL           : std_logic_vector(19 downto 0) := x"084b0";
   constant REG_TTC_BUSY_CLEAR                 : std_logic_vector(19 downto 0) := x"084c0";
-  constant REG_TTC_EMU_CONTROL                : std_logic_vector(19 downto 0) := x"084d0";
 
   --** XOFF_BUSYControlsAndMonitors
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW     : std_logic_vector(19 downto 0) := x"08800";
@@ -1520,7 +1520,6 @@ package pcie_package is
   end record;
 
   type bitfield_ttc_dec_ctrl_w_type is record
-    BCID_ONBCR                     : std_logic_vector(26 downto 15);  -- BCID is set to this value when BCR arrives
     ECR_BCR_SWAP                   : std_logic_vector(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
     BUSY_OUTPUT_INHIBIT            : std_logic_vector(12 downto 12);  -- forces the Busy LEMO output to BUSY-OFF
     TOHOST_RST                     : std_logic_vector(11 downto 11);  -- reset toHost in ttc decoder
@@ -1532,7 +1531,7 @@ package pcie_package is
 
   type bitfield_ttc_emu_w_type is record
     SEL                            : std_logic_vector(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-    ENA                            : std_logic_vector(0 downto 0);    -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
+    ENA                            : std_logic_vector(0 downto 0);    -- Enable TTC data generator (10 bit counter)
   end record;
 
   type bitfield_ttc_busy_timing_ctrl_w_type is record
@@ -1541,22 +1540,6 @@ package pcie_package is
     LIMIT_TIME                     : std_logic_vector(15 downto 0);   -- Number of prescaled clocks a given busy must be asserted before it is recognized
   end record;
 
-  type bitfield_ttc_emu_control_t_type is record
-    WE                             : std_logic_vector(64 downto 64);  -- Any write to this register executes a write enable
-    LAST_LINE                      : std_logic_vector(35 downto 35);  -- Last line of the sequence
-    REPEAT                         : std_logic_vector(34 downto 34);  -- Repeat the sequence
-    BROADCAST5                     : std_logic_vector(32 downto 32);  -- Broadcast 5
-    BROADCAST4                     : std_logic_vector(31 downto 31);  -- Broadcast 4
-    BROADCAST3                     : std_logic_vector(30 downto 30);  -- Broadcast 3
-    BROADCAST2                     : std_logic_vector(29 downto 29);  -- Broadcast 2
-    BROADCAST1                     : std_logic_vector(28 downto 28);  -- Broadcast 1
-    BROADCAST0                     : std_logic_vector(27 downto 27);  -- Broadcast 0
-    ECR                            : std_logic_vector(26 downto 26);  -- Event counter reset
-    BCR                            : std_logic_vector(25 downto 25);  -- Bunch counter reset
-    L1A                            : std_logic_vector(24 downto 24);  -- Level 1 Accept
-    STEP_COUNTER                   : std_logic_vector(21 downto 0);   -- Step counter value
-  end record;
-
   type bitfield_xoff_fm_ch_fifo_thresh_low_w_type is record
     CH11                           : std_logic_vector(47 downto 44);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
     CH10                           : std_logic_vector(43 downto 40);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -2301,7 +2284,6 @@ package pcie_package is
     TTC_DELAY_47                   : std_logic_vector(3 downto 0);    -- Controls the TTC Fanout delay values
     TTC_BUSY_TIMING_CTRL           : bitfield_ttc_busy_timing_ctrl_w_type;
     TTC_BUSY_CLEAR                 : std_logic_vector(64 downto 64);  -- clears the latching busy bits in TTC_BUSY_ACCEPTED
-    TTC_EMU_CONTROL                : bitfield_ttc_emu_control_t_type;
     XOFF_FM_CH_FIFO_THRESH_LOW     : bitfield_xoff_fm_ch_fifo_thresh_low_w_type;
     XOFF_FM_CH_FIFO_THRESH_HIGH    : bitfield_xoff_fm_ch_fifo_thresh_high_w_type;
     XOFF_FM_HIGH_THRESH            : bitfield_xoff_fm_high_thresh_t_type;
@@ -5488,7 +5470,6 @@ package pcie_package is
                                                                                                                 --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                 --   
                                                                                                                 
-  constant REG_TTC_DEC_CTRL_BCID_ONBCR_C           : std_logic_vector(26 downto 15)   := x"000";                -- BCID is set to this value when BCR arrives
   constant REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C         : std_logic_vector(13 downto 13)   := "0";                   -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
   constant REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C  : std_logic_vector(12 downto 12)   := "0";                   -- forces the Busy LEMO output to BUSY-OFF
   constant REG_TTC_DEC_CTRL_TOHOST_RST_C           : std_logic_vector(11 downto 11)   := "0";                   -- reset toHost in ttc decoder
@@ -5497,7 +5478,7 @@ package pcie_package is
   constant REG_TTC_DEC_CTRL_XL1ID_RST_C            : std_logic_vector(1 downto 1)     := "0";                   -- giving a trigger signal to reset XL1ID value
   constant REG_TTC_DEC_CTRL_MASTER_BUSY_C          : std_logic_vector(0 downto 0)     := "0";                   -- L1A trigger throttling
   constant REG_TTC_EMU_SEL_C                       : std_logic_vector(1 downto 1)     := "0";                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
+  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Enable TTC data generator (10 bit counter)
   constant REG_TTC_DELAY_00_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_01_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_02_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
@@ -5550,19 +5531,6 @@ package pcie_package is
   constant REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C   : std_logic_vector(31 downto 16)   := x"000f";               -- Minimum number of 40MHz clocks that the busy is asserted
   constant REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C   : std_logic_vector(15 downto 0)    := x"000f";               -- Number of prescaled clocks a given busy must be asserted before it is recognized
   constant REG_TTC_BUSY_CLEAR_C                    : std_logic_vector(64 downto 64)   := "0";                   -- clears the latching busy bits in TTC_BUSY_ACCEPTED
-  constant REG_TTC_EMU_CONTROL_WE_C                : std_logic_vector(64 downto 64)   := "0";                   -- Any write to this register executes a write enable
-  constant REG_TTC_EMU_CONTROL_LAST_LINE_C         : std_logic_vector(35 downto 35)   := "0";                   -- Last line of the sequence
-  constant REG_TTC_EMU_CONTROL_REPEAT_C            : std_logic_vector(34 downto 34)   := "0";                   -- Repeat the sequence
-  constant REG_TTC_EMU_CONTROL_BROADCAST5_C        : std_logic_vector(32 downto 32)   := "0";                   -- Broadcast 5
-  constant REG_TTC_EMU_CONTROL_BROADCAST4_C        : std_logic_vector(31 downto 31)   := "0";                   -- Broadcast 4
-  constant REG_TTC_EMU_CONTROL_BROADCAST3_C        : std_logic_vector(30 downto 30)   := "0";                   -- Broadcast 3
-  constant REG_TTC_EMU_CONTROL_BROADCAST2_C        : std_logic_vector(29 downto 29)   := "0";                   -- Broadcast 2
-  constant REG_TTC_EMU_CONTROL_BROADCAST1_C        : std_logic_vector(28 downto 28)   := "0";                   -- Broadcast 1
-  constant REG_TTC_EMU_CONTROL_BROADCAST0_C        : std_logic_vector(27 downto 27)   := "0";                   -- Broadcast 0
-  constant REG_TTC_EMU_CONTROL_ECR_C               : std_logic_vector(26 downto 26)   := "0";                   -- Event counter reset
-  constant REG_TTC_EMU_CONTROL_BCR_C               : std_logic_vector(25 downto 25)   := "0";                   -- Bunch counter reset
-  constant REG_TTC_EMU_CONTROL_L1A_C               : std_logic_vector(24 downto 24)   := "0";                   -- Level 1 Accept
-  constant REG_TTC_EMU_CONTROL_STEP_COUNTER_C      : std_logic_vector(21 downto 0)    := "0000000000000000000000"; -- Step counter value
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C   : std_logic_vector(47 downto 44)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C   : std_logic_vector(43 downto 40)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C   : std_logic_vector(39 downto 36)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -6336,7 +6304,7 @@ package pcie_package is
 
   -- GenericBoardInformation
   type register_map_gen_board_info_type is record
-    REG_MAP_VERSION                : std_logic_vector(15 downto 0);   -- Register Map Version, 4.7 formatted as 0x0407
+    REG_MAP_VERSION                : std_logic_vector(15 downto 0);   -- Register Map Version, 4.6 formatted as 0x0406
     BOARD_ID_TIMESTAMP             : std_logic_vector(39 downto 0);   -- Board ID Date / Time in BCD format YYMMDDhhmm
     BOARD_ID_SVN                   : std_logic_vector(15 downto 0);   -- Board ID SVN Revision
     GIT_COMMIT_TIME                : std_logic_vector(39 downto 0);   -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
@@ -7446,10 +7414,6 @@ end record;
     TTC_BIT_ERR                    : std_logic_vector(2 downto 0);    -- double bit, single bit and comm error in TTC data
   end record;
 
-  type bitfield_ttc_emu_r_type is record
-    FULL                           : std_logic_vector(2 downto 2);    -- TTC Emulator memory full indication
-  end record;
-
 
   -- TTCBUSYControlsAndMonitors
   type register_map_ttc_monitor_type is record
@@ -7479,7 +7443,6 @@ end record;
     TTC_BUSY_ACCEPTED21            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
     TTC_BUSY_ACCEPTED22            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
     TTC_BUSY_ACCEPTED23            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
-    TTC_EMU                        : bitfield_ttc_emu_r_type;      
 end record;
 --
 -- XOFF_BUSYControlsAndMonitors
diff --git a/sources/templates/pcie_package.vhd.template b/sources/templates/pcie_package.vhd.template
index 33bc46321..24f992b84 100644
--- a/sources/templates/pcie_package.vhd.template
+++ b/sources/templates/pcie_package.vhd.template
@@ -86,14 +86,15 @@ package pcie_package is
     read_not_write  : std_logic;     --1 means this is a read descriptor, 0: write descriptor
     enable          : std_logic;     --descriptor is valid
     wrap_around     : std_logic;     --1 means when end is reached, keep enabled and start over
-    evencycle_dma   : std_logic;     --For every time the current_address overflows, this bit toggles
     evencycle_pc    : std_logic;     --For every time the pc pointer overflows, this bit toggles.
     pc_pointer      : std_logic_vector(63 downto 0); --Last address that the PC has read / written. For write: overflow and read until this cycle.
+    address_wrapped : std_logic;
   end record;
 
   type dma_descriptors_type is array (natural range <>) of dma_descriptor_type;
 
   type dma_status_type is record
+    evencycle_dma   : std_logic;     --For every time the current_address overflows, this bit toggles
     descriptor_done: std_logic;  -- means the dma_descriptor in the array above has been handled, the enable field should then be cleared.
   end record;
 
-- 
GitLab


From 51f24923908bf97d626f3135b3af12378540077c Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Mon, 27 May 2019 11:48:52 +0200
Subject: [PATCH 18/19] regenerated rm4.7

---
 sources/templates/dma_control.vhd  | 65 +++++++++++++++++++++++++-----
 sources/templates/pcie_package.vhd | 48 +++++++++++++++++++---
 2 files changed, 97 insertions(+), 16 deletions(-)

diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd
index 3434af89b..cb791e022 100644
--- a/sources/templates/dma_control.vhd
+++ b/sources/templates/dma_control.vhd
@@ -6,11 +6,11 @@
 -- DO NOT EDIT THIS FILE
 -- 
 -- This file was generated from template '../../sources/templates/dma_control.vhd.template'
--- and register map ../../sources/templates/registers-4.6.yaml, version 4.6
+-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7
 -- by the script 'wuppercodegen', version: 0.8.0,
 -- using the following commandline:
 -- 
--- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd
+-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd
 -- 
 -- Please do NOT edit this file, but edit the source file at '../../sources/templates/dma_control.vhd.template'
 -- 
@@ -238,7 +238,7 @@ begin
 
 
   dma_status_s(0 to (NUMBER_OF_DESCRIPTORS-1)) <= dma_status;
-  
+
   pipe_descriptors: process(clk, dma_descriptors_s)
   begin
     for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
@@ -247,7 +247,7 @@ begin
       dma_descriptors(i).address_wrapped <= dma_descriptors_s(i).address_wrapped;
     end loop;
     if(rising_edge(clk)) then
-  
+
       for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop
         dma_descriptors(i).start_address  <= dma_descriptors_s(i).start_address;
         dma_descriptors(i).end_address    <= dma_descriptors_s(i).end_address;
@@ -6919,6 +6919,7 @@ end process;
                                                                                                         --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                         --   
                                                                                                         
+          register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR        <= REG_TTC_DEC_CTRL_BCID_ONBCR_C;           -- BCID is set to this value when BCR arrives
           register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C;         -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
           register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C;  -- forces the Busy LEMO output to BUSY-OFF
           register_map_control_s.TTC_DEC_CTRL.TOHOST_RST        <= REG_TTC_DEC_CTRL_TOHOST_RST_C;           -- reset toHost in ttc decoder
@@ -6927,7 +6928,7 @@ end process;
           register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= REG_TTC_DEC_CTRL_XL1ID_RST_C;            -- giving a trigger signal to reset XL1ID value
           register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= REG_TTC_DEC_CTRL_MASTER_BUSY_C;          -- L1A trigger throttling
           register_map_control_s.TTC_EMU.SEL                    <= REG_TTC_EMU_SEL_C;                       -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Enable TTC data generator (10 bit counter)
+          register_map_control_s.TTC_EMU.ENA                    <= REG_TTC_EMU_ENA_C;                       -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
           register_map_control_s.TTC_DELAY_00                   <= REG_TTC_DELAY_00_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_01                   <= REG_TTC_DELAY_01_C;                      -- Controls the TTC Fanout delay values
           register_map_control_s.TTC_DELAY_02                   <= REG_TTC_DELAY_02_C;                      -- Controls the TTC Fanout delay values
@@ -6979,6 +6980,18 @@ end process;
           register_map_control_s.TTC_BUSY_TIMING_CTRL.PRESCALE  <= REG_TTC_BUSY_TIMING_CTRL_PRESCALE_C;     -- Prescales the 40MHz clock to create an internal slow clock
           register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C;   -- Minimum number of 40MHz clocks that the busy is asserted
           register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C;   -- Number of prescaled clocks a given busy must be asserted before it is recognized
+          register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= REG_TTC_EMU_CONTROL_LAST_LINE_C;         -- Last line of the sequence
+          register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= REG_TTC_EMU_CONTROL_REPEAT_C;            -- Repeat the sequence
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= REG_TTC_EMU_CONTROL_BROADCAST5_C;        -- Broadcast 5
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= REG_TTC_EMU_CONTROL_BROADCAST4_C;        -- Broadcast 4
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= REG_TTC_EMU_CONTROL_BROADCAST3_C;        -- Broadcast 3
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST2     <= REG_TTC_EMU_CONTROL_BROADCAST2_C;        -- Broadcast 2
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST1     <= REG_TTC_EMU_CONTROL_BROADCAST1_C;        -- Broadcast 1
+          register_map_control_s.TTC_EMU_CONTROL.BROADCAST0     <= REG_TTC_EMU_CONTROL_BROADCAST0_C;        -- Broadcast 0
+          register_map_control_s.TTC_EMU_CONTROL.ECR            <= REG_TTC_EMU_CONTROL_ECR_C;               -- Event counter reset
+          register_map_control_s.TTC_EMU_CONTROL.BCR            <= REG_TTC_EMU_CONTROL_BCR_C;               -- Bunch counter reset
+          register_map_control_s.TTC_EMU_CONTROL.L1A            <= REG_TTC_EMU_CONTROL_L1A_C;               -- Level 1 Accept
+          register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER   <= REG_TTC_EMU_CONTROL_STEP_COUNTER_C;      -- Step counter value
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
           register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C;   -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -8961,6 +8974,7 @@ end process;
           register_map_control_s.CR_BLOCK_COUNT_GBT23.RESET     <= REG_CR_BLOCK_COUNT_GBT23_RESET_C;  -- Any write clears the counter value
       end if;
       register_map_control_s.TTC_BUSY_CLEAR                 <= REG_TTC_BUSY_CLEAR_C;              -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+      register_map_control_s.TTC_EMU_CONTROL.WE             <= REG_TTC_EMU_CONTROL_WE_C;          -- Any write to this register executes a write enable
       register_map_control_s.XOFF_FM_HIGH_THRESH.CLEAR_LATCH <= REG_XOFF_FM_HIGH_THRESH_CLEAR_LATCH_C; -- Writing this register will clear all CROSS_LATCHED bits
       register_map_control_s.DMA_BUSY_STATUS.CLEAR_LATCH    <= REG_DMA_BUSY_STATUS_CLEAR_LATCH_C; -- Any write to this register clears TOHOST_BUSY_LATCHED
       register_map_control_s.FM_BUSY_CHANNEL_STATUS.CLEAR_LATCH <= REG_FM_BUSY_CHANNEL_STATUS_CLEAR_LATCH_C; -- Any write to this register will clear the BUSY_LATCHED bits
@@ -13541,7 +13555,8 @@ end process;
                                                                                                                                                         --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                                                         --   
                                                                                                                                                         
-            when REG_TTC_DEC_CTRL                   => register_read_data_25_s(14 downto 14)   <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal
+            when REG_TTC_DEC_CTRL                   => register_read_data_25_s(26 downto 15)   <= register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR;       -- BCID is set to this value when BCR arrives
+                                                         register_read_data_25_s(14 downto 14)   <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal
                                                        register_read_data_25_s(13 downto 13)   <= register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP;     -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
                                                        register_read_data_25_s(12 downto 12)   <= register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT; -- forces the Busy LEMO output to BUSY-OFF
                                                        register_read_data_25_s(11 downto 11)   <= register_map_control_s.TTC_DEC_CTRL.TOHOST_RST;       -- reset toHost in ttc decoder
@@ -13549,8 +13564,9 @@ end process;
                                                        register_read_data_25_s(9 downto 2)     <= register_map_control_s.TTC_DEC_CTRL.XL1ID_SW;         -- set XL1ID value, the value to be set by XL1ID_RST signal
                                                        register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_DEC_CTRL.XL1ID_RST;        -- giving a trigger signal to reset XL1ID value
                                                        register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY;      -- L1A trigger throttling
-            when REG_TTC_EMU                        => register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Enable TTC data generator (10 bit counter)
+            when REG_TTC_EMU                        => register_read_data_25_s(2 downto 2)     <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL;                  -- TTC Emulator memory full indication
+                                                       register_read_data_25_s(1 downto 1)     <= register_map_control_s.TTC_EMU.SEL;                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
+                                                       register_read_data_25_s(0 downto 0)     <= register_map_control_s.TTC_EMU.ENA;                   -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
             when REG_TTC_DELAY_00                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_00;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_01;                  -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_read_data_25_s(3 downto 0)     <= register_map_control_s.TTC_DELAY_02;                  -- Controls the TTC Fanout delay values
@@ -13603,6 +13619,19 @@ end process;
                                                        register_read_data_25_s(31 downto 16)   <= register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH; -- Minimum number of 40MHz clocks that the busy is asserted
                                                        register_read_data_25_s(15 downto 0)    <= register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME; -- Number of prescaled clocks a given busy must be asserted before it is recognized
             when REG_TTC_BUSY_CLEAR                 => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_BUSY_CLEAR;                -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+            when REG_TTC_EMU_CONTROL                => register_read_data_25_s(64 downto 64)   <= register_map_control_s.TTC_EMU_CONTROL.WE;            -- Any write to this register executes a write enable
+                                                       register_read_data_25_s(35 downto 35)   <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE;     -- Last line of the sequence
+                                                       register_read_data_25_s(34 downto 34)   <= register_map_control_s.TTC_EMU_CONTROL.REPEAT;        -- Repeat the sequence
+                                                       register_read_data_25_s(32 downto 32)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5;    -- Broadcast 5
+                                                       register_read_data_25_s(31 downto 31)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4;    -- Broadcast 4
+                                                       register_read_data_25_s(30 downto 30)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3;    -- Broadcast 3
+                                                       register_read_data_25_s(29 downto 29)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST2;    -- Broadcast 2
+                                                       register_read_data_25_s(28 downto 28)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST1;    -- Broadcast 1
+                                                       register_read_data_25_s(27 downto 27)   <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST0;    -- Broadcast 0
+                                                       register_read_data_25_s(26 downto 26)   <= register_map_control_s.TTC_EMU_CONTROL.ECR;           -- Event counter reset
+                                                       register_read_data_25_s(25 downto 25)   <= register_map_control_s.TTC_EMU_CONTROL.BCR;           -- Bunch counter reset
+                                                       register_read_data_25_s(24 downto 24)   <= register_map_control_s.TTC_EMU_CONTROL.L1A;           -- Level 1 Accept
+                                                       register_read_data_25_s(21 downto 0)    <= register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER;  -- Step counter value
             when REG_XOFF_FM_CH_FIFO_THRESH_LOW     => register_read_data_25_s(47 downto 44)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_read_data_25_s(43 downto 40)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_read_data_25_s(39 downto 36)   <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -14609,7 +14638,7 @@ end process;
 
 
 -- GenericBoardInformation
-              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= REG_MAP_VERSION;                                                                  -- Register Map Version, 4.6 formatted as 0x0406
+              when REG_REG_MAP_VERSION                => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(1031,16));                     -- Register Map Version, 4.7 formatted as 0x0407
               when REG_BOARD_ID_TIMESTAMP             => register_read_data_25_s(39 downto 0)    <= BUILD_DATETIME;                                                                   -- Board ID Date / Time in BCD format YYMMDDhhmm
               when REG_BOARD_ID_SVN                   => register_read_data_25_s(15 downto 0)    <= std_logic_vector(to_unsigned(SVN_VERSION,16));                                    -- Board ID SVN Revision
               when REG_GIT_COMMIT_TIME                => register_read_data_25_s(39 downto 0)    <= COMMIT_DATETIME;                                                                  -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
@@ -20664,7 +20693,8 @@ end process;
                                                                                                                                                          --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                                                          --   
                                                                                                                                                          
-            when REG_TTC_DEC_CTRL                   => register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= register_write_data_25_v(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
+            when REG_TTC_DEC_CTRL                   => register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR        <= register_write_data_25_v(26 downto 15);  -- BCID is set to this value when BCR arrives
+                                                       register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP      <= register_write_data_25_v(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
                                                        register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= register_write_data_25_v(12 downto 12);  -- forces the Busy LEMO output to BUSY-OFF
                                                        register_map_control_s.TTC_DEC_CTRL.TOHOST_RST        <= register_write_data_25_v(11 downto 11);  -- reset toHost in ttc decoder
                                                        register_map_control_s.TTC_DEC_CTRL.TT_BCH_EN         <= register_write_data_25_v(10 downto 10);  -- trigger type enable / disable for TTC-ToHost
@@ -20672,7 +20702,7 @@ end process;
                                                        register_map_control_s.TTC_DEC_CTRL.XL1ID_RST         <= register_write_data_25_v(1 downto 1);    -- giving a trigger signal to reset XL1ID value
                                                        register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY       <= register_write_data_25_v(0 downto 0);    -- L1A trigger throttling
             when REG_TTC_EMU                        => register_map_control_s.TTC_EMU.SEL                    <= register_write_data_25_v(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Enable TTC data generator (10 bit counter)
+                                                       register_map_control_s.TTC_EMU.ENA                    <= register_write_data_25_v(0 downto 0);    -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
             when REG_TTC_DELAY_00                   => register_map_control_s.TTC_DELAY_00                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_01                   => register_map_control_s.TTC_DELAY_01                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
             when REG_TTC_DELAY_02                   => register_map_control_s.TTC_DELAY_02                   <= register_write_data_25_v(3 downto 0);    -- Controls the TTC Fanout delay values
@@ -20725,6 +20755,19 @@ end process;
                                                        register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= register_write_data_25_v(31 downto 16);  -- Minimum number of 40MHz clocks that the busy is asserted
                                                        register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= register_write_data_25_v(15 downto 0);   -- Number of prescaled clocks a given busy must be asserted before it is recognized
             when REG_TTC_BUSY_CLEAR                 => register_map_control_s.TTC_BUSY_CLEAR                 <= "1";                                     -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+            when REG_TTC_EMU_CONTROL                => register_map_control_s.TTC_EMU_CONTROL.WE             <= "1";                                     -- Any write to this register executes a write enable
+                                                       register_map_control_s.TTC_EMU_CONTROL.LAST_LINE      <= register_write_data_25_v(35 downto 35);  -- Last line of the sequence
+                                                       register_map_control_s.TTC_EMU_CONTROL.REPEAT         <= register_write_data_25_v(34 downto 34);  -- Repeat the sequence
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST5     <= register_write_data_25_v(32 downto 32);  -- Broadcast 5
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST4     <= register_write_data_25_v(31 downto 31);  -- Broadcast 4
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST3     <= register_write_data_25_v(30 downto 30);  -- Broadcast 3
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST2     <= register_write_data_25_v(29 downto 29);  -- Broadcast 2
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST1     <= register_write_data_25_v(28 downto 28);  -- Broadcast 1
+                                                       register_map_control_s.TTC_EMU_CONTROL.BROADCAST0     <= register_write_data_25_v(27 downto 27);  -- Broadcast 0
+                                                       register_map_control_s.TTC_EMU_CONTROL.ECR            <= register_write_data_25_v(26 downto 26);  -- Event counter reset
+                                                       register_map_control_s.TTC_EMU_CONTROL.BCR            <= register_write_data_25_v(25 downto 25);  -- Bunch counter reset
+                                                       register_map_control_s.TTC_EMU_CONTROL.L1A            <= register_write_data_25_v(24 downto 24);  -- Level 1 Accept
+                                                       register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER   <= register_write_data_25_v(21 downto 0);   -- Step counter value
             when REG_XOFF_FM_CH_FIFO_THRESH_LOW     => register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= register_write_data_25_v(47 downto 44);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= register_write_data_25_v(43 downto 40);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
                                                        register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= register_write_data_25_v(39 downto 36);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd
index be343196c..410b82a4c 100644
--- a/sources/templates/pcie_package.vhd
+++ b/sources/templates/pcie_package.vhd
@@ -6,11 +6,11 @@
 -- DO NOT EDIT THIS FILE
 -- 
 -- This file was generated from template '../../sources/templates/pcie_package.vhd.template'
--- and register map ../../sources/templates/registers-4.6.yaml, version 4.6
+-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7
 -- by the script 'wuppercodegen', version: 0.8.0,
 -- using the following commandline:
 -- 
--- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd
+-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd
 -- 
 -- Please do NOT edit this file, but edit the source file at '../../sources/templates/pcie_package.vhd.template'
 -- 
@@ -1009,6 +1009,7 @@ package pcie_package is
   constant REG_TTC_DELAY_47                   : std_logic_vector(19 downto 0) := x"084a0";
   constant REG_TTC_BUSY_TIMING_CTRL           : std_logic_vector(19 downto 0) := x"084b0";
   constant REG_TTC_BUSY_CLEAR                 : std_logic_vector(19 downto 0) := x"084c0";
+  constant REG_TTC_EMU_CONTROL                : std_logic_vector(19 downto 0) := x"084d0";
 
   --** XOFF_BUSYControlsAndMonitors
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW     : std_logic_vector(19 downto 0) := x"08800";
@@ -1520,6 +1521,7 @@ package pcie_package is
   end record;
 
   type bitfield_ttc_dec_ctrl_w_type is record
+    BCID_ONBCR                     : std_logic_vector(26 downto 15);  -- BCID is set to this value when BCR arrives
     ECR_BCR_SWAP                   : std_logic_vector(13 downto 13);  -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
     BUSY_OUTPUT_INHIBIT            : std_logic_vector(12 downto 12);  -- forces the Busy LEMO output to BUSY-OFF
     TOHOST_RST                     : std_logic_vector(11 downto 11);  -- reset toHost in ttc decoder
@@ -1531,7 +1533,7 @@ package pcie_package is
 
   type bitfield_ttc_emu_w_type is record
     SEL                            : std_logic_vector(1 downto 1);    -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-    ENA                            : std_logic_vector(0 downto 0);    -- Enable TTC data generator (10 bit counter)
+    ENA                            : std_logic_vector(0 downto 0);    -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
   end record;
 
   type bitfield_ttc_busy_timing_ctrl_w_type is record
@@ -1540,6 +1542,22 @@ package pcie_package is
     LIMIT_TIME                     : std_logic_vector(15 downto 0);   -- Number of prescaled clocks a given busy must be asserted before it is recognized
   end record;
 
+  type bitfield_ttc_emu_control_t_type is record
+    WE                             : std_logic_vector(64 downto 64);  -- Any write to this register executes a write enable
+    LAST_LINE                      : std_logic_vector(35 downto 35);  -- Last line of the sequence
+    REPEAT                         : std_logic_vector(34 downto 34);  -- Repeat the sequence
+    BROADCAST5                     : std_logic_vector(32 downto 32);  -- Broadcast 5
+    BROADCAST4                     : std_logic_vector(31 downto 31);  -- Broadcast 4
+    BROADCAST3                     : std_logic_vector(30 downto 30);  -- Broadcast 3
+    BROADCAST2                     : std_logic_vector(29 downto 29);  -- Broadcast 2
+    BROADCAST1                     : std_logic_vector(28 downto 28);  -- Broadcast 1
+    BROADCAST0                     : std_logic_vector(27 downto 27);  -- Broadcast 0
+    ECR                            : std_logic_vector(26 downto 26);  -- Event counter reset
+    BCR                            : std_logic_vector(25 downto 25);  -- Bunch counter reset
+    L1A                            : std_logic_vector(24 downto 24);  -- Level 1 Accept
+    STEP_COUNTER                   : std_logic_vector(21 downto 0);   -- Step counter value
+  end record;
+
   type bitfield_xoff_fm_ch_fifo_thresh_low_w_type is record
     CH11                           : std_logic_vector(47 downto 44);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
     CH10                           : std_logic_vector(43 downto 40);  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -2284,6 +2302,7 @@ package pcie_package is
     TTC_DELAY_47                   : std_logic_vector(3 downto 0);    -- Controls the TTC Fanout delay values
     TTC_BUSY_TIMING_CTRL           : bitfield_ttc_busy_timing_ctrl_w_type;
     TTC_BUSY_CLEAR                 : std_logic_vector(64 downto 64);  -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+    TTC_EMU_CONTROL                : bitfield_ttc_emu_control_t_type;
     XOFF_FM_CH_FIFO_THRESH_LOW     : bitfield_xoff_fm_ch_fifo_thresh_low_w_type;
     XOFF_FM_CH_FIFO_THRESH_HIGH    : bitfield_xoff_fm_ch_fifo_thresh_high_w_type;
     XOFF_FM_HIGH_THRESH            : bitfield_xoff_fm_high_thresh_t_type;
@@ -5470,6 +5489,7 @@ package pcie_package is
                                                                                                                 --   0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link
                                                                                                                 --   
                                                                                                                 
+  constant REG_TTC_DEC_CTRL_BCID_ONBCR_C           : std_logic_vector(26 downto 15)   := x"000";                -- BCID is set to this value when BCR arrives
   constant REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C         : std_logic_vector(13 downto 13)   := "0";                   -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC)
   constant REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C  : std_logic_vector(12 downto 12)   := "0";                   -- forces the Busy LEMO output to BUSY-OFF
   constant REG_TTC_DEC_CTRL_TOHOST_RST_C           : std_logic_vector(11 downto 11)   := "0";                   -- reset toHost in ttc decoder
@@ -5478,7 +5498,7 @@ package pcie_package is
   constant REG_TTC_DEC_CTRL_XL1ID_RST_C            : std_logic_vector(1 downto 1)     := "0";                   -- giving a trigger signal to reset XL1ID value
   constant REG_TTC_DEC_CTRL_MASTER_BUSY_C          : std_logic_vector(0 downto 0)     := "0";                   -- L1A trigger throttling
   constant REG_TTC_EMU_SEL_C                       : std_logic_vector(1 downto 1)     := "0";                   -- Select TTC data source 1 TTC Emu | 0 TTC Decoder
-  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Enable TTC data generator (10 bit counter)
+  constant REG_TTC_EMU_ENA_C                       : std_logic_vector(0 downto 0)     := "0";                   -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence
   constant REG_TTC_DELAY_00_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_01_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
   constant REG_TTC_DELAY_02_C                      : std_logic_vector(3 downto 0)     := x"0";                  -- Controls the TTC Fanout delay values
@@ -5531,6 +5551,19 @@ package pcie_package is
   constant REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C   : std_logic_vector(31 downto 16)   := x"000f";               -- Minimum number of 40MHz clocks that the busy is asserted
   constant REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C   : std_logic_vector(15 downto 0)    := x"000f";               -- Number of prescaled clocks a given busy must be asserted before it is recognized
   constant REG_TTC_BUSY_CLEAR_C                    : std_logic_vector(64 downto 64)   := "0";                   -- clears the latching busy bits in TTC_BUSY_ACCEPTED
+  constant REG_TTC_EMU_CONTROL_WE_C                : std_logic_vector(64 downto 64)   := "0";                   -- Any write to this register executes a write enable
+  constant REG_TTC_EMU_CONTROL_LAST_LINE_C         : std_logic_vector(35 downto 35)   := "0";                   -- Last line of the sequence
+  constant REG_TTC_EMU_CONTROL_REPEAT_C            : std_logic_vector(34 downto 34)   := "0";                   -- Repeat the sequence
+  constant REG_TTC_EMU_CONTROL_BROADCAST5_C        : std_logic_vector(32 downto 32)   := "0";                   -- Broadcast 5
+  constant REG_TTC_EMU_CONTROL_BROADCAST4_C        : std_logic_vector(31 downto 31)   := "0";                   -- Broadcast 4
+  constant REG_TTC_EMU_CONTROL_BROADCAST3_C        : std_logic_vector(30 downto 30)   := "0";                   -- Broadcast 3
+  constant REG_TTC_EMU_CONTROL_BROADCAST2_C        : std_logic_vector(29 downto 29)   := "0";                   -- Broadcast 2
+  constant REG_TTC_EMU_CONTROL_BROADCAST1_C        : std_logic_vector(28 downto 28)   := "0";                   -- Broadcast 1
+  constant REG_TTC_EMU_CONTROL_BROADCAST0_C        : std_logic_vector(27 downto 27)   := "0";                   -- Broadcast 0
+  constant REG_TTC_EMU_CONTROL_ECR_C               : std_logic_vector(26 downto 26)   := "0";                   -- Event counter reset
+  constant REG_TTC_EMU_CONTROL_BCR_C               : std_logic_vector(25 downto 25)   := "0";                   -- Bunch counter reset
+  constant REG_TTC_EMU_CONTROL_L1A_C               : std_logic_vector(24 downto 24)   := "0";                   -- Level 1 Accept
+  constant REG_TTC_EMU_CONTROL_STEP_COUNTER_C      : std_logic_vector(21 downto 0)    := "0000000000000000000000"; -- Step counter value
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C   : std_logic_vector(47 downto 44)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C   : std_logic_vector(43 downto 40)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
   constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C   : std_logic_vector(39 downto 36)   := x"b";                  -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB
@@ -6304,7 +6337,7 @@ package pcie_package is
 
   -- GenericBoardInformation
   type register_map_gen_board_info_type is record
-    REG_MAP_VERSION                : std_logic_vector(15 downto 0);   -- Register Map Version, 4.6 formatted as 0x0406
+    REG_MAP_VERSION                : std_logic_vector(15 downto 0);   -- Register Map Version, 4.7 formatted as 0x0407
     BOARD_ID_TIMESTAMP             : std_logic_vector(39 downto 0);   -- Board ID Date / Time in BCD format YYMMDDhhmm
     BOARD_ID_SVN                   : std_logic_vector(15 downto 0);   -- Board ID SVN Revision
     GIT_COMMIT_TIME                : std_logic_vector(39 downto 0);   -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm
@@ -7414,6 +7447,10 @@ end record;
     TTC_BIT_ERR                    : std_logic_vector(2 downto 0);    -- double bit, single bit and comm error in TTC data
   end record;
 
+  type bitfield_ttc_emu_r_type is record
+    FULL                           : std_logic_vector(2 downto 2);    -- TTC Emulator memory full indication
+  end record;
+
 
   -- TTCBUSYControlsAndMonitors
   type register_map_ttc_monitor_type is record
@@ -7443,6 +7480,7 @@ end record;
     TTC_BUSY_ACCEPTED21            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
     TTC_BUSY_ACCEPTED22            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
     TTC_BUSY_ACCEPTED23            : std_logic_vector(56 downto 0);   -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR
+    TTC_EMU                        : bitfield_ttc_emu_r_type;      
 end record;
 --
 -- XOFF_BUSYControlsAndMonitors
-- 
GitLab


From 99c7b86a51ff6117cf4d669bc79f89080304cf18 Mon Sep 17 00:00:00 2001
From: Frans Schreuder <fransschreuder@gmail.com>
Date: Mon, 27 May 2019 14:55:31 +0200
Subject: [PATCH 19/19] Updated waveform for simulation

---
 simulation/Wupper/wupper_tb_behav.wcfg | 89 ++++++++++++++++++++------
 1 file changed, 71 insertions(+), 18 deletions(-)

diff --git a/simulation/Wupper/wupper_tb_behav.wcfg b/simulation/Wupper/wupper_tb_behav.wcfg
index 4ff1be945..9e8ac72bd 100644
--- a/simulation/Wupper/wupper_tb_behav.wcfg
+++ b/simulation/Wupper/wupper_tb_behav.wcfg
@@ -13,13 +13,13 @@
       </db_ref>
    </db_ref_list>
    <zoom_setting>
-      <ZoomStartTime time="9149400000fs"></ZoomStartTime>
-      <ZoomEndTime time="9432600001fs"></ZoomEndTime>
-      <Cursor1Time time="9302000000fs"></Cursor1Time>
+      <ZoomStartTime time="10281800000fs"></ZoomStartTime>
+      <ZoomEndTime time="10328400001fs"></ZoomEndTime>
+      <Cursor1Time time="10304000000fs"></Cursor1Time>
    </zoom_setting>
    <column_width_setting>
       <NameColumnWidth column_width="194"></NameColumnWidth>
-      <ValueColumnWidth column_width="264"></ValueColumnWidth>
+      <ValueColumnWidth column_width="260"></ValueColumnWidth>
    </column_width_setting>
    <WVObjectSize size="4" />
    <wvobject type="group" fp_name="group33">
@@ -126,16 +126,6 @@
          <obj_property name="ElementShortName">dma_descriptors[0:1]</obj_property>
          <obj_property name="ObjectShortName">dma_descriptors[0:1]</obj_property>
          <obj_property name="isExpanded"></obj_property>
-         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[0]">
-            <obj_property name="ElementShortName">[0]</obj_property>
-            <obj_property name="ObjectShortName">[0]</obj_property>
-            <obj_property name="isExpanded"></obj_property>
-         </wvobject>
-         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[1]">
-            <obj_property name="ElementShortName">[1]</obj_property>
-            <obj_property name="ObjectShortName">[1]</obj_property>
-            <obj_property name="isExpanded"></obj_property>
-         </wvobject>
       </wvobject>
       <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_soft_reset">
          <obj_property name="ElementShortName">dma_soft_reset</obj_property>
@@ -144,6 +134,16 @@
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status">
          <obj_property name="ElementShortName">dma_status[0:1]</obj_property>
          <obj_property name="ObjectShortName">dma_status[0:1]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status[0]">
+            <obj_property name="ElementShortName">[0]</obj_property>
+            <obj_property name="ObjectShortName">[0]</obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status[1]">
+            <obj_property name="ElementShortName">[1]</obj_property>
+            <obj_property name="ObjectShortName">[1]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
       </wvobject>
       <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/flush_fifo">
          <obj_property name="ElementShortName">flush_fifo</obj_property>
@@ -195,14 +195,60 @@
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s">
          <obj_property name="ElementShortName">dma_descriptors_s[0:1]</obj_property>
          <obj_property name="ObjectShortName">dma_descriptors_s[0:1]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s[0]">
+            <obj_property name="ElementShortName">[0]</obj_property>
+            <obj_property name="ObjectShortName">[0]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s[1]">
+            <obj_property name="ElementShortName">[1]</obj_property>
+            <obj_property name="ObjectShortName">[1]</obj_property>
+         </wvobject>
       </wvobject>
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_r_s">
          <obj_property name="ElementShortName">dma_descriptors_25_r_s[0:7]</obj_property>
          <obj_property name="ObjectShortName">dma_descriptors_25_r_s[0:7]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
       </wvobject>
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s">
          <obj_property name="ElementShortName">dma_descriptors_25_w_s[0:7]</obj_property>
          <obj_property name="ObjectShortName">dma_descriptors_25_w_s[0:7]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[0]">
+            <obj_property name="ElementShortName">[0]</obj_property>
+            <obj_property name="ObjectShortName">[0]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[1]">
+            <obj_property name="ElementShortName">[1]</obj_property>
+            <obj_property name="ObjectShortName">[1]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[2]">
+            <obj_property name="ElementShortName">[2]</obj_property>
+            <obj_property name="ObjectShortName">[2]</obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[3]">
+            <obj_property name="ElementShortName">[3]</obj_property>
+            <obj_property name="ObjectShortName">[3]</obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[4]">
+            <obj_property name="ElementShortName">[4]</obj_property>
+            <obj_property name="ObjectShortName">[4]</obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[5]">
+            <obj_property name="ElementShortName">[5]</obj_property>
+            <obj_property name="ObjectShortName">[5]</obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[6]">
+            <obj_property name="ElementShortName">[6]</obj_property>
+            <obj_property name="ObjectShortName">[6]</obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[7]">
+            <obj_property name="ElementShortName">[7]</obj_property>
+            <obj_property name="ObjectShortName">[7]</obj_property>
+         </wvobject>
       </wvobject>
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_w_250_s">
          <obj_property name="ElementShortName">dma_descriptors_w_250_s[0:1]</obj_property>
@@ -428,10 +474,6 @@
          <obj_property name="ElementShortName">last_pc_pointer_s[0:1][63:0]</obj_property>
          <obj_property name="ObjectShortName">last_pc_pointer_s[0:1][63:0]</obj_property>
       </wvobject>
-      <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_wait">
-         <obj_property name="ElementShortName">dma_wait[0:1]</obj_property>
-         <obj_property name="ObjectShortName">dma_wait[0:1]</obj_property>
-      </wvobject>
       <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_enable_written_25_s">
          <obj_property name="ElementShortName">dma_descriptors_enable_written_25_s</obj_property>
          <obj_property name="ObjectShortName">dma_descriptors_enable_written_25_s</obj_property>
@@ -491,6 +533,17 @@
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status">
          <obj_property name="ElementShortName">dma_status[0:1]</obj_property>
          <obj_property name="ObjectShortName">dma_status[0:1]</obj_property>
+         <obj_property name="isExpanded"></obj_property>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status[0]">
+            <obj_property name="ElementShortName">[0]</obj_property>
+            <obj_property name="ObjectShortName">[0]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
+         <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status[1]">
+            <obj_property name="ElementShortName">[1]</obj_property>
+            <obj_property name="ObjectShortName">[1]</obj_property>
+            <obj_property name="isExpanded"></obj_property>
+         </wvobject>
       </wvobject>
       <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_din">
          <obj_property name="ElementShortName">fromHostFifo_din[255:0]</obj_property>
-- 
GitLab