From c83653c88049f3655d535597c299677c2b75584f Mon Sep 17 00:00:00 2001 From: marqs Date: Fri, 15 Apr 2016 22:05:53 +0300 Subject: [PATCH] Release 0.69 * Improved remote control handling code * Fixed occasional mode change loop when switching to a non-interlace mode utilizing odd-field sync signal * Fixed randomly missing blue channel at power-on when using DVI output mode * Added H-PLL coast options * Finer tuning range for scanline strength and mask --- ossc.workspace | 4 +- ossc_rtl.project | 4 - ossc_sw_bsp.project | 2 +- rtl/ir_rcv.v | 183 +- rtl/ossc.v | 26 +- rtl/scanconverter.v | 42 +- software/sys_controller/av_controller.c | 308 +-- .../mem_init/sys_onchip_memory2_0.hex | 1648 ++++++++--------- software/sys_controller/tvp7002/tvp7002.c | 19 +- software/sys_controller/tvp7002/tvp7002.h | 4 +- software/sys_controller/tvp7002/video_modes.c | 1 + software/sys_controller_bsp/libhal_bsp.a | Bin 107610 -> 107610 bytes software/sys_controller_bsp/settings.bsp | 6 +- sys.sopcinfo | 4 +- 14 files changed, 1148 insertions(+), 1103 deletions(-) diff --git a/ossc.workspace b/ossc.workspace index e9773ea..17587fc 100644 --- a/ossc.workspace +++ b/ossc.workspace @@ -5,14 +5,14 @@ - + - + diff --git a/ossc_rtl.project b/ossc_rtl.project index a064276..a73e942 100644 --- a/ossc_rtl.project +++ b/ossc_rtl.project @@ -113,19 +113,15 @@ - - - - diff --git a/ossc_sw_bsp.project b/ossc_sw_bsp.project index 99900a3..5f588e1 100644 --- a/ossc_sw_bsp.project +++ b/ossc_sw_bsp.project @@ -319,7 +319,7 @@ make clean - nios2-bsp-generate-files --bsp-dir . --settings settings.bsp + nios2-bsp-generate-files --bsp-dir ./ --settings settings.bsp diff --git a/rtl/ir_rcv.v b/rtl/ir_rcv.v index da2a7aa..abad469 100644 --- a/rtl/ir_rcv.v +++ b/rtl/ir_rcv.v @@ -26,13 +26,15 @@ module ir_rcv ( input reset_n, input ir_rx, output reg [15:0] ir_code, - output reg ir_code_ack + output reg ir_code_ack, + output reg [7:0] ir_code_cnt ); // ~37ns clock period -parameter LEADCODE_LO_THOLD = 226800; //8.4ms -parameter LEADCODE_HI_THOLD = 118800; //4.4ms +parameter LEADCODE_LO_THOLD = 200000; //7.4ms +parameter LEADCODE_HI_THOLD = 100000; //3.7ms +parameter LEADCODE_HI_TIMEOUT = 160000; //5.9ms parameter LEADCODE_HI_RPT_THOLD = 54000; //2.0ms parameter RPT_RELEASE_THOLD = 3240000; //120ms parameter BIT_ONE_THOLD = 27000; //1.0ms @@ -42,10 +44,12 @@ parameter IDLE_THOLD = 141480; //5.24ms reg [1:0] state; // 3 states reg [31:0] databuf; // temp. buffer reg [5:0] bits_detected; // max. 63, effectively between 0 and 33 -reg [17:0] act_cnt; // max. 5.2ms -reg [17:0] leadvrf_cnt; // max. 5.2ms -reg [17:0] datarcv_cnt; // max. 5.2ms -reg [22:0] rpt_cnt; // max. 166ms +reg [17:0] act_cnt; // max. 9.7ms +reg [17:0] leadvrf_cnt; // max. 9.7ms +reg [17:0] datarcv_cnt; // max. 9.7ms +reg [21:0] rpt_cnt; // max. 155ms + +reg ir_rx_r; // activity when signal is low always @(posedge clk27 or negedge reset_n) @@ -53,12 +57,12 @@ begin if (!reset_n) act_cnt <= 0; else - begin - if ((state == `STATE_IDLE) & (~ir_rx)) - act_cnt <= act_cnt + 1'b1; - else - act_cnt <= 0; - end + begin + if ((state == `STATE_IDLE) & (~ir_rx_r)) + act_cnt <= act_cnt + 1'b1; + else + act_cnt <= 0; + end end // lead code verify counter @@ -67,12 +71,12 @@ begin if (!reset_n) leadvrf_cnt <= 0; else - begin - if ((state == `STATE_LEADVERIFY) & ir_rx) - leadvrf_cnt <= leadvrf_cnt + 1'b1; - else - leadvrf_cnt <= 0; - end + begin + if ((state == `STATE_LEADVERIFY) & ir_rx_r) + leadvrf_cnt <= leadvrf_cnt + 1'b1; + else + leadvrf_cnt <= 0; + end end @@ -80,89 +84,106 @@ end always @(posedge clk27 or negedge reset_n) begin if (!reset_n) - begin - datarcv_cnt <= 0; - bits_detected <= 0; - databuf <= 0; - end - else - begin - if (state == `STATE_DATARCV) - begin - if (ir_rx) - datarcv_cnt <= datarcv_cnt + 1'b1; - else - datarcv_cnt <= 0; - - if (datarcv_cnt == BIT_DETECT_THOLD) - bits_detected <= bits_detected + 1'b1; - - if (datarcv_cnt == BIT_ONE_THOLD) - databuf[32-bits_detected] <= 1'b1; - end - else begin datarcv_cnt <= 0; bits_detected <= 0; databuf <= 0; end - end + else + begin + if (state == `STATE_DATARCV) + begin + if (ir_rx_r) + datarcv_cnt <= datarcv_cnt + 1'b1; + else + datarcv_cnt <= 0; + + if (datarcv_cnt == BIT_DETECT_THOLD) + bits_detected <= bits_detected + 1'b1; + + if (datarcv_cnt == BIT_ONE_THOLD) + databuf[32-bits_detected] <= 1'b1; + end + else + begin + datarcv_cnt <= 0; + bits_detected <= 0; + databuf <= 0; + end + end end // read and validate data after 32 bits detected (last bit may change to '1' at any time) always @(posedge clk27 or negedge reset_n) begin if (!reset_n) - begin - ir_code_ack <= 1'b0; - ir_code <= 16'h00000000; - end - else - begin - if ((bits_detected == 32) & (databuf[31:24] == ~databuf[23:16]) & (databuf[15:8] == ~databuf[7:0])) - begin - ir_code <= {databuf[31:24], databuf[15:8]}; - ir_code_ack <= 1'b1; - end - else if (rpt_cnt >= RPT_RELEASE_THOLD) begin + ir_code_ack <= 1'b0; ir_code <= 16'h00000000; - ir_code_ack <= 1'b0; end - else - ir_code_ack <= 1'b0; - end + else + begin + if ((bits_detected == 32) & (databuf[31:24] == ~databuf[23:16]) & (databuf[15:8] == ~databuf[7:0])) + begin + ir_code <= {databuf[31:24], databuf[15:8]}; + ir_code_ack <= 1'b1; + end + else if (rpt_cnt >= RPT_RELEASE_THOLD) + begin + ir_code <= 16'h00000000; + ir_code_ack <= 1'b0; + end + else + ir_code_ack <= 1'b0; + end end always @(posedge clk27 or negedge reset_n) begin if (!reset_n) - begin - state <= `STATE_IDLE; - rpt_cnt <= 0; - end + begin + state <= `STATE_IDLE; + rpt_cnt <= 0; + ir_code_cnt <= 0; + ir_rx_r <= 0; + end else - begin - rpt_cnt <= rpt_cnt + 1'b1; - - case (state) - `STATE_IDLE: - if (act_cnt >= LEADCODE_LO_THOLD) - state <= `STATE_LEADVERIFY; - `STATE_LEADVERIFY: - begin - if (leadvrf_cnt == LEADCODE_HI_RPT_THOLD) - rpt_cnt <= 0; - if (leadvrf_cnt >= LEADCODE_HI_THOLD) - state <= `STATE_DATARCV; - end - `STATE_DATARCV: - if ((datarcv_cnt >= IDLE_THOLD) | (bits_detected >= 33)) + begin + rpt_cnt <= rpt_cnt + 1'b1; + ir_rx_r <= ir_rx; + + case (state) + `STATE_IDLE: + begin + if ((act_cnt >= LEADCODE_LO_THOLD) & ir_rx_r) + state <= `STATE_LEADVERIFY; + if (rpt_cnt >= RPT_RELEASE_THOLD) + ir_code_cnt <= 0; + end + `STATE_LEADVERIFY: + begin + if (leadvrf_cnt == LEADCODE_HI_RPT_THOLD) + begin + if (ir_code != 0) + ir_code_cnt <= ir_code_cnt + 1; + rpt_cnt <= 0; + end + if (!ir_rx_r) + state <= (leadvrf_cnt >= LEADCODE_HI_THOLD) ? `STATE_DATARCV : `STATE_IDLE; + else if (leadvrf_cnt >= LEADCODE_HI_TIMEOUT) + state <= `STATE_IDLE; + end + `STATE_DATARCV: + begin + if (ir_code_ack == 1'b1) + ir_code_cnt <= 1; + if ((datarcv_cnt >= IDLE_THOLD)|bits_detected >= 33) + state <= `STATE_IDLE; + end + default: state <= `STATE_IDLE; - default: - state <= `STATE_IDLE; - endcase - end + endcase + end end endmodule diff --git a/rtl/ossc.v b/rtl/ossc.v index 128c9c0..596b3c1 100644 --- a/rtl/ossc.v +++ b/rtl/ossc.v @@ -64,6 +64,7 @@ wire [10:0] lines_out; wire [1:0] fpga_vsyncgen; wire [15:0] ir_code; +wire [7:0] ir_code_cnt; wire [7:0] R_out, G_out, B_out; wire HSYNC_out; @@ -80,15 +81,14 @@ wire DATA_enable_videogen; wire [7:0] lcd_ctrl; reg [3:0] reset_n_ctr; +reg reset_n_reg = 1'b1; `ifdef DEBUG -assign LED_G = {clk27, PCLK_in}; -assign LED_R = {HSYNC_in, VSYNC_in}; +assign LED_R = HSYNC_in; +assign LED_G = VSYNC_in; `else -//assign LED_G = {(pclk_lock != 3'b000), (ir_code != 0)}; -//assign LED_R = {(pll_lock_lost != 3'b000), h_unstable}; -assign LED_G = (ir_code == 0); assign LED_R = (pll_lock_lost != 3'b000)|h_unstable; +assign LED_G = (ir_code == 0); `endif assign LCD_CS_N = lcd_ctrl[0]; @@ -122,7 +122,10 @@ begin if (reset_n_ctr == 4'b1000) reset_n_reg <= 1'b1; else - reset_n_ctr <= reset_n_ctr + 1'b1; + begin + reset_n_ctr <= reset_n_ctr + 1'b1; + reset_n_reg <= 1'b0; + end end assign cpu_reset_n = reset_n_reg; @@ -131,14 +134,10 @@ sys sys_inst( .clk_clk (clk27), .reset_reset_n (cpu_reset_n), .pio_0_sys_ctrl_out_export (sys_ctrl), - .pio_1_controls_in_export ({13'b00000000000000, HDMI_TX_MODE, btn, ir_code}), + .pio_1_controls_in_export ({ir_code_cnt, 5'b00000, HDMI_TX_MODE, btn, ir_code}), .pio_2_horizontal_info_out_export (h_info), .pio_3_vertical_info_out_export (v_info), -`ifdef DEBUG - .pio_4_linecount_in_export ({8'h00, R_in, G_in, B_in}), -`else .pio_4_linecount_in_export ({VSYNC_out, 13'h0000, fpga_vsyncgen, 5'h00, lines_out}), -`endif .pio_5_lcd_ctrl_out_export (lcd_ctrl), .i2c_opencores_0_export_scl_pad_io (scl), .i2c_opencores_0_export_sda_pad_io (sda), @@ -149,7 +148,7 @@ sys sys_inst( ); scanconverter scanconverter_inst ( - .reset_n (reset_n_reg), + .reset_n (reset_n), .HSYNC_in (HSYNC_in), .VSYNC_in (VSYNC_in), .PCLK_in (PCLK_in), @@ -178,7 +177,8 @@ ir_rcv ir0 ( .reset_n (reset_n_reg), .ir_rx (ir_rx), .ir_code (ir_code), - .ir_code_ack () + .ir_code_ack (), + .ir_code_cnt (ir_code_cnt) ); `ifdef VIDEOGEN diff --git a/rtl/scanconverter.v b/rtl/scanconverter.v index 49ea667..8d7e915 100644 --- a/rtl/scanconverter.v +++ b/rtl/scanconverter.v @@ -423,7 +423,8 @@ begin if (!reset_n) begin hcnt_1x <= 0; - hmax[line_idx] <= 0; + hmax[0] <= 0; + hmax[1] <= 0; line_idx <= 0; vcnt_1x <= 0; vcnt_1x_tvp <= 0; @@ -481,24 +482,24 @@ begin fpga_vsyncgen[`VSYNCGEN_CHOPMID_BIT] <= (vcnt_1x_tvp < `MIN_VALID_LINES); if (!(`FALSE_FIELD)) - begin - vcnt_1x <= 0; - lines_1x <= vcnt_1x; - end + begin + vcnt_1x <= 0; + lines_1x <= vcnt_1x; + end //Read configuration data from CPU - H_ACTIVE <= h_info[26:16]; // Horizontal active length from by the CPU - 11bits (0...2047) + H_ACTIVE <= h_info[20:10]; // Horizontal active length from by the CPU - 11bits (0...2047) H_BACKPORCH <= h_info[7:0]; // Horizontal backporch length from by the CPU - 8bits (0...255) H_LINEMULT <= h_info[31:30]; // Horizontal line multiply mode H_L3MODE <= h_info[29:28]; // Horizontal line triple mode - H_MASK <= {h_info[11:8], 2'b00}; - V_ACTIVE <= v_info[23:13]; // Vertical active length from by the CPU, 11bits (0...2047) + H_MASK <= h_info[27:22]; + V_ACTIVE <= v_info[17:7]; // Vertical active length from by the CPU, 11bits (0...2047) V_BACKPORCH <= v_info[5:0]; // Vertical backporch length from by the CPU, 6bits (0...64) - V_SCANLINES <= v_info[29]; - V_SCANLINEDIR <= v_info[28]; - V_SCANLINEID <= v_info[27]; - V_SCANLINESTR <= ((v_info[26:24]+8'h01)<<5)-1'b1; - V_MASK <= {v_info[9:6], 2'b00}; + V_SCANLINES <= v_info[31]; + V_SCANLINEDIR <= v_info[30]; + V_SCANLINEID <= v_info[29]; + V_SCANLINESTR <= ((v_info[28:25]+8'h01)<<4)-1'b1; + V_MASK <= v_info[24:19]; end prev_hs <= HSYNC_in; @@ -522,9 +523,6 @@ begin h_enable_1x <= ((hcnt_1x >= H_BACKPORCH) & (hcnt_1x < H_BACKPORCH + H_ACTIVE)); v_enable_1x <= ((vcnt_1x >= V_BACKPORCH) & (vcnt_1x < V_BACKPORCH + V_ACTIVE)); //- FID_in ??? - - /*HSYNC_out_debug <= HSYNC_in; - VSYNC_out_debug <= VSYNC_in;*/ end end @@ -570,12 +568,12 @@ begin end if (pclk_1x == 1'b0) - begin - if (fpga_vsyncgen[`VSYNCGEN_GENMID_BIT] == 1'b1) - VSYNC_2x <= (vcnt_2x >= lines_1x - `VSYNCGEN_LEN) ? 1'b0 : 1'b1; - else if (vcnt_1x > V_ACTIVE) - VSYNC_2x <= VSYNC_in; - end + begin + if (fpga_vsyncgen[`VSYNCGEN_GENMID_BIT] == 1'b1) + VSYNC_2x <= (vcnt_2x >= lines_1x - `VSYNCGEN_LEN) ? 1'b0 : 1'b1; + else if (vcnt_1x > V_ACTIVE) + VSYNC_2x <= VSYNC_in; + end HSYNC_2x <= ~(hcnt_2x >= HSYNC_start); //TODO: VSYNC_2x diff --git a/software/sys_controller/av_controller.c b/software/sys_controller/av_controller.c index fe61229..133aa2e 100644 --- a/software/sys_controller/av_controller.c +++ b/software/sys_controller/av_controller.c @@ -31,23 +31,26 @@ #include "lcd.h" #include "sysconfig.h" #include "it6613.h" +#include "it6613_sys.h" #include "HDMI_TX.h" #include "hdmitx.h" #include "ci_crc.h" alt_u8 fw_ver_major = 0; -alt_u8 fw_ver_minor = 67; -#define FW_UPDATE_RETRIES 3 +alt_u8 fw_ver_minor = 69; +#define FW_UPDATE_RETRIES 3 -#define LINECNT_THOLD 1 -#define STABLE_THOLD 1 -#define MIN_VALID_LINES 100 -#define SYNC_LOSS_THOLD 5 +#define LINECNT_THOLD 1 +#define STABLE_THOLD 1 +#define MIN_LINES_PROGRESSIVE 200 +#define MIN_LINES_INTERLACED 400 +#define SYNC_LOSS_THOLD 5 +#define STATUS_TIMEOUT 10000 -#define MAINLOOP_SLEEP_US 10000 +#define MAINLOOP_SLEEP_US 10000 -#define SCANLINESTR_MAX 0x07 -#define HV_MASK_MAX 0x0f +#define SCANLINESTR_MAX 15 +#define HV_MASK_MAX 63 #define L3_MODE_MAX 3 #define S480P_MODE_MAX 2 #define SL_MODE_MAX 2 @@ -56,14 +59,17 @@ alt_u8 fw_ver_minor = 67; #define SAMPLER_PHASE_MIN -16 #define SAMPLER_PHASE_MAX 15 #define SYNC_THOLD_MIN -11 -#define SYNC_THOLD_MAX 20 +#define SYNC_THOLD_MAX 20 +#define PLL_COAST_MIN 0 +#define PLL_COAST_MAX 5 -//#define TVP_CLKSEL_BIT (1<<7) +#define DEFAULT_PRE_COAST 1 +#define DEFAULT_POST_COAST 0 #define RC_MASK 0x0000ffff #define PB_MASK 0x00030000 -#define PB0_MASK 0x00010000 -#define PB1_MASK 0x00020000 +#define PB0_BIT 0x00010000 +#define PB1_BIT 0x00020000 #define HDMITX_MODE_MASK 0x00040000 static const char *rc_keydesc[] = { "1", "2", "3", "MENU", "BACK", "UP", "DOWN", "LEFT", "RIGHT", "INFO", "LCD_BACKLIGHT", "HOTKEY1", "HOTKEY2", "HOTKEY3"}; @@ -127,6 +133,8 @@ typedef enum { SAMPLER_PHASE, YPBPR_COLORSPACE, SYNC_THOLD, + PRE_COAST, + POST_COAST, SYNC_LPF, VIDEO_LPF, LINETRIPLE_ENABLE, @@ -166,6 +174,8 @@ typedef struct { alt_8 sync_thold; alt_u8 sync_lpf; alt_u8 video_lpf; + alt_u8 pre_coast; + alt_u8 post_coast; } avconfig_t; // Target configuration @@ -204,6 +214,8 @@ const menuitem_t menu[] = { { SAMPLER_PHASE, "Sampling phase" }, { YPBPR_COLORSPACE, "YPbPr in ColSpa" }, { SYNC_THOLD, "Analog sync thld" }, + { PRE_COAST, "H-PLL Pre-Coast" }, + { POST_COAST, "H-PLL Post-Coast" }, { SYNC_LPF, "Analog sync LPF" }, { VIDEO_LPF, "Video LPF" }, { LINETRIPLE_ENABLE, "240p/288p lineX3" }, @@ -273,7 +285,8 @@ char row1[LCD_ROW_LEN+1], row2[LCD_ROW_LEN+1], menu_row1[LCD_ROW_LEN+1], menu_ro short int sd_fw_handle; alt_u8 menu_active, menu_page; -alt_u32 remote_code, remote_code_prev; +alt_u32 remote_code; +alt_u8 remote_rpt, remote_rpt_prev; alt_u32 btn_code, btn_code_prev; int check_flash() @@ -594,6 +607,17 @@ int write_userdata() return 0; } + +void set_default_avconfig() +{ + memset(&cm.cc, 0, sizeof(avconfig_t)); + memset(&tc, 0, sizeof(avconfig_t)); + cm.cc.pre_coast = DEFAULT_PRE_COAST; + tc.pre_coast = DEFAULT_PRE_COAST; + cm.cc.post_coast = DEFAULT_POST_COAST; + tc.post_coast = DEFAULT_POST_COAST; +} + int read_userdata() { int retval, i; @@ -662,6 +686,7 @@ int read_userdata() void setup_rc() { int i, confirm; + alt_u32 remote_code_prev; for (i=0; i 0)) tc.v_mask--; else if ((code == VAL_PLUS) && (tc.v_mask < HV_MASK_MAX)) tc.v_mask++; - sniprintf(menu_row2, LCD_ROW_LEN+1, "%u pixels", tc.v_mask<<2); + sniprintf(menu_row2, LCD_ROW_LEN+1, "%u pixels", tc.v_mask); break; case SAMPLER_480P: if ((code == VAL_MINUS) && (tc.s480p_mode > 0)) @@ -802,6 +823,20 @@ void display_menu(alt_u8 forcedisp) tc.sync_thold++; sniprintf(menu_row2, LCD_ROW_LEN+1, "%d mV", ((tc.sync_thold-SYNC_THOLD_MIN)*1127)/100); break; + case PRE_COAST: + if ((code == VAL_MINUS) && (tc.pre_coast > PLL_COAST_MIN)) + tc.pre_coast--; + else if ((code == VAL_PLUS) && (tc.pre_coast < PLL_COAST_MAX)) + tc.pre_coast++; + sniprintf(menu_row2, LCD_ROW_LEN+1, "%u lines", tc.pre_coast); + break; + case POST_COAST: + if ((code == VAL_MINUS) && (tc.post_coast > PLL_COAST_MIN)) + tc.post_coast--; + else if ((code == VAL_PLUS) && (tc.post_coast < PLL_COAST_MAX)) + tc.post_coast++; + sniprintf(menu_row2, LCD_ROW_LEN+1, "%u lines", tc.post_coast); + break; case SYNC_LPF: if ((code == VAL_MINUS) && (tc.sync_lpf > 0)) tc.sync_lpf--; @@ -875,50 +910,43 @@ void display_menu(alt_u8 forcedisp) void read_control() { - if (remote_code_prev == 0) { - if (remote_code == rc_keymap[RC_MENU]) { - menu_active = !menu_active; + if (remote_code == rc_keymap[RC_MENU]) { + menu_active = !menu_active; - if (menu_active) { - display_menu(1); - } else { - lcd_write_status(); - } - } else if (remote_code == rc_keymap[RC_BACK]) { - menu_active = 0; + if (menu_active) { + display_menu(1); + } else { lcd_write_status(); - } else if (remote_code == rc_keymap[RC_INFO]) { - sniprintf(menu_row1, LCD_ROW_LEN+1, "VMod: %s", video_modes[cm.id].name); - //sniprintf(menu_row1, LCD_ROW_LEN+1, "0x%x 0x%x 0x%x", ths_readreg(THS_CH1), ths_readreg(THS_CH2), ths_readreg(THS_CH3)); - sniprintf(menu_row2, LCD_ROW_LEN+1, "LO: %u VSM: %u", IORD_ALTERA_AVALON_PIO_DATA(PIO_4_BASE) & 0xffff, (IORD_ALTERA_AVALON_PIO_DATA(PIO_4_BASE) >> 16) & 0x3); - lcd_write_menu(); - printf("Mod: %s\n", video_modes[cm.id].name); - printf("Lines: %u M: %u\n", IORD_ALTERA_AVALON_PIO_DATA(PIO_4_BASE) & 0xffff, cm.macrovis); - } else if (remote_code == rc_keymap[RC_LCDBL]) { - IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, (IORD_ALTERA_AVALON_PIO_DATA(PIO_0_BASE) ^ (1<<1))); - } else if (remote_code == rc_keymap[RC_HOTKEY1]) { - tc.sl_mode = (tc.sl_mode > 0) ? 0 : 1; - } else if (remote_code == rc_keymap[RC_HOTKEY2]) { - if (tc.sl_str > 0) - tc.sl_str--; - } else if (remote_code == rc_keymap[RC_HOTKEY3]) { - if (tc.sl_str < SCANLINESTR_MAX) - tc.sl_str++; } + } else if (remote_code == rc_keymap[RC_BACK]) { + menu_active = 0; + lcd_write_status(); + } else if (remote_code == rc_keymap[RC_INFO]) { + sniprintf(menu_row1, LCD_ROW_LEN+1, "VMod: %s", video_modes[cm.id].name); + //sniprintf(menu_row1, LCD_ROW_LEN+1, "0x%x 0x%x 0x%x", ths_readreg(THS_CH1), ths_readreg(THS_CH2), ths_readreg(THS_CH3)); + sniprintf(menu_row2, LCD_ROW_LEN+1, "LO: %u VSM: %u", IORD_ALTERA_AVALON_PIO_DATA(PIO_4_BASE) & 0xffff, (IORD_ALTERA_AVALON_PIO_DATA(PIO_4_BASE) >> 16) & 0x3); + lcd_write_menu(); + printf("Mod: %s\n", video_modes[cm.id].name); + printf("Lines: %u M: %u\n", IORD_ALTERA_AVALON_PIO_DATA(PIO_4_BASE) & 0xffff, cm.macrovis); + } else if (remote_code == rc_keymap[RC_LCDBL]) { + IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, (IORD_ALTERA_AVALON_PIO_DATA(PIO_0_BASE) ^ (1<<1))); + } else if (remote_code == rc_keymap[RC_HOTKEY1]) { + tc.sl_mode = (tc.sl_mode > 0) ? 0 : 1; + } else if (remote_code == rc_keymap[RC_HOTKEY2]) { + if (tc.sl_str > 0) + tc.sl_str--; + } else if (remote_code == rc_keymap[RC_HOTKEY3]) { + if (tc.sl_str < SCANLINESTR_MAX) + tc.sl_str++; } if (btn_code_prev == 0) { - if (btn_code & PB1_MASK) + if (btn_code & PB1_BIT) tc.sl_mode = (tc.sl_mode > 0) ? 0 : 1; } - if (menu_active) { + if (menu_active) display_menu(0); - return; - } - - if (remote_code_prev != 0) - return; } void set_lpf(alt_u8 lpf) @@ -973,7 +1001,7 @@ status_t get_status(tvp_input_t input) status = NO_CHANGE; // Wait until vsync active (avoid noise coupled to I2C bus on earlier prototypes) - for (ctr=0; ctr<25000; ctr++) { + for (ctr=0; ctr MIN_LINES_PROGRESSIVE)) || (!progressive && (totlines > MIN_LINES_INTERLACED))) { + if ((abs((alt_16)totlines - (alt_16)cm.totlines) > LINECNT_THOLD) || (clkcnt != cm.clkcnt) || (progressive != cm.progressive)) { + printf("totlines: %u (cur) / %u (prev), clkcnt: %u (cur) / %u (prev). Data1: 0x%.2x, Data2: 0x%.2x\n", (unsigned)totlines, (unsigned)cm.totlines, (unsigned)clkcnt, (unsigned)cm.clkcnt, (unsigned)data1, (unsigned)data2); + stable_frames = 0; + } else if (stable_frames != STABLE_THOLD) { + stable_frames++; + if (stable_frames == STABLE_THOLD) + status = (status < MODE_CHANGE) ? MODE_CHANGE : status; + } - if (refclk != cm.refclk) - status = (status < REFCLK_CHANGE) ? REFCLK_CHANGE : status;*/ - - /*if (tc.tx_mode != cm.cc.tx_mode) - status = (status < TX_MODE_CHANGE) ? TX_MODE_CHANGE : status;*/ - - // TODO: avoid random sync losses? - if ((abs((alt_16)totlines - (alt_16)cm.totlines) > LINECNT_THOLD) || (clkcnt != cm.clkcnt) || (progressive != cm.progressive)) { - printf("totlines: %u (cur) / %u (prev), clkcnt: %u (cur) / %u (prev). Data1: 0x%.2x, Data2: 0x%.2x\n", (unsigned)totlines, (unsigned)cm.totlines, (unsigned)clkcnt, (unsigned)cm.clkcnt, (unsigned)data1, (unsigned)data2); - stable_frames = 0; - } else if (stable_frames != STABLE_THOLD) { - stable_frames++; - if (stable_frames == STABLE_THOLD) + if ((tc.linemult_target != cm.cc.linemult_target) || (tc.l3_mode != cm.cc.l3_mode)) status = (status < MODE_CHANGE) ? MODE_CHANGE : status; + + if ((tc.s480p_mode != cm.cc.s480p_mode) && (video_modes[cm.id].flags & (MODE_DTV480P|MODE_VGA480P))) + status = (status < MODE_CHANGE) ? MODE_CHANGE : status; + + cm.totlines = totlines; + cm.clkcnt = clkcnt; + cm.progressive = progressive; } - if ((tc.linemult_target != cm.cc.linemult_target) || (tc.l3_mode != cm.cc.l3_mode)) - status = (status < MODE_CHANGE) ? MODE_CHANGE : status; - - if ((tc.s480p_mode != cm.cc.s480p_mode) && (video_modes[cm.id].flags & (MODE_DTV480P|MODE_VGA480P))) - status = (status < MODE_CHANGE) ? MODE_CHANGE : status; - - cm.totlines = totlines; - cm.clkcnt = clkcnt; - cm.progressive = progressive; - if ((tc.sl_mode != cm.cc.sl_mode) || (tc.sl_str != cm.cc.sl_str) || (tc.sl_id != cm.cc.sl_id) || @@ -1066,6 +1085,9 @@ status_t get_status(tvp_input_t input) if (tc.sync_thold != cm.cc.sync_thold) tvp_set_sog_thold(tc.sync_thold-SYNC_THOLD_MIN); + if ((tc.pre_coast != cm.cc.pre_coast) || (tc.post_coast != cm.cc.post_coast)) + tvp_set_hpllcoast(tc.pre_coast, tc.post_coast); + if (tc.ypbpr_cs != cm.cc.ypbpr_cs) tvp_sel_csc(&csc_coeffs[tc.ypbpr_cs]); @@ -1081,11 +1103,11 @@ status_t get_status(tvp_input_t input) return status; } -// h_info: [31:30] [29:28] [27] [26:16] [15:12] [11:8] [7:0] -// | H_LINEMULT[1:0] | H_L3MODE[1:0] | | H_ACTIVE[10:0] | | H_MASK[3:0] | H_BACKPORCH[7:0] | +// h_info: [31:30] [29:28] [27:22] [21] [20:10] [7:0] +// | H_LINEMULT[1:0] | H_L3MODE[1:0] | H_MASK[5:0] | | H_ACTIVE[10:0] | H_BACKPORCH[7:0] | // -// v_info: [31:30] [29] [26:24] [23:13] [15:10] [9:6] [5:0] -// | | V_SCANLINES | V_SCANLINEDIR | V_SCANLINEID | V_SCANLINESTR[2:0] | V_ACTIVE[10:0] | | V_MASK[3:0]| V_BACKPORCH[5:0] | +// v_info: [31] [30] [29] [28:25] [24:19] [18] [17:7] [6] [5:0] +// | V_SCANLINES | V_SCANLINEDIR | V_SCANLINEID | V_SCANLINESTR[3:0] | V_MASK[5:0] | | V_ACTIVE[10:0] | | V_BACKPORCH[5:0] | void set_videoinfo() { alt_u8 slid_target; @@ -1101,8 +1123,8 @@ void set_videoinfo() slid_target = cm.cc.sl_id; } - IOWR_ALTERA_AVALON_PIO_DATA(PIO_2_BASE, (cm.linemult<<30) | (cm.cc.l3_mode<<28) | (video_modes[cm.id].h_active<<16) | (cm.cc.h_mask)<<8 | video_modes[cm.id].h_backporch); - IOWR_ALTERA_AVALON_PIO_DATA(PIO_3_BASE, ((!!cm.cc.sl_mode)<<29) | (cm.cc.sl_mode > 0 ? (cm.cc.sl_mode-1)<<28 : 0) | (slid_target<<27) | (cm.cc.sl_str<<24) | (video_modes[cm.id].v_active<<13) | (cm.cc.v_mask<<6) | video_modes[cm.id].v_backporch); + IOWR_ALTERA_AVALON_PIO_DATA(PIO_2_BASE, (cm.linemult<<30) | (cm.cc.l3_mode<<28) | (cm.cc.h_mask)<<22 | (video_modes[cm.id].h_active<<10) | video_modes[cm.id].h_backporch); + IOWR_ALTERA_AVALON_PIO_DATA(PIO_3_BASE, ((!!cm.cc.sl_mode)<<31) | (cm.cc.sl_mode > 0 ? (cm.cc.sl_mode-1)<<30 : 0) | (slid_target<<19) | (cm.cc.sl_str<<25) | (cm.cc.v_mask<<19) | (video_modes[cm.id].v_active<<7) | video_modes[cm.id].v_backporch); } // Configure TVP7002 and scan converter logic based on the video mode @@ -1149,7 +1171,7 @@ void program_mode() printf("Mode %s selected\n", video_modes[cm.id].name); - tvp_source_setup(cm.id, target_type, (cm.progressive ? cm.totlines : cm.totlines/2), v_hz_x100/100, cm.refclk); + tvp_source_setup(cm.id, target_type, (cm.progressive ? cm.totlines : cm.totlines/2), v_hz_x100/100, cm.refclk, cm.cc.pre_coast, cm.cc.post_coast); set_lpf(cm.cc.video_lpf); set_videoinfo(); } @@ -1160,6 +1182,7 @@ int init_hw() alt_u32 chiprev; // Reset error vector and scan converter + IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, 0x03); IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, 0x00); IOWR_ALTERA_AVALON_PIO_DATA(PIO_2_BASE, 0x00000000); IOWR_ALTERA_AVALON_PIO_DATA(PIO_3_BASE, 0x00000000); @@ -1208,6 +1231,8 @@ int init_hw() return -1; } + set_default_avconfig(); + // safe? read_userdata(); @@ -1217,11 +1242,11 @@ int init_hw() tc.tx_mode = TX_DVI; } - if (!(IORD_ALTERA_AVALON_PIO_DATA(PIO_1_BASE) & PB1_MASK)) + if (!(IORD_ALTERA_AVALON_PIO_DATA(PIO_1_BASE) & PB1_BIT)) setup_rc(); - //enable TX (videogen) - usleep(200000); + // init always is HDMI mode (fixes yellow screen bug) + TX_enable(TX_HDMI); TX_enable(cm.cc.tx_mode); return 0; @@ -1250,6 +1275,8 @@ int main() alt_u8 av_init = 0; status_t status; + alt_u32 input_vec; + int init_stat; init_stat = init_hw(); @@ -1257,7 +1284,11 @@ int main() if (init_stat >= 0) { printf("### DIY VIDEO DIGITIZER / SCANCONVERTER INIT OK ###\n\n"); sniprintf(row1, LCD_ROW_LEN+1, "OSSC fw. %u.%.2u", fw_ver_major, fw_ver_minor); +#ifndef DEBUG strncpy(row2, "2014-2016 marqs", LCD_ROW_LEN+1); +#else + strncpy(row2, "** DEBUG BUILD *", LCD_ROW_LEN+1); +#endif lcd_write_status(); } else { sniprintf(row1, LCD_ROW_LEN+1, "Init error %d", init_stat); @@ -1268,38 +1299,44 @@ int main() while(1) { // Select target input and mode - remote_code = IORD_ALTERA_AVALON_PIO_DATA(PIO_1_BASE) & RC_MASK; - btn_code = ~IORD_ALTERA_AVALON_PIO_DATA(PIO_1_BASE) & PB_MASK; + input_vec = IORD_ALTERA_AVALON_PIO_DATA(PIO_1_BASE); + remote_code = input_vec & RC_MASK; + btn_code = ~input_vec & PB_MASK; + remote_rpt = input_vec >> 24; - if (remote_code_prev == 0 && remote_code != 0) - printf("RCODE: 0x%.4x\n", remote_code); + if ((remote_rpt == 0) || ((remote_rpt > 1) && (remote_rpt < 6)) || (remote_rpt == remote_rpt_prev)) + remote_code = 0; + /*else if ((remote_rpt >= 6) && (remote_rpt % 2)) + remote_code = 0;*/ + + if (remote_code) + printf("RCODE: 0x%.4x, %u\n", remote_code, remote_rpt); if (btn_code_prev == 0 && btn_code != 0) printf("BCODE: 0x%.2x\n", btn_code>>16); target_mode = AV_KEEP; - if (remote_code_prev == 0) { - if (remote_code == rc_keymap[RC_BTN1]) { - if (cm.avinput == AV1_RGBs) - target_mode = AV1_RGsB; - else - target_mode = AV1_RGBs; - } else if (remote_code == rc_keymap[RC_BTN2]) { - if (cm.avinput == AV2_YPBPR) - target_mode = AV2_RGsB; - else - target_mode = AV2_YPBPR; - } else if (remote_code == rc_keymap[RC_BTN3]) { - if (cm.avinput == AV3_RGBHV) - target_mode = AV3_RGBs; - else if (cm.avinput == AV3_RGBs) - target_mode = AV3_RGsB; - else - target_mode = AV3_RGBHV; - } + if (remote_code == rc_keymap[RC_BTN1]) { + if (cm.avinput == AV1_RGBs) + target_mode = AV1_RGsB; + else + target_mode = AV1_RGBs; + } else if (remote_code == rc_keymap[RC_BTN2]) { + if (cm.avinput == AV2_YPBPR) + target_mode = AV2_RGsB; + else + target_mode = AV2_YPBPR; + } else if (remote_code == rc_keymap[RC_BTN3]) { + if (cm.avinput == AV3_RGBHV) + target_mode = AV3_RGBs; + else if (cm.avinput == AV3_RGBs) + target_mode = AV3_RGsB; + else + target_mode = AV3_RGBHV; } - if ((btn_code_prev == 0) && (btn_code & PB0_MASK)) { + + if ((btn_code_prev == 0) && (btn_code & PB0_BIT)) { target_mode = (cm.avinput == AV3_RGsB) ? AV1_RGBs : (cm.avinput+1); } @@ -1394,19 +1431,8 @@ int main() lcd_write_status(); } break; - /*case TX_MODE_CHANGE: - if (cm.sync_active) - TX_enable(cm.cc.tx_mode); - printf("TX mode change\n"); - break;*/ - /*case REFCLK_CHANGE: - if (cm.sync_active) { - printf("Refclk change\n"); - tvp_sel_clk(cm.refclk); - } - break;*/ case MODE_CHANGE: - if (cm.sync_active && (cm.totlines >= MIN_VALID_LINES)) { + if (cm.sync_active) { printf("Mode change\n"); program_mode(); } @@ -1422,8 +1448,8 @@ int main() } } - remote_code_prev = remote_code; btn_code_prev = btn_code; + remote_rpt_prev = remote_rpt; } return 0; diff --git a/software/sys_controller/mem_init/sys_onchip_memory2_0.hex b/software/sys_controller/mem_init/sys_onchip_memory2_0.hex index 297c602..d3cb824 100644 --- a/software/sys_controller/mem_init/sys_onchip_memory2_0.hex +++ b/software/sys_controller/mem_init/sys_onchip_memory2_0.hex @@ -1,826 +1,826 @@ :020000020000FC :2000000000402074084008140800683A0000000000000000000000000000000000000000FE -:2000080006C02074DEE4001406802074D6BA1F1400802074109B451400C0207418DB8314D5 -:2000100010C00326100000151080010410FFFD3608148F8008149F00003FFF06008020749D -:200018001099730410C03217D0A128151800042610803517108040180085C83AF800283AFA +:2000080006C02074DEE4001406802074D6BAB51400802074109BDB1400C0207418DC181413 +:2000100010C00326100000151080010410FFFD360814B1000814C080003FFF06008020745A +:20001800109A090410C03217D0A128151800042610803517108040180085C83AF800283A63 :2000200000BFFFC4F800283ADEFFFD042005883AD1212817DC4001152823883A880F883A56 -:20002800100B883ADC000015DFC002153021883A08150F4010000B1E800D883A8463883A84 +:20002800100B883ADC000015DFC002153021883A081530C010000B1E800D883A8463883AE3 :2000300034400626308000031005C2721005D63A3180004430BFFFC5003FF9060005883A42 :200038000000010600BFFFC4DFC00217DC400117DC000017DEC00304F800283ADEFFFA0466 :20004000DC800315DC400215DC000115DFC00515DCC0041530803FCC2023883A2825883ACA -:200048003021883A100003268805883A8C89883A00001706D1212817300A923A0814DF8057 -:200050001027883A103FF8260100207401402074211B61042956A904018004440814198075 -:200058000100207401802074211B6104014004443196AC04980F883A081409C000802074DB -:20006000109B6D041000000500FFCE0400001D061100062610C000031807C2721807D63AC9 +:200048003021883A100003268805883A8C89883A00001706D1212817300A923A08150100B4 +:200050001027883A103FF8260100207401402074211BF60429572F040180044408143B00B7 +:200058000100207401802074211BF6040140044431973204980F883A08142B40008020741D +:20006000109C02841000000500FFCE0400001D061100062610C000031807C2721807D63AB3 :200068001080004410FFFFC5003FF906800AD23AD1212817800C923A280A943ADC80001503 -:20007000880F883A0814E8C00007883A10000D260100207401402074211B61042956AF040A -:2000780001800444081419800100207401402074211B6D042956B204018004440814198020 +:20007000880F883A08150A400007883A10000D260100207401402074211BF604295735044B +:200078000180044408143B000100207401402074211C0284295738040180044408143B003F :2000800000FFCDC41805883ADFC00517DCC00417DC800317DC400217DC000117DEC0060438 :20008800F800283ADEFFF904DD400515DD000415DCC00315DC800215DC000015DFC0061525 :20009000DC4001152825883A3029883A3827883A0021883A0007883A0540400484800F2E5D :200098009423C83AAC40012E044040048009883A880B883A980D883A081008801000141E03 -:2000A000800D003A9809883A880B883A08152B401007883A84004004003FF0060005883A9C -:2000A8001D000C260100207401802074211B6104014004443196B404081409C0008020749D -:2000B000109B6D041000000500BFCD440000010600BFCD84DFC00617DD400517DD0004172B +:2000A000800D003A9809883A880B883A08154CC01007883A84004004003FF0060005883AFB +:2000A8001D000C260100207401802074211BF6040140044431973A0408142B4000802074DF +:2000B000109C02841000000500BFCD440000010600BFCD84DFC00617DD400517DD00041715 :2000B800DCC00317DC800217DC400117DC000017DEC00704F800283ADEFFFD04DFC002153F :2000C000DC400115DC00001520807FCC1000031E008080042821883A11400B2E01002074B3 -:2000C80001802074211B6104014004443196B904081409C000802074109B6D04100000052B -:2000D00000BFFFC400001C062008D27A000B883A3023883A0814BD0010803FCC0007883AD9 -:2000D80010000B1E0100207401802074211B6104014004443196BE04081409C00080207479 -:2000E000109B6D041000000500BFFF8400000A061C00082ED0A1271710800A171885883A6C +:2000C80001802074211BF6040140044431973F0408142B4000802074109C02841000000557 +:2000D00000BFFFC400001C062008D27A000B883A3023883A0814DE8010803FCC0007883A38 +:2000D80010000B1E0100207401802074211BF604014004443197440408142B4000802074BB +:2000E000109C02841000000500BFFF8400000A061C00082ED0A1271710800A171885883A56 :2000E8001100003788C5883A1100001518C00104003FF7060005883ADFC00217DC400117AF -:2000F000DC000017DEC00304F800283ADEFFFE04DC0000152021883A010020742116C20499 -:2000F800DFC001150814AA00D0A1271510000A260814AFC010803FCC100007260009883A52 +:2000F000DC000017DEC00304F800283ADEFFFE04DC0000152021883A010020742117480412 +:2000F800DFC001150814CB80D0A1271510000A260814D14010803FCC100007260009883A0F :2001000001408004800D883ADFC00117DC000017DEC0020408102F8101002074018020740B -:20010800211B6104014004443196CD04081409C000802074109B6D04100000050080004427 +:20010800211BF604014004443197530408142B4000802074109C0284100000050080004453 :20011000DFC00117DC000017DEC00204F800283ADEFFFB04DC4002152023883ADC00011521 -:200118002809883A2821883A01800104880B883ADFC00415DC800315081419800140207438 -:200120008009883A2956D10401800104081415401025883A10000B26010020740180207447 -:20012800211B6104014004443196D304081409C000802074109B6D041000000504800044FD +:200118002809883A2821883A01800104880B883ADFC00415DC80031508143B000140207496 +:200120008009883A2957570401800104081436C01025883A10000B2601002074018020741F +:20012800211BF604014004443197590408142B4000802074109C0284100000050480004429 :200130000000430688800103810001848940018480800105888001430180020480800145E7 -:2001380008141980D809883A80000345894003840180010408140740D88000171005C232D6 -:2001400080800415D809883A894004840180010408140740D88000171005C2328080051517 -:20014800D809883A894005840180010408140740D88000171005C23280800615D809883A83 -:2001500089407F040180010408140740D88000171005C232814004178080071500C078842E -:2001580028BFF98418800B2E0100207401802074211B6104014004443196D704081409C0F7 -:2001600000802074109B6D041000000504BFFFC400000F068809883A0180004408152B40FF -:2001680080C0071710C00A260100207401802074211B6104014004443196DB04081409C0BA -:2001700000802074109B6D041000000504BFFF849005883ADFC00417DC800317DC40021728 +:2001380008143B00D809883A800003458940038401800104081426C0D88000171005C23295 +:2001400080800415D809883A8940048401800104081426C0D88000171005C2328080051578 +:20014800D809883A8940058401800104081426C0D88000171005C23280800615D809883AE4 +:2001500089407F0401800104081426C0D88000171005C232814004178080071500C078848F +:2001580028BFF98418800B2E0100207401802074211BF6040140044431975D0408142B4039 +:2001600000802074109C02841000000504BFFFC400000F068809883A0180004408154CC048 +:2001680080C0071710C00A260100207401802074211BF604014004443197610408142B40FC +:2001700000802074109C02841000000504BFFF849005883ADFC00417DC800317DC40021712 :20017800DC000117DEC00504F800283ADEFFF804DD800615DD400515DD000415DCC0031540 :20018000DC800215DC000015DFC00715DC400115202B883A2825883A3029883A3827883AB6 :200188000021883A0007883A0580800484800F2E9423C83AB440012E044080048549883A2D -:20019000880B883A980D883A08102F801000141E800D003A9809883A880B883A08152B4083 -:200198001007883A84008004003FF0060005883A1D000C260100207401802074211B6104D0 -:2001A000014004443196DF04081409C000802074109B6D041000000500BFFF4400000106D9 +:20019000880B883A980D883A08102F801000141E800D003A9809883A880B883A08154CC0E2 +:200198001007883A84008004003FF0060005883A1D000C260100207401802074211BF6043B +:2001A000014004443197650408142B4000802074109C02841000000500BFFF44000001069A :2001A80000BFFF84DFC00717DD800617DD400517DD000417DCC00317DC800217DC4001172E :2001B000DC000017DEC00804F800283ADEFF6D04D9000304DC008B15DFC09215DD80911545 :2001B800DD409015DD008F15DCC08E15DC808D15DC408C1508103CC01021883A10009D1E18 -:2001C000D9000304D9408304081045001021883A1000981E0100207401802074211B61043E -:2001C800014004443196E504081409C0D9C0881701002074018020743196E904211B6D04B6 -:2001D00001400444081409C00100207401402074211B6104295B6D0408130440D94088178A +:2001C000D9000304D9408304081045001021883A1000981E0100207401802074211BF604A9 +:2001C8000140044431976B0408142B40D9C08817010020740180207431976F04211C0284F0 +:2001D0000140044408142B400100207401402074211BF604295C028408131FC0D9408817A2 :2001D800D980891701008004D9C0030408105EC01021883A10007F1ED8808487D9C0840390 -:2001E000D8C0844310000326008020741096E404000002060080207410971604D88001157A -:2001E80001002074D880848401802074D8C00015211B6104014004443196EC04D8800215F0 -:2001F000081409C00100207401402074211B6D042956FE04018004440814074001002074B1 -:2001F80001402074211B6104295B6D04044020B404002074081304408C45200484191704C0 -:200200008880003780C0000B10BFFFCC10C0052680C0008B10C06B260109C4040814A30002 -:20020800003FF70608134D8000C020B418C524041880003710800114188000350109C40406 -:200210000814A3000100207401402074211B61042956EF04018004440814198004C000C48C -:200218000100207401402074211B6D042956F2040180044408141980010020740140207452 -:20022000211B6104295B6D04081304400021883A0580800405004004DC40881784401C2ECB +:2001E000D8C08443100003260080207410976A04000002060080207410979C04D88001156D +:2001E80001002074D880848401802074D8C00015211BF6040140044431977204D8800215D4 +:2001F00008142B400100207401402074211C02842957840401800444081426C001002074D3 +:2001F80001402074211BF604295C0284044020B40400207408131FC08C4520048419AD04E4 +:200200008880003780C0000B10BFFFCC10C0052680C0008B10C06B260109C4040814C48061 +:20020800003FF7060813690000C020B418C524041880003710800114188000350109C4046A +:200210000814C4800100207401402074211BF604295775040180044408143B0004C000C42D +:200218000100207401402074211C0284295778040180044408143B00010020740140207413 +:20022000211BF604295C028408131FC00021883A0580800405004004DC40881784401C2E85 :200228008C23C83AB440012E0440800485408004A809883A880B883AD980030408102F80E2 :200230001000421E8025D23A880B883AA440012E01404004D9000304900D883A08100FC07A :200238001021883A1000241EA4400236A821883A003FE906D9004304897FC004918000444B -:2002400008100FC01021883A103FF82600001A060100207401402074211B61042956F604B3 -:200248000180044408141980010020740140207401800444211B6D042956F204081419800E -:200250000100207401402074211B6104295B6D0408130440D9408817D98089170009883AB3 +:2002400008100FC01021883A103FF82600001A060100207401402074211BF60429577C0497 +:200248000180044408143B00010020740140207401800444211C02842957780408143B002D +:200250000100207401402074211BF604295C028408131FC0D9408817D98089170009883A6D :20025800D9C00304081022401021883A1000021E0000180604C000C4010020740140207439 -:20026000211B6104295B6D0408130440010003F4211090040814A30000BFCE4480800F0E1F -:2002680004C00E0E0100207401802074211B6104014004443196FA04081409C09CFFFFC4BA +:20026000211BF604295C028408131FC0010003F4211090040814C48000BFCE4480800F0E38 +:2002680004C00E0E0100207401802074211BF604014004443197800408142B409CFFFFC4FC :20027000003FA706008000440000050600BFCE04000003060005883A0000010600BFFFC4C9 :20027800DFC09217DD809117DD409017DD008F17DCC08E17DC808D17DC408C17DC008B1754 :20028000DEC09304F800283A009114B4DEFFBF041094D544D88000150080107410951044AF :20028800D8800115D0A12643D809883A014002C4D8800205D0A0000301840004DFC0401515 :20029000D880024500800084D880028508100FC01000022600BFFFC4000020060140207430 -:2002980000800804D90001042959170401800704D8000005D8800045D80000C5D80000853F -:2002A00008140740D809883A014008040184004408100FC0103FEF1E008000440140207446 -:2002A800D8800005D900010400800484295B698401800384D8800045D80000C5D8000085E3 -:2002B00008140740D809883A014004840184008408100FC01004C03A0085C83ADFC04017E4 -:2002B800DEC04104F800283ADEFFB60401000434014002C4D80D883ADFC04915DD404815F4 -:2002C000DD004715DCC04615DC804515DC404415DC0043150810088010000226043FFFC4B1 -:2002C80000003D06D9004004D80B883A018002040814198001402074D9004004295703045C -:2002D00001800204081415401021883A1000311ED8800203DD4002830023883AD880420541 -:2002D800D8800243DD404285D8804245A8803FCC8880290E8CC400449826923A0140008451 -:2002E000D80D883A9809883A08100880103FE31EDD0000439809883AD80D883AA00B883A6D -:2002E800DC80000308100880103FDC1E90803FCC1000032600C0004410C00826000013063F -:2002F00000800804A080111E0100207421191704D94001040180070400000B060080048466 -:2002F800A0800A1E01002074211B75C4D9400104018003840814074001002074211B69844D -:20030000D940010401800384081407408C400044003FD606040000448005883ADFC049179B -:20030800DD404817DD004717DCC04617DC804517DC404417DC004317DEC04A04F800283A7A -:20031000DEFFF904DD000415DCC00315DC80021504C020B40480207405002074DC0000159C -:20031800DFC00615DD400515DC4001150021883A949830049CC52004A5191704010020746C -:2003200001402074211B61042957050401800444081419808405883A1485883A1140001732 -:2003280001002074211B6D0401800444081419800100207401402074211B6104295B6D04F5 -:20033000081304400023883A852B883A98800037D0E12A1710BFFFCCD0A12E151800201E12 -:2003380010001F2688000E1E0100207401402074211B61042957070401800444A880000D08 -:20034000081419800100207401402074211B6104295B6D04081304400440004400001006EB -:20034800A8C0000B10C00D260100207401402074211B610429570904018004440814198009 -:200350000100207401402074211B6104295B6D04081304400023883A00000106044000847A -:20035800D0A12E17D0A12A1500800084888003260109C4040814A300003FD4068400008438 -:200360000080070480BFBD1EDFC00617DD400517DD000417DCC00317DC800217DC4001178C -:20036800DC000017DEC00704F800283ADEFFFF04DFC0001521003FCC20000B1E0100004431 -:20037000200F883A000B883A000D883A0812BB0001000044000B883A000D883A000F883A59 -:20037800081265800000050601000044000B883A000D883A000F883A0812BB000009883A09 -:20038000DFC00017DEC001040812B501D0A12A17DEFFFC04DFC00315DC800215DC40011549 -:20038800DC00001510000B1E00C0207418D91704D0A12E171940028B1141CD261940030B83 -:200390001141D1261940040B1141D52618C0038B10C1D52621003FCC2001D5260021883AF2 -:20039800D0A12D03048020749497F404102290FA01002074211B61049445883A1140011773 -:2003A000018004449463883A081419808880000300C003C41881A636100490BA00C020744D -:2003A80018C3AC0410C5883A108000171000683A00810EF000810F5000810FCC008110105E -:2003B00000811060008110CC00811144008111D400811210008112A8008113080081136431 -:2003B800008113A80081140800811470008114DC0080207484003FCC00C00104109B6984D6 -:2003C00080C0051E10C0000319003FCC20000A2618FFFFC40000070600C000C480C0061EA4 -:2003C80010C000030140004419003FCC290002361947883A10C000051080000300C020745A -:2003D00018D81E041085883A1085883A000076060080207484003FCC00C00104109B6984D1 -:2003D80080C0051E10C0004319003FCC20000A2618FFFFC40000070600C000C480C0061E4C -:2003E00010C000430140018419003FCC2900023618C0004410C000451100004301401F4476 -:2003E80021000044081404C01009883A014002840813F8C00100207401802074211B6D04E4 -:2003F00001400444319715040000B406843FFF440080207484003FCC00C00044109B698484 -:2003F8001C00033610C000831807003A10C00085108000831000031E0180207431970E045C -:20040000000117060180207431970D04000114060080207484003FCC00C00104109B6984B5 -:2004080080C0051E10C0014319003FCC20000A2618FFFFC40000070600C000C480C0061E1A -:2004100010C001430140038419003FCC2900023618C0004410C0014511C00143000013060B -:200418000080207484003FCC00C00104109B698480C0051E10C0018319003FCC20000A2699 -:2004200018FFFFC40000070600C000C480C0061E10C001830140038419003FCC290002364C -:2004280018C0004410C0018511C0018339CF883A0100207401802074211B6D040140044443 -:200430003197170439CF883A000075060080207484003FCC00C00104109B698480C0051E21 -:2004380010C0020319003FCC20000A2618FFFFC40000070600C000C480C0061E10C00203B7 -:200440000140004419003FCC290002361947883A10C002051080020300C0207418D821049B -:200448001085883A1085883A1885883A1140001701002074211B6D0401800444081419805F -:20045000000101060080207484003FCC00C00104109B698480C0081E10C00243013FFC4489 -:2004580019403FCC2940201C297FE00429000C1618FFFFC40000090600C000C480C0081ED1 -:2004600010C002430140038419003FCC2100201C213FE0042900021618C0004410C0024566 -:20046800110002470141194421000404081404C01009883A014019040813F8C001002074D1 -:2004700001802074211B6D040140044431971A0400003206843FFF440080207484003FCC5A -:2004780000C00044109B69841C00033610C002831807003A10C0028511000283014006048D -:20048000081404C000C0207418D84504003FC6060080207484003FCC00C00104109B6984E4 -:2004880080C0081E10C002C3013FFD8419403FCC2940201C297FE00429000C1618FFFFC4DE -:200490000000090600C000C480C0081E10C002C3014004C419003FCC2100201C213FE004F0 -:200498002900021618C0004410C002C5110002C7014119C4210002C4081404C01009883AB5 -:2004A000014019040813F8C00100207401802074211B6D040140044431971C04100F883A62 -:2004A800081409C00000A8060080207484003FCC00C00104109B698480C0051E10C0030368 -:2004B00019003FCC20000A2618FFFFC40000070600C000C480C0061E10C00303014000844E -:2004B80019003FCC2900023618C0004410C003051080030300C0207418D81A041085883A5C -:2004C0001085883A003F88060080207484003FCC01000104109B69848100051E10C00343FD -:2004C80019003FCC2000092618FFFFC40000060600C000C480C0051E10C0034319403FCC5A -:2004D0002140023618C0004410C003451080034300C0207418D814041085883A1085883A5F -:2004D800003F7106843FFF440080207484003FCC00C00044109B69841C00033610C000C321 -:2004E0001807003A10C000C5108000C31000031E018020743197110400003106018020744C -:2004E8003197100400002E060080207484003FCC00C00104109B698480C0051E10C00103AD -:2004F00019003FCC20000A2618FFFFC40000070600C000C480C0061E10C001030140008410 -:2004F80019003FCC2900023618C0004410C001051080010300C0207418D824041085883A16 -:200500001085883A003F4806008020B41085200410800037044020741080012C8C5B6984BA -:200508001000081E843FFF4484003FCC0080004414000436890001C32009003A890001C5F7 -:200510000810DAC0888001C31000031E01802074319713040000020601802074319712042D -:2005180001002074211B6D040140044400003506843FFF4484003FCC0080004414001B36FF -:2005200008106CC001002074211B6104014004441000091E0180207431971E04081409C09D -:200528000100207401802074211B6D040140044431972204000023060180207431972604B5 -:20053000081409C00100207401802074211B6D04014004443197280400001A06843FFF44CC -:2005380084003FCC008000441400062E0100207401802074211B6D040140044431972A0432 -:20054000000010060810A08001002074211B6D04014004441000031E0180207431972E0442 -:2005480000000806018020743196B204000005060100207401802074211B6D040140044408 -:2005500031973004081409C00100207401402074211B6104295B6D04DFC00317DC8002177C -:20055800DC400117DC000017DEC0040408130441D0A12D0304000084108003C4108003CC77 -:20056000D0A12D05003E3606D0A12D030400004410800044108003CCD0A12D05003E30062B -:20056800040000C4003E2E0604000104003E2C06DFC00317DC800217DC400117DC0000176B -:20057000DEC00404F800283AD0A12A17DEFFFE04DFC0011510005B1E00C0207418D917043C -:20057800D0A12E171900018B1100071ED0A129431005003AD0A12945100006260100004446 -:200580000810E0C000004F061900020B1100071ED02129450100207401402074211B654444 -:20058800295B7A0408130440000046061900048B1100211E00802074109B7204110002C79F -:2005900001400704081404C001C02074010020740180207439D85104211B61040140044490 -:2005980031973404388F883A081409C0008020B41085140411C00037108000370100207470 -:2005A0001005D43A01802074211B6D04108000CC01400444D88000153197370439FFFFCCFE -:2005A800081409C00100207401402074211B6104295B6D04003FDB061900050B1100061ED0 -:2005B00000C020B418C52404188000371080009C1880003500001B061900058B1100061ECB -:2005B80000C0207418DB6984188000031005003A18800005000013061900060B1100071EEF -:2005C00000C0207418DB69841880004311003FCC20000C2610BFFFC40000090618C0068B94 -:2005C80010C0081E00C0207418DB6984188000430140018411003FCC2900023610800044F7 -:2005D00018800045D0A12C171000081ED0A13017108000AC1000052600C0207418DB6984E1 -:2005D800188000031005003A18800005D0A12943100004260009883ADFC00117DEC002043F -:2005E0000810E0C1DFC00117DEC00204F800283ADEFFFB0400C0207418DB7204DCC0031540 -:2005E800DC800215DC400115DC000015DFC00415188002832021883AD12001041085883A38 -:2005F0001085883A2085883A190002C7014007041C80011714C00017081404C000C020742C -:2005F80018D8550410C5883A84003FCC1440000B8000311ED0A1290300C003C410BFFFC490 -:2006000010803FCC18804536100490BA00C0207418C6080410C5883A108000171000683AA0 -:20060800008118A8008118A80081191C008118980081191C0081191C0081191C0081188C22 -:200610000081191C0081191C0081191C0081191C0081191C0081191C0081191C00811860D7 -:200618009809883A900B883A081403C01009883A897FFFCC081404C000C072B418F0DFC404 -:2006200018800236010003C4000001060009883A08138380000019060009883A081383802A -:2006280001000044000016060009883A081383800009883A0000120600802074109B6984D9 -:2006300010C00343044000841021883A1C4002260009883A00000106010003C4081383809D -:200638008100034320803FCC8880042E008001441109C83A21003FCC00000106010000C41D -:20064000DFC00417DCC00317DC800217DC400117DC000017DEC0050408133001DFC00417E1 -:20064800DCC00317DC800217DC400117DC000017DEC00504F800283ADEFFF90400C020B4D1 -:20065000DFC00615DD400515DD000415DCC00315DC800215DC400115DC00001500986A0453 -:2006580018C5140419400037054020B4AD4514042800020E10BFFFC4103FFA1E21003FCC7D -:200660000813DF40A8C0003704002074841B7204810003031825D43A10C03FCC2000051E04 -:2006680018000F2680800305D02126050440010400000D0618000A1ED0A126030440010482 -:2006700010C03FCC88C0032ED0212605800003050000050610800044D0A1260500000106F0 -:20067800D02126050023883A01000DC408133F0001000E041029883A08133F00110003CCED -:200680002008923A1026D17A1006D1BA2528B03A9CC0004C18C0004C80C00245A88000375B -:200688000100008490C03FCC19000926010000441900081EA106983A10BFFFCC18FFFF84F9 -:200690001880042E1029883A0027883A0000010604C0004401000E4408133F0001000E844D -:20069800102B883A08133F00108003CC1006923A8080000F1D6AB03AA0FFFFCC18E0001CAC -:2006A00018E000041887C83A1800010E00C7C83A0080004410C0071680C00117A8C0051E19 -:2006A80001002074211B72042100020398C03FCC19000226D0212D4500000B06D0E12D438C -:2006B00019003FCC2080082618C00044D0E12D4518C03FCC1880041E88C03FCC0080008405 -:2006B8001880012E1023883A04802074949B698490C000C3808004831880051E00802074C9 -:2006C000109B720490C00103108004C31880042688C03FCC008000841880012E1023883A79 -:2006C80090C00203808005C318800F2600802074109B7204110002C701400704081404C0ED -:2006D00000C0207418D8570410C5883A1080008B1080600C1000042688C03FCC008000842C -:2006D8001880012E1023883A91400003810003C300C020740080207485000015854001154E -:2006E00084C0020518DB7204109B698429000C1E11400043190004032900091E1140008383 -:2006E800190004432900061E11400143190005032900031E11000183188005432080032607 -:2006F00088803FCC1000011E04400044910002438080060720C03FCC18C0201C18FFE00443 -:2006F800188003262100040421003FCC08138D40910002C38080068720C03FCC18C0201C02 -:2007000018FFE00418800326210002C421003FCC081397C09100028380800643208006266D -:2007080001400604081404C001002074211845042089883A081372009100034380800703B6 -:20071000208001260811790091000303808006C3208001260813880001002074014020743C -:20071800211B75C4295B698401800384081407408805883ADFC00617DD400517DD00041734 -:20072000DCC00317DC800217DC400117DC000017DEC00704F800283ADEFFF804DC0000159A -:2007280004002074841B7204DD000415850002C7DCC003150140070404C02074A009883AFD -:20073000DFC00715DD800615DD400515DC800215DC4001159CD85104081404C09885883A12 -:2007380010C0068B188003CC100006268440044300800084808003458822C03A8822907AEE -:200740000000070618C0040C1800032600800044808003450000010680000345844004437D -:2007480084800343808004C3A009883A902497BA1004973A0140070490A4B03A081404C0E1 -:200750009885883A10C00503A009883A0140070490E4B03A081404C09885883A10C0028BA1 -:20075800808005031806943A1004923A90C6B03A1884B03A00C020B418C51C041880003589 -:20076000848003C39000251E002B883A858002C70140070485000403B009883A081404C0EE -:200768009885883A1080030BA028963AB009883A1004937A01400704882296FAA0A8B03A08 -:20077000081404C09885883A10800543A0A8B03A80800543100491BAA084B03A1444B03AA9 -:2007780014A4B03A008020B49564B03A1085180414800035DFC00717DD800617DD4005179E -:20078000DD000417DCC00317DC800217DC400117DC000017DEC00804F800283A94BFFFC4F5 -:200788009024973A05480034003FD806DEFFF704DC00031504002074841B7204DC40041580 -:200790008440011700800044DFC00815DD000715DCC00615DC800515D0A12D4588001F2617 -:2007980084C0001798001D2680800283D0E00104880B883A1085883A1085883A1885883A6F -:2007A00015000017A009883A081403C01025883A80800203A009883A0140190410000626C2 -:2007A800081404C01009883A880B883A081403C01009883A00000506081404C01009883AA1 -:2007B000880B883A081403C01089883A980B883A081403C01023883A000002060445DC0430 -:2007B800048F550401000EC408133F0001000F0408133F0080C003830080207410982804EC -:2007C00018C7883A18C7883A10C7883A8080020319C0001780C000171000021E00801A44E4 -:2007C8000000010600801C040100207401802074D8C0001531973B04211B6544014004449E -:2007D000D8800115081409C08809883A01401904081403C09009883A0140FA041027883A93 -:2007D800081403C09009883A0140FA041029883A081404401009883A01400284081403C0AC -:2007E0008809883A01401904D8800015DCC00115081404400100207401802074D8800215B0 -:2007E800211B7A040140044431973D04A00F883A081409C0D0A129431000051E01002074AA -:2007F00001402074211B6544295B7A0408130440808004838100001781400203D88000157C -:2007F800808004C3D1E12F03980D883AD8800115808005C3044020748C5B7204D8800215F5 -:200800000813E3C011003FCC2100201C213FE00400FFFFC420C0011E00800104888002C548 -:20080800844002C701400704048020748809883A081404C000C0207418D8570410C5883A76 -:2008100011400003D0E12F0380800203949B720428CA703AD161290529403FCC100002263F -:20081800918000170000020690C00017180CD07A808002838809883A99C03FCCD880001512 -:2008200008139C808100070308117900DFC00817DD000717DCC00617DC800517DC40041743 -:20082800DC000317DEC009040811C981DEFFFD04DC000015040020B4DFC00215DC4001151D -:200830008405240480000035008020B410851C0410000035008020B41085180410000035AA -:200838000109C4040814A300008000C480800035010000F4210350040814A300010020B495 -:2008400001406734018001B421050804297F30043186A004081532800812F1400813288040 -:20084800100025260009883A08133F0000C03FC410C023260813920001000084081280C0A8 -:2008500010803FCC00C004C410C01F1E08128FC0081005C01021883A10001D1E0810AE808E -:20085800008020B41085200410C000370440207418C0012C8C5B720418000526010020745A -:2008600000C00044211B698488C0058520C001C510800037108000AC1000011E0810C400C5 -:20086800010000F4210350040814A300890005830810DAC000000706043FFF8400000506A3 -:20087000043FFF4400000306043FFF0400000106043FFFC48005883ADFC00217DC40011753 -:20087800DC000017DEC00304F800283ADEFFFF04DFC000150811E2C008135240008020745E -:20088000109B720411000583DFC00017DEC001040810DAC1DEFFF604DFC00915DDC0081544 -:20088800DD800715DD400615DD000515DCC00415DC800315DC400215DC00011508120AC076 -:2008900010002116D0A00003D1E126430100207401802074211B654401400444319743044C -:20089800D8800015081409C00100207401402074211B7A0429574F040180044408140740CB -:2008A0000100207401402074211B6544295B7A04058020B4040020740540207405C02074C4 -:2008A800081304400029883A0025883A0023883A0027883AB5852004841B7204AD5917049D -:2008B000BDD82804000026060100207401802074211B65440140044431974804100F883A2E -:2008B800081409C00100207401402074211B7A04295716040180044408141980010020746A -:2008C00001402074211B6544295B7A0408130440003FFF06A900000B11001B1E8080038335 -:2008C8001080006010800044D1212C172000292680C0038311003FCC20C0301E01004B0448 -:2008D0000814A30008115C80A0803FCC10008B1ED0A12E17D0A12A15D0A13017D0A12C15A0 -:2008D800B080003710BFFFCCD0A12E15B0C0003700C6303A190000ECD1213015D1212A1705 -:2008E0002000101E003FE306A900008B1100041E80800383108000E0108000C4003FE206AA -:2008E800A900010B1100071E81000383008001442080062601400184217FDB1E008001C4C9 -:2008F000003FD9060005883A003FD70600800184003FD50618C0006C183FD52680800383AC -:2008F80000C001C411003FCC20C0022610800044003FCF0600800044003FCD0610FFFFC4A7 -:2009000018C03FCC0140018428C03036180690BA01002074210909041907883A18C00017DB -:200908001800683A008124400081245000812468008124780081248C0081249C008124B446 -:2009100000C003C4D0E12F050025883A0000030600C003C4D0E12F0504800084044000446F -:200918000027883A00001A0600C003C4D0E12F05048000C40000030600C003C4D0E12F058D -:20092000048000840023883A003FF50600C00404D0E12F05048000440000030600C003C48B -:20092800D0E12F050025883A044000848827883A000007060480008400C003C4D0E12F0529 -:200930009023883A9027883A00000106203F9B2681400703808003858000030528803FCC04 -:2009380000C0004489003FCC1880042E00800144114BC83A29403FCC00000106014000C49A -:200940000813374008134D808180028399003FCC91403FCC0813CB00808003830100207416 -:20094800211B65441085883A1085883AB885883A1140001701800444800001150814198081 -:200950000100207401402074211B7A0429574C040180044408141980D0A129431000051E05 -:200958000100207401402074211B6544295B7A040813044005000044003F700699003FCC2D -:200960000811938010803FCC00C0008410C0272600C0010410C0032600C0004410FF6C1EF4 -:2009680000002906808003031000072600C020B418C5240418800037108001141880003523 -:2009700008121EC0003F62068000011508134D808080038301002074211B65441085883AF3 -:200978001085883AB885883A1140001701800444081419800100207401402074211B7A04FF -:2009800029574C040180044408141980D0A12943103F4F1E0100207401402074211B654421 -:20098800295B7A0408130440003F490680800303103F47268080001700C018C418BF442EA2 -:200990000811E2C0003F420680800303103F40260811C980003F3E06DEFFFB0400BFE08466 -:20099800D880000500800084D880004500800344D8800085DFC0041529403FCC00800044AD -:2009A00028800426008000842880041E008014040000030600800C040000010600800404D7 -:2009A800D88000C5D88000C331803FCC10800094D88000C53000022600800804000001060F -:2009B0000080040439C03FCC10C002143800022600BFE00400000106008010041884B03A91 -:2009B800D8800105D90001850080020401000044D80B883AD8800145D80001C5D8000205D7 -:2009C000D8000245D8000285D80002C5D8000305D8000345D8000385D80003C50812A2003E -:2009C800DFC00417DEC00504F800283ADEFFFC04DC000015040020B484050804DC800215A6 -:2009D00004801304DC400115900B883A2023883A000D883A8009883ADFC00315081539C0F1 -:2009D8008009883A89403FCC000D883A08154000044000448009883A900B883A880D883A2D -:2009E000081539C08009883A880B883ADFC00317DC800217DC400117DC000017DEC0040446 -:2009E80008153D41DEFFFC04DC000015040020B484050804DC800215DC4001152025883A6D -:2009F0002823883A8009883A01401304000D883ADFC00315081539C08009883A91403FCC74 -:2009F800000D883A081540008009883A89403FCC01800044DFC00317DC800217DC4001176D -:200A0000DC000017DEC0040408154001DEFFFF0421003FCCDFC00015081272C0DFC000171D -:200A0800DEC00104F800283ADEFFFF0421003FCC29403FCCDFC0001508127A400005883A02 -:200A1000DFC00017DEC00104F800283ADEFFFB04DCC00315DC800215DC400115DC000015ED -:200A1800DFC004152827883A3023883A2025883A0021883A8440070E9C05883A1140000366 -:200A20008489883A21003FCC08127A4084000044003FF8060005883ADFC00417DCC00317AB -:200A2800DC800217DC400117DC000017DEC00504F800283ADEFFFF040140FA04DFC000153E -:200A3000081404C01009883ADFC00017DEC001040814A301DEFFFF04010003C4000B883A5D -:200A3800DFC000150812828001001844000B883ADFC00017DEC0010408128281DEFFFD0450 -:200A4000DC00001504002074841B7F048140008301000144DFC00215DC400115081282805D -:200A4800808000838100030300FFFEC41004D1FA20C6703A044001041085883A1085883A5D -:200A50001884B03A8809883A01400F4480800305081282800100004408128B408809883A78 -:200A580001400744081282800100184401400C04081282800100024401402C8408128280B8 -:200A60000100028401403E0408128280010002C401400DC408128280010003C4000B883AC6 -:200A68000812828001003244000B883A0812828001003284000B883A08128280010032C45B -:200A7000000B883A0812828001003304000B883A0812828001003344000B883A08128280FB -:200A780001003384000B883A08128280010033C4000B883A0812828001003404000B883AD6 -:200A8000081282808140010301003844DFC00217DC400117DC000017DEC003040812828157 -:200A8800DEFFFE04DFC00115DC00001521003FCC2000031E01003344000B883A00003C06D5 -:200A90002821883A28003D26010003C40140004408128280814000C301001604081282808C -:200A980081400103010016440812828081400143010016840812828081400183010016C426 -:200AA00008128280814001C3010017040812828081400203010017840812828081400243D9 -:200AA800010017C408128280814002830100180408128280814002C30100184408128280B8 -:200AB00081400303010018840812828081400343010018C408128280814003830100190441 -:200AB80008128280814003C30100194408128280808000C4000B883A8400040410C0000311 -:200AC0001080004428CBC83A143FFC1E29401BC40100174429403FCC08128280010003C4E4 -:200AC800000B883A0812828001003344014000C40812828000800044000001060005883AFA -:200AD000DFC00117DC000017DEC00204F800283ADEFFFD04DC000015000B883A2021883ABF -:200AD800010003C4DFC00215DC40011508128280044030448809883A081280C084003FCC3E -:200AE000800AC03A10803F8C8809883A114AB03A0812828001003184014000C4DFC00217F0 -:200AE800DC400117DC000017DEC0030408128281DEFFF904DD000415DC800215DC40011590 -:200AF0002025883A2823883A010001040140074405002074A51B7F04DCC00315DC000015BF -:200AF800DFC006153821883ADD4005153027883A08128280A0C0030381C0004C00BFFF44A8 -:200B00001884703A39CF883A11CEB03AA1C00305A08003171080008C1000022601000044C0 -:200B08000812B50001001C04A40000C3081280C0108000CC8D4000CC01000044100B883A05 -:200B1000A900052601000084A900041E00FFE00410CAB03A00000106114010148080020C70 -:200B180010000126294008148080004C10000126294004148080008C1000012629400214BB -:200B20008400010C800001262940011401001C0429403FCC08128280A800141E9CC000CC4C -:200B2800008000449880092698003E260080008498800E1E88803FCC1080201C10BFE004CC -:200B300010000D160027883A00000C0688803FCC1080201C10BFE0048CC0100C1000070E58 -:200B380000BFE80414E6B03A000004060021883A0027883A00002D0604FFE8048C400C0C32 -:200B4000008008048880142600800C0488800A26008004048880181E01001CC4D160030420 -:200B4800018000C4081284C00140207401001D8429591E040000170601001CC4D16003C4D9 -:200B5000018000C4081284C00140207401001D842959228400000F0601001CC4D16003C455 -:200B5800018000C4081284C00140207401001D8429592B840000070601001CC4D16003040C -:200B6000018000C4081284C00140207401001D842959270401800484081284C004000084BF -:200B6800000002060027883A0021883A01001C84081280C01080070C9C20B03A140AB03A4D -:200B700001001C8429403FCC08128280A0800317010030041080008C1000022601400044EC -:200B780000000106000B883A0812828001000104014005440812828001001844014004041B -:200B80000812828094803FCC00800084010018849080081E0140220408128280010018C4E3 -:200B880001400404081282800100190401402104000007060140060408128280010018C413 -:200B900001400404081282800100190401400304081282800100004408128B40010001042E -:200B9800081280C01140074C01000104081282800100190408128B4001000104081280C0BA -:200BA000010001041140054C081282800400190401000384081280C01080040C1000061E9A -:200BA8000100004408128B4080BFFFC41021883A10BFFFCC103FF61E01000304000B883A3C -:200BB00008128280010003440140100408128280010003840140004408128280010003849F -:200BB800000B883A0812828008128D4000800044DFC00617DD400517DD000417DCC00317E6 -:200BC000DC800217DC400117DC000017DEC00704F800283ADEFFFA04DC800215048020B4D0 -:200BC800DFC00515DD000415DCC00315DC400115DC00001594851004900000350440050448 -:200BD0008809883A040020B4840508040814A3008009883A01400E04081545C08809883A73 -:200BD8000814A3008009883A01400E44081545C08809883A0814A300880B883A8009883A8C -:200BE000081545C08809883A0814A3008009883A01401C44081545C08809883A0814A300A1 -:200BE8008009883A01401784081545C08809883A0814A3008009883A01401B44081545C085 -:200BF0008809883A0814A3008009883A01400304081545C08809883A0814A30004C0004404 -:200BF800980B883A8009883A081545C00500C804A009883A0814A3008009883A01400184FF -:200C0000081545C08809883A0814A3008009883A01400084081545C0A009883A0814A30044 -:200C080094C00035DFC00517DD000417DCC00317DC800217DC400117DC000017DEC0060496 -:200C1000F800283ADEFFFA04DC000015040020B4DCC00315DC800215DFC00515DD000415F0 -:200C1800DC4001152027883A2825883A8405100480000035010020B4014000442105080494 -:200C2000081545C00100C8040814A30000800084808000359809883A0140040408141E40A7 -:200C28001007883A10803FCC1000061E014020749809883A29583E0401800444081419808B -:200C300000C000449829883A1C403FCCA1400007010020B421050804081545C0010005049B -:200C38000814A300A5000044A4C5C83A10803FCC147FF63680000035010020B40140300430 -:200C400021050804081545C0010005040814A30000800084808000359009883A014004049A -:200C480008141E401007883A10803FCC1000061E014020749009883A29583E0401800444AE -:200C50000814198000C000449027883A1C403FCC99400007010020B421050804081545C0E2 -:200C5800010005040814A3009CC000449C85C83A10803FCC147FF636008000C4808000351D -:200C6000DFC00517DD000417DCC00317DC800217DC400117DC000017DEC00604F800283A6D -:200C6800DEFFFB04DC000015040020B484050804DC80021504800B04DCC00315900B883A1B -:200C70002027883A000D883A8009883ADFC00415DC400115081539C0044000448009883A6E -:200C780099403FCC880D883A081540008009883A900B883A880D883A081539C08009883A64 -:200C8000880B883ADFC00417DCC00317DC800217DC400117DC000017DEC0050408153D41B1 -:200C8800DEFFFC04DC000015040020B484050804DC800215DC4001152025883A2823883A58 -:200C90008009883A01400B04000D883ADFC00315081539C08009883A91403FCC000D883A17 -:200C9800081540008009883A89403FCC01800044DFC00317DC800217DC400117DC000017A6 -:200CA000DEC0040408154001010020B4DEFFFD04000D883A000B883A21050804DFC00215F9 -:200CA800DC400115DC00001508154000010002840814A30004000604044000448809883A7D -:200CB000800B883A08132200800B883A0100008408132200800B883A010000C4081322003C -:200CB8008809883A08131A001405003ADFC00217DC400117DC000017DEC00304F800283A63 -:200CC000DEFFFC04DC4001152023883ADC8002158C403FCC048000449009883A882290FA5F -:200CC800DFC00315DC00001508131A00043FF9C41404703A1460B03A84003FCC9009883A25 -:200CD000800B883A08132200800B883A0100008408132200010000C4800B883ADFC00317A0 -:200CD800DC800217DC400117DC000017DEC0040408132201DEFFFD04DC4001152023883A67 -:200CE00001000044DC000015DFC00215043FF60408131A001420703A89003FCC0080008420 -:200CE8002080021E84000054000003062008917A2080011480A0B03A84003FCC800B883A7D -:200CF0000100004408132200800B883A0100008408132200010000C4800B883ADFC0021789 -:200CF800DC400117DC000017DEC0030408132201DEFFFB04DC000015040020B48405080498 -:200D0000DC80021504801704DCC00315900B883A2027883A000D883A8009883ADFC00415D5 -:200D0800DC400115081539C0044000448009883A99403FCC880D883A081540008009883ACD -:200D1000900B883A880D883A081539C08009883A880B883ADFC00417DCC00317DC80021774 -:200D1800DC400117DC000017DEC0050408153D41DEFFFC04DC000015040020B48405080417 -:200D2000DC800215DC4001152025883A2823883A8009883A01401704000D883ADFC00315CD -:200D2800081539C08009883A91403FCC000D883A081540008009883A89403FCC018000445E -:200D3000DFC00317DC800217DC400117DC000017DEC0040408154001DEFFFE04DC0000157A -:200D38000409C4048009883ADFC001150814A300014004C401000584081347008009883AC7 -:200D40000814A300010005C4014000C4081347008009883ADFC00117DC000017DEC002040A -:200D48000814A301DEFFFE04DC0000150409C4048009883ADFC001150814A30001400444DE -:200D500001000584081347008009883A0814A300010005C401400084081347008009883A51 -:200D5800DFC00117DC000017DEC002040814A301DEFFFA04DC0000152021883A0100010498 -:200D6000DD000415DCC00315DC8002153829883ADFC00515DC4001152827883A3025883A20 -:200D680008133F0000FFFE04A5003FCC10C4703AA00006261080005411403FCC01000104D0 -:200D7000081347008423883A0000040611403FCC010001048023883A081347008C7FFFCC8F -:200D7800880AD13A0100004429403FCC08134700880A913A0100008429403C0C08134700AE -:200D8000993FFFCC91403FCC081404C01009883A880B883A081404C01009883A0140FA04CA -:200D8800081403C000E327D41880092E00C0007418C45BC41880082E00C000B418C3D5C4DA -:200D90001885403A00C000C41885C83A000003060005883A000001060080004414003FCC4F -:200D9800D0A004841405883A1100000301400A04081404C08808D07A880B883A1109883A1A -:200DA0000813F8C0100B883A00C001C410803FCC1880012E180B883A29403FCC800491BA74 -:200DA800280A90FA010000C4288AB03A29403FCCDFC00517DD000417DCC00317DC800217BC -:200DB000DC400117DC000017DEC0060408134701DEFFFE04DC0000152021883A0100068493 -:200DB800DFC0011508133F00017FFE8484003FCC00C000441144703A80C0021E10800094F4 -:200DC000000001061080029411403FCC01000684DFC00117DC000017DEC00204081347014E -:200DC8002140028BDEFFFE04DC000015280AD23A2021883A010012C4DFC00115081347001E -:200DD0008140028301001284081347008140030B01001344280AD23A081347008140030336 -:200DD80001001304081347008140038B010013C4280AD23A081347008140038301001384DB -:200DE000081347008140010B01001444280AD23A081347008140010301001404081347008B -:200DE8008140018B010014C4280AD23A081347008140018301001484081347008140020B17 -:200DF00001001544280AD23A081347008140020301001504081347008140040B010015C4FD -:200DF800280AD23A081347008140040301001584081347008140048B01001644280AD23A8E -:200E0000081347008140048301001604081347008140050B010016C4280AD23A081347005F -:200E08008140050301001684DFC00117DC000017DEC0020408134701DEFFFD04DC000015E6 -:200E100004000FC4DC4001152023883A8009883ADFC0021508133F0000FFFC0410C4703ADC -:200E1800888AB03A8009883A29403FCCDFC00217DC400117DC000017DEC003040813470118 -:200E2000DEFFFD04DC40011504400684DC0000152021883A8809883ADFC0021508133F007D -:200E280081403FCC00C000C4194BC83A280A91BA10800FCC8809883A114AB03A29403FCC00 -:200E3000DFC00217DC400117DC000017DEC0030408134701DEFFFD04DC0000152021883AE9 -:200E3800DC40011584003FCC044001048809883A802090FADFC0021508133F00108001CCA6 -:200E4000140AB03A8809883A29403FCCDFC00217DC400117DC000017DEC0030408134701DC -:200E4800DEFFFF04DFC0001508134D80000B883A01000D4408134700010020742118450476 -:200E5000081372000100040408138D400009883A081383800009883A0813880001000F4459 -:200E580001400184081347000100044401401104DFC00017DEC0010408134701DEFFFD0419 -:200E6000DC0000152021883ADC40011584003FCC044004048809883A802090FADFC002153E -:200E680008133F00108001CC140AB03A8809883A29403FCCDFC00217DC400117DC00001705 -:200E7000DEC0030408134701DEFFFB04DC4001152023883AD9000503DC0000152821883A6A -:200E7800DCC00315DC800215DFC004153027883A3825883A843FFFC408136D0080803FCC2A -:200E800000C003C418802836100490BA00C0207418CE880410C5883A108000171000683AC1 -:200E880000813A6000813A7800813AA800813A7800813AA800813AA800813AA800813A90F2 -:200E900000813AA800813AA800813AA800813AA800813AA800813AA800813AA800813A785A -:200E980001000144014000840813470001000184200B883A00000B0601000144014001843D -:200EA000081347000100018401400404000005060100014401400C840813470001000184F7 -:200EA8000140080408134700010006C4014022040813470001000704014002040813470032 -:200EB000010002840140068408134700010002440140068408134700010002040140068428 -:200EB8000813470080803FCC00C003C418802236100490BA00C0207418CEC20410C5883A41 -:200EC000108000171000683A00813B4800813B5800813B7800813B5800813B7800813B78F1 -:200EC80000813B7800813B6800813B7800813B7800813B7800813B7800813B7800813B787A -:200ED00000813B7800813B5801000C44014002440813470000002D0601000C4401400604B1 -:200ED800081347000000040601000C44014016840813470000001F0684003FCC008003C405 -:200EE00014002836802090BA00802074108EE70480A1883A808000171000683A00813C0C84 -:200EE80000813C0C00813C2400813C0C00813C2400813C2400813C2400813BF400813C2443 -:200EF00000813C2400813C2400813C2400813C2400813C2400813C2400813BDC0100088477 -:200EF800014003040813470001000D04014000C400000B06010008840140020408134700D2 -:200F000001000D04014003840000050601000884014002040813470001000D04014022043D -:200F0800081347008C403FCC8C40201C8C7FE0048809883A0140070404002074081404C082 -:200F1000841851048087883A19C0068B1900040B91803FCC39C0100C380EC03A997FFFCC21 -:200F180008135700010004840140004408134700010004C4000B883A081347008809883A8C -:200F200001400704081404C08085883A11400583010001C4DFC00417DCC00317DC8002173A -:200F2800DC400117DC000017DEC0050408134701DEFFFC0429FFFF84DC800215DC4001154B -:200F3000DC000015DFC0031539C03FCC008000443025883A24403FCC2C003FCC11C0043669 -:200F3800008000848880071E8805883A000008068800061E8005003A00C000841885C83ABD -:200F4000000003060005883A0000010600800084880A913A8C47883A10803FCC18CF883A80 -:200F4800100491BA29C6B03A20CAB03A288AB03A0100064429403FCC0813470091003FCC24 -:200F50000480008408136D009400032E008000C4808005260000090601000404014016044A -:200F580008134700000005060100040401401744081347008C800B1E000007068C80091E90 -:200F600084400826008000448080031E01000384014014840000050601000384014014C48D -:200F68000000020601000384014016C4081347000100050408133F00008000C401000604A9 -:200F70008080021E0140040400000106000B883A0813470001000D84000B883ADFC00317AA -:200F7800DC800217DC400117DC000017DEC0040408134701DEFFFE04DC0000152021883AE1 -:200F800001000504DFC0011508133F0084003FCC00C0008480C0031E1080260C108020484A -:200F8800000002061004D07A1080004CDFC00117DC000017DEC00204F800283ADEFFFE0480 -:200F9000DAC0030302800044DC00001552D6983ADA400403DC00020302002074DC40011526 -:200F9800421857040005883A037FFEC40380008403FFFBC429403FCC030006844180008B64 -:200FA00040C000033440200C880005264800021E78C6703A000009064B80081E000006067F -:200FA8003440400C880005264800021E68C6703A000002064A80011E0007883A19C6703A33 -:200FB00018C03FCC18000C2630C0080C1807003A28C0091E40FFFE8B18C007841900063608 -:200FB800318003CC8000032630FFFFCC180001261AC007263000062610C000441805883A61 -:200FC00018C03FCC420007041B3FDC1E00BFFFC4DC400117DC000017DEC00204F800283AE6 -:200FC8002900182E280017160080080400C00044000002061000112628000516294B883AED -:200FD00010BFFFC418C7883A293FFA3618000B260005883A214002362149C83A10C4B03A63 -:200FD8001806D07A280AD07A183FFA1E3000011EF800283A2005883AF800283A0005883AF5 -:200FE000003FFA0600C00044003FF106DEFFFE04DFC00115DC00001520000B160021883ACF -:200FE80028000C16000D883A0813F2000407C83A1884F03A1405883ADFC00117DC0000176B -:200FF000DEC00204F800283A0109C83A04000044283FF40E014BC83A8400005C003FF106C2 -:200FF800DEFFFD04DFC00215DC400115DC00001520000C160023883A0021883A28000D16CD -:20100000018000440813F2001404F03A8885883ADFC00217DC400117DC000017DEC0030469 -:20100800F800283A0109C83A04400044043FFFC4283FF30E014BC83A003FF106000D883A19 -:201010000813F201018000440813F2010005883A2000072620C0004C2008D07A18000126EE -:201018001145883A294B883A203FFA1EF800283AF800283A2005883A0007883A19800626CA -:2010200028C9883A21C0000310C9883A18C0004421C00005003FF906F800283ADEFFF5040E -:20102800DFC00915DC400815DC000715D9C00A1500802074109A2504144000172800040E76 -:20103000008022C48880001500BFFFC400001C0600C08204D8C0000DD9000415D9000215AC -:201038002800022628FFFFC4000001060007883AD8C00515D8C003151100001700FFFFC442 -:20104000D8C0008D00C0207418D1F8042821883AD9C00A04D80B883AD8C00115D80006153A -:201048000814274000FFFFC410C0020E00C022C488C0001580000226D8C0041718000005E8 -:20105000DFC00917DC400817DC000717DEC00B04F800283A30000E2631BFFFC4218D883AFE -:201058002080000728C0000710C0011E2180041E2080000328C0000310C5C83AF800283A71 -:20106000103FFB262100004429400044003FF4060005883AF800283A2005883A2007883AC4 -:201068001809883A3000092629C0000331BFFFC418C0004421C0000539C03FCC39C0201C4C -:2010700039FFE00429400044383FF51E198D883A198003261800000518C00044003FFC0669 -:20107800F800283A214B883A2005883A1140021E1105C83AF800283A10C00007183FFC26B6 -:2010800010800044003FF906DEFFFB04DC800315DC400215DC000115DFC004152025883A0A -:201088002823883AD98000053821883A04000A0E888001179009883A880B883AD80D883A2F -:2010900001C00044103EE83A843FFFC4103FF72600BFFFC4000001060005883ADFC00417CF -:20109800DC800317DC400217DC000117DEC00504F800283ADEFFE304D8C00804DF001B1521 -:2010A000DDC01A15DD801915DD401815DD001715DCC01615DC801515DC401415DC001315F0 -:2010A800DFC01C152029883A2823883A3839883AD9800F150021883AD8000E15002F883AC1 -:2010B000002B883A0027883A0025883AD8000C15D8000B15002D883AD8C00915D8C00F170F -:2010B8001900000320803FCC1080201C10BFE00410012E2601400044B14014262D800216F8 -:2010C000B00006260001250601400084B1401D26014000C4B1402B26000120060140094413 -:2010C80011410D2688800117D9000005880B883AA009883AD80D883A01C00044103EE83AA9 -:2010D0001000E81E840000440001140601400C0411410A260140094411400A1ED8800005D0 -:2010D80088800117A009883A880B883AD80D883AB00F883A103EE83A1000DA1E84000044B0 -:2010E0000001050625BFF404B5803FCC00C002441D80093600BFFFC4908004269009883ACF -:2010E80001400284081404C0000001060005883A15A5883A0000F20601400B841140F426C4 -:2010F00005800084213FF40420C03FCC0100024420C00B3600BFFFC4988006269809883A03 -:2010F80001400284D8C01115081404C0D8C01117000001060005883A10E7883A0000E7063F -:2011000001401B041140E026013FFFC499000226D8000B150000010604C0004401001A44EE -:201108001100162620800916010018C4110096260100190411001126010016041100D61E8B -:2011100000C00044D8C00E150000140601001CC41100A6262080041601001BC41100CE1E91 -:201118000540020400000E0601001D4411000C2601001E04110009260000C706E08001041E -:20112000B8000726D8800D15E7000017E000080E0739C83A0200004400000606054004047B -:20112800E0C00104D8C00D15E7000017002F883A0011883A002D883ADD87883AE0001A2651 -:20113000E009883AA80B883AD8C01115DA001215081403C0A809883A100B883AD880101514 -:20113800081404C0E085C83A01000244D8C01117D9801017DA0012172080021617000C04E7 -:2011400000000506D9400E172800022617000DC400000106170015C41F000005B58000447A -:201148003039883A003FE4061EC5C83AD8800A159885C83A1839883A00800E0E182D883A02 -:201150001885883A01000C04D9400917B007883AB140052EB580004419000005B039883AF7 -:20115800B0BFF91E00000106B039883AB6EDC83ADD800A15D8800A171207883A90EDC83A4B -:20116000D8C00B171800172640000A2600800B44D880080588800117A009883A880B883ADC -:20116800D980080401C00044103EE83A10004D1E840000440580070EA009883A880B883AF0 -:2011700001800C04B00F883A081420801000451E85A1883AD9000A17E007883A272DC83A3D -:20117800000022060580090EA009883A880B883A01800804B00F883ADA0012150814208008 -:20118000DA0012171000371E85A1883A403FF12600800B44D880080588800117A009883AAA -:20118800880B883AD980080401C00044103EE83A10002C1E84000044003FE60618FFFFC4F1 -:2011900018800003A009883AD8C01115D880080588800117880B883AD980080401C0004437 -:20119800103EE83AD8C0111710001E1E80C5C83A1D89883AE085883A013FF0161021883AAC -:2011A000DF000D1700004406010000442480080E95BFFFC4A009883A880B883A018008047F -:2011A800B00F883A0814208010000E1E85A1883AE0800017A009883A880B883AD880000532 -:2011B00088800117D80D883A01C00044E5800104103EE83A1000031E84000044B039883AD5 -:2011B80000002D0600BFFFC400003106E5800017E0C00104D8C00A15B009883A08148DC06F -:2011C0009091C83A1039883A0200090E400F883AA009883A880B883A01800804DA00121569 -:2011C80008142080DA001217103FEE1E8221883A88800117A009883A880B883AB00D883A29 -:2011D000E00F883A103EE83A103FE61E8721883ADF000A170000100605C0004404FFFFC43C -:2011D800D8000E15054002849825883AD8000C15D8000B15B82D883A00000806DD800B158F -:2011E000058000840000050600C00044D8C00C15058000C400000106002D883AD8C00F1721 -:2011E80018C00044D8C00F15003ECC068005883ADFC01C17DF001B17DDC01A17DD8019177A -:2011F000DD401817DD001717DCC01617DC801517DC401417DC001317DEC01D04F800283AD1 -:2011F8002880000BDEFFFD04DC000015DFC00215DC40011510C0020C2821883A180019262D -:2012000028C0008F1800150E10C0800C180013262C40051789C0030E10C0200C1800032650 -:2012080000000E063C40010E3823883A81000417300B883A880D883A081487C0808005179B -:201210001445C83A80800515808004171463883A844004150005883A000003061080101494 -:201218008080000D00BFFFC4DFC00217DC400117DC000017DEC00304F800283A2005883A62 -:2012200029000D2E298F883A21C00B2E3007883A017FFFC418FFFFC4194006261989C83A77 -:201228003909883A2200000310C9883A22000005003FF806F800283A0007883A1980062696 -:2012300028C9883A21C0000310C9883A18C0004421C00005003FF906F800283A2005883AEB -:2012380010C000071800022610800044003FFC061105C83AF800283ADEFFFF040100207483 -:2012400001402074DFC0001521191704295A2E042140061E010020740140207421000804DF -:20124800294008042140141E00000D0600C0207418DA2E0400BFFF041907C83A1886703AC7 -:201250000005883A10FFF326114F883A39C00017110D883A1080010431C00015003FF906A4 -:2012580001002074014020742116A9042956A9042140121E00000D0600C0207418C0080420 -:2012600000BFFF041907C83A1886703A0005883A10FFF326114F883A39C00017110D883A41 -:201268001080010431C00015003FF90608155000DFC00017DEC0010408155F8100C0207476 -:2012700018D9170400BFFF041907C83A1886703A0005883A10FFF526114F883A39C0001703 -:20127800110D883A1080010431C00015003FF906DEFFFF040009883ADFC000150814A3403F -:201280000814A5400100207421190704200B883A200D883A081569C0D1213417D161331798 -:20128800D1A13217DFC00017DEC001040812214108154801DEFFFF04DFC0001508159340CC -:20129000008000441001703ADFC00017DEC00104F800283ADEFFFE04DC00001504002074A4 -:20129800841A270401002074800B883A2119AA04DFC00115081550C001002074211973047B -:2012A000081514000100207421196804800B883ADFC00117DC000017DEC00204081550C1F9 -:2012A80001402074DEFFFF04295A2704DFC000150815584010000E2610C00A17D0A1371568 -:2012B000D021411519008D04D1213F1519008904D1213E1519008404D1213D1519008C046E -:2012B800D1213C1519008B04D1213B15D0E13A15DFC00017DEC00104F800283AD0E1371737 -:2012C000008000441800041ED0E141171880071ED021411500000506D0E13F1718C0002BEE -:2012C80018C0008C183FF826F800283A0005883AF800283ADEFFFD04DC400115DC000015B1 -:2012D000DFC002152023883A2821883A0814AFC01000021E0005883A000011068C09883A48 -:2012D8002006927AD0A13B1710C00035D0A13C1700C0060410C0002DD0A13F171080002BEF -:2012E00010BFFFCC10C0010C183FFB1E1080040C103FF01ED0213615D121351500800044CE -:2012E800DFC00217DC400117DC000017DEC00304F800283AD0A1361710000326D1213517D3 -:2012F000000B883A0814B34100800044F800283ADEFFFD04DC400115DC000015DFC002152C -:2012F8002023883A2821883A0814AFC01000021E0005883A00001906D0A136171000081E31 -:201300008C09883A2006927AD0A13B1710C00035D0A13C1700C0044410C0002D00000506A8 -:20130800D1213517000B883A0814B340103FF41E003FEF06D0A13F171080002B10BFFFCCFA -:2013100010C0010C183FFB1E1080040C103FE81ED0213615D121351500800044DFC0021787 -:20131800DC400117DC000017DEC00304F800283A2005883A2100001711C0021721000A0457 -:201320000814C9812005883A2100001711C0021721000A040814CF4121000017298D883A33 -:201328002805883A3A10000C11800B2E20C000371A60000C4800032610C0000510800044DF -:20133000003FF906114002261145C83AF800283A403FF52600000106117FFB1E39D0000CD5 -:201338003800021E00BFFEC4F800283A00BFFD44F800283A210000173005883A298D883A61 -:2013400021C001042980072E38C0003718FFFFEC183FFC2628C0000720C00035294000446E -:20134800003FF806F800283A20001D262804923A20C03017DEFFFD04DC400115DC0000156B -:20135000DFC002152823883A2021883A108000D41880033580C03017188000371080004C51 -:20135800100003260100004408154800003FF90618C000371809D0FA2140020C1809D0BA40 -:201360001807D07A210001CC2908B03A18C0040C20C6B03A1C40042600BFF484000002067E -:2013680000BFFA84F800283ADFC00217DC400117DC000017DEC00304F800283A20000A26A0 -:20137000280009263000082620800C173080001520800C171000062621000D0429000015B1 -:201378000005883AF800283A00BFFA84F800283A00BFFEC4F800283A2005883A20001D2678 -:201380002809883A28001B1610C0311728C0192E1140341728FFFFC420C6703A1800151E59 -:20138800DEFFFE04DC000015DFC001151021883A081403C01004923A00C0403418FFC004FF -:2013900010C4703A80C03017108000941880033580C0301718C00404188000371080004C32 -:2013980010000626008000441880003500BFFEC40000020600BFFA84F800283ADFC0011791 -:2013A000DC000017DEC00204F800283ADEFFF504DC000115DFC00A15DF000915DDC00815FF -:2013A800DD800715DD400615DD000515DCC00415DC800315DC400215DC000B1728003916AC -:2013B0003023883A300037162027883A20003526382B883A38003326208031173080312E5A -:2013B8002880302E208034172987C83A1887883A1C002C3680002B1610BFFFC4288A703AE4 -:2013C0002800281E0029883A05BFFFC405C000C40700010480002126DD800015890000CC0A -:2013C80020000526E125C83A8480012E8025883A8923C83A00000406BC0002368025883A05 -:2013D0000000010604800104AD0B883AD909883A900D883A0814074098802E17D8C0001781 -:2013D800A4A9883A84A1C83A8885883A10C00035988030171080040410C0003718C0008C89 -:2013E0001800042600C0008410C0003500BFFEC4000005068C400104003FDE060005883A1B -:2013E8000000010600BFFA84DFC00A17DF000917DDC00817DD800717DD400617DD00051778 -:2013F000DCC00417DC800317DC400217DC000117DEC00B04F800283ADEFFF604DC000115B7 -:2013F800DFC00915DDC00815DD800715DD400615DD000515DCC00415DC800315DC4002155A -:201400002021883A20000A263029883A3000082620802E1780C02F172823883A2885883A19 -:20140800382B883A11C9883A10C0012E20C0023600BFFA84000024062809883A8140341786 -:20141000002D883A081403C0102F883A80803317B8801C2EA8001B2684C0341704E7C83ABC -:201418008CE6703A9C4002268CE5C83A000001060025883A8009883A980B883A0814DF8008 -:201420001000111E80C034171CA5C83AAC80012EA825883ADC8000158009883A980B883A14 -:20142800880D883AA58F883A0814E8C01000061EACABC83AB4AD883A8CA3883ABDC0004431 -:20143000003FE2060005883ADFC00917DDC00817DD800717DD400617DD000517DCC00417CE -:20143800DC800317DC400217DC000117DEC00A04F800283A200007263000062620802E1761 -:20144000288B883A20802F1729C7883A2880012E1880023600BFFA84F800283ADEFFFF0461 -:201448003009883A380D883ADFC00015081407400005883ADFC00017DEC00104F800283AF1 -:2014500020005026208030171000502620C03217DEFFFB04DFC00415DCC00315DC80021595 -:20145800DC400115DC00001518001E1E1480023700C0030494803FCC90BFFAC4188045362A -:20146000100490BA00C0207418D4660410C5883A108000171000683A0081520400815214B6 -:201468000081521C0081520C008151CC0081529400815294008152940081529400815294F5 -:2014700000815294008151D4008151DC044080040000130604410004000011060442000416 -:2014780000000F06148001370080058494803FCC90800A26008006049080042600800504BE -:201480009080241E0440080400000506044040040000030604401004000001060440200447 -:2014880024C034172021883A8809883A980B883A081404C080C0311710C0021E80C0331778 -:2014900088C0022680000C150000120600C0004401402074848036158440331580C00C157E -:2014980080000D1580800E1584400F1584C010158009883A295A2C04081550C00005883A2C -:2014A0000000050600BFFA84F800283A00BFFB44F800283A00BFFB44DFC00417DCC00317C4 -:2014A800DC800217DC400117DC000017DEC00504F800283A300001260005C03200FFFF0437 -:2014B0002005883A28C6703A110DC83A30C0042E11800017300DC0F210800104003FFA06F0 -:2014B800294000CC00C000C428C0041E10C0000B1807C0B2108000830000080600C0008480 -:2014C00028C0031E1080000B1005C0B20000040600C0004428C0021E108000031005C072F1 -:2014C8000005C132F800283ADEFFFD04DC400115DC0000152823883A2021883A014001441B -:2014D0003009883ADFC00215081404C08809883A100B883A081403C010BFFFC480C0020484 -:2014D80018000035010000448100043511003FCC810000351004D23A10803FCC80800135E5 -:2014E0000080200418800035DFC00217DC400117DC000017DEC00304F800283A3180004CA0 -:2014E800294B883A298B883A21400335210004040080240420800035208000371080008C06 -:2014F000103FFD1E208000371004D1FA1080004CF800283A20C004042800022600801A04B0 -:2014F800000001060080080418800035188000371080008C103FFD1E20800337F800283AEB -:2015000029403FCC2140033521000404300002260080140400000106008004042080003541 -:20150800208000371080008C103FFD1E208000371004D1FA1080004CF800283A20C0040492 -:2015100000800B0418800035188000371080008C103FFD1E20800337F800283A29403FCC62 -:2015180021400335210004040080070420800035208000371080008C103FFD1EF800283ADA -:20152000014AAAF4DEFFFE04296AAA84DC000015DFC001152021883A081403C010000F2655 -:2015280001600034013555740007883A297FFFC421155584297FFFC4283FFE1E18C00044C2 -:201530008121883A18BFFB168405883A1421883A843FFFC4803FFE1E000004068405883A57 -:201538001421883A843FFFC4043FFE160005883ADFC00117DC000017DEC00204F800283A50 -:20154000F800283A3005883AF800283A20000226208002171000131E00802074109A2B04B1 -:201548001080001710000926DEFFFF04DFC00015103EE83A00C0058410C0001500BFFA842E -:20155000DFC00017DEC00104F800283A00802074109B500400C0058410C0001500BFFA844A -:20155800F800283A2880001721400115208000152880001711000115290000150005883A43 -:20156000F800283ADEFFFB04DCC00315DC800215DC400115DC000015DFC004152027883A2A -:201568002823883A2C00001708148DC0148000448440072681000217980B883A900D883A83 -:201570000815A7401000042684000017003FF8060005883A000001068005883ADFC0041776 -:20157800DCC00317DC800217DC400117DC000017DEC00504F800283AF800283ADEFFFC04C9 -:20158000DC4001152023883A2809883A300B883A01807FC4DC000015DFC00315DC80021545 -:20158800081571401021883A100016161009883A0140030404802074081404C09499B50445 -:201590001007883A9085883A108000178009883A8880001590C5883A1080011790C7883AA4 -:20159800888001151880021788800215DFC00317DC800217DC400117DC000017DEC004044A -:2015A00008158D81DFC00317DC800217DC400117DC000017DEC00404F800283ADEFFFB04CF -:2015A800DC000015040020742005883A8419B804DC40011504400044DCC00315DC80021579 -:2015B0002827883A3025883A100B883A8009883A880D883ADFC0041508155FC0813FFD04BF -:2015B800980B883A000D883A08155FC081000304900B883A880D883ADFC00417DCC00317F7 -:2015C000DC800217DC400117DC000017DEC0050408155FC1DEFFF504DC4002152823883A75 -:2015C80001402074295A2704DD400615DD000515DCC00415DC800315DFC00A15DF0009156D -:2015D000DDC00815DD800715DC0001152025883A3027883A08155840102B883A0029883A19 -:2015D8001000051E9009883A081593C0102B883A1000462605000044A809883A08159E8085 -:2015E0001021883A100044161009883A01400304081404C01007883A021000340080207458 -:2015E8001099B504423FFFC418B9883A8A10703A102F883A18C00204A000062610C7883A22 -:2015F0001A000015A880031710001A1E8005883A0000350610C7883A00802074421000346D -:2015F800109A26041A00001510C00017B829883A002D883A8009883A01400304D8C0001517 -:20160000081404C0B885883AA100001710800017D8C000172080031EA08002171000010EC4 -:20160800A7001F1EB5800044A50003041DBFF12E003FE406880D883AE009883A900B883A36 -:20161000980F883A103EE83A1023883A8005883A8800150E8009883A08158D800080207471 -:20161800109A2B041080001710000226103EE83A0000020600802074109B50040463C83A06 -:201620001440001500BFFFC400000706047FFB44043FFFC4003FEF061023883A003FED068F -:20162800047FFCC4003FEB06DFC00A17DF000917DDC00817DD800717DD400617DD00051706 -:20163000DCC00417DC800317DC400217DC000117DEC00B04F800283A00C000841900140EBE -:20163800DEFFFD04DC0000150140030404002074DFC00215DC4001158419B5042023883AA0 -:20164000081404C08085883A8809883A0140030410000215081404C08085883A1000001555 -:20164800DFC00217DC400117DC000017DEC00304F800283A000170FAF800283A00802074CB -:20165000DEFFFA04109A2904DC00001514000017DD000415DCC00315DC800215DFC00515D6 -:20165800DC4001152027883A1025883A05000BC484801226844002178809883A08148DC097 -:201660008887883A18FFFFC71D00011E10BFFFC49887883A18C000071D0001261800051EAF -:201668008809883A980B883A100D883A0815A7401000042684000017003FED060005883AF9 -:20167000000001068005883ADFC00517DD000417DCC00317DC800217DC400117DC00001707 -:20167800DEC00604F800283ADEFFFB04DCC0031504C02074DC800215DC400115DC000015D2 -:20168000DFC004152025883A0021883A9CD9B504044008048009883A01400304081404C0B7 -:201688009887883A188000171000081E1C80001500C0207418DA2604190000178005883AE4 -:201690002400050E1C0000150000030684000044847FF01E00BFFA04DFC00417DCC00317C3 -:20169800DC800217DC400117DC000017DEC00504F800283A218D883A2180082620800003B3 -:2016A00028C0000310C0022610C5C83AF800283A2100004429400044003FF7060005883A01 -:2016A800F800283A73616C4672652068006573616F727265642520720000000073616C4651 -:2016B00072772068006574696F7272650000007273616C4665762068206669726C69616657 -:2016B8000000000061766E492064696C64616572646D6320000000007220445320646165C8 -:2016C0006C696166006572757665642F746C412F5F617265535F505561435F44415F6472B9 -:2016C8006F6C61766E495F6E667265745F6563610000003053206F4E6163204464206472B1 -:2016D000002E74654353534F0000000061766E492064696C67616D690000006561766E4943 -:2016D8002064696C646165680000726561766E492064696C207264680043524361766E4985 -:2016E0002064696C6174616443524320000000000000002D696C6156697461646420676E4B -:2016E80000617461622075257365747900000000252E75252575322E00732573616470554F -:2016F000676E69740057462061656C70772065732E74696100002E2E697265566E69796646 -:2016F8006C6620670068736172746552676E6979647075200065746161647055203F657484 -:201700002C593D314E3D32200000000044525355004154417365725000000073666E6F4352 -:20170800006D72696D73694D686374616572202C007972740064644F6E657645000000001C -:2017100000006E4F0066664F00495644494D444800000000252575250000000070207525CE -:201718006C6578690000007364206425000067656D2064250000005675207746746164704C -:201720004B4F20650000000061656C507220657361747365000074726E2057460000746FFD -:201728006164707500646574736572702D3C207320726F2000003E2D656E6F4400000000F2 -:201730005353494D20474E494D45544900000000646F4D567325203A00000000203A4F4CD3 -:2017380056207525203A4D53000075252520732500632575252E75256B75322E25207A48DF -:201740002E252E757A487532000000004353534F776620207525202E322E252E00000075C5 -:2017480074696E49727265202020726F000064252020202053204F4E00434E593431303299 -:201750003130322D6D20203673717261000000006E616353656E696C000000736E616353FA -:20175800656E696C727473200000002E6E616353656E696C0064692069726F48746E6F7AAB -:201760006D206C61006B7361747265566C61636973616D200000006B70303834206E6920A7 -:20176800706D61730072656C706D6153676E696C6168702000006573506250596E6920723D -:201770006C6F4320006170536C616E417320676F20636E79646C6874000000006C616E4180 -:201778007320676F20636E790046504C65646956504C206F00000046703034323838322FCC -:20178000696C20703358656E00000000656E694C706972746D20656C0065646F6D20585470 -:201788000065646F6D7269466572617764707520006574616576615374657320676E69747C -:20179000000000736F74754100000000484D35394828207A2056544400294949484D35335A -:201798004828207A2056544400002949484D36314528207A29565444000000007A484D3945 -:2017A0004453282000295654484D33330000007A484D30310000007A4D352E3200007A48EE -:2017A80069726F48746E6F7A00006C61747265566C616369000000002056544470303834A3 -:2017B00000000000204147567830343600303834656E654720636972393A363100000000B6 -:2017B800656E65472063697200333A3478303233203034326974706F00002E6D7836353264 -:2017C000203034326974706F00002E6D4D204F4E0045444F3A3156414247522000000053CA -:2017C8003A31564173475220000000423A32564162505920000072503A3256417347522072 -:2017D000000000423A33564142475220000056483A33564142475220000000533A335641C4 -:2017D8007347522000000042000000310000003200000033554E454D000000004B434142A7 -:2017E00000000000000050554E574F44000000005446454C00000000484749520000005463 -:2017E8004F464E49000000005F44434C4B4341424847494C000000544B544F4800315945F5 -:2017F0004B544F48003259454B544F48003359450000000000815D500000000100815D5C63 -:2017F8000000000200815D6C0000000300815D780000000400815D880000000500815D9847 -:201800000000000600815DA80000000700815DB80000000800815DC80000000900815DDC2E -:201808000000000A00815DEC0000000B00815DF80000000C00815E0C0000000D00815E1C0C -:201810000000000E00815E240000000F00815E3400815E4400815C4400815E4C00815E5CDB -:2018180000815E6C00815E7C00815C4400815E8800815E9000815E9800815C4400815EA0FC -:2018200000815EAC00815E4400815EB800815EC400815ED000815EE000815EEC00815EFCAC -:2018280000815F0C00815F1400815F2000815F2C00815F3800815F4400815F5000815F5C0C -:2018300000815F6800815F6C00815F7000815F7400815F7C00815F8400815F8800815F90C8 -:2018380000815F9800815FA000815FA800815FB800815FC000815FC8000000202E636552C8 -:2018400031303620000000002E6365523930372000000000008160FC0000200020002CE59B -:20184800E926F4FD38BC20000000000000816108000020002000323EF113FA043B61200014 -:2018500000000000703034324D334C5F05000030177000F0010606A8037C10C40001001280 -:20185800703034324D334C5F03C00031177000F0010604FE035D109300420012703034326E -:201860004D334C5F01400032177000F0010601AA031F103100440011703034324D334C5FB8 -:2018680001000033177000F0010601550319102700480011703034320000000002D00000D4 -:20187000177000F00106035A033C104100500012703838324D334C5F05000030138801205D -:20187800013806A8037C10C400010012703838324D334C5F03C0003113880120013804FEDB -:20188000035D109300420012703838324D334C5F01400032138800F0013801AA031F293156 -:2018880000440011703838324D334C5F01000033138800F00138015503192927004800119B -:20189000703838320000000002D000001388012001380360033C10410050001270343833FB -:201898000000000001F000001686018001A70280033E1D3200500004783034360034383363 -:2018A00002800000157C018001EC032002603F3000100010693038340000000002D00000BC -:2018A800176A00F0020D035A033C104100700012703038340000000002D00000176A01E0F1 -:2018B000020D035A063E1E3C00800014783034360030383402800000177001E0020D0320B0 -:2018B8000260213001000014783034360032313502800000177002000238032002601C3088 -:2018C00000000010693637350000000002D000001388012002710360033C10410070001277 -:2018C800703637350000000002D000001388024002710360063C20410000000478303038B2 -:2018D0000030303603200000177002580274042004801758000000107030323700000000B8 -:2018D80005000000176A02D002EE0672052814FF0000000830383231303237780500000007 -:2018E000177002D002EE0672052814DC000000103432303138363778040000001770030088 -:2018E8000326054006881DA00000001030383231323031780500003417700400042A0698B1 -:2018F000037026F800000010303830310000006907800000176A043804650898052C1094E3 -:2018F80000200008303830310000007007800000176A043804650898052C24BC0000000809 -:201900003032393138303178078000301770043804650898052C2494000000107665642F00 -:2019080061746A2F61755F67305F7472000000007665642F6370652F6F635F716F72746E06 -:2019100072656C6C615F305F6D5F6C7600006D657665642F6C756E2F0000006C00000000E1 -:201918000000000000000000000000000000000000000000000000000000000000000000AF -:201920000000000000000000000000000000000000000000000000000000000000000000A7 -:2019280000000000000000000000000000000000000000000000000000000000000000009F -:20193000000000000000000000000000000000000000000000000000000000000000000097 -:2019380000000000000000000000000000000000000000000000000000000000000000008F -:20194000000000000000000000000000000000000000000000000000000000000000000087 -:2019480000000000000000000000000000000000000000000000000000000000000000007F -:20195000000000000000000000000000000000000000000000000000000000000000000077 -:2019580000000000000000000000000000000000000000000000000000000000000000006F -:20196000000000000000000000000000000000000000000000000000000000000000000067 -:2019680000000000000000000000000000000000000000000000000000000000000000005F -:20197000000000000000000000000000000000000000000000000000000000000000000057 -:2019780000000000000000000000000000000000000000000000000000000000000000004F -:20198000000000000000000000000000000000000000000000000000000000000000000047 -:2019880000000000000000000000000000000000000000000000000000000000000000003F -:20199000000000000000000000000000000000000000000000000000000000000000000037 -:2019980000000000000000000000000000000000000000000000000000000000000000002F -:2019A000000000000000000000000000000000000000000000000000000000000000000027 -:2019A80000000000000000000000000000000000000000000000000000000000000000001F +:2002980000800804D90001042959AD0401800704D8000005D8800045D80000C5D8000085A9 +:2002A000081426C0D809883A014008040184004408100FC0103FEF1E0080004401402074A7 +:2002A800D8800005D900010400800504295BFE8401800404D8800045D80000C5D80000854C +:2002B000081426C0D809883A014005040184008408100FC01004C03A0085C83ADFC04017C4 +:2002B800DEC04104F800283ADEFFFC04DC40011504402074DC8002158C5C0AC4048004044D +:2002C000DC0000158809883A900D883A000B883A04002074DFC00315841BFE8408142940B9 +:2002C8008009883A000B883A900D883A08142940008000448880038580800385DFC0031785 +:2002D000DC800217DC400117DC000017DEC00404F800283ADEFFB60401000434014002C49B +:2002D800D80D883ADFC04915DD404815DD004715DCC04615DC804515DC404415DC00431559 +:2002E0000810088010000226043FFFC400003D06D9004004D80B883A0180020408143B003D +:2002E80001402074D90040042957890401800204081436C01021883A1000311ED8800203AF +:2002F000DD4002830023883AD8804205D8800243DD404285D8804245A8803FCC8880290EF6 +:2002F8008CC400449826923A01400084D80D883A9809883A08100880103FE31EDD000043E9 +:200300009809883AD80D883AA00B883ADC80000308100880103FDC1E90803FCC10000326CA +:2003080000C0004410C008260000130600800804A080111E010020742119AD04D940010441 +:200310000180070400000B0600800504A0800A1E01002074211C0AC4D94001040180040418 +:20031800081426C001002074211BFE84D940010401800404081426C08C400044003FD6069C +:20032000040000448005883ADFC04917DD404817DD004717DCC04617DC804517DC40441750 +:20032800DC004317DEC04A04F800283ADEFFF804DD400515DD000415DCC00315050020B4A6 +:2003300004C0207405402074DC000015DFC00715DD800615DC800215DC4001150021883AD0 +:200338009CD8C604A5052004AD59AD040100207401402074211BF60429578B04018004446A +:2003400008143B008405883A14C5883A1140001701002074211C02840180044408143B0080 +:200348000100207401402074211BF604295C028408131FC00023883A856D883AA080003700 +:2003500010BFFFCCD0A12C151000202614801F2688000E1E0100207401402074211BF604BE +:2003580029578D0401800444B080000D08143B000100207401402074211BF604295C02846C +:2003600008131FC00440004400001006B0C0000B10C00D260100207401402074211BF604C7 +:2003680029578F040180044408143B000100207401402074211BF604295C028408131FC09D +:200370000023883A000001060440008400800084D4A12C17888003260109C4040814C4809A +:20037800003FD606840000840080070480BFBF1EDFC00717DD800617DD400517DD00041733 +:20038000DCC00317DC800217DC400117DC000017DEC00804F800283ADEFFFF04DFC0001573 +:2003880021003FCC20000B1E01000044200F883A000B883A000D883A0812D6800100008419 +:20039000000B883A000D883A000F883A081281000000050601000044000B883A000D883A59 +:20039800000F883A0812D6800009883ADFC00017DEC001040812D08100C0207418D9AD047F +:2003A000D0A12C171940028BDEFFFB04DFC00415DCC00315DC800215DC400115DC000015C5 +:2003A80011420E261940030B114201261940040B1142062618C0038B10C2062621003FCC56 +:2003B00020020D260021883AD0A12B0304C020749CD88604102290FA0480044401002074E3 +:2003B8009C45883A11400117211BF604900D883A08143B009C63883A888000039081DB363F +:2003C000100490BA00C0207418C3C60410C5883A108000171000683A00810F6000810FC096 +:2003C8000081103C00811080008110E400811148008111C0008112500081128C00811320E0 +:2003D00000811380008113E400811444008114A0008114E400811544008115AC008116182F +:2003D8000080207484003FCC00C00104109BFE8480C0051E10C0000319003FCC20000A26C6 +:2003E00018FFFFC40000070600C000C480C0061E10C000030140004419003FCC2900023651 +:2003E8001947883A10C000051080000300C0207418D8B4041085883A1085883A0000790642 +:2003F0000080207484003FCC00C00104109BFE8480C0051E10C0004319003FCC20000A266E +:2003F80018FFFFC40000070600C000C480C0061E10C000430140038419003FCC29000236B6 +:2004000018C0004410C000451100004301409C4421000044081424401009883A0140190418 +:20040800081418400100207401802074211C02840140044431979B040000B706843FFF4440 +:200410000080207484003FCC00C00044109BFE841C00033610C000831807003A10C00085A2 +:20041800108000831000031E018020743197940400014A06018020743197930400014706F8 +:200420000080207484003FCC00C00104109BFE8480C0051E10C0014319003FCC20000A263C +:2004280018FFFFC40000070600C000C480C0061E10C0014301400F8419003FCC2900023678 +:2004300018C0004410C001450100207401802074211C02840140044431979D0411C0014306 +:200438000000BE060080207484003FCC00C00104109BFE8480C0051E10C0018319003FCC70 +:2004400020000A2618FFFFC40000070600C000C480C0061E10C0018301400F8419003FCC31 +:200448002900023618C0004410C001850100207401802074211C02840140044431979D0462 +:2004500011C001830000A5060080207484003FCC00C00104109BFE8480C0051E10C00203BF +:2004580019003FCC20000A2618FFFFC40000070600C000C480C0061E10C0020301400044E7 +:2004600019003FCC290002361947883A10C002051080020300C0207418D8B7041085883A13 +:200468001085883A1885883A1140001701002074211C02840180044408143B0000013106A6 +:200470000080207484003FCC00C00104109BFE8480C0081E10C00243013FFC4419403FCC78 +:200478002940201C297FE00429000C1618FFFFC40000090600C000C480C0081E10C0024300 +:200480000140038419003FCC2100201C213FE0042900021618C0004410C002451100024701 +:200488000141194421000404081424401009883A01401904081418400100207401802074B5 +:20049000211C0284014004443197A00400003206843FFF440080207484003FCC00C00044AF +:20049800109BFE841C00033610C002831807003A10C002851100028301400604081424405C +:2004A00000C0207418D8DB04003FC6060080207484003FCC00C00104109BFE8480C0081E13 +:2004A80010C002C3013FFD8419403FCC2940201C297FE00429000C1618FFFFC40000090615 +:2004B00000C000C480C0081E10C002C3014004C419003FCC2100201C213FE004290002169E +:2004B80018C0004410C002C5110002C7014119C4210002C4081424401009883A01401904D8 +:2004C000081418400100207401802074211C0284014004443197A204100F883A00002F062E +:2004C8000080207484003FCC01000104109BFE848100051E10C0038319003FCC20000926D1 +:2004D00018FFFFC40000060600C000C480C0051E10C0038319403FCC2140023618C00044D0 +:2004D80010C003850100207401802074211C0284014004443197A40411C0038300001706D2 +:2004E0000080207484003FCC01000104109BFE848100051E10C003C319003FCC2000092679 +:2004E80018FFFFC40000060600C000C480C0051E10C003C319403FCC2140023618C0004478 +:2004F00010C003C511C003C30100207401802074211C0284014004443197A40408142B40D0 +:2004F8000000A8060080207484003FCC00C00104109BFE8480C0051E10C0030319003FCC44 +:2005000020000A2618FFFFC40000070600C000C480C0061E10C003030140008419003FCCFD +:200508002900023618C0004410C003051080030300C0207418D8B0041085883A1085883A42 +:20051000003F58060080207484003FCC01000104109BFE848100051E10C0034319003FCC7A +:200518002000092618FFFFC40000060600C000C480C0051E10C0034319403FCC2140023694 +:2005200018C0004410C003451080034300C0207418D8AA041085883A1085883A003F41068B +:20052800843FFF440080207484003FCC00C00044109BFE841C00033610C000C31807003A98 +:2005300010C000C5108000C31000031E01802074319797040000310601802074319796046C +:2005380000002E060080207484003FCC00C00104109BFE8480C0051E10C0010319003FCC7F +:2005400020000A2618FFFFC40000070600C000C480C0061E10C001030140008419003FCCBF +:200548002900023618C0004410C001051080010300C0207418D8BA041085883A1085883AFC +:20055000003F1806008020B41085200410800037044020741080012C8C5BFE841000081E26 +:20055800843FFF4484003FCC0080004414000436890001C32009003A890001C50810E18064 +:20056000888001C31000031E018020743197990400000206018020743197980401002074EE +:20056800211C02840140044400003506843FFF4484003FCC0080004414001B3608106CC0EA +:2005700001002074211BF604014004441000091E018020743197A70408142B40010020743C +:2005780001802074211C0284014004443197AB0400002306018020743197AF0408142B404B +:200580000100207401802074211C0284014004443197B10400001A06843FFF4484003FCC33 +:20058800008000441400062E0100207401802074211C0284014004443197B30400001006BC +:200590000810A08001002074211C0284014004441000031E018020743197B704000008065B +:200598000180207431973804000005060100207401802074211C0284900B883A3197B904D0 +:2005A00008142B400100207401402074211BF604295C0284DFC00417DCC00317DC80021724 +:2005A800DC400117DC000017DEC0050408131FC1D1212B03014004840400004421000044D4 +:2005B000081423C0D0A12B05003DFF06040000C4003DFD0604000104003DFB06D1212B03DA +:2005B800014004840400008421000444081423C0D0A12B05003DF406DFC00417DCC0031722 +:2005C000DC800217DC400117DC000017DEC00504F800283A00C0207418D9AD04D0A12C17D4 +:2005C8001900018BDEFFFE04DFC001151100071ED0A129431005003AD0A12945100006265D +:2005D000010000440810E78000004F061900020B1100071ED02129450100207401402074CD +:2005D800211BFA44295C0F0408131FC0000046061900048B1100211E00802074109C0704E8 +:2005E000110002C7014007040814244001C02074010020740180207439D8E704211BF60424 +:2005E800014004443197BD04388F883A08142B40008020B41085140411C000371080003701 +:2005F000010020741005D43A01802074211C0284108000CC01400444D88000153197C0047D +:2005F80039FFFFCC08142B400100207401402074211BF604295C0284003FDB061900050B65 +:200600001100061E00C020B418C52404188000371080009C1880003500001B061900058B7A +:200608001100061E00C0207418DBFE84188000031005003A18800005000013061900060B0A +:200610001100071E00C0207418DBFE841880004311003FCC20000C2610BFFFC400000906E1 +:2006180018C0068B10C0081E00C0207418DBFE84188000430140038411003FCC290002367A +:200620001080004418800045D0A12A171000081ED0A12E17108000AC1000052600C02074A0 +:2006280018DBFE84188000031005003A18800005D0A12943100004260009883ADFC001171D +:20063000DEC002040810E781DFC00117DEC00204F800283ADEFFFB0400C0207418DC0704A2 +:20063800DCC00315DC800215DC400115DC000015DFC00415188002832021883AD12001048A +:200640001085883A1085883A2085883A190002C7014007041C80011714C000170814244038 +:2006480000C0207418D8EB0410C5883A84003FCC1440000B8000311ED0A1290300C003C4E7 +:2006500010BFFFC410803FCC18804536100490BA00C0207418C6590410C5883A108000171F +:200658001000683A008119EC008119EC00811A60008119DC00811A6000811A6000811A6062 +:20066000008119D000811A6000811A6000811A6000811A6000811A6000811A6000811A6033 +:20066800008119A49809883A900B883A081423401009883A897FFFCC0814244000C072B4E1 +:2006700018F0DFC418800236010003C4000001060009883A0813A240000019060009883A6E +:200678000813A24001000044000016060009883A0813A2400009883A000012060080207445 +:20068000109BFE8410C00343044000841021883A1C4002260009883A00000106010003C43E +:200688000813A2408100034320803FCC8880042E008001441109C83A21003FCC0000010695 +:20069000010000C4DFC00417DCC00317DC800217DC400117DC000017DEC0050408134B81EB +:20069800DFC00417DCC00317DC800217DC400117DC000017DEC00504F800283ADEFFF9045B +:2006A00000C020B4DFC00615DD400515DD000415DCC00315DC800215DC400115DC00001575 +:2006A8000089C40418C5140419400037054020B4AD4514042800020E10BFFFC4103FFA1E08 +:2006B00021003FCC0813FEC0A8C0003704002074841C0704810003031825D43A10C03FCC96 +:2006B8002000051E18000F2680800305D02126050440010400000D0618000A1ED0A1260338 +:2006C0000440010410C03FCC88C0032ED0212605800003050000050610800044D0A126055E +:2006C80000000106D02126050023883A01000DC408135A8001000E041027883A08135A8042 +:2006D00010C003CC1806923A1028D17A1004D1BA1CE6B03AA500004C1080004C808002455F +:2006D800A88000370100008490C03FCC19000926010000441900081E9906983A10BFFFCCEC +:2006E00018FFFF841880042E1027883A0029883A000001060500004401000E4408135A801A +:2006E80001000E84102B883A08135A8004802074A1003FCC1007883A949BFE8420000226D7 +:2006F00000803204000001060080640414C0422E18C003CC1806923A8080000F1D6AB03AF0 +:2006F80098FFFFCC18E0001C18E000041887C83A1800010E00C7C83A0080004410C006162F +:2007000080C00117A8C0041E00C0207418DC070418C0020320C00226D0212B8500000B060D +:20070800D0E12B8319003FCC2080082618C00044D0E12B8518C03FCC1880041E88C03FCC13 +:20071000008000841880012E1023883A90C000C3808004831880071E00802074109BFE8471 +:2007180010C0010300802074109C0704108004C31880042688C03FCC008000841880012EEB +:200720001023883A90C00203808005C318800F2600802074109C0704110002C701400704E9 +:200728000814244000C0207418D8ED0410C5883A1080008B1080600C1000042688C03FCCC1 +:20073000008000841880012E1023883A84C00015854001158500020591400003810003C30E +:2007380000C020740080207418DBFE84109C070429000C1E19400043110004032900091EB6 +:2007400019400083110004432900061E19400143110005032900031E18C0018310800543E4 +:200748001880032688803FCC1000011E04400044910002438080060720C03FCC18C0201C24 +:2007500018FFE004188003262100040421003FCC0813AC00910002C38080068720C03FCCE3 +:2007580018C0201C18FFE00418800326210002C421003FCC0813B6809100038380800743EC +:200760002080071E00802074109BFE8410C003C300802074109C0704108007831880022638 +:20076800914003C30813728091000283808006432080062601400604081424400100207442 +:200770002118DB042089883A081390C091000343808007032080012608118D409100030356 +:20077800808006C3208001260813A6C00100207401402074211C0AC4295BFE84018004044C +:20078000081426C08805883ADFC00617DD400517DD000417DCC00317DC800217DC400117BC +:20078800DC000017DEC00704F800283ADEFFF904DC40011504402074DC800215DFC006154A +:20079000DD400515DD000415DCC00315DC0000158C5C07048D0002C70480207401400704CA +:20079800A009883A081424409498E7049085883A10C0068B188003CC100006268C00044391 +:2007A00000800084888003458020C03A8020907A0000070618C0040C1800032600800044A7 +:2007A8008880034500000106880003458C0004438CC00343888004C3A009883A982697BA5C +:2007B0001004973A0140070498A6B03A0814244088C005039085883A10800503180695BA24 +:2007B800A009883A98A6B03A0140070498E6B03A081424409085883A1080028B00C020B4D2 +:2007C00018C51C04100492BA9884B03A188000358CC003C39800251E0029883A8940040341 +:2007C80088C005438D4002C7280A967A180694FAA809883A28E2B03A0140070408142440CA +:2007D0009085883A10C00543A809883A0140070488E2B03A081424409085883A10C0030BD2 +:2007D800180691FA88C8B03A80C03FCC180694FA20E0B03A84E0B03A00C020B48504B03AE8 +:2007E00018C5180418800035DFC00617DD400517DD000417DCC00317DC800217DC400117E7 +:2007E800DC000017DEC00704F800283A9CFFFFC4982697BA05200034003FD806DEFFF70440 +:2007F000DC00031504002074841C0704DC4004158440011700800044DFC00815DD00071528 +:2007F800DCC00615DC800515D0A12B8588001F2684C0001798001D2680800283D0E0010456 +:20080000880B883A1085883A1085883A1885883A15000017A009883A081423401025883A69 +:2008080080800203A009883A0140190410000626081424401009883A880B883A0814234097 +:200810001009883A00000506081424401009883A880B883A081423401089883A980B883AF3 +:20081800081423401023883A000002060445DC04048F550401000EC408135A8001000F0453 +:2008200008135A8080C00383008020741098BE0418C7883A18C7883A10C7883A808002039F +:2008280019C0001780C000171000021E00801A440000010600801C0401002074018020740A +:20083000D8C000153197C404211BFA4401400444D880011508142B408809883A01401904C2 +:20083800081423409009883A0140FA041027883A081423409009883A0140FA041029883A7A +:20084000081423C01009883A01400284081423408809883A01401904D8800015DCC00115A8 +:20084800081423C00100207401802074D8800215211C0F04014004443197C604A00F883A9C +:2008500008142B40D0A129431000051E0100207401402074211BFA44295C0F0408131FC07B +:20085800808004838100001781400203D8800015808004C3D1E12D03980D883AD8800115B0 +:20086000808005C3044020748C5C0704D88002150814034011003FCC2100201C213FE0045A +:2008680000FFFFC420C0011E00800104888002C5844002C701400704048020748809883A17 +:200870000814244000C0207418D8ED0410C5883A11400003D0E12D0380800203949C0704A7 +:2008780028CA703AD161290529403FCC10000226918000170000020690C00017180CD07AB3 +:20088000808002838809883A99C03FCCD880001580800743D880011580800783D8800215FE +:200888000813BB408100070308118D40DFC00817DD000717DCC00617DC800517DC400417A8 +:20089000DC000317DEC009040811E2C1DEFFFD04DC000015040020B4DC400115DFC002155C +:20089800044000C4840524048440003580000035008020B410851C0410000035008020B437 +:2008A00010851804100000350109C4040814C48084400035010000F4210350040814C4804A +:2008A800010020B401406734018001B421050804297F30043186A0040815540008130CC088 +:2008B00008134400100025260009883A08135A8000C03FC410C023260813B0C001000084C2 +:2008B80008129C4010803FCC00C004C410C01F1E0812AB40081005C01021883A10001D1EDA +:2008C0000810AE800810B540008020B41085200410C000370440207418C0012C8C5C0704E1 +:2008C800180005260100207400C00044211BFE8488C0058520C001C510800037108000ACFB +:2008D0001000011E0810CAC00009883A0810E180890005830810E18000000706043FFF8496 +:2008D80000000506043FFF4400000306043FFF0400000106043FFFC48005883ADFC0021714 +:2008E000DC400117DC000017DEC00304F800283ADEFFFF04DFC000150811FBC008136DC022 +:2008E80000802074109C070411000583DFC00017DEC001040810E181DEFFF604DFC0091525 +:2008F000DDC00815DD800715DD400615DD000515DCC00415DC800315DC400215DC00011538 +:2008F800081224C010002116D0A00003D1E126430100207401802074211BFA440140044460 +:200900003197CC04D880001508142B400100207401402074211C0F042957D804018004446C +:20090800081426C00100207401402074211BFA44295C0F0405C020B4054020740400207447 +:200910000580207408131FC00029883A0025883A0023883A0027883ABDC52004AD59AD04B7 +:20091800841C0704B598BE0400002D060100207401802074211BFA44014004443197D10488 +:20092000100F883A08142B400100207401402074211C0F0429579C040180044408143B0055 +:200928000100207401402074211BFA44295C0F0408131FC0003FFF06113FFF8421003FCCF6 +:20093000014000C429001F2ED1212B4311001D26D0A12C17A900000B11001C1E808003833F +:200938001080006010800044D1212A1720002A2680C0038311003FCC20C0311E01004B04D7 +:200940000814C48008117140A0803FCC10008C1ED0A12E17D0A12A15D0A12F03D0A12B459E +:20094800B880003710FFFFCCD0E12C150086303A1004D63A190000ECD1212E15D0A12F0561 +:20095000103FDD1ED0212C15003FE106A900008B1100041E80800383108000E0108000C434 +:20095800003FE106A900010B1100071E81000383008001442080062601400184217FDA1E78 +:20096000008001C4003FD8060005883A003FD60600800184003FD40618C0006C183FD42680 +:200968008080038300C001C411003FCC20C0022610800044003FCE0600800044003FCC0684 +:2009700010FFFFC418C03FCC0140018428C03036180690BA0100207421097A041907883A17 +:2009780018C000171800683A00812604008126140081262C0081263C00812650008126609C +:200980000081267800C003C4D0E12D050025883A0000030600C003C4D0E12D05048000846C +:20098800044000440027883A00001A0600C003C4D0E12D05048000C40000030600C003C47C +:20099000D0E12D05048000840023883A003FF50600C00404D0E12D050480004400000306C1 +:2009980000C003C4D0E12D050025883A044000848827883A000007060480008400C003C419 +:2009A000D0E12D059023883A9027883A00000106203F9A2681400703808003858000030565 +:2009A80028803FCC00C0004489003FCC1880042E00800144114BC83A29403FCC000001067C +:2009B000014000C4081352C0081369008180028399003FCC91403FCC0813EA808080038360 +:2009B80001002074211BFA441085883A1085883AB085883A114000170180044480000115A4 +:2009C00008143B000100207401402074211C0F042957D5040180044408143B00D0A12943B0 +:2009C8001000051E0100207401402074211BFA44295C0F0408131FC005000044003F6F0669 +:2009D00099003FCC0811A7C010803FCC00C0008410C0272600C0010410C0032600C0004425 +:2009D80010FF6B1E00002606808003031000072600C020B418C524041880003710800114EB +:2009E0001880003508123900003F610680000115081369008080038301002074211BFA4482 +:2009E8001085883A1085883AB085883A114000170180044408143B00010020740140207458 +:2009F000211C0F042957D5040180044408143B00D0A12943103F4E1E01002074014020741C +:2009F800211BFA44295C0F0408131FC0003F480680800303103F46260811FBC0003F440628 +:200A000080800303103F42260811E2C0003F4006DEFFFB0400BFE084D88000050080008479 +:200A0800D880004500800344D8800085DFC0041529403FCC008000442880042600800084C7 +:200A10002880041E008014040000030600800C040000010600800404D88000C5D88000C304 +:200A180031803FCC10800094D88000C53000022600800804000001060080040439C03FCC4A +:200A200010C002143800022600BFE00400000106008010041884B03AD8800105D9000185EF +:200A28000080020401000044D80B883AD8800145D80001C5D8000205D8000245D8000285A5 +:200A3000D80002C5D8000305D8000345D8000385D80003C50812BD80DFC00417DEC005044F +:200A3800F800283ADEFFFC04DC000015040020B484050804DC80021504801304DC400115C9 +:200A4000900B883A2023883A000D883A8009883ADFC0031508155B408009883A89403FCC8C +:200A4800000D883A08156180044000448009883A900B883A880D883A08155B408009883A37 +:200A5000880B883ADFC00317DC800217DC400117DC000017DEC0040408155EC1DEFFFC041D +:200A5800DC000015040020B484050804DC800215DC4001152025883A2823883A8009883A1C +:200A600001401304000D883ADFC0031508155B408009883A91403FCC000D883A08156180EC +:200A68008009883A89403FCC01800044DFC00317DC800217DC400117DC000017DEC004048F +:200A700008156181DEFFFF0421003FCCDFC0001508128E40DFC00017DEC00104F800283A0C +:200A7800DEFFFF0421003FCC29403FCCDFC00015081295C00005883ADFC00017DEC001049B +:200A8000F800283ADEFFFB04DCC00315DC800215DC400115DC000015DFC004152827883A0D +:200A88003023883A2025883A0021883A8440070E9C05883A114000038489883A21003FCCC4 +:200A9000081295C084000044003FF8060005883ADFC00417DCC00317DC800217DC400117F2 +:200A9800DC000017DEC00504F800283ADEFFFF040140FA04DFC00015081424401009883A1C +:200AA000DFC00017DEC001040814C481DEFFFF04010003C4000B883ADFC0001508129E009B +:200AA80001001844000B883ADFC00017DEC0010408129E01DEFFFD04DC000015040020748B +:200AB000841C14048140008301000144DFC00215DC40011508129E0080800083810003033A +:200AB80000FFFEC41004D1FA20C6703A044001041085883A1085883A1884B03A8809883A1E +:200AC00001400F448080030508129E00010000440812A6C08809883A0140074408129E0066 +:200AC8000100184401400C0408129E000100024401402C8408129E000100028401403E04AE +:200AD00008129E00010002C401400DC408129E00010003C4000B883A08129E0001003244F9 +:200AD800000B883A08129E0001003284000B883A08129E00010032C4000B883A08129E00C1 +:200AE00001003304000B883A08129E0001003344000B883A08129E0001003384000B883AB7 +:200AE80008129E00010033C4000B883A08129E0001003404000B883A08129E008140010336 +:200AF00001003844DFC00217DC400117DC000017DEC0030408129E01DEFFFE04DFC0011598 +:200AF800DC00001521003FCC2000031E01003344000B883A00003C062821883A28003D2663 +:200B0000010003C40140004408129E00814000C30100160408129E00814001030100164459 +:200B080008129E00814001430100168408129E0081400183010016C408129E00814001C360 +:200B10000100170408129E00814002030100178408129E0081400243010017C408129E003D +:200B1800814002830100180408129E00814002C30100184408129E008140030301001884A3 +:200B200008129E0081400343010018C408129E00814003830100190408129E00814003C3BD +:200B28000100194408129E00808000C4000B883A8400040410C000031080004428CBC83ADE +:200B3000143FFC1E29401BC40100174429403FCC08129E00010003C4000B883A08129E001B +:200B380001003344014000C408129E0000800044000001060005883ADFC00117DC0000172C +:200B4000DEC00204F800283ADEFFFD04DC000015000B883A2021883A010003C4DFC002157A +:200B4800DC40011508129E00044030448809883A08129C4084003FCC800AC03A10803F8C34 +:200B50008809883A114AB03A08129E0001003184014000C4DFC00217DC400117DC0000179B +:200B5800DEC0030408129E01DEFFF904DD000415DC800215DC4001152025883A2823883A96 +:200B6000010001040140074405002074A51C1404DCC00315DC000015DFC006153821883AF7 +:200B6800DD4005153027883A08129E00A0C0030381C0004C00BFFF441884703A39CF883A60 +:200B700011CEB03AA1C00305A08003171080008C10000226010000440812D08001001C04D5 +:200B7800A40000C308129C40108000CC8D4000CC01000044100B883AA90005260100008490 +:200B8000A900041E00FFE00410CAB03A00000106114010148080020C10000126294008149D +:200B88008080004C10000126294004148080008C10000126294002148400010C80000126CF +:200B90002940011401001C0429403FCC08129E00A800141E9CC000CC00800044988009266D +:200B980098003E260080008498800E1E88803FCC1080201C10BFE00410000D160027883A4B +:200BA00000000C0688803FCC1080201C10BFE0048CC0100C1000070E00BFE80414E6B03A75 +:200BA800000004060021883A0027883A00002D0604FFE8048C400C0C008008048880142683 +:200BB00000800C0488800A26008004048880181E01001CC4D1600304018000C40812A0403F +:200BB8000140207401001D842959B4040000170601001CC4D16003C4018000C40812A04037 +:200BC0000140207401001D842959B88400000F0601001CC4D16003C4018000C40812A040B3 +:200BC8000140207401001D842959C1840000070601001CC4D1600304018000C40812A0406A +:200BD0000140207401001D842959BD04018004840812A04004000084000002060027883ACF +:200BD8000021883A01001C8408129C401080070C9C20B03A140AB03A01001C8429403FCC1D +:200BE00008129E00A0800317010030041080008C100002260140004400000106000B883A21 +:200BE80008129E00010001040140054408129E00010018440140040408129E0094803FCC70 +:200BF00000800084010018849080081E0140220408129E00010018C40140040408129E0011 +:200BF8000100190401402104000007060140060408129E00010018C40140040408129E006B +:200C0000010019040140030408129E00010000440812A6C00100010408129C401140074C51 +:200C08000100010408129E00010019040812A6C00100010408129C40010001041140054CCC +:200C100008129E00040019040100038408129C401080040C1000061E010000440812A6C0D4 +:200C180080BFFFC41021883A10BFFFCC103FF61E01000304000B883A08129E0001000344F5 +:200C20000140100408129E00010003840140004408129E0001000384000B883A08129E00D5 +:200C28000812A8C000800044DFC00617DD400517DD000417DCC00317DC800217DC4001171A +:200C3000DC000017DEC00704F800283ADEFFFA04DC800215048020B4DFC00515DD00041559 +:200C3800DCC00315DC400115DC0000159485100490000035044005048809883A040020B45B +:200C4000840508040814C4808009883A01400E04081567408809883A0814C4808009883A3F +:200C480001400E44081567408809883A0814C480880B883A8009883A081567408809883ACB +:200C50000814C4808009883A01401C44081567408809883A0814C4808009883A014017849A +:200C5800081567408809883A0814C4808009883A01401B44081567408809883A0814C480A3 +:200C60008009883A01400304081567408809883A0814C48004C00044980B883A8009883AB2 +:200C6800081567400500C804A009883A0814C4808009883A01400184081567408809883AE4 +:200C70000814C4808009883A0140008408156740A009883A0814C48094C00035DFC0051721 +:200C7800DD000417DCC00317DC800217DC400117DC000017DEC00604F800283ADEFFFA0435 +:200C8000DC000015040020B4DCC00315DC800215DFC00515DD000415DC4001152027883A7A +:200C88002825883A8405100480000035010020B40140004421050804081567400100C804CE +:200C90000814C48000800084808000359809883A0140040408143FC01007883A10803FCC70 +:200C98001000061E014020749809883A2958D4040180044408143B0000C000449829883AD0 +:200CA0001C403FCCA1400007010020B42105080408156740010005040814C480A5000044C7 +:200CA800A4C5C83A10803FCC147FF63680000035010020B401403004210508040815674072 +:200CB000010005040814C48000800084808000359009883A0140040408143FC01007883AE9 +:200CB80010803FCC1000061E014020749009883A2958D4040180044408143B0000C00044A0 +:200CC0009027883A1C403FCC99400007010020B42105080408156740010005040814C4801F +:200CC8009CC000449C85C83A10803FCC147FF636008000C480800035DFC00517DD000417C3 +:200CD000DCC00317DC800217DC400117DC000017DEC00604F800283ADEFFFB04DC000015E3 +:200CD800040020B484050804DC80021504800B04DCC00315900B883A2027883A000D883AA0 +:200CE0008009883ADFC00415DC40011508155B40044000448009883A99403FCC880D883AF9 +:200CE800081561808009883A900B883A880D883A08155B408009883A880B883ADFC00417DD +:200CF000DCC00317DC800217DC400117DC000017DEC0050408155EC1DEFFFC04DC000015E1 +:200CF800040020B484050804DC800215DC4001152025883A2823883A8009883A01400B041B +:200D0000000D883ADFC0031508155B408009883A91403FCC000D883A081561808009883A56 +:200D080089403FCC01800044DFC00317DC800217DC400117DC000017DEC004040815618138 +:200D1000010020B4DEFFFD04000D883A000B883A21050804DFC00215DC400115DC00001569 +:200D180008156180010002840814C48004000604044000448809883A800B883A08133D80C8 +:200D2000800B883A0100008408133D80800B883A010000C408133D808809883A08133580FC +:200D28001405003ADFC00217DC400117DC000017DEC00304F800283ADEFFFC04DC4001156B +:200D30002023883ADC8002158C403FCC048000449009883A882290FADFC00315DC00001555 +:200D380008133580043FF9C41404703A1460B03A84003FCC9009883A800B883A08133D809C +:200D4000800B883A0100008408133D80010000C4800B883ADFC00317DC800217DC40011775 +:200D4800DC000017DEC0040408133D81DEFFFD04DC4001152023883A01000044DC000015CE +:200D5000DFC00215043FF604081335801420703A89003FCC008000842080021E84000054B2 +:200D5800000003062008917A2080011480A0B03A84003FCC800B883A0100004408133D8087 +:200D6000800B883A0100008408133D80010000C4800B883ADFC00217DC400117DC000017D8 +:200D6800DEC0030408133D81DEFFFB04DC000015040020B484050804DC80021504801704A1 +:200D7000DCC00315900B883A2027883A000D883A8009883ADFC00415DC40011508155B408D +:200D7800044000448009883A99403FCC880D883A081561808009883A900B883A880D883A50 +:200D800008155B408009883A880B883ADFC00417DCC00317DC800217DC400117DC000017EF +:200D8800DEC0050408155EC1DEFFFC04DC000015040020B484050804DC800215DC40011588 +:200D90002025883A2823883A8009883A01401704000D883ADFC0031508155B408009883AFF +:200D980091403FCC000D883A081561808009883A89403FCC01800044DFC00317DC80021780 +:200DA000DC400117DC000017DEC0040408156181DEFFFE04DC0000150409C4048009883A77 +:200DA800DFC001150814C480014004C401000584081362808009883A0814C480010005C411 +:200DB000014000C4081362808009883ADFC00117DC000017DEC002040814C481DEFFFE0448 +:200DB800DC0000150409C4048009883ADFC001150814C480014004440100058408136280E5 +:200DC0008009883A0814C480010005C401400084081362808009883ADFC00117DC000017E7 +:200DC800DEC002040814C481DEFFFE04DC0000152821883A21403FCC01000484DFC0011581 +:200DD00008136280010004C481403FCCDFC00117DC000017DEC0020408136281DEFFFA044A +:200DD800DC0000152021883A01000104DD000415DCC00315DC8002153829883ADFC0051508 +:200DE000DC4001152827883A3025883A08135A8000FFFE04A5003FCC10C4703AA0000626A9 +:200DE8001080005411403FCC01000104081362808423883A0000040611403FCC01000104D3 +:200DF0008023883A081362808C7FFFCC880AD13A0100004429403FCC08136280880A913AFB +:200DF8000100008429403C0C08136280993FFFCC91403FCC081424401009883A880B883A79 +:200E0000081424401009883A0140FA040814234000E327D41880092E00C0007418C45BC4DD +:200E08001880082E00C000B418C3D5C41885403A00C000C41885C83A000003060005883A0A +:200E1000000001060080004414003FCCD0A004841405883A1100000301400A040814244022 +:200E18008808D07A880B883A1109883A08141840100B883A00C001C410803FCC1880012E77 +:200E2000180B883A29403FCC800491BA280A90FA010000C4288AB03A29403FCCDFC005173E +:200E2800DD000417DCC00317DC800217DC400117DC000017DEC0060408136281DEFFFE04DB +:200E3000DC0000152021883A01000684DFC0011508135A80017FFE8484003FCC00C00044E4 +:200E38001144703A80C0021E10800094000001061080029411403FCC01000684DFC001174C +:200E4000DC000017DEC00204081362812140028BDEFFFE04DC000015280AD23A2021883AFE +:200E4800010012C4DFC00115081362808140028301001284081362808140030B0100134400 +:200E5000280AD23A081362808140030301001304081362808140038B010013C4280AD23A06 +:200E5800081362808140038301001384081362808140010B01001444280AD23A0813628040 +:200E60008140010301001404081362808140018B010014C4280AD23A0813628081400183F1 +:200E680001001484081362808140020B01001544280AD23A08136280814002030100150491 +:200E7000081362808140040B010015C4280AD23A0813628081400403010015840813628021 +:200E78008140048B01001644280AD23A081362808140048301001604081362808140050B43 +:200E8000010016C4280AD23A081362808140050301001684DFC00117DC000017DEC002048A +:200E880008136281DEFFFD04DC00001504000FC4DC4001152023883A8009883ADFC002156E +:200E900008135A8000FFFC0410C4703A888AB03A8009883A29403FCCDFC00217DC40011729 +:200E9800DC000017DEC0030408136281DEFFFD04DC40011504400684DC0000152021883AD2 +:200EA0008809883ADFC0021508135A8081403FCC00C000C4194BC83A280A91BA10800FCC96 +:200EA8008809883A114AB03A29403FCCDFC00217DC400117DC000017DEC00304081362819C +:200EB000DEFFFD04DC0000152021883ADC40011584003FCC044001048809883A802090FAC9 +:200EB800DFC0021508135A80108001CC140AB03A8809883A29403FCCDFC00217DC40011757 +:200EC000DC000017DEC0030408136281DEFFFF04DFC0001508136900000B883A01000D4445 +:200EC80008136280010020742118DB04081390C0010004040813AC000009883A0813A2405D +:200ED0000009883A0813A6C001000F4401400184081362800100044401401104DFC000174A +:200ED800DEC0010408136281DEFFFD04DC0000152021883ADC40011584003FCC044004047A +:200EE0008809883A802090FADFC0021508135A80108001CC140AB03A8809883A29403FCC9E +:200EE800DFC00217DC400117DC000017DEC0030408136281DEFFF904DC4001152023883A57 +:200EF000D9000703DC0000152821883ADD400515DD000415DCC00315DC800215DFC00615F5 +:200EF800302B883A3829883ADCC00817DC800917843FFFC408138BC080803FCC00C003C4E5 +:200F000018802836100490BA00C0207418CF070410C5883A108000171000683A00813C5C2E +:200F080000813C7400813CA400813C7400813CA400813CA400813CA400813C8C00813CA439 +:200F100000813CA400813CA400813CA400813CA400813CA400813CA400813C740100014404 +:200F1800014000840813628001000184200B883A00000B060100014401400184081362806A +:200F20000100018401400404000005060100014401400C84081362800100018401400804F0 +:200F280008136280010006C4014022040813628001000704014002040813628001000284A6 +:200F30000140068408136280010002440140068408136280010002040140068408136280FB +:200F380080803FCC00C003C418802236100490BA00C0207418CF410410C5883A10800017FB +:200F40001000683A00813D4400813D5400813D7400813D5400813D7400813D7400813D74F1 +:200F480000813D6400813D7400813D7400813D7400813D7400813D7400813D7400813D7409 +:200F500000813D5401000C44014002440813628000002D0601000C440140060408136280CE +:200F58000000040601000C44014016840813628000001F0684003FCC008003C414002836D9 +:200F6000802090BA00802074108F660480A1883A808000171000683A00813E0800813E0830 +:200F680000813E2000813E0800813E2000813E2000813E2000813DF000813E2000813E20BA +:200F700000813E2000813E2000813E2000813E2000813E2000813DD801000884014003049B +:200F78000813628001000D04014000C400000B0601000884014002040813628001000D0451 +:200F8000014003840000050601000884014002040813628001000D04014022040813628037 +:200F88008C403FCC8C40201C8C7FE0048809883A0140070404002074081424408418E7043D +:200F90008087883A19C0068B1900040BA1803FCC39C0100C380EC03AA97FFFCC081375C022 +:200F980099003FCC91403FCC081372808809883A01400704081424408085883A11400583ED +:200FA000010001C4DFC00617DD400517DD000417DCC00317DC800217DC400117DC0000172C +:200FA800DEC0070408136281DEFFFC0429FFFF84DC800215DC400115DC000015DFC00315AD +:200FB00039C03FCC008000443025883A24403FCC2C003FCC11C00436008000848880071E60 +:200FB8008805883A000008068800061E8005003A00C000841885C83A000003060005883A9E +:200FC0000000010600800084880A913A8C47883A10803FCC18CF883A100491BA29C6B03A98 +:200FC80020CAB03A288AB03A0100064429403FCC0813628091003FCC0480008408138BC0D3 +:200FD0009400032E008000C480800526000009060100040401401604081362800000050652 +:200FD8000100040401401744081362808C800B1E000007068C80091E84400826008000442C +:200FE0008080031E01000384014014840000050601000384014014C4000002060100038433 +:200FE800014016C4081362800100050408135A80008000C4010006048080021E014004041A +:200FF00000000106000B883A0813628001000D84000B883ADFC00317DC800217DC4001174F +:200FF800DC000017DEC0040408136281DEFFFE04DC0000152021883A01000504DFC00115B0 +:2010000008135A8084003FCC00C0008480C0031E1080260C10802048000002061004D07A87 +:201008001080004CDFC00117DC000017DEC00204F800283ADEFFFE04DAC0030302800044FF +:20101000DC00001552D6983ADA400403DC00020302002074DC4001154218ED040005883AF9 +:20101800037FFEC40380008403FFFBC429403FCC030006844180008B40C000033440200CBC +:20102000880005264800021E78C6703A000009064B80081E000006063440400C880005262E +:201028004800021E68C6703A000002064A80011E0007883A19C6703A18C03FCC18000C26F8 +:2010300030C0080C1807003A28C0091E40FFFE8B18C0078419000636318003CC800003268B +:2010380030FFFFCC180001261AC007263000062610C000441805883A18C03FCC42000704D9 +:201040001B3FDC1E00BFFFC4DC400117DC000017DEC00204F800283A2900182E28001716D1 +:201048000080080400C00044000002061000112628000516294B883A10BFFFC418C7883AFD +:20105000293FFA3618000B260005883A214002362149C83A10C4B03A1806D07A280AD07A31 +:20105800183FFA1E3000011EF800283A2005883AF800283A0005883A003FFA0600C0004415 +:20106000003FF106DEFFFE04DFC00115DC00001520000B160021883A28000C16000D883A78 +:20106800081411800407C83A1884F03A1405883ADFC00117DC000017DEC00204F800283A65 +:201070000109C83A04000044283FF40E014BC83A8400005C003FF106DEFFFD04DFC00215AB +:20107800DC400115DC00001520000C160023883A0021883A28000D1601800044081411806E +:201080001404F03A8885883ADFC00217DC400117DC000017DEC00304F800283A0109C83A55 +:2010880004400044043FFFC4283FF30E014BC83A003FF106000D883A08141181018000448C +:20109000081411810005883A2000072620C0004C2008D07A180001261145883A294B883A53 +:20109800203FFA1EF800283AF800283A2005883A0007883A1980062628C9883A21C0000301 +:2010A00010C9883A18C0004421C00005003FF906F800283A2005883A2007883A218D883ABB +:2010A800198003261940000518C00044003FFC06F800283ADEFFF504DFC00915DC40081585 +:2010B000DC000715D9C00A1500802074109ABB04144000172800040E008022C488800015CB +:2010B80000BFFFC400001C0600C08204D8C0000DD9000415D90002152800022628FFFFC46D +:2010C000000001060007883AD8C00515D8C003151100001700FFFFC4D8C0008D00C020747B +:2010C80018D27E042821883AD9C00A04D80B883AD8C00115D8000615081448C000FFFFC4BE +:2010D00010C0020E00C022C488C0001580000226D8C0041718000005DFC00917DC400817AB +:2010D800DC000717DEC00B04F800283A30000E2631BFFFC4218D883A2080000728C00007DA +:2010E00010C0011E2180041E2080000328C0000310C5C83AF800283A103FFB2621000044AA +:2010E80029400044003FF4060005883AF800283A2005883A2007883A1809883A30000926CF +:2010F00029C0000331BFFFC418C0004421C0000539C03FCC39C0201C39FFE004294000443D +:2010F800383FF51E198D883A198003261800000518C00044003FFC06F800283A214B883A22 +:201100002005883A1140021E1105C83AF800283A10C00007183FFC2610800044003FF906A3 +:20110800DEFFFB04DC800315DC400215DC000115DFC004152025883A2823883AD980000528 +:201110003821883A04000A0E888001179009883A880B883AD80D883A01C00044103EE83A9C +:20111800843FFFC4103FF72600BFFFC4000001060005883ADFC00417DC800317DC40021710 +:20112000DC000117DEC00504F800283ADEFFE304D8C00804DF001B15DDC01A15DD801915EC +:20112800DD401815DD001715DCC01615DC801515DC401415DC001315DFC01C152029883AE3 +:201130002823883A3839883AD9800F150021883AD8000E15002F883A002B883A0027883A3D +:201138000025883AD8000C15D8000B15002D883AD8C00915D8C00F171900000320803FCC95 +:201140001080201C10BFE00410012E2601400044B14014262D800216B0000626000125062E +:2011480001400084B1401D26014000C4B1402B26000120060140094411410D2688800117ED +:20115000D9000005880B883AA009883AD80D883A01C00044103EE83A1000E81E84000044E7 +:201158000001140601400C0411410A260140094411400A1ED880000588800117A009883A9A +:20116000880B883AD80D883AB00F883A103EE83A1000DA1E840000440001050625BFF404CA +:20116800B5803FCC00C002441D80093600BFFFC4908004269009883A0140028408142440E7 +:20117000000001060005883A15A5883A0000F20601400B841140F42605800084213FF40481 +:2011780020C03FCC0100024420C00B3600BFFFC4988006269809883A01400284D8C0111556 +:2011800008142440D8C01117000001060005883A10E7883A0000E70601401B041140E026E4 +:20118800013FFFC499000226D8000B150000010604C0004401001A44110016262080091611 +:20119000010018C4110096260100190411001126010016041100D61E00C00044D8C00E1550 +:201198000000140601001CC41100A6262080041601001BC41100CE1E0540020400000E0669 +:2011A00001001D4411000C2601001E04110009260000C706E0800104B8000726D8800D1596 +:2011A800E7000017E000080E0739C83A020000440000060605400404E0C00104D8C00D15F3 +:2011B000E7000017002F883A0011883A002D883ADD87883AE0001A26E009883AA80B883A08 +:2011B800D8C01115DA00121508142340A809883A100B883AD880101508142440E085C83A25 +:2011C00001000244D8C01117D9801017DA0012172080021617000C0400000506D9400E175D +:2011C8002800022617000DC400000106170015C41F000005B58000443039883A003FE406E7 +:2011D0001EC5C83AD8800A159885C83A1839883A00800E0E182D883A1885883A01000C045E +:2011D800D9400917B007883AB140052EB580004419000005B039883AB0BFF91E0000010652 +:2011E000B039883AB6EDC83ADD800A15D8800A171207883A90EDC83AD8C00B171800172641 +:2011E80040000A2600800B44D880080588800117A009883A880B883AD980080401C00044F9 +:2011F000103EE83A10004D1E840000440580070EA009883A880B883A01800C04B00F883AC0 +:2011F800081442001000451E85A1883AD9000A17E007883A272DC83A000022060580090E61 +:20120000A009883A880B883A01800804B00F883ADA00121508144200DA0012171000371E39 +:2012080085A1883A403FF12600800B44D880080588800117A009883A880B883AD9800804CF +:2012100001C00044103EE83A10002C1E84000044003FE60618FFFFC418800003A009883A1C +:20121800D8C01115D880080588800117880B883AD980080401C00044103EE83AD8C0111784 +:2012200010001E1E80C5C83A1D89883AE085883A013FF0161021883ADF000D170000440606 +:20122800010000442480080E95BFFFC4A009883A880B883A01800804B00F883A0814420064 +:2012300010000E1E85A1883AE0800017A009883A880B883AD880000588800117D80D883A1F +:2012380001C00044E5800104103EE83A1000031E84000044B039883A00002D0600BFFFC45E +:2012400000003106E5800017E0C00104D8C00A15B009883A0814AF409091C83A1039883ACB +:201248000200090E400F883AA009883A880B883A01800804DA00121508144200DA001217AD +:20125000103FEE1E8221883A88800117A009883A880B883AB00D883AE00F883A103EE83A3E +:20125800103FE61E8721883ADF000A170000100605C0004404FFFFC4D8000E15054002840E +:201260009825883AD8000C15D8000B15B82D883A00000806DD800B150580008400000506B8 +:2012680000C00044D8C00C15058000C400000106002D883AD8C00F1718C00044D8C00F15D4 +:20127000003ECC068005883ADFC01C17DF001B17DDC01A17DD801917DD401817DD00171772 +:20127800DCC01617DC801517DC401417DC001317DEC01D04F800283A2880000BDEFFFD040E +:20128000DC000015DFC00215DC40011510C0020C2821883A1800192628C0008F1800150E83 +:2012880010C0800C180013262C40051789C0030E10C0200C1800032600000E063C40010EDB +:201290003823883A81000417300B883A880D883A0814A940808005171445C83A808005159B +:20129800808004171463883A844004150005883A00000306108010148080000D00BFFFC4F2 +:2012A000DFC00217DC400117DC000017DEC00304F800283A2005883A29000D2E298F883A8B +:2012A80021C00B2E3007883A017FFFC418FFFFC4194006261989C83A3909883A22000003A4 +:2012B00010C9883A22000005003FF806F800283A0007883A1980062628C9883A21C00003A0 +:2012B80010C9883A18C0004421C00005003FF906F800283A2005883A10C0000718000226E3 +:2012C00010800044003FFC061105C83AF800283ADEFFFF040100207401402074DFC0001589 +:2012C8002119AD04295AC4042140061E010020740140207421000804294008042140141EAC +:2012D00000000D0600C0207418DAC40400BFFF041907C83A1886703A0005883A10FFF326C2 +:2012D800114F883A39C00017110D883A1080010431C00015003FF9060100207401402074A1 +:2012E00021172F0429572F042140121E00000D0600C0207418C0080400BFFF041907C83A10 +:2012E8001886703A0005883A10FFF326114F883A39C00017110D883A1080010431C0001502 +:2012F000003FF90608157180DFC00017DEC001040815810100C0207418D9AD0400BFFF04E2 +:2012F8001907C83A1886703A0005883A10FFF526114F883A39C00017110D883A10800104D4 +:2013000031C00015003FF906DEFFFF040009883ADFC000150814C4C00814C6C00100207453 +:2013080021199D04200B883A200D883A08158B40D1213317D1613217D1A13117DFC00017FF +:20131000DEC0010408123B8108156981DEFFFF04DFC000150815B4C0008000441001703A99 +:20131800DFC00017DEC00104F800283ADEFFFE04DC00001504002074841ABD0401002074A6 +:20132000800B883A211A4004DFC001150815724001002074211A0904081535800100207419 +:201328002119FE04800B883ADFC00117DC000017DEC002040815724101402074DEFFFF0449 +:20133000295ABD04DFC00015081579C010000E2610C00A17D0A13615D021401519008D046E +:20133800D1213E1519008904D1213D1519008404D1213C1519008C04D1213B1519008B04EF +:20134000D1213A15D0E13915DFC00017DEC00104F800283AD0E13617008000441800041E9E +:20134800D0E140171880071ED021401500000506D0E13E1718C0002B18C0008C183FF8268D +:20135000F800283A0005883AF800283ADEFFFD04DC400115DC000015DFC002152023883A46 +:201358002821883A0814D1401000021E0005883A000011068C09883A2006927AD0A13A17E4 +:2013600010C00035D0A13B1700C0060410C0002DD0A13E171080002B10BFFFCC10C0010CE6 +:20136800183FFB1E1080040C103FF01ED0213515D121341500800044DFC00217DC400117D2 +:20137000DC000017DEC00304F800283AD0A1351710000326D1213417000B883A0814D4C1BA +:2013780000800044F800283ADEFFFD04DC400115DC000015DFC002152023883A2821883A70 +:201380000814D1401000021E0005883A00001906D0A135171000081E8C09883A2006927A8E +:20138800D0A13A1710C00035D0A13B1700C0044410C0002D00000506D1213417000B883AA1 +:201390000814D4C0103FF41E003FEF06D0A13E171080002B10BFFFCC10C0010C183FFB1E90 +:201398001080040C103FE81ED0213515D121341500800044DFC00217DC400117DC00001727 +:2013A000DEC00304F800283A2005883A2100001711C0021721000A040814EB012005883A07 +:2013A8002100001711C0021721000A040814F0C121000017298D883A2805883A3A10000C12 +:2013B00011800B2E20C000371A60000C4800032610C0000510800044003FF90611400226E5 +:2013B8001145C83AF800283A403FF52600000106117FFB1E39D0000C3800021E00BFFEC42B +:2013C000F800283A00BFFD44F800283A210000173005883A298D883A21C001042980072EEE +:2013C80038C0003718FFFFEC183FFC2628C0000720C0003529400044003FF806F800283A13 +:2013D00020001D262804923A20C03017DEFFFD04DC400115DC000015DFC002152823883AB7 +:2013D8002021883A108000D41880033580C03017188000371080004C10000326010000440E +:2013E00008156980003FF90618C000371809D0FA2140020C1809D0BA1807D07A210001CC3E +:2013E8002908B03A18C0040C20C6B03A1C40042600BFF4840000020600BFFA84F800283AB6 +:2013F000DFC00217DC400117DC000017DEC00304F800283A20000A262800092630000826FA +:2013F80020800C173080001520800C171000062621000D04290000150005883AF800283ABD +:2014000000BFFA84F800283A00BFFEC4F800283A2005883A20001D262809883A28001B16C4 +:2014080010C0311728C0192E1140341728FFFFC420C6703A1800151EDEFFFE04DC0000154C +:20141000DFC001151021883A081423401004923A00C0403418FFC00410C4703A80C03017A1 +:20141800108000941880033580C0301718C00404188000371080004C1000062600800044AE +:201420001880003500BFFEC40000020600BFFA84F800283ADFC00117DC000017DEC0020471 +:20142800F800283ADEFFF504DC000115DFC00A15DF000915DDC00815DD800715DD4006155C +:20143000DD000515DCC00415DC800315DC400215DC000B17280039163023883A3000371642 +:201438002027883A20003526382B883A38003326208031173080312E2880302E2080341772 +:201440002987C83A1887883A1C002C3680002B1610BFFFC4288A703A2800281E0029883AF3 +:2014480005BFFFC405C000C40700010480002126DD800015890000CC20000526E125C83A87 +:201450008480012E8025883A8923C83A00000406BC0002368025883A00000106048001043F +:20145800AD0B883AD909883A900D883A081426C098802E17D8C00017A4A9883A84A1C83AB3 +:201460008885883A10C00035988030171080040410C0003718C0008C1800042600C00084B0 +:2014680010C0003500BFFEC4000005068C400104003FDE060005883A0000010600BFFA84D4 +:20147000DFC00A17DF000917DDC00817DD800717DD400617DD000517DCC00417DC80031706 +:20147800DC400217DC000117DEC00B04F800283ADEFFF604DC000115DFC00915DDC00815E4 +:20148000DD800715DD400615DD000515DCC00415DC800315DC4002152021883A20000A26F5 +:201488003029883A3000082620802E1780C02F172823883A2885883A382B883A11C9883A23 +:2014900010C0012E20C0023600BFFA84000024062809883A81403417002D883A0814234051 +:20149800102F883A80803317B8801C2EA8001B2684C0341704E7C83A8CE6703A9C400226E2 +:2014A0008CE5C83A000001060025883A8009883A980B883A081501001000111E80C0341733 +:2014A8001CA5C83AAC80012EA825883ADC8000158009883A980B883A880D883AA58F883A09 +:2014B00008150A401000061EACABC83AB4AD883A8CA3883ABDC00044003FE2060005883A65 +:2014B800DFC00917DDC00817DD800717DD400617DD000517DCC00417DC800317DC40021789 +:2014C000DC000117DEC00A04F800283A200007263000062620802E17288B883A20802F1729 +:2014C80029C7883A2880012E1880023600BFFA84F800283ADEFFFF043009883A380D883A32 +:2014D000DFC00015081426C00005883ADFC00017DEC00104F800283A20005026208030174F +:2014D8001000502620C03217DEFFFB04DFC00415DCC00315DC800215DC400115DC00001567 +:2014E00018001E1E1480023700C0030494803FCC90BFFAC418804536100490BA00C0207413 +:2014E80018D4EC0410C5883A108000171000683A0081541C0081542C008154340081542424 +:2014F000008153E4008154AC008154AC008154AC008154AC008154AC008154AC008153EC5E +:2014F800008153F4044080040000130604410004000011060442000400000F0614800137A0 +:201500000080058494803FCC90800A260080060490800426008005049080241E0440080474 +:2015080000000506044040040000030604401004000001060440200424C034172021883A2E +:201510008809883A980B883A0814244080C0311710C0021E80C0331788C0022680000C1570 +:201518000000120600C0004401402074848036158440331580C00C1580000D1580800E1541 +:2015200084400F1584C010158009883A295AC204081572400005883A0000050600BFFA84E8 +:20152800F800283A00BFFB44F800283A00BFFB44DFC00417DCC00317DC800217DC400117DA +:20153000DC000017DEC00504F800283A300001260005C03200FFFF042005883A28C6703AD8 +:20153800110DC83A30C0042E11800017300DC0F210800104003FFA06294000CC00C000C42D +:2015400028C0041E10C0000B1807C0B2108000830000080600C0008428C0031E1080000B0C +:201548001005C0B20000040600C0004428C0021E108000031005C0720005C132F800283ABA +:20155000DEFFFD04DC400115DC0000152823883A2021883A014001443009883ADFC0021533 +:20155800081424408809883A100B883A0814234010BFFFC480C002041800003501000044DA +:201560008100043511003FCC810000351004D23A10803FCC8080013500802004188000357D +:20156800DFC00217DC400117DC000017DEC00304F800283A3180004C294B883A298B883ADC +:2015700021400335210004040080240420800035208000371080008C103FFD1E20800037E8 +:201578001004D1FA1080004CF800283A20C004042800022600801A040000010600800804D5 +:2015800018800035188000371080008C103FFD1E20800337F800283A29403FCC21400335E8 +:20158800210004043000022600801404000001060080040420800035208000371080008CD3 +:20159000103FFD1E208000371004D1FA1080004CF800283A20C0040400800B0418800035A1 +:20159800188000371080008C103FFD1E20800337F800283A29403FCC214003352100040474 +:2015A0000080070420800035208000371080008C103FFD1EF800283A014AAAF4DEFFFE044C +:2015A800296AAA84DC000015DFC001152021883A0814234010000F26016000340135557461 +:2015B0000007883A297FFFC421155584297FFFC4283FFE1E18C000448121883A18BFFB1682 +:2015B8008405883A1421883A843FFFC4803FFE1E000004068405883A1421883A843FFFC49E +:2015C000043FFE160005883ADFC00117DC000017DEC00204F800283AF800283A3005883AF4 +:2015C800F800283A20000226208002171000131E00802074109AC1041080001710000926FE +:2015D000DEFFFF04DFC00015103EE83A00C0058410C0001500BFFA84DFC00017DEC0010433 +:2015D800F800283A00802074109BE50400C0058410C0001500BFFA84F800283A288000176D +:2015E00021400115208000152880001711000115290000150005883AF800283ADEFFFB049E +:2015E800DCC00315DC800215DC400115DC000015DFC004152027883A2823883A2C00001788 +:2015F0000814AF40148000448440072681000217980B883A900D883A0815C8C010000426CA +:2015F80084000017003FF8060005883A000001068005883ADFC00417DCC00317DC80021701 +:20160000DC400117DC000017DEC00504F800283AF800283ADEFFFC04DC4001152023883A34 +:201608002809883A300B883A01807FC4DC000015DFC00315DC800215081592C01021883A91 +:20161000100016161009883A014003040480207408142440949A4B041007883A9085883A96 +:20161800108000178009883A8880001590C5883A1080011790C7883A8880011518800217FC +:2016200088800215DFC00317DC800217DC400117DC000017DEC004040815AF01DFC003170A +:20162800DC800217DC400117DC000017DEC00404F800283ADEFFFB04DC00001504002074A1 +:201630002005883A841A4E04DC40011504400044DCC00315DC8002152827883A3025883ABA +:20163800100B883A8009883A880D883ADFC0041508158140813FFD04980B883A000D883A88 +:201640000815814081000304900B883A880D883ADFC00417DCC00317DC800217DC40011757 +:20164800DC000017DEC0050408158141DEFFF504DC4002152823883A01402074295ABD04DA +:20165000DD400615DD000515DCC00415DC800315DFC00A15DF000915DDC00815DD80071534 +:20165800DC0001152025883A3027883A081579C0102B883A0029883A1000051E9009883A94 +:201660000815B540102B883A1000462605000044A809883A0815C0001021883A10004416E9 +:201668001009883A01400304081424401007883A0210003400802074109A4B04423FFFC44F +:2016700018B9883A8A10703A102F883A18C00204A000062610C7883A1A000015A8800317CE +:2016780010001A1E8005883A0000350610C7883A0080207442100034109ABC041A000015BC +:2016800010C00017B829883A002D883A8009883A01400304D8C0001508142440B885883A12 +:20168800A100001710800017D8C000172080031EA08002171000010EA7001F1EB5800044BE +:20169000A50003041DBFF12E003FE406880D883AE009883A900B883A980F883A103EE83A32 +:201698001023883A8005883A8800150E8009883A0815AF0000802074109AC104108000170A +:2016A00010000226103EE83A0000020600802074109BE5040463C83A1440001500BFFFC47E +:2016A80000000706047FFB44043FFFC4003FEF061023883A003FED06047FFCC4003FEB067F +:2016B000DFC00A17DF000917DDC00817DD800717DD400617DD000517DCC00417DC800317C4 +:2016B800DC400217DC000117DEC00B04F800283A00C000841900140EDEFFFD04DC00001594 +:2016C0000140030404002074DFC00215DC400115841A4B042023883A081424408085883A09 +:2016C8008809883A0140030410000215081424408085883A10000015DFC00217DC400117E8 +:2016D000DC000017DEC00304F800283A000170FAF800283A00802074DEFFFA04109ABF04E7 +:2016D800DC00001514000017DD000415DCC00315DC800215DFC00515DC4001152027883AC5 +:2016E0001025883A05000BC484801226844002178809883A0814AF408887883A18FFFFC7FA +:2016E8001D00011E10BFFFC49887883A18C000071D0001261800051E8809883A980B883A1D +:2016F000100D883A0815C8C01000042684000017003FED060005883A000001068005883A3A +:2016F800DFC00517DD000417DCC00317DC800217DC400117DC000017DEC00604F800283ACB +:20170000DEFFFB04DCC0031504C02074DC800215DC400115DC000015DFC004152025883A8C +:201708000021883A9CDA4B04044008048009883A01400304081424409887883A1880001726 +:201710001000081E1C80001500C0207418DABC04190000178005883A2400050E1C000015ED +:201718000000030684000044847FF01E00BFFA04DFC00417DCC00317DC800217DC400117F9 +:20172000DC000017DEC00504F800283A218D883A218008262080000328C0000310C00226F0 +:2017280010C5C83AF800283A2100004429400044003FF7060005883AF800283A73616C467B +:2017300072652068006573616F727265642520720000000073616C467277206800657469F5 +:201738006F7272650000007273616C4665762068206669726C6961660000000061766E49F3 +:201740002064696C64616572646D63200000000072204453206461656C69616600657275E5 +:201748007665642F746C412F5F617265535F505561435F44415F64726F6C61766E495F6EE2 +:20175000667265745F6563610000003053206F4E6163204464206472002E74654353534F1F +:201758000000000061766E492064696C67616D690000006561766E492064696C646165680E +:201760000000726561766E492064696C207264680043524361766E492064696C61746164F4 +:2017680043524320000000000000002D696C6156697461646420676E006174616220752563 +:201770007365747900000000252E75252575322E0073257361647055676E697400574620A9 +:2017780061656C70772065732E74696100002E2E697265566E6979666C6620670068736197 +:2017800072746552676E6979647075200065746161647055203F65742C593D314E3D3220C0 +:201788000000000044525355004154417365725000000073666E6F43006D72696D73694DBC +:20179000686374616572202C007972740064644F6E6576450000000000006E4F0066664F9A +:2017980000495644494D4448000000002525752500000000702075256C65786900000073F9 +:2017A00064206425000067656D206425000000566C20752573656E690000000075207746BD +:2017A800746164704B4F20650000000061656C507220657361747365000074726E205746AF +:2017B0000000746F6164707500646574736572702D3C207320726F2000003E2D656E6F4487 +:2017B800000000005353494D20474E494D45544900000000646F4D567325203A0000000040 +:2017C000203A4F4C56207525203A4D53000075252520732500632575252E75256B75322E69 +:2017C80025207A482E252E757A487532000000004353534F776620207525202E322E252EAB +:2017D0000000007574696E49727265202020726F000064252020202053204F4E00434E5963 +:2017D800343130323130322D6D20203673717261000000006E616353656E696C0000007330 +:2017E0006E616353656E696C727473200000002E6E616353656E696C0064692069726F4869 +:2017E800746E6F7A6D206C61006B7361747265566C61636973616D200000006B703038346B +:2017F000206E6920706D61730072656C706D6153676E696C61687020000065735062505907 +:2017F8006E6920726C6F4320006170536C616E417320676F20636E79646C6874000000000B +:201800004C502D487250204C6F432D65007473614C502D486F50204C432D74737473616FB3 +:20180800000000006C616E417320676F20636E790046504C65646956504C206F0000004696 +:20181000703034323838322F696C20703358656E00000000656E694C706972746D20656C79 +:201818000065646F6D2058540065646F6D7269466572617764707520006574616576615398 +:2018200074657320676E6974000000736F74754100000000484D35394828207A2056544463 +:2018280000294949484D35334828207A2056544400002949484D36314528207A2956544444 +:20183000000000007A484D394453282000295654484D33330000007A484D30310000007AB9 +:201838004D352E3200007A4869726F48746E6F7A00006C61747265566C6163690000000088 +:20184000205654447030383400000000204147567830343600303834656E654720636972E5 +:20184800393A363100000000656E65472063697200333A3478303233203034326974706FA9 +:2018500000002E6D78363532203034326974706F00002E6D4D204F4E0045444F3A315641D7 +:2018580042475220000000533A31564173475220000000423A3256416250592000007250C2 +:201860003A32564173475220000000423A33564142475220000056483A335641424752205B +:20186800000000533A3356417347522000000042000000310000003200000033554E454DD0 +:20187000000000004B43414200000000000050554E574F44000000005446454C000000003F +:2018780048474952000000544F464E49000000005F44434C4B4341424847494C00000054EB +:201880004B544F48003159454B544F48003259454B544F48003359450000000000815F74E2 +:201888000000000100815F800000000200815F900000000300815F9C0000000400815FAC5E +:201890000000000500815FBC0000000600815FCC0000000700815FDC0000000800815FEC4E +:2018980000000009008160000000000A008160100000000B008160240000000C008160341A +:2018A0000000000D008160400000000E008160540000000F00816064000000100081606C06 +:2018A800000000110081607C0081608C00815E5C00816094008160A4008160B4008160C4D6 +:2018B00000815E5C008160D0008160D8008160E000815E5C008160E8008160F40081608C6C +:2018B800008161000081610C00816118008161280081613400816144008161540081615C8C +:2018C0000081616800816174008161800081618C00816198008161A4008161B0008161B470 +:2018C800008161B8008161BC008161C4008161CC008161D0008161D8008161E0008161E87C +:2018D000008161F0008162000081620800816210000000202E636552313036200000000046 +:2018D8002E6365523930372000000000008163540000200020002CE5E926F4FD38BC20004B +:2018E0000000000000816360000020002000323EF113FA043B612000000000007030343230 +:2018E8004D334C5F05000030177000F0010606A8037C10C400010012703034324D334C5FBD +:2018F00003C00031177000F0010604FE035D109300420012703034324D334C5F0140003269 +:2018F800177000F0010601AA031F103100440011703034324D334C5F01000033177000F013 +:20190000010601550319102700480011703034320000000002D00000177000F00106035A0B +:20190800033C104100500012703838324D334C5F0500003013880120013806A8037C10C465 +:2019100000010012703838324D334C5F03C0003113880120013804FE035D10930042001225 +:20191800703838324D334C5F01400032138800F0013801AA031F29310044001170383832AD +:201920004D334C5F01000033138800F0013801550319292700480011703838320000000057 +:2019280002D000001388012001380360033C104100500012703438330000000001F0000083 +:201930001686018001A70280033E1D3200500004783034360034383302800000157C018027 +:2019380001EC032002603F3000100010693038340000000002D00000176A00F0020D035ADA +:20194000033C104100700012703038340000000002D00000176A01E0020D035A063E1E3C2B +:2019480000800014783034360030383402800000177001E0020D0320026021300100001459 +:20195000783034360032313502800000177002000238032002601C3000000010693637359C +:201958000000000002D000001388012002710360033C1041007000127036373500000000E7 +:2019600002D000001388024002710360063C20410000000478303038003030360320000072 +:2019680017700258027404200480175800000010703032370000000005000000176A02D080 +:2019700002EE0672052814FF00000008303832313032377805000000177002D002EE067205 +:20197800052814DC00000010343230313836377804000000177003000326054006881DA0F7 +:201980000000001030383231323031780500003417700400042A0698037026F80000001030 +:20198800303830310000006907800000176A043804650898052C10940020000830383031FA +:201990000000007007800000176A043804650898052C24BC00000008303239313830317884 +:20199800078000301770043804650898052C2494000000107665642F61746A2F61755F673B +:2019A000305F7472000000007665642F6370652F6F635F716F72746E72656C6C615F305F7A +:2019A8006D5F6C7600006D657665642F6C756E2F0000006C00000000000000000000000047 :2019B000000000000000000000000000000000000000000000000000000000000000000017 :2019B80000000000000000000000000000000000000000000000000000000000000000000F :2019C000000000000000000000000000000000000000000000000000000000000000000007 @@ -836,47 +836,47 @@ :201A10000000000000000000000000000000000000000000000000000000000000000000B6 :201A18000000000000000000000000000000000000000000000000000000000000000000AE :201A20000000000000000000000000000000000000000000000000000000000000000000A6 -:201A28000000000000000000000000000000000000000000000000003EA93E293E4D3E691E -:201A30003E2D3EED3EAD3ECD3E653E6D3EC13E013EA13E41017804E53CCE00813FAE0383C0 -:201A38003F333D4905B80383009301B404163C493CD93F9F04163F10020E04093D0E00C8E0 -:201A40003F6E03833ED03DAC04B2038300E9026404163C933D493F5604163E9F00000000D6 -:201A4800008165800081658800816590000000000000000000000000000000000000000034 +:201A280000000000000000000000000000000000000000000000000000000000000000009E +:201A3000000000000000000000000000000000000000000000000000000000000000000096 +:201A380000000000000000000000000000000000000000000000000000000000000000008E +:201A4000000000000000000000000000000000000000000000000000000000000000000086 +:201A480000000000000000000000000000000000000000000000000000000000000000007E :201A5000000000000000000000000000000000000000000000000000000000000000000076 :201A580000000000000000000000000000000000000000000000000000000000000000006E :201A6000000000000000000000000000000000000000000000000000000000000000000066 :201A680000000000000000000000000000000000000000000000000000000000000000005E -:201A7000000000000000000000000000000000000000000000000000000000000000000452 -:201A7800000000000001000A000000000002000A0000000000000000000000000000000037 -:201A80000000000000815B0800000000000000000000000000000000000000000000000062 -:201A88000000000000821000000000000000000000816430000000000000000000814FD8EF -:201A9000008150F400814DBC00814DF800814E8C0000000000800000000000000000000046 +:201A7000000000000000000000000000000000000000000000000000000000000000000056 +:201A780000000000000000000000000000000000000000000000000000000000000000004E +:201A8000000000000000000000000000000000000000000000000000000000000000000046 +:201A880000000000000000000000000000000000000000000000000000000000000000003E +:201A9000000000000000000000000000000000000000000000000000000000000000000036 :201A980000000000000000000000000000000000000000000000000000000000000000002E :201AA000000000000000000000000000000000000000000000000000000000000000000026 :201AA80000000000000000000000000000000000000000000000000000000000000000001E -:201AB0000000000000000000000000000000000000000000000000000000000000814D2820 -:201AB8000000000000800000008214000080000000000001000000800001000000000100F5 -:201AC0000000000000000000000000000081641C000000000000000000814C7000814C8477 -:201AC800000000000000000000000000008214A0008168540000000000000000008168544E -:201AD0000000000000000000008168540000000000000000000000000000000000000000B9 -:201AD8000000000000000000000000000000000000000000000000000000000000000000EE -:201AE0000000000000000000000000000000000000000000000000000000000000000000E6 +:201AB000000000000000000000000000000000000000000000000000000000000000000016 +:201AB80000000000000000000000000000000000000000000000000000000000000000000E +:201AC000000000000000000000000000000000003EA93E293E4D3E693E2D3EED3EAD3ECDFA +:201AC8003E653E6D3EC13E013EA13E41017804E53CCE00813FAE03833F333D4905B8038379 +:201AD000009301B404163C493CD93F9F04163F10020E04093D0E00C83F6E03833ED03DAC59 +:201AD80004B2038300E9026404163C933D493F5604163E9F00000000008167D8008167E0E0 +:201AE000008167E80000000000000000000000000000000000000000000000000000000016 :201AE8000000000000000000000000000000000000000000000000000000000000000000DE :201AF0000000000000000000000000000000000000000000000000000000000000000000D6 :201AF8000000000000000000000000000000000000000000000000000000000000000000CE :201B00000000000000000000000000000000000000000000000000000000000000000000C5 -:201B08000000000000000000000000000000000000000000000000000000000000000000BD -:201B10000000000000000000000000000000000000000000000000000000000000000000B5 -:201B18000000000000000000000000000000000000000000000000000000000000000000AD -:201B20000000000000000000000000000000000000000000000000000000000000000000A5 -:201B2800000000000000000000000000000000000081689C0081689C00816450000000005E -:201B300000000000000000000081550400000000000000000000000000000043019BFCC020 -:201B380000632EA000108010554B00800000C896008164C0FFFFFFFF008168540081685423 -:201B4000008168A4008168A400000000008168B0008168B000000000000000000000000039 -:201B480000000000000000000000000000000000000000000000000000000000000000007D -:201B5000000000000000000000000000000000000000000000000000000000000000000075 -:201B580000000000000000000000000000000000000000000000000000000000000000006D -:201B6000000000000000000000000000000000000000000000000000000000000000000065 -:201B680000000000000000000000000000000000000000000000000000000000000000005D +:201B0800000000000000000000000000000000000000000000000004000000000001000AAE +:201B1000000000000002000A000000000000000000000000000000000000000000815D20AB +:201B180000000000000000000000000000000000000000000000000000000000008210001B +:201B20000000000000000000008166880000000000000000008151F00081530C00814FD4F0 +:201B280000815010008150A4000000000080000000000000000000000000000000000000C7 +:201B3000000000000000000000000000000000000000000000000000000000000000000095 +:201B380000000000000000000000000000000000000000000000000000000000000000008D +:201B4000000000000000000000000000000000000000000000000000000000000000000085 +:201B4800000000000000000000000000000000000000000000814F400000000000800000ED +:201B50000082140000800000000000010000008000010000000001000000000000000000DC +:201B58000000000000816674000000000000000000814E8800814E9C000000000000000050 +:201B600000000000008214A000816AAC000000000000000000816AAC000000000000000001 +:201B680000816AAC00000000000000000000000000000000000000000000000000000000C6 :201B7000000000000000000000000000000000000000000000000000000000000000000055 :201B780000000000000000000000000000000000000000000000000000000000000000004D :201B8000000000000000000000000000000000000000000000000000000000000000000045 @@ -887,10 +887,10 @@ :201BA80000000000000000000000000000000000000000000000000000000000000000001D :201BB000000000000000000000000000000000000000000000000000000000000000000015 :201BB80000000000000000000000000000000000000000000000000000000000000000000D -:201BC000000000000000000000000000000000000000000000000000000000000000000005 -:201BC8000000000000000000000000000000000000000000000000000000000000000000FD -:201BD0000000000000000000000000000000000000000000000000000000000000000000F5 -:201BD8000000000000000000000000000000000000000000000000000000000000000000ED +:201BC000000000000000000000816AF400816AF4008166A8000000000000000000000000B8 +:201BC8000081571C00000000000000000000000000000045019BFCC000632EA0001080109B +:201BD000554B00800000C89600816718FFFFFFFF00816AAC00816AAC00816AFC00816AFC7F +:201BD8000000000000816B0800816B08000000000000000000000000000000000000000005 :201BE0000000000000000000000000000000000000000000000000000000000000000000E5 :201BE8000000000000000000000000000000000000000000000000000000000000000000DD :201BF0000000000000000000000000000000000000000000000000000000000000000000D5 diff --git a/software/sys_controller/tvp7002/tvp7002.c b/software/sys_controller/tvp7002/tvp7002.c index 107685e..5acde05 100644 --- a/software/sys_controller/tvp7002/tvp7002.c +++ b/software/sys_controller/tvp7002/tvp7002.c @@ -40,12 +40,6 @@ const ypbpr_to_rgb_csc_t csc_coeffs[] = { extern mode_data_t video_modes[]; -static inline void tvp_set_hpllcoast(alt_u8 pre, alt_u8 post) -{ - tvp_writereg(TVP_HPLLPRECOAST, pre); - tvp_writereg(TVP_HPLLPOSTCOAST, post); -} - static inline void tvp_set_ssthold(alt_u8 vsdetect_thold) { tvp_writereg(TVP_SSTHOLD, vsdetect_thold); @@ -167,6 +161,12 @@ inline void tvp_enable_output() usleep(10000); } +inline void tvp_set_hpllcoast(alt_u8 pre, alt_u8 post) +{ + tvp_writereg(TVP_HPLLPRECOAST, pre); + tvp_writereg(TVP_HPLLPOSTCOAST, post); +} + void tvp_init() { // disable output @@ -311,7 +311,7 @@ void tvp_set_sog_thold(alt_u8 val) printf("SOG thold set to 0x%x\n", val); } -void tvp_source_setup(alt_8 modeid, video_type type, alt_u32 vlines, alt_u8 hz, alt_u8 refclk) +void tvp_source_setup(alt_8 modeid, video_type type, alt_u32 vlines, alt_u8 hz, alt_u8 refclk, alt_u8 pre_coast, alt_u8 post_coast) { // Configure clock settings tvp_sel_clk(refclk); @@ -348,8 +348,9 @@ void tvp_source_setup(alt_8 modeid, video_type type, alt_u32 vlines, alt_u8 hz, //Long coast may lead to PLL frequency drift and sync loss (e.g. SNES) /*if (video_modes[modeid].v_active < 720) tvp_set_hpllcoast(3, 3); - else*/ - tvp_set_hpllcoast(1, 0); + else + tvp_set_hpllcoast(1, 0);*/ + tvp_set_hpllcoast(pre_coast, post_coast); // Hsync output width tvp_writereg(TVP_HSOUTWIDTH, video_modes[modeid].h_synclen); diff --git a/software/sys_controller/tvp7002/tvp7002.h b/software/sys_controller/tvp7002/tvp7002.h index 405ced6..b91a2c3 100644 --- a/software/sys_controller/tvp7002/tvp7002.h +++ b/software/sys_controller/tvp7002/tvp7002.h @@ -67,6 +67,8 @@ inline void tvp_disable_output(); inline void tvp_enable_output(); +inline void tvp_set_hpllcoast(alt_u8 pre, alt_u8 post); + void tvp_init(); void tvp_setup_hpll(alt_u16 h_samplerate, alt_u16 v_lines, alt_u8 hz, alt_u8 plldivby2); @@ -83,7 +85,7 @@ void tvp_set_hpll_phase(alt_u8 val); void tvp_set_sog_thold(alt_u8 val); -void tvp_source_setup(alt_8 modeid, video_type type, alt_u32 vlines, alt_u8 hz, alt_u8 refclk); +void tvp_source_setup(alt_8 modeid, video_type type, alt_u32 vlines, alt_u8 hz, alt_u8 refclk, alt_u8 pre_coast, alt_u8 post_coast); void tvp_source_sel(tvp_input_t input, video_format fmt, alt_u8 refclk); diff --git a/software/sys_controller/tvp7002/video_modes.c b/software/sys_controller/tvp7002/video_modes.c index c45e050..ad4f38b 100644 --- a/software/sys_controller/tvp7002/video_modes.c +++ b/software/sys_controller/tvp7002/video_modes.c @@ -27,6 +27,7 @@ const mode_data_t video_modes[] = { { "240p_L3M0", 1280, 240, 6000, 1704, 262, 196, 16, 124, 3, (VIDEO_SDTV|VIDEO_PC), (MODE_L3_MODE0) }, { "240p_L3M1", 960, 240, 6000, 1278, 262, 147, 16, 93, 3, (VIDEO_SDTV|VIDEO_PC), (MODE_L3_MODE1|MODE_PLLDIVBY2) }, + //{ "240p_L3M2", 384, 240, 6000, 512, 262, 66, 16, 31, 3, (VIDEO_LDTV|VIDEO_PC), (MODE_L3_MODE2|MODE_PLLDIVBY2) }, //CPS2 { "240p_L3M2", 320, 240, 6000, 426, 262, 49, 16, 31, 3, (VIDEO_LDTV|VIDEO_PC), (MODE_L3_MODE2|MODE_PLLDIVBY2) }, { "240p_L3M3", 256, 240, 6000, 341, 262, 39, 16, 25, 3, (VIDEO_LDTV|VIDEO_PC), (MODE_L3_MODE3|MODE_PLLDIVBY2) }, { "240p", 720, 240, 6000, 858, 262, 65, 16, 60, 3, (VIDEO_SDTV|VIDEO_PC), (MODE_L2ENABLE|MODE_PLLDIVBY2) }, diff --git a/software/sys_controller_bsp/libhal_bsp.a b/software/sys_controller_bsp/libhal_bsp.a index d0b2521fd404746779cfef1c1472eefcf4eb1524..842d71bd77dab9792150d59219bf5aa25479ee19 100644 GIT binary patch delta 1644 zcmZWpVMtR^6y{8GmWIk`d)l&8j8ulsXNZ-pc5&UfzJ_)x_7P(v)xyxNtWLQY|p<<*+L6eyn%A-Po^doyWYCRN2%kj&R9AJ}JYx6=H_Y&io zdK6I`yBk`0<19fS*^Mu8O4V)L#n9uekFAc?K7cf{t8mL%UUjjDbb^L3&carvF=OpW$^)|(Q@#PcMiDCWXs$SJX z$aDa6P*?1pTS7j21chXHVG${$e`yi4Fl2dJAi#cuw0U`l4i!l0az6GUovVF#Py*~b z4Ucesc^xz@3=BrD;1KA+O~9WD;|SCn3nx%V>CKiMX`ogM82|HBqt`c6#*E=pv3%*m zHn^>+iE^H_Cm9+vj;Q#gnLD9F6B1<;Qeta54NrqbPGncSmp-roz9v!0k=pFAf-Gf7 z=WeLhl9biVw0{rOp+3#ZhdQjF>{>XHtxAR!!z?GTzqYSftjMjD!XzS;8QX#rs`HpC zVFU@v(0{9-3?(Hwn6t-p!Kh^^CjlS1YJ9u~mbKfcBH!xaRVXrY9#XV_B{^Y%#$JIg z-b@Z)pc&3_Lo!l!6&gd4iEHp15!sMHf40Fpgp|>z+o33G?E^ LW!C%M@GSfvh+E|H delta 1644 zcmZ8hVMtR^6y{8GmWIm6J#ASkMmmPmsmsb?%EZc4LWGJ8%RgG!L<%AUF$+Oq#!FU% zGO(hM2J5me^<$V}iIA-P5t^hZh?ZqZAt_Y%z30w-^WX0GzVn^$eCOUx3`a~1M|5x3 z=2>#H_gc-~l)f0{cV510x&riMHfAm?h>(EpcsL%+!c9E5ejH-lDMN=Q_*p^5JyjZU zJo!KhrwX~!#53@YQ>5(OLqi;pmfkY5h6Y6`=$^3~*hbzCOVLQ`KE6d%?p69J83E$>oTgUQ z6Efq+9F!G1=a-Ss9zhWqSzJO28CYI|U>K4-EfnCOM%=oxON9!gY^4DEknS}f9^?Rh zXW=o7hk-`R6>I`Myao7EVH|K}>4TpyBDT#EI;R_tS?aP`xJU)>Bg! ztRhPu(w+-7n51lUU?0?@J~bCWJyuY5E$qmaS3|=}V2%^mU)whzzK6wLV(s$i6|)YG7PnHnUxTJlWb!)vK}0en&|e+!ejT!!< hal default - Mar 22, 2016 7:43:08 PM - 1458668588222 - /home/markus/Code/ossc/software/sys_controller_bsp + Apr 15, 2016 7:23:59 PM + 1460737439437 + ./ settings.bsp ../../sys.sopcinfo default diff --git a/sys.sopcinfo b/sys.sopcinfo index 0f4d0b0..f96554d 100644 --- a/sys.sopcinfo +++ b/sys.sopcinfo @@ -1,11 +1,11 @@ - + java.lang.Integer - 1458667846 + 1460736934 false true false