From bd455159a0b60eb2c496322d0f80c3ca77d838f6 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Wed, 14 Jul 2010 16:46:01 -0700 Subject: moved forward from the old branch --- usrp2/extramfifo/fifo_extram.v | 188 +++++++++++++ usrp2/extramfifo/fifo_extram36.v | 47 ++++ usrp2/extramfifo/fifo_extram36_tb.build | 1 + usrp2/extramfifo/fifo_extram36_tb.v | 475 ++++++++++++++++++++++++++++++++ usrp2/extramfifo/fifo_extram_tb.build | 1 + usrp2/extramfifo/fifo_extram_tb.v | 134 +++++++++ usrp2/fifo/fifo18_to_fifo36.v | 20 ++ usrp2/fifo/fifo_2clock_cascade.v | 14 +- 8 files changed, 876 insertions(+), 4 deletions(-) create mode 100644 usrp2/extramfifo/fifo_extram.v create mode 100644 usrp2/extramfifo/fifo_extram36.v create mode 100644 usrp2/extramfifo/fifo_extram36_tb.build create mode 100644 usrp2/extramfifo/fifo_extram36_tb.v create mode 100644 usrp2/extramfifo/fifo_extram_tb.build create mode 100644 usrp2/extramfifo/fifo_extram_tb.v create mode 100644 usrp2/fifo/fifo18_to_fifo36.v diff --git a/usrp2/extramfifo/fifo_extram.v b/usrp2/extramfifo/fifo_extram.v new file mode 100644 index 000000000..4e1f40371 --- /dev/null +++ b/usrp2/extramfifo/fifo_extram.v @@ -0,0 +1,188 @@ + +// Everything on sram_clk + +module fifo_extram + (input reset, input clear, + input [17:0] datain, input src_rdy_i, output dst_rdy_o, output [15:0] space, input [15:0] occ_in, + output [17:0] dataout, output src_rdy_o, input dst_rdy_i, output [15:0] occupied, input [15:0] space_in, + input sram_clk, output [18:0] sram_a, inout [17:0] sram_d, output sram_we, + output [1:0] sram_bw, output sram_adv, output sram_ce, output sram_oe, + output sram_mode, output sram_zz); + + localparam AWIDTH = 19; // 1 MB in x18 + localparam RAMSIZE = ((1< 1); + else + can_store <= (occ_in > 2); + + reg can_retrieve; + always @* + if(empty | ~dst_rdy_i) + can_retrieve <= 0; + else if(do_retr_del == 0) + can_retrieve <= 1; + else if((do_retr_del == 1) || (do_retr_del == 2)) + can_retrieve <= (space_in > 1); + else + can_retrieve <= (space_in > 2); + + reg [1:0] state; + localparam IDLE_STORE_NEXT = 0; + localparam STORE = 1; + localparam IDLE_RETR_NEXT = 2; + localparam RETRIEVE = 3; + + reg [7:0] countdown; + wire countdown_done = (countdown == 0); + + localparam CYCLE_SIZE = 6; + + assign do_store = can_store & (state == STORE); + assign do_retrieve = can_retrieve & (state == RETRIEVE); + always @(posedge sram_clk) + if(reset) + do_store_del <= 0; + else + do_store_del <= {do_store_del[0],do_store}; + + always @(posedge sram_clk) + if(reset) + do_retr_del <= 0; + else + do_retr_del <= {do_retr_del[0],do_retrieve}; + + always @(posedge sram_clk) + if(reset | clear) + begin + state <= IDLE_STORE_NEXT; + countdown <= 0; + end + else + case(state) + IDLE_STORE_NEXT : + if(can_store) + begin + state <= STORE; + countdown <= CYCLE_SIZE; + end + else if(can_retrieve) + begin + state <= RETRIEVE; + countdown <= CYCLE_SIZE; + end + STORE : + if(~can_store | (can_retrieve & countdown_done)) + state <= IDLE_RETR_NEXT; + else if(~countdown_done) + countdown <= countdown - 1; + IDLE_RETR_NEXT : + if(can_retrieve) + begin + state <= RETRIEVE; + countdown <= CYCLE_SIZE; + end + else if(can_store) + begin + state <= STORE; + countdown <= CYCLE_SIZE; + end + RETRIEVE : + if(~can_retrieve | (can_store & countdown_done)) + state <= IDLE_STORE_NEXT; + else if(~countdown_done) + countdown <= countdown - 1; + endcase // case (state) + + // RAM wires + assign sram_bw = 0; + assign sram_adv = 0; + assign sram_mode = 0; + assign sram_zz = 0; + assign sram_ce = 0; + + assign sram_a = (state==STORE) ? addr_store : addr_retrieve; + assign sram_we = ~do_store; + assign sram_oe = ~do_retr_del[1]; + assign my_oe = do_store_del[1] & sram_oe; + assign sram_d = my_oe ? datain : 18'bz; + + // FIFO wires + assign dataout = sram_d; + assign src_rdy_o = do_retr_del[1]; + assign dst_rdy_o = do_store_del[1]; + +endmodule // fifo_extram + + + //wire have_1 = (fullness == 1); + //wire have_2 = (fullness == 2); + //wire have_atleast_1 = ~empty; + //wire have_atleast_2 = ~(empty | have_1); + //wire have_atleast_3 = ~(empty | have_1 | have_2); + //wire full_minus_1 = (fullness == (RAMSIZE-1)); // 19'h7FE); + //wire full_minus_2 = (fullness == (RAMSIZE-2)); // 19'h7FD); + //wire spacefor_atleast_1 = ~full; + //wire spacefor_atleast_2 = ~(full | full_minus_1); + //wire spacefor_atleast_3 = ~(full | full_minus_1 | full_minus_2); diff --git a/usrp2/extramfifo/fifo_extram36.v b/usrp2/extramfifo/fifo_extram36.v new file mode 100644 index 000000000..29342fdc4 --- /dev/null +++ b/usrp2/extramfifo/fifo_extram36.v @@ -0,0 +1,47 @@ + +// 18 bit interface means we either can't handle errors or can't handle odd lengths +// unless we go to heroic measures + +module fifo_extram36 + (input clk, input reset, input clear, + input [35:0] datain, input src_rdy_i, output dst_rdy_o, output [15:0] space, + output [35:0] dataout, output src_rdy_o, input dst_rdy_i, output [15:0] occupied, + input sram_clk, output [18:0] sram_a, inout [17:0] sram_d, output sram_we, + output [1:0] sram_bw, output sram_adv, output sram_ce, output sram_oe, output sram_mode, + output sram_zz); + + wire [17:0] f18_data_1, f18_data_2, f18_data_3, f18_data_4; + wire f18_src_rdy_1, f18_dst_rdy_1, f18_src_rdy_2, f18_dst_rdy_2; + wire f18_src_rdy_3, f18_dst_rdy_3, f18_src_rdy_4, f18_dst_rdy_4; + + fifo36_to_fifo18 f36_to_f18 + (.clk(clk), .reset(reset), .clear(clear), + .f36_datain(datain), .f36_src_rdy_i(src_rdy_i), .f36_dst_rdy_o(dst_rdy_o), + .f18_dataout(f18_data_1), .f18_src_rdy_o(f18_src_rdy_1), .f18_dst_rdy_i(f18_dst_rdy_1) ); + + wire [15:0] f1_occ, f2_space; + + fifo_2clock_cascade #(.WIDTH(18), .SIZE(4)) fifo_2clock_in + (.wclk(clk), .datain(f18_data_1), .src_rdy_i(f18_src_rdy_1), .dst_rdy_o(f18_dst_rdy_1), .space(), + .rclk(sram_clk), .dataout(f18_data_2), .src_rdy_o(f18_src_rdy_2), .dst_rdy_i(f18_dst_rdy_2), .short_occupied(f1_occ), + .arst(reset) ); + + fifo_extram fifo_extram + (.reset(reset), .clear(clear), + .datain(f18_data_2), .src_rdy_i(f18_src_rdy_2), .dst_rdy_o(f18_dst_rdy_2), .space(), .occ_in(f1_occ), + .dataout(f18_data_3), .src_rdy_o(f18_src_rdy_3), .dst_rdy_i(f18_dst_rdy_3), .occupied(), .space_in(f2_space), + .sram_clk(sram_clk), .sram_a(sram_a), .sram_d(sram_d), .sram_we(sram_we), + .sram_bw(sram_bw), .sram_adv(sram_adv), .sram_ce(sram_ce), .sram_oe(sram_oe), + .sram_mode(sram_mode), .sram_zz(sram_zz)); + + fifo_2clock_cascade #(.WIDTH(18), .SIZE(4)) fifo_2clock_out + (.wclk(sram_clk), .datain(f18_data_3), .src_rdy_i(f18_src_rdy_3), .dst_rdy_o(f18_dst_rdy_3), .short_space(f2_space), + .rclk(clk), .dataout(f18_data_4), .src_rdy_o(f18_src_rdy_4), .dst_rdy_i(f18_dst_rdy_4), .occupied(), + .arst(reset) ); + + fifo18_to_fifo36 f18_to_f36 + (.clk(clk), .reset(reset), .clear(clear), + .f18_datain(f18_data_4), .f18_src_rdy_i(f18_src_rdy_4), .f18_dst_rdy_o(f18_dst_rdy_4), + .f36_dataout(dataout), .f36_src_rdy_o(src_rdy_o), .f36_dst_rdy_i(dst_rdy_i) ); + +endmodule // fifo_extram36 diff --git a/usrp2/extramfifo/fifo_extram36_tb.build b/usrp2/extramfifo/fifo_extram36_tb.build new file mode 100644 index 000000000..699591889 --- /dev/null +++ b/usrp2/extramfifo/fifo_extram36_tb.build @@ -0,0 +1 @@ +iverilog -y ../../models -y ../../models/CY7C1356C -y . -y ../../control_lib/ -y ../../coregen -y /opt/Xilinx/10.1/ISE/verilog/src/XilinxCoreLib -y /opt/Xilinx/10.1/ISE/verilog/src/unisims/ -o fifo_extram36_tb fifo_extram36_tb.v diff --git a/usrp2/extramfifo/fifo_extram36_tb.v b/usrp2/extramfifo/fifo_extram36_tb.v new file mode 100644 index 000000000..f28c35e4f --- /dev/null +++ b/usrp2/extramfifo/fifo_extram36_tb.v @@ -0,0 +1,475 @@ +`timescale 1ns/1ns + +module fifo_extram36_tb(); + + reg clk = 0; + reg sram_clk = 0; + reg rst = 1; + reg clear = 0; + + reg Verbose = 0; // + integer ErrorCount = 0; + + initial #1000 rst = 0; +// always #125 clk = ~clk; + task task_CLK; + reg [7:0] ran; + begin + while (1) begin + ran = $random; + if (ran[1]) + #62 clk = ~clk; + else + #63 clk = !clk; + end + end + endtask // task_CLK + initial task_CLK; + +// always #100 sram_clk = ~sram_clk; + task task_SSRAM_clk; + reg [7:0] ran; + begin + while (1) begin + ran = $random; + if (ran[0]) + #49 sram_clk = ~sram_clk; + else + #51 sram_clk = ~sram_clk; + end + end + endtask // task_SSRAM_clk + initial task_SSRAM_clk; + + reg [31:0] f36_data = 32'hX; + reg [1:0] f36_occ = 0; + reg f36_sof = 0, f36_eof = 0; + + wire [35:0] f36_in = {1'b0,f36_occ,f36_eof,f36_sof,f36_data}; + reg src_rdy_f36i = 0; + wire dst_rdy_f36i; + + wire [35:0] f36_out; + wire src_rdy_f36o; + reg dst_rdy_f36o = 0; + + wire [17:0] sram_d; + wire [18:0] sram_a; + wire [1:0] sram_bw; + wire sram_we, sram_adv, sram_ce, sram_oe, sram_mode, sram_zz; + + reg [31:0] ScoreBoard [524288:0]; + reg [18:0] put_index = 0; + reg [18:0] get_index = 0; + +// integer put_index = 0; +// integer get_index = 0; + + wire [15:0] DUT_space, DUT_occupied; + + fifo_extram36 fifo_extram36 + (.clk(clk), .reset(rst), .clear(clear), + .datain(f36_in), .src_rdy_i(src_rdy_f36i), .dst_rdy_o(dst_rdy_f36i), .space(DUT_space), + .dataout(f36_out), .src_rdy_o(src_rdy_f36o), .dst_rdy_i(dst_rdy_f36o), .occupied(DUT_occupied), + .sram_clk(sram_clk), .sram_a(sram_a), .sram_d(sram_d), .sram_we(sram_we), + .sram_bw(sram_bw), .sram_adv(sram_adv), .sram_ce(sram_ce), .sram_oe(sram_oe), + .sram_mode(sram_mode), .sram_zz(sram_zz)); + +`define idt 1 +`ifdef idt + wire [15:0] dummy16; + wire [1:0] dummy2; + + idt71v65603s150 + ram_model(.A(sram_a[17:0]), + .adv_ld_(sram_adv), // advance (high) / load (low) + .bw1_(0), .bw2_(0), .bw3_(0), .bw4_(0), // byte write enables (low) + .ce1_(0), .ce2(1), .ce2_(0), // chip enables + .cen_(sram_ce), // clock enable (low) + .clk(sram_clk), // clock + .IO({dummy16,sram_d[15:0]}), + .IOP({dummy2,sram_d[17:16]}), // data bus + .lbo_(sram_mode), // linear burst order (low) + .oe_(sram_oe), // output enable (low) + .r_w_(sram_we)); // read (high) / write (low) +`else + cy1356 ram_model(.d(sram_d),.clk(~sram_clk),.a(sram_a), + .bws(2'b00),.we_b(sram_we),.adv_lb(sram_adv), + .ce1b(0),.ce2(1),.ce3b(0), + .oeb(sram_oe),.cenb(sram_ce),.mode(sram_mode) ); +`endif + + task task_SSRAMMonitor; + reg last_mode; + reg last_clock; + reg last_load; + reg [18:0] sram_addr; + + begin + last_mode = 1'bX; + last_clock = 1'bX; + last_load = 1'bX; + + @ (posedge Verbose); + $dumpvars(0,fifo_extram36_tb); + + $display("%t:%m\t*** Task Started",$time); + while (1) @ (posedge sram_clk) begin + if (sram_mode !== last_mode) begin + $display("%t:%m\tSSRAM mode: %b",$time,sram_mode); + last_mode = sram_mode; + end + if (sram_adv !== last_load) begin + $display("%t:%m\tSSRAM adv/load: %b",$time,sram_adv); + last_load = sram_adv; + end + if (sram_ce !== last_clock) begin + $display("%t:%m\tSSRAM clock enable: %b",$time,sram_ce); + last_clock = sram_ce; + end + if (sram_ce == 1'b0) begin + if (sram_adv == 1'b0) begin +// $display("%t:%m\tSSRAM Address Load A=%h",$time,sram_a); + sram_addr = sram_a; + end else begin + sram_addr = sram_addr + 1; + end + if (sram_oe == 1'b0) begin + $display("%t:%m\tSSRAM Read Cycle A=%h(%h), D=%o",$time,sram_addr-2,sram_a,sram_d); + end + if (sram_we == 1'b0) begin + $display("%t:%m\tSSRAM Write Cycle A=%h(%h), D=%o",$time,sram_addr-2,sram_a,sram_d); + end + if ((sram_we == 1'b0) && (sram_oe == 1'b0)) begin + $display("%t:%m\t*** ERROR: _oe and _we both active",$time); + end + + end // if (sram_ce == 1'b0) + + end // always @ (posedge sram_clk) + end + endtask // task_SSRAMMonitor + + task ReadFromFIFO36; + begin + $display("%t: Read from FIFO36",$time); + #1 dst_rdy_f36o <= 1; + while(1) + begin + while(~src_rdy_f36o) + @(posedge clk); + $display("%t: Read: %h>",$time,f36_out); + @(posedge clk); + end + end + endtask // ReadFromFIFO36 + + initial dst_rdy_f36o = 0; + + task task_ReadFIFO36; + reg [7:0] ran; + begin + $display("%t:%m\t*** Task Started",$time); + while (1) begin + // Read on one of four clocks + #5 dst_rdy_f36o <= 1; + @(posedge clk); + if (src_rdy_f36o) begin + if (f36_out[31:0] != ScoreBoard[get_index]) begin + $display("%t:%m\tFIFO Get Error: R:%h, E:%h (%h)",$time,f36_out[31:0],ScoreBoard[get_index],get_index); + ErrorCount = ErrorCount + 1; + end else begin + if (Verbose) + $display("%t:%m\t(%5h) %o>",$time,get_index,f36_out); + end + get_index = get_index+1; + end else begin + if (ErrorCount >= 192) + $finish; + end // else: !if(src_rdy_f36o) + + #10; + ran = $random; + if (ran[2:0] != 3'b000) begin + dst_rdy_f36o <= 0; + if (ran[2] != 1'b0) begin + @(posedge clk); + @(posedge clk); + @(posedge clk); + end + if (ran[1] != 1'b0) begin + @(posedge clk); + @(posedge clk); + end + if (ran[0] != 1'b0) begin + @(posedge clk); + end + end + end // while (1) + end + + endtask // task_ReadFIFO36 + + + reg [15:0] count; + + task PutPacketInFIFO36; + input [31:0] data_start; + input [31:0] data_len; + + begin + count = 4; + src_rdy_f36i = 1; + f36_data = data_start; + f36_sof = 1; + f36_eof = 0; + f36_occ = 0; + + $display("%t: Put Packet in FIFO36",$time); + while(~dst_rdy_f36i) + #1; //@(posedge clk); + @(posedge clk); + + $display("%t: <%h PPI_FIFO36: Entered First Line",$time,f36_data); + f36_sof <= 0; + while(count+4 < data_len) + begin + f36_data = f36_data + 32'h01010101; + count = count + 4; + while(~dst_rdy_f36i) + #1; //@(posedge clk); + @(posedge clk); + $display("%t: <%h PPI_FIFO36: Entered New Line",$time,f36_data); + end + f36_data <= f36_data + 32'h01010101; + f36_eof <= 1; + if(count + 4 == data_len) + f36_occ <= 0; + else if(count + 3 == data_len) + f36_occ <= 3; + else if(count + 2 == data_len) + f36_occ <= 2; + else + f36_occ <= 1; + while(~dst_rdy_f36i) + @(posedge clk); + @(posedge clk); + f36_occ <= 0; + f36_eof <= 0; + f36_data <= 0; + src_rdy_f36i <= 0; + $display("%t: <%h PPI_FIFO36: Entered Last Line",$time,f36_data); + end + endtask // PutPacketInFIFO36 + + task task_WriteFIFO36; + integer i; + reg [7:0] ran; + + begin + f36_data = 32'bX; + if (rst != 1'b0) + @ (negedge rst); + $display("%t:%m\t*** Task Started",$time); + #10; + src_rdy_f36i = 1; + f36_data = $random; + for (i=0; i<64; i=i+0 ) begin + @ (posedge clk) ; + if (dst_rdy_f36i) begin + if (Verbose) + $display("%t:%m\t(%5h) %o<",$time,put_index,f36_in); + ScoreBoard[put_index] = f36_in[31:0]; + put_index = put_index + 1; + #5; + f36_data = $random; + i = i + 1; + end + ran = $random; + if (ran[1:0] != 2'b00) begin + @ (negedge clk); + src_rdy_f36i = 0; + #5; + @ (negedge clk) ; + src_rdy_f36i = 1; + end + end + src_rdy_f36i = 0; + f36_data = 32'bX; +//* if (put_index > 19'h3ff00) +//* Verbose = 1'b1; + + end + endtask // task_WriteFIFO36 + + initial $dumpfile("fifo_extram36_tb.vcd"); +// initial $dumpvars(0,fifo_extram36_tb); + initial $timeformat(-9, 0, " ns", 10); + initial task_SSRAMMonitor; + + initial + begin + @(negedge rst); + #40000; + @(posedge clk); + @(posedge clk); + @(posedge clk); + @(posedge clk); +// ReadFromFIFO36; + task_ReadFIFO36; + + end + + integer i; + + initial + begin + @(negedge rst); + @(posedge clk); + @(posedge clk); + @(posedge clk); + task_WriteFIFO36; + @(posedge clk); + @(posedge clk); + @(posedge clk); +// PutPacketInFIFO36(32'hA0B0C0D0,12); + @(posedge clk); + @(posedge clk); + #10000; + @(posedge clk); +// PutPacketInFIFO36(32'hE0F0A0B0,36); + @(posedge clk); + @(posedge clk); + task_WriteFIFO36; + @(posedge clk); + @(posedge clk); + #10000; + @(posedge clk); + @(posedge clk); + task_WriteFIFO36; +// @(posedge clk); +// #30000; +// @(posedge clk); +// @(posedge clk); + task_WriteFIFO36; +// @(posedge clk); +// #30000; +// @(posedge clk); +// @(posedge clk); + task_WriteFIFO36; +// @(posedge clk); +// #30000; +// @(posedge clk); +// @(posedge clk); + task_WriteFIFO36; + @(posedge clk); + #10000; + @(posedge clk); + @(posedge clk); + task_WriteFIFO36; + for (i=0; i<8192; i = i+1) begin + @(posedge clk); + #10000; + @(posedge clk); + @(posedge clk); + task_WriteFIFO36; + @(posedge clk); + end + +// $dumpvars(0,fifo_extram36_tb); + @(posedge clk); + task_WriteFIFO36; + @(posedge clk); + + #100000000; + $finish; + + end + */ + + initial + begin + @(negedge rst); + f36_occ <= 0; + repeat (100) + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= 32'h10203040; + f36_sof <= 1; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= f36_data + 32'h01010101; + f36_sof <= 0; + f36_eof <= 0; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 1; + f36_data <= 32'h1F2F3F4F; + f36_sof <= 0; + f36_eof <= 1; + @(posedge clk); + @(posedge clk); + src_rdy_f36i <= 0; + + + + end + +// initial #500000 $finish; +endmodule // fifo_extram_tb diff --git a/usrp2/extramfifo/fifo_extram_tb.build b/usrp2/extramfifo/fifo_extram_tb.build new file mode 100644 index 000000000..e87217e5c --- /dev/null +++ b/usrp2/extramfifo/fifo_extram_tb.build @@ -0,0 +1 @@ +iverilog -y ../../models -y ../../models/CY7C1356C -y . -y ../../control_lib/ -y ../../coregen -y /opt/Xilinx/10.1/ISE/verilog/src/XilinxCoreLib -y /opt/Xilinx/10.1/ISE/verilog/src/unisims/ -o fifo_extram_tb fifo_extram_tb.v diff --git a/usrp2/extramfifo/fifo_extram_tb.v b/usrp2/extramfifo/fifo_extram_tb.v new file mode 100644 index 000000000..73550d9ca --- /dev/null +++ b/usrp2/extramfifo/fifo_extram_tb.v @@ -0,0 +1,134 @@ +module fifo_extram_tb(); + + reg clk = 0; + reg sram_clk = 0; + reg reset = 1; + reg clear = 0; + + initial #1000 reset = 0; + always #125 clk = ~clk; + always #100 sram_clk = ~sram_clk; + + reg [15:0] f18_data = 0; + reg f18_sof = 0, f18_eof = 0; + + wire [17:0] f18_in = {f18_eof,f18_sof,f18_data}; + reg src_rdy_f18i = 0; + wire dst_rdy_f18i; + + wire [17:0] f18_out; + wire src_rdy_f18o; + reg dst_rdy_f18o = 0; + + wire [17:0] f18_int; + wire src_rdy_f18int, dst_rdy_f18int; + + wire [17:0] sram_d; + wire [18:0] sram_a; + wire [1:0] sram_bw; + wire sram_we, sram_adv, sram_ce, sram_oe, sram_mode, sram_zz; + wire [15:0] f1_occ; + + fifo_short #(.WIDTH(18)) fifo_short + (.clk(sram_clk), .reset(reset), .clear(clear), + .datain(f18_in), .src_rdy_i(src_rdy_f18i), .dst_rdy_o(dst_rdy_f18i), .space(), + .dataout(f18_int), .src_rdy_o(src_rdy_f18int), .dst_rdy_i(dst_rdy_f18int), .occupied(f1_occ[4:0]) ); + + assign f1_occ[15:5] = 0; + + fifo_extram fifo_extram + (.reset(reset), .clear(clear), + .datain(f18_int), .src_rdy_i(src_rdy_f18int), .dst_rdy_o(dst_rdy_f18int), .space(), .occ_in(f1_occ), + .dataout(f18_out), .src_rdy_o(src_rdy_f18o), .dst_rdy_i(dst_rdy_f18o), .occupied(), .space_in(7), + .sram_clk(sram_clk), .sram_a(sram_a), .sram_d(sram_d), .sram_we(sram_we), + .sram_bw(sram_bw), .sram_adv(sram_adv), .sram_ce(sram_ce), .sram_oe(sram_oe), + .sram_mode(sram_mode), .sram_zz(sram_zz)); + +`define idt 1 +`ifdef idt + wire [15:0] dummy16; + wire [1:0] dummy2; + + idt71v65603s150 + ram_model(.A(sram_a[17:0]), + .adv_ld_(sram_adv), // advance (high) / load (low) + .bw1_(0), .bw2_(0), .bw3_(0), .bw4_(0), // byte write enables (low) + .ce1_(0), .ce2(1), .ce2_(0), // chip enables + .cen_(sram_ce), // clock enable (low) + .clk(sram_clk), // clock + .IO({dummy16,sram_d[15:0]}), + .IOP({dummy2,sram_d[17:16]}), // data bus + .lbo_(sram_mode), // linear burst order (low) + .oe_(sram_oe), // output enable (low) + .r_w_(sram_we)); // read (high) / write (low) +`else + cy1356 ram_model(.d(sram_d),.clk(sram_clk),.a(sram_a), + .bws(2'b00),.we_b(sram_we),.adv_lb(sram_adv), + .ce1b(0),.ce2(1),.ce3b(0), + .oeb(sram_oe),.cenb(sram_ce),.mode(sram_mode) ); +`endif // !`ifdef idt + + always @(posedge sram_clk) + if(dst_rdy_f18o & src_rdy_f18o) + $display("Read: %h",f18_out); + + always @(posedge sram_clk) + if(dst_rdy_f18int & src_rdy_f18int) + $display("Write: %h",f18_int); + + initial $dumpfile("fifo_extram_tb.vcd"); + initial $dumpvars(0,fifo_extram_tb); + + task SendPkt; + input [15:0] data_start; + input [31:0] data_len; + begin + @(posedge sram_clk); + f18_data = data_start; + f18_sof = 1; + f18_eof = 0; + src_rdy_f18i = 1; + while(~dst_rdy_f18i) + #1; + @(posedge sram_clk); + repeat(data_len - 2) + begin + f18_data = f18_data + 16'h0101; + f18_sof = 0; + while(~dst_rdy_f18i) + @(posedge sram_clk); + + @(posedge sram_clk); + end + f18_data = f18_data + 16'h0101; + f18_eof = 1; + while(~dst_rdy_f18i) + #1; + @(posedge sram_clk); + src_rdy_f18i = 0; + f18_data = 0; + f18_eof = 0; + end + endtask // SendPkt + + initial + begin + @(negedge reset); + @(posedge sram_clk); + @(posedge sram_clk); + #10000; + @(posedge sram_clk); + SendPkt(16'hA0B0, 100); + #10000; + //SendPkt(16'hC0D0, 220); + end + + initial + begin + #20000; + dst_rdy_f18o = 1; + end + + initial #200000 $finish; +endmodule // fifo_extram_tb + diff --git a/usrp2/fifo/fifo18_to_fifo36.v b/usrp2/fifo/fifo18_to_fifo36.v new file mode 100644 index 000000000..25bb215a1 --- /dev/null +++ b/usrp2/fifo/fifo18_to_fifo36.v @@ -0,0 +1,20 @@ + +// For now just assume FIFO18 is same as FIFO19 without occupancy bit + +module fifo18_to_fifo36 + (input clk, input reset, input clear, + input [17:0] f18_datain, + input f18_src_rdy_i, + output f18_dst_rdy_o, + + output [35:0] f36_dataout, + output f36_src_rdy_o, + input f36_dst_rdy_i + ); + + fifo19_to_fifo36 fifo19_to_fifo36 + (.clk(clk), .reset(reset), .clear(clear), + .f19_datain({1'b0,f18_datain}), .f19_src_rdy_i(f18_src_rdy_i), .f19_dst_rdy_o(f18_dst_rdy_o), + .f36_dataout(f36_dataout), .f36_src_rdy_o(f36_src_rdy_o), .f36_dst_rdy_i(f36_dst_rdy_i) ); + +endmodule // fifo18_to_fifo36 diff --git a/usrp2/fifo/fifo_2clock_cascade.v b/usrp2/fifo/fifo_2clock_cascade.v index 5ce726977..4e8c244c2 100644 --- a/usrp2/fifo/fifo_2clock_cascade.v +++ b/usrp2/fifo/fifo_2clock_cascade.v @@ -1,8 +1,10 @@ module fifo_2clock_cascade #(parameter WIDTH=32, SIZE=9) - (input wclk, input [WIDTH-1:0] datain, input src_rdy_i, output dst_rdy_o, output [15:0] space, - input rclk, output [WIDTH-1:0] dataout, output src_rdy_o, input dst_rdy_i, output [15:0] occupied, + (input wclk, input [WIDTH-1:0] datain, input src_rdy_i, output dst_rdy_o, + output [15:0] space, output [15:0] short_space, + input rclk, output [WIDTH-1:0] dataout, output src_rdy_o, input dst_rdy_i, + output [15:0] occupied, output [15:0] short_occupied, input arst); wire [WIDTH-1:0] data_int1, data_int2; @@ -29,7 +31,11 @@ module fifo_2clock_cascade .space(s2_space), .occupied(s2_occupied)); // Be conservative -- Only advertise space from input side of fifo, occupied from output side - assign space = {11'b0,s1_space} + l_space; - assign occupied = {11'b0,s2_occupied} + l_occupied; + assign space = {11'b0,s1_space} + l_space; + assign occupied = {11'b0,s2_occupied} + l_occupied; + + // For the fifo_extram, we only want to know the immediately adjacent space + assign short_space = {11'b0,s1_space}; + assign short_occupied = {11'b0,s2_occupied}; endmodule // fifo_2clock_cascade -- cgit v1.2.3 From 886606f55da066b66d214e512a2226b19a1073df Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Wed, 14 Jul 2010 17:01:25 -0700 Subject: get it to build --- usrp2/extramfifo/.gitignore | 3 + usrp2/extramfifo/fifo_extram36_tb.build | 2 +- usrp2/extramfifo/fifo_extram36_tb.v | 6 +- usrp2/extramfifo/fifo_extram_tb.build | 2 +- usrp2/models/idt71v65603s150.v | 301 ++++++++++++++++++++++++++++++++ 5 files changed, 309 insertions(+), 5 deletions(-) create mode 100644 usrp2/extramfifo/.gitignore mode change 100644 => 100755 usrp2/extramfifo/fifo_extram36_tb.build mode change 100644 => 100755 usrp2/extramfifo/fifo_extram_tb.build create mode 100755 usrp2/models/idt71v65603s150.v diff --git a/usrp2/extramfifo/.gitignore b/usrp2/extramfifo/.gitignore new file mode 100644 index 000000000..94bbf6dcc --- /dev/null +++ b/usrp2/extramfifo/.gitignore @@ -0,0 +1,3 @@ +fifo_extram36_tb +fifo_extram_tb +*.vcd diff --git a/usrp2/extramfifo/fifo_extram36_tb.build b/usrp2/extramfifo/fifo_extram36_tb.build old mode 100644 new mode 100755 index 699591889..ac9369758 --- a/usrp2/extramfifo/fifo_extram36_tb.build +++ b/usrp2/extramfifo/fifo_extram36_tb.build @@ -1 +1 @@ -iverilog -y ../../models -y ../../models/CY7C1356C -y . -y ../../control_lib/ -y ../../coregen -y /opt/Xilinx/10.1/ISE/verilog/src/XilinxCoreLib -y /opt/Xilinx/10.1/ISE/verilog/src/unisims/ -o fifo_extram36_tb fifo_extram36_tb.v +iverilog -y ../models -y . -y ../control_lib/ -y ../coregen -y ../fifo -y /opt/Xilinx/10.1/ISE/verilog/src/XilinxCoreLib -y /opt/Xilinx/10.1/ISE/verilog/src/unisims/ -o fifo_extram36_tb fifo_extram36_tb.v diff --git a/usrp2/extramfifo/fifo_extram36_tb.v b/usrp2/extramfifo/fifo_extram36_tb.v index f28c35e4f..e5f8cef4c 100644 --- a/usrp2/extramfifo/fifo_extram36_tb.v +++ b/usrp2/extramfifo/fifo_extram36_tb.v @@ -296,8 +296,8 @@ module fifo_extram36_tb(); end src_rdy_f36i = 0; f36_data = 32'bX; -//* if (put_index > 19'h3ff00) -//* Verbose = 1'b1; +// if (put_index > 19'h3ff00) +// Verbose = 1'b1; end endtask // task_WriteFIFO36 @@ -385,7 +385,7 @@ module fifo_extram36_tb(); $finish; end - */ + initial begin diff --git a/usrp2/extramfifo/fifo_extram_tb.build b/usrp2/extramfifo/fifo_extram_tb.build old mode 100644 new mode 100755 index e87217e5c..5607c8691 --- a/usrp2/extramfifo/fifo_extram_tb.build +++ b/usrp2/extramfifo/fifo_extram_tb.build @@ -1 +1 @@ -iverilog -y ../../models -y ../../models/CY7C1356C -y . -y ../../control_lib/ -y ../../coregen -y /opt/Xilinx/10.1/ISE/verilog/src/XilinxCoreLib -y /opt/Xilinx/10.1/ISE/verilog/src/unisims/ -o fifo_extram_tb fifo_extram_tb.v +iverilog -y ../models -y . -y ../control_lib/ -y ../coregen -y ../fifo -y /opt/Xilinx/10.1/ISE/verilog/src/XilinxCoreLib -y /opt/Xilinx/10.1/ISE/verilog/src/unisims/ -o fifo_extram_tb fifo_extram_tb.v diff --git a/usrp2/models/idt71v65603s150.v b/usrp2/models/idt71v65603s150.v new file mode 100755 index 000000000..457dfa6dd --- /dev/null +++ b/usrp2/models/idt71v65603s150.v @@ -0,0 +1,301 @@ +/******************************************************************************* + * + * File Name : idt71v65603s150.v + * Product : IDT71V65603 + * Function : 256K x 36 pipeline ZBT Static RAM + * Simulation Tool/Version : Verilog-XL 2.5 + * Date : 07/19/00 + * + * Copyright 1999 Integrated Device Technology, Inc. + * + * Revision Notes: 07/19/00 Rev00 + * + ******************************************************************************/ +/******************************************************************************* + * Module Name: idt71v65603s150 + * + * Notes : This model is believed to be functionally + * accurate. Please direct any inquiries to + * IDT SRAM Applications at: sramhelp@idt.com + * + *******************************************************************************/ + + /*************************************************************** + * + * Integrated Device Technology, Inc. ("IDT") hereby grants the + * user of this Verilog/VCS model a non-exclusive, nontransferable + * license to use this Verilog/VCS model under the following terms. + * The user is granted this license only to use the Verilog/VCS + * model and is not granted rights to sell, copy (except as needed + * to run the IBIS model), rent, lease or sub-license the Verilog/VCS + * model in whole or in part, or in modified form to anyone. The User + * may modify the Verilog/VCS model to suit its specific applications, + * but rights to derivative works and such modifications shall belong + * to IDT. + * + * This Verilog/VCS model is provided on an "AS IS" basis and + * IDT makes absolutely no warranty with respect to the information + * contained herein. IDT DISCLAIMS AND CUSTOMER WAIVES ALL + * WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE + * ENTIRE RISK AS TO QUALITY AND PERFORMANCE IS WITH THE + * USER ACCORDINGLY, IN NO EVENT SHALL IDT BE LIABLE + * FOR ANY DIRECT OR INDIRECT DAMAGES, WHETHER IN CONTRACT OR + * TORT, INCLUDING ANY LOST PROFITS OR OTHER INCIDENTAL, + * CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES ARISING OUT OF + * THE USE OR APPLICATION OF THE VERILOG/VCS model. Further, + * IDT reserves the right to make changes without notice to any + * product herein to improve reliability, function, or design. + * IDT does not convey any license under patent rights or + * any other intellectual property rights, including those of + * third parties. IDT is not obligated to provide maintenance + * or support for the licensed Verilog/VCS model. + * + ***************************************************************/ + + `timescale 1ns/100ps + +module idt71v65603s150 (A, + adv_ld_, // advance (high) / load (low) + bw1_, bw2_, bw3_, bw4_, // byte write enables (low) + ce1_, ce2, ce2_, // chip enables + cen_, // clock enable (low) + clk, // clock + IO, IOP, // data bus + lbo_, // linear burst order (low) + oe_, // output enable (low) + r_w_); // read (high) / write (low) + +initial +begin + $write("\n********************************************************\n"); + $write(" idt71v65603s150, 256K x 36 Pipelined burst ZBT SRAM \n"); + $write(" Rev: 00 July 2000 \n"); + $write(" copyright 1997,1998,1999,2000 by IDT, Inc. \n"); + $write("********************************************************\n\n"); +end + +input [17:0] A; +inout [31:0] IO; +inout [4:1] IOP; +input adv_ld_, bw1_, bw2_, bw3_, bw4_, ce1_, ce2, ce2_, + cen_, clk, lbo_, oe_, r_w_; + + +//internal registers for data, address, etc +reg [8:0] mem1[0:262143]; //memory array +reg [8:0] mem2[0:262143]; //memory array +reg [8:0] mem3[0:262143]; //memory array +reg [8:0] mem4[0:262143]; //memory array + +reg [35:0] dout; +reg [17:0] addr_a, + addr_b; +reg wren_a, wren_b; +reg cs_a, cs_b; +reg bw_a1, bw_b1; +reg bw_a2, bw_b2; +reg bw_a3, bw_b3; +reg bw_a4, bw_b4; +reg [1:0] brst_cnt; + +wire[35:0] data_out; +wire doe; +wire cs = (~ce1_ & ce2 & ~ce2_); +wire baddr0, baddr1; + + +parameter regdelay = 0.2; +parameter outdly = 0.2; + +specify +specparam +//Clock Parameters + tCYC = 6.7, //clock cycle time + tCH = 2.0, //clock high time + tCL = 2.0, //clock low time + +//Output Parameters + tCD = 3.8, //clk to data valid + tCLZ = 1.5, //clk to output Low-Z + tCHZ = 3.0, //clk to data Hi-Z + tOE = 3.8, //OE to output valid + tOLZ = 0.0, //OE to output Hi-Z + tOHZ = 3.8, //OE to output Hi-Z + +//Set up times + tSE = 1.5, //clock enable set-up + tSA = 1.5, //address set-up + tSD = 1.5, //data set-up + tSW = 1.5, //Read/Write set-up + tSADV = 1.5, //Advance/Load set-up + tSC = 1.5, //Chip enable set-up + tSB = 1.5, //Byte write enable set-up + +//Hold times + tHE = 0.5, //clock enable hold + tHA = 0.5, //address hold + tHD = 0.5, //data hold + tHW = 0.5, //Read/Write hold + tHADV = 0.5, //Advance/Load hold + tHC = 0.5, //Chip enable hold + tHB = 0.5; //Byte write enable hold + + + (oe_ *> IO) = (tOE,tOE,tOHZ,tOLZ,tOHZ,tOLZ); //(01,10,0z,z1,1z,z0) + (clk *> IO) = (tCD,tCD,tCHZ,tCLZ,tCHZ,tCLZ); //(01,10,0z,z1,1z,z0) + + (oe_ *> IOP) = (tOE,tOE,tOHZ,tOLZ,tOHZ,tOLZ); //(01,10,0z,z1,1z,z0) + (clk *> IOP) = (tCD,tCD,tCHZ,tCLZ,tCHZ,tCLZ); //(01,10,0z,z1,1z,z0) + +//timing checks + + $period(posedge clk, tCYC ); + $width (posedge clk, tCH ); + $width (negedge clk, tCL ); + + + $setuphold(posedge clk, A, tSA, tHA); + $setuphold(posedge clk, IO, tSD, tHD); + $setuphold(posedge clk, IOP, tSD, tHD); + $setuphold(posedge clk, adv_ld_, tSADV, tHADV); + $setuphold(posedge clk, bw1_, tSB, tHB); + $setuphold(posedge clk, bw2_, tSB, tHB); + $setuphold(posedge clk, bw3_, tSB, tHB); + $setuphold(posedge clk, bw4_, tSB, tHB); + $setuphold(posedge clk, ce1_, tSC, tHC); + $setuphold(posedge clk, ce2, tSC, tHC); + $setuphold(posedge clk, ce2_, tSC, tHC); + $setuphold(posedge clk, cen_, tSE, tHE); + $setuphold(posedge clk, r_w_, tSW, tHW); + +endspecify + +initial begin + cs_a = 0; + cs_b = 0; +end + + +///////////////////////////////////////////////////////////////////////// +//input registers +//-------------------- +always @(posedge clk) +begin + if ( ~cen_ & ~adv_ld_ ) cs_a <= #regdelay cs; + if ( ~cen_ ) cs_b <= #regdelay cs_a; + + if ( ~cen_ & ~adv_ld_ ) wren_a <= #regdelay (cs & ~r_w_); + if ( ~cen_ ) wren_b <= #regdelay wren_a; + + if ( ~cen_ ) bw_a1 <= #regdelay ~bw1_; + if ( ~cen_ ) bw_a2 <= #regdelay ~bw2_; + if ( ~cen_ ) bw_a3 <= #regdelay ~bw3_; + if ( ~cen_ ) bw_a4 <= #regdelay ~bw4_; + + if ( ~cen_ ) bw_b1 <= #regdelay bw_a1; + if ( ~cen_ ) bw_b2 <= #regdelay bw_a2; + if ( ~cen_ ) bw_b3 <= #regdelay bw_a3; + if ( ~cen_ ) bw_b4 <= #regdelay bw_a4; + + if ( ~cen_ & ~adv_ld_ ) addr_a[17:0] <= #regdelay A[17:0]; + if ( ~cen_ ) addr_b[17:0] <= #regdelay {addr_a[17:2], baddr1, baddr0}; +end + + +///////////////////////////////////////////////////////////////////////// +//burst counter +//-------------------- +always @(posedge clk) +begin + if ( lbo_ & ~cen_ & ~adv_ld_) brst_cnt <= #regdelay 0; + else if (~lbo_ & ~cen_ & ~adv_ld_) brst_cnt <= #regdelay A[1:0]; + else if ( ~cen_ & adv_ld_) brst_cnt <= #regdelay brst_cnt + 1; +end + + +///////////////////////////////////////////////////////////////////////// +//address logic +//-------------------- +assign baddr1 = lbo_ ? (brst_cnt[1] ^ addr_a[1]) : brst_cnt[1]; +assign baddr0 = lbo_ ? (brst_cnt[0] ^ addr_a[0]) : brst_cnt[0]; + + +///////////////////////////////////////////////////////////////////////// +//data output register +//-------------------- +always @(posedge clk) +begin + #regdelay; + #regdelay; + dout[8:0] = mem1[addr_b]; + dout[17:9] = mem2[addr_b]; + dout[26:18] = mem3[addr_b]; + dout[35:27] = mem4[addr_b]; +end + +assign data_out = dout; + + +///////////////////////////////////////////////////////////////////////// +//Output buffers: using a bufif1 has the same effect as... +// +// assign D = doe ? data_out : 36'hz; +// +//It was coded this way to support SPECIFY delays in the specparam section. +//-------------------- +bufif1 #outdly (IO[0],data_out[0],doe); +bufif1 #outdly (IO[1],data_out[1],doe); +bufif1 #outdly (IO[2],data_out[2],doe); +bufif1 #outdly (IO[3],data_out[3],doe); +bufif1 #outdly (IO[4],data_out[4],doe); +bufif1 #outdly (IO[5],data_out[5],doe); +bufif1 #outdly (IO[6],data_out[6],doe); +bufif1 #outdly (IO[7],data_out[7],doe); +bufif1 #outdly (IOP[1],data_out[8],doe); + +bufif1 #outdly (IO[8],data_out[9],doe); +bufif1 #outdly (IO[9],data_out[10],doe); +bufif1 #outdly (IO[10],data_out[11],doe); +bufif1 #outdly (IO[11],data_out[12],doe); +bufif1 #outdly (IO[12],data_out[13],doe); +bufif1 #outdly (IO[13],data_out[14],doe); +bufif1 #outdly (IO[14],data_out[15],doe); +bufif1 #outdly (IO[15],data_out[16],doe); +bufif1 #outdly (IOP[2],data_out[17],doe); + +bufif1 #outdly (IO[16],data_out[18],doe); +bufif1 #outdly (IO[17],data_out[19],doe); +bufif1 #outdly (IO[18],data_out[20],doe); +bufif1 #outdly (IO[19],data_out[21],doe); +bufif1 #outdly (IO[20],data_out[22],doe); +bufif1 #outdly (IO[21],data_out[23],doe); +bufif1 #outdly (IO[22],data_out[24],doe); +bufif1 #outdly (IO[23],data_out[25],doe); +bufif1 #outdly (IOP[3],data_out[26],doe); + +bufif1 #outdly (IO[24],data_out[27],doe); +bufif1 #outdly (IO[25],data_out[28],doe); +bufif1 #outdly (IO[26],data_out[29],doe); +bufif1 #outdly (IO[27],data_out[30],doe); +bufif1 #outdly (IO[28],data_out[31],doe); +bufif1 #outdly (IO[29],data_out[32],doe); +bufif1 #outdly (IO[30],data_out[33],doe); +bufif1 #outdly (IO[31],data_out[34],doe); +bufif1 #outdly (IOP[4],data_out[35],doe); + +assign doe = cs_b & ~wren_b & ~oe_ ; + + +///////////////////////////////////////////////////////////////////////// +// write to ram +//------------- +always @(posedge clk) +begin + if (wren_b & bw_b1 & ~cen_) mem1[addr_b] = {IOP[1], IO[7:0]}; + if (wren_b & bw_b2 & ~cen_) mem2[addr_b] = {IOP[2], IO[15:8]}; + if (wren_b & bw_b3 & ~cen_) mem3[addr_b] = {IOP[3], IO[23:16]}; + if (wren_b & bw_b4 & ~cen_) mem4[addr_b] = {IOP[4], IO[31:24]}; +end + +endmodule -- cgit v1.2.3 From 8cd762bdbcbd6a43a2fcc1c0b523cc14bfd7ab69 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 29 Jul 2010 21:25:26 -0700 Subject: Checkpoint checkin. Loopback is running via the external ZBT SRAM...HOWEVER, its not running well, its stable but the data is corrupted sometimes. Not clear if its a logic or AC timing/SI issue yet. --- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v | 165 ++++++++++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco | 82 +++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v | 165 ++++++++++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco | 82 +++++++ usrp2/extramfifo/Makefile.srcs | 16 ++ usrp2/extramfifo/ext_fifo.v | 120 +++++++++++ usrp2/extramfifo/ext_fifo_tb.cmd | 11 + usrp2/extramfifo/ext_fifo_tb.prj | 9 + usrp2/extramfifo/ext_fifo_tb.sh | 1 + usrp2/extramfifo/ext_fifo_tb.v | 285 +++++++++++++++++++++++++ usrp2/extramfifo/nobl_fifo.v | 264 +++++++++++++++++++++++ usrp2/extramfifo/nobl_if.v | 136 ++++++++++++ usrp2/extramfifo/test_sram_if.v | 171 +++++++++++++++ 13 files changed, 1507 insertions(+) create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco create mode 100644 usrp2/extramfifo/Makefile.srcs create mode 100644 usrp2/extramfifo/ext_fifo.v create mode 100644 usrp2/extramfifo/ext_fifo_tb.cmd create mode 100644 usrp2/extramfifo/ext_fifo_tb.prj create mode 100644 usrp2/extramfifo/ext_fifo_tb.sh create mode 100644 usrp2/extramfifo/ext_fifo_tb.v create mode 100644 usrp2/extramfifo/nobl_fifo.v create mode 100644 usrp2/extramfifo/nobl_if.v create mode 100644 usrp2/extramfifo/test_sram_if.v diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v new file mode 100644 index 000000000..1d7a5ca2a --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v @@ -0,0 +1,165 @@ +/******************************************************************************* +* This file is owned and controlled by Xilinx and must be used * +* solely for design, simulation, implementation and creation of * +* design files limited to Xilinx devices or technologies. Use * +* with non-Xilinx devices or technologies is expressly prohibited * +* and immediately terminates your license. * +* * +* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" * +* SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR * +* XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION * +* AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION * +* OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS * +* IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, * +* AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE * +* FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY * +* WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE * +* IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR * +* REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF * +* INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * +* FOR A PARTICULAR PURPOSE. * +* * +* Xilinx products are not intended for use in life support * +* appliances, devices, or systems. Use in such applications are * +* expressly prohibited. * +* * +* (c) Copyright 1995-2007 Xilinx, Inc. * +* All rights reserved. * +*******************************************************************************/ +// The synthesis directives "translate_off/translate_on" specified below are +// supported by Xilinx, Mentor Graphics and Synplicity synthesis +// tools. Ensure they are correct for your synthesis tool(s). + +// You must compile the wrapper file fifo_xlnx_512x36_2clk_18to36.v when simulating +// the core, fifo_xlnx_512x36_2clk_18to36. When compiling the wrapper file, be sure to +// reference the XilinxCoreLib Verilog simulation library. For detailed +// instructions, please refer to the "CORE Generator Help". + +`timescale 1ns/1ps + +module fifo_xlnx_512x36_2clk_18to36( + din, + rd_clk, + rd_en, + rst, + wr_clk, + wr_en, + dout, + empty, + full); + + +input [17 : 0] din; +input rd_clk; +input rd_en; +input rst; +input wr_clk; +input wr_en; +output [35 : 0] dout; +output empty; +output full; + +// synthesis translate_off + + FIFO_GENERATOR_V4_4 #( + .C_COMMON_CLOCK(0), + .C_COUNT_TYPE(0), + .C_DATA_COUNT_WIDTH(10), + .C_DEFAULT_VALUE("BlankString"), + .C_DIN_WIDTH(18), + .C_DOUT_RST_VAL("0"), + .C_DOUT_WIDTH(36), + .C_ENABLE_RLOCS(0), + .C_FAMILY("spartan3"), + .C_FULL_FLAGS_RST_VAL(0), + .C_HAS_ALMOST_EMPTY(0), + .C_HAS_ALMOST_FULL(0), + .C_HAS_BACKUP(0), + .C_HAS_DATA_COUNT(0), + .C_HAS_INT_CLK(0), + .C_HAS_MEMINIT_FILE(0), + .C_HAS_OVERFLOW(0), + .C_HAS_RD_DATA_COUNT(0), + .C_HAS_RD_RST(0), + .C_HAS_RST(1), + .C_HAS_SRST(0), + .C_HAS_UNDERFLOW(0), + .C_HAS_VALID(0), + .C_HAS_WR_ACK(0), + .C_HAS_WR_DATA_COUNT(0), + .C_HAS_WR_RST(0), + .C_IMPLEMENTATION_TYPE(2), + .C_INIT_WR_PNTR_VAL(0), + .C_MEMORY_TYPE(1), + .C_MIF_FILE_NAME("BlankString"), + .C_MSGON_VAL(1), + .C_OPTIMIZATION_MODE(0), + .C_OVERFLOW_LOW(0), + .C_PRELOAD_LATENCY(0), + .C_PRELOAD_REGS(1), + .C_PRIM_FIFO_TYPE("1kx18"), + .C_PROG_EMPTY_THRESH_ASSERT_VAL(4), + .C_PROG_EMPTY_THRESH_NEGATE_VAL(5), + .C_PROG_EMPTY_TYPE(0), + .C_PROG_FULL_THRESH_ASSERT_VAL(1023), + .C_PROG_FULL_THRESH_NEGATE_VAL(1022), + .C_PROG_FULL_TYPE(0), + .C_RD_DATA_COUNT_WIDTH(9), + .C_RD_DEPTH(512), + .C_RD_FREQ(1), + .C_RD_PNTR_WIDTH(9), + .C_UNDERFLOW_LOW(0), + .C_USE_DOUT_RST(1), + .C_USE_ECC(0), + .C_USE_EMBEDDED_REG(0), + .C_USE_FIFO16_FLAGS(0), + .C_USE_FWFT_DATA_COUNT(0), + .C_VALID_LOW(0), + .C_WR_ACK_LOW(0), + .C_WR_DATA_COUNT_WIDTH(10), + .C_WR_DEPTH(1024), + .C_WR_FREQ(1), + .C_WR_PNTR_WIDTH(10), + .C_WR_RESPONSE_LATENCY(1)) + inst ( + .DIN(din), + .RD_CLK(rd_clk), + .RD_EN(rd_en), + .RST(rst), + .WR_CLK(wr_clk), + .WR_EN(wr_en), + .DOUT(dout), + .EMPTY(empty), + .FULL(full), + .CLK(), + .INT_CLK(), + .BACKUP(), + .BACKUP_MARKER(), + .PROG_EMPTY_THRESH(), + .PROG_EMPTY_THRESH_ASSERT(), + .PROG_EMPTY_THRESH_NEGATE(), + .PROG_FULL_THRESH(), + .PROG_FULL_THRESH_ASSERT(), + .PROG_FULL_THRESH_NEGATE(), + .RD_RST(), + .SRST(), + .WR_RST(), + .ALMOST_EMPTY(), + .ALMOST_FULL(), + .DATA_COUNT(), + .OVERFLOW(), + .PROG_EMPTY(), + .PROG_FULL(), + .VALID(), + .RD_DATA_COUNT(), + .UNDERFLOW(), + .WR_ACK(), + .WR_DATA_COUNT(), + .SBITERR(), + .DBITERR()); + + +// synthesis translate_on + +endmodule + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco new file mode 100644 index 000000000..df97fd0e0 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco @@ -0,0 +1,82 @@ +############################################################## +# +# Xilinx Core Generator version K.39 +# Date: Thu Jul 29 23:02:41 2010 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = false +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = Verilog +SET device = xc3s2000 +SET devicefamily = spartan3 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = fg456 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -5 +SET verilogsim = true +SET vhdlsim = false +# END Project Options +# BEGIN Select +SELECT Fifo_Generator family Xilinx,_Inc. 4.4 +# END Select +# BEGIN Parameters +CSET almost_empty_flag=false +CSET almost_full_flag=false +CSET component_name=fifo_xlnx_512x36_2clk_18to36 +CSET data_count=false +CSET data_count_width=10 +CSET disable_timing_violations=false +CSET dout_reset_value=0 +CSET empty_threshold_assert_value=4 +CSET empty_threshold_negate_value=5 +CSET enable_ecc=false +CSET enable_int_clk=false +CSET fifo_implementation=Independent_Clocks_Block_RAM +CSET full_flags_reset_value=0 +CSET full_threshold_assert_value=1023 +CSET full_threshold_negate_value=1022 +CSET input_data_width=18 +CSET input_depth=1024 +CSET output_data_width=36 +CSET output_depth=512 +CSET overflow_flag=false +CSET overflow_sense=Active_High +CSET performance_options=First_Word_Fall_Through +CSET programmable_empty_type=No_Programmable_Empty_Threshold +CSET programmable_full_type=No_Programmable_Full_Threshold +CSET read_clock_frequency=1 +CSET read_data_count=false +CSET read_data_count_width=9 +CSET reset_pin=true +CSET reset_type=Asynchronous_Reset +CSET underflow_flag=false +CSET underflow_sense=Active_High +CSET use_dout_reset=true +CSET use_embedded_registers=false +CSET use_extra_logic=false +CSET valid_flag=false +CSET valid_sense=Active_High +CSET write_acknowledge_flag=false +CSET write_acknowledge_sense=Active_High +CSET write_clock_frequency=1 +CSET write_data_count=false +CSET write_data_count_width=10 +# END Parameters +GENERATE +# CRC: 117ae77f + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v new file mode 100644 index 000000000..f7f6e7e9f --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v @@ -0,0 +1,165 @@ +/******************************************************************************* +* This file is owned and controlled by Xilinx and must be used * +* solely for design, simulation, implementation and creation of * +* design files limited to Xilinx devices or technologies. Use * +* with non-Xilinx devices or technologies is expressly prohibited * +* and immediately terminates your license. * +* * +* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" * +* SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR * +* XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION * +* AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION * +* OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS * +* IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, * +* AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE * +* FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY * +* WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE * +* IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR * +* REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF * +* INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * +* FOR A PARTICULAR PURPOSE. * +* * +* Xilinx products are not intended for use in life support * +* appliances, devices, or systems. Use in such applications are * +* expressly prohibited. * +* * +* (c) Copyright 1995-2007 Xilinx, Inc. * +* All rights reserved. * +*******************************************************************************/ +// The synthesis directives "translate_off/translate_on" specified below are +// supported by Xilinx, Mentor Graphics and Synplicity synthesis +// tools. Ensure they are correct for your synthesis tool(s). + +// You must compile the wrapper file fifo_xlnx_512x36_2clk_36to18.v when simulating +// the core, fifo_xlnx_512x36_2clk_36to18. When compiling the wrapper file, be sure to +// reference the XilinxCoreLib Verilog simulation library. For detailed +// instructions, please refer to the "CORE Generator Help". + +`timescale 1ns/1ps + +module fifo_xlnx_512x36_2clk_36to18( + din, + rd_clk, + rd_en, + rst, + wr_clk, + wr_en, + dout, + empty, + full); + + +input [35 : 0] din; +input rd_clk; +input rd_en; +input rst; +input wr_clk; +input wr_en; +output [17 : 0] dout; +output empty; +output full; + +// synthesis translate_off + + FIFO_GENERATOR_V4_4 #( + .C_COMMON_CLOCK(0), + .C_COUNT_TYPE(0), + .C_DATA_COUNT_WIDTH(9), + .C_DEFAULT_VALUE("BlankString"), + .C_DIN_WIDTH(36), + .C_DOUT_RST_VAL("0"), + .C_DOUT_WIDTH(18), + .C_ENABLE_RLOCS(0), + .C_FAMILY("spartan3"), + .C_FULL_FLAGS_RST_VAL(0), + .C_HAS_ALMOST_EMPTY(0), + .C_HAS_ALMOST_FULL(0), + .C_HAS_BACKUP(0), + .C_HAS_DATA_COUNT(0), + .C_HAS_INT_CLK(0), + .C_HAS_MEMINIT_FILE(0), + .C_HAS_OVERFLOW(0), + .C_HAS_RD_DATA_COUNT(0), + .C_HAS_RD_RST(0), + .C_HAS_RST(1), + .C_HAS_SRST(0), + .C_HAS_UNDERFLOW(0), + .C_HAS_VALID(0), + .C_HAS_WR_ACK(0), + .C_HAS_WR_DATA_COUNT(0), + .C_HAS_WR_RST(0), + .C_IMPLEMENTATION_TYPE(2), + .C_INIT_WR_PNTR_VAL(0), + .C_MEMORY_TYPE(1), + .C_MIF_FILE_NAME("BlankString"), + .C_MSGON_VAL(1), + .C_OPTIMIZATION_MODE(0), + .C_OVERFLOW_LOW(0), + .C_PRELOAD_LATENCY(0), + .C_PRELOAD_REGS(1), + .C_PRIM_FIFO_TYPE("512x36"), + .C_PROG_EMPTY_THRESH_ASSERT_VAL(4), + .C_PROG_EMPTY_THRESH_NEGATE_VAL(5), + .C_PROG_EMPTY_TYPE(0), + .C_PROG_FULL_THRESH_ASSERT_VAL(509), + .C_PROG_FULL_THRESH_NEGATE_VAL(508), + .C_PROG_FULL_TYPE(0), + .C_RD_DATA_COUNT_WIDTH(10), + .C_RD_DEPTH(1024), + .C_RD_FREQ(1), + .C_RD_PNTR_WIDTH(10), + .C_UNDERFLOW_LOW(0), + .C_USE_DOUT_RST(1), + .C_USE_ECC(0), + .C_USE_EMBEDDED_REG(0), + .C_USE_FIFO16_FLAGS(0), + .C_USE_FWFT_DATA_COUNT(0), + .C_VALID_LOW(0), + .C_WR_ACK_LOW(0), + .C_WR_DATA_COUNT_WIDTH(9), + .C_WR_DEPTH(512), + .C_WR_FREQ(1), + .C_WR_PNTR_WIDTH(9), + .C_WR_RESPONSE_LATENCY(1)) + inst ( + .DIN(din), + .RD_CLK(rd_clk), + .RD_EN(rd_en), + .RST(rst), + .WR_CLK(wr_clk), + .WR_EN(wr_en), + .DOUT(dout), + .EMPTY(empty), + .FULL(full), + .CLK(), + .INT_CLK(), + .BACKUP(), + .BACKUP_MARKER(), + .PROG_EMPTY_THRESH(), + .PROG_EMPTY_THRESH_ASSERT(), + .PROG_EMPTY_THRESH_NEGATE(), + .PROG_FULL_THRESH(), + .PROG_FULL_THRESH_ASSERT(), + .PROG_FULL_THRESH_NEGATE(), + .RD_RST(), + .SRST(), + .WR_RST(), + .ALMOST_EMPTY(), + .ALMOST_FULL(), + .DATA_COUNT(), + .OVERFLOW(), + .PROG_EMPTY(), + .PROG_FULL(), + .VALID(), + .RD_DATA_COUNT(), + .UNDERFLOW(), + .WR_ACK(), + .WR_DATA_COUNT(), + .SBITERR(), + .DBITERR()); + + +// synthesis translate_on + +endmodule + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco new file mode 100644 index 000000000..a1c75dc39 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco @@ -0,0 +1,82 @@ +############################################################## +# +# Xilinx Core Generator version K.39 +# Date: Thu Jul 29 18:10:59 2010 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = false +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = Verilog +SET device = xc3s2000 +SET devicefamily = spartan3 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = fg456 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -5 +SET verilogsim = true +SET vhdlsim = false +# END Project Options +# BEGIN Select +SELECT Fifo_Generator family Xilinx,_Inc. 4.4 +# END Select +# BEGIN Parameters +CSET almost_empty_flag=false +CSET almost_full_flag=false +CSET component_name=fifo_xlnx_512x36_2clk_36to18 +CSET data_count=false +CSET data_count_width=9 +CSET disable_timing_violations=false +CSET dout_reset_value=0 +CSET empty_threshold_assert_value=4 +CSET empty_threshold_negate_value=5 +CSET enable_ecc=false +CSET enable_int_clk=false +CSET fifo_implementation=Independent_Clocks_Block_RAM +CSET full_flags_reset_value=0 +CSET full_threshold_assert_value=509 +CSET full_threshold_negate_value=508 +CSET input_data_width=36 +CSET input_depth=512 +CSET output_data_width=18 +CSET output_depth=1024 +CSET overflow_flag=false +CSET overflow_sense=Active_High +CSET performance_options=First_Word_Fall_Through +CSET programmable_empty_type=No_Programmable_Empty_Threshold +CSET programmable_full_type=No_Programmable_Full_Threshold +CSET read_clock_frequency=1 +CSET read_data_count=false +CSET read_data_count_width=10 +CSET reset_pin=true +CSET reset_type=Asynchronous_Reset +CSET underflow_flag=false +CSET underflow_sense=Active_High +CSET use_dout_reset=true +CSET use_embedded_registers=false +CSET use_extra_logic=false +CSET valid_flag=false +CSET valid_sense=Active_High +CSET write_acknowledge_flag=false +CSET write_acknowledge_sense=Active_High +CSET write_clock_frequency=1 +CSET write_data_count=false +CSET write_data_count_width=9 +# END Parameters +GENERATE +# CRC: 392ad537 + diff --git a/usrp2/extramfifo/Makefile.srcs b/usrp2/extramfifo/Makefile.srcs new file mode 100644 index 000000000..7cd49f4f6 --- /dev/null +++ b/usrp2/extramfifo/Makefile.srcs @@ -0,0 +1,16 @@ +# +# Copyright 2010 Ettus Research LLC +# + +################################################## +# Extram Sources +################################################## +EXTRAM_SRCS = $(abspath $(addprefix $(BASE_DIR)/../extramfifo/, \ +ext_fifo.v \ +nobl_if.v \ +nobl_fifo.v \ +icon.v \ +icon.xco \ +ila.v \ +ila.xco \ +)) diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v new file mode 100644 index 000000000..55935146a --- /dev/null +++ b/usrp2/extramfifo/ext_fifo.v @@ -0,0 +1,120 @@ +module ext_fifo + #(parameter INT_WIDTH=36,EXT_WIDTH=18,DEPTH=19) + ( + input int_clk, + input ext_clk, + input rst, + input [EXT_WIDTH-1:0] RAM_D_pi, + output [EXT_WIDTH-1:0] RAM_D_po, + output RAM_D_poe, + output [DEPTH-1:0] RAM_A, + output RAM_WEn, + output RAM_CENn, + output RAM_LDn, + output RAM_OEn, + output RAM_CE1n, + input [INT_WIDTH-1:0] datain, + input src_rdy_i, // WRITE + output dst_rdy_o, // not FULL + output [INT_WIDTH-1:0] dataout, + output src_rdy_o, // not EMPTY + input dst_rdy_i // READ + ); + + wire [EXT_WIDTH-1:0] write_data; + wire [EXT_WIDTH-1:0] read_data; + wire full1, empty1; + wire full2, empty2; + + + // FIFO buffers data from UDP engine into external FIFO clock domain. + fifo_xlnx_512x36_2clk_36to18 fifo_xlnx_512x36_2clk_36to18_i1 ( + .rst(rst), + .wr_clk(int_clk), + .rd_clk(ext_clk), + .din(datain), // Bus [35 : 0] + .wr_en(src_rdy_i), + .rd_en(space_avail&~empty1), + // .rd_en(~full2&~empty1), + .dout(write_data), // Bus [17 : 0] + .full(full1), + .empty(empty1)); + assign dst_rdy_o = ~full1; + + + + // External FIFO running at ext clock rate and 18 bit width. + nobl_fifo #(.WIDTH(EXT_WIDTH),.DEPTH(DEPTH)) + nobl_fifo_i1 + ( + .clk(ext_clk), + .rst(rst), + .RAM_D_pi(RAM_D_pi), + .RAM_D_po(RAM_D_po), + .RAM_D_poe(RAM_D_poe), + .RAM_A(RAM_A), + .RAM_WEn(RAM_WEn), + .RAM_CENn(RAM_CENn), + .RAM_LDn(RAM_LDn), + .RAM_OEn(RAM_OEn), + .RAM_CE1n(RAM_CE1n), + .write_data(write_data), + .write_strobe(space_avail & ~empty1 ), + .space_avail(space_avail), + .read_data(read_data), + .read_strobe(data_avail & ~full2), + .data_avail(data_avail) + ); + + + + // FIFO buffers data read from external FIFO into DSP clk domain and to TX DSP. + fifo_xlnx_512x36_2clk_18to36 fifo_xlnx_512x36_2clk_18to36_i1 ( + .rst(rst), + .wr_clk(ext_clk), + .rd_clk(int_clk), + .din(read_data), // Bus [17 : 0] + // .din(write_data), // Bus [17 : 0] + .wr_en(data_avail & ~full2 ), + // .wr_en(~full2&~empty1), + .rd_en(dst_rdy_i), + .dout(dataout), // Bus [35 : 0] + .full(full2), + .empty(empty2)); + assign src_rdy_o = ~empty2; + + + + wire [35:0] CONTROL0; + reg [7:0] datain_reg,write_data_reg,read_data_reg ; + reg space_avail_reg,data_avail_reg,empty1_reg,full2_reg ; + + always @(posedge ext_clk) + begin + //datain_reg <= datain[7:0]; + write_data_reg <= write_data[7:0]; + read_data_reg <= read_data[7:0]; + space_avail_reg <= space_avail; + data_avail_reg <= data_avail; + empty1_reg <= empty1; + full2_reg <= full2; + end + + + icon icon_i1 + ( + .CONTROL0(CONTROL0) + ); + + ila ila_i1 + ( + .CLK(ext_clk), + .CONTROL(CONTROL0), + // .TRIG0(address_reg), + .TRIG0(write_data_reg[7:0]), + .TRIG1(read_data_reg[7:0]), + .TRIG2(0), + .TRIG3({space_avail_reg,data_avail_reg,empty1_reg,full2_reg}) + ); + +endmodule // ext_fifo diff --git a/usrp2/extramfifo/ext_fifo_tb.cmd b/usrp2/extramfifo/ext_fifo_tb.cmd new file mode 100644 index 000000000..b0ab830dc --- /dev/null +++ b/usrp2/extramfifo/ext_fifo_tb.cmd @@ -0,0 +1,11 @@ +/opt/Xilinx/12.1/ISE_DS/ISE/verilog/src/glbl.v +-y . +-y ../coregen/ +-y ../models +-y /home/ianb/usrp-fpga/usrp2/sdr_lib +-y /home/ianb/usrp-fpga/usrp2/control_lib +-y /home/ianb/usrp-fpga/usrp2/models +-y /opt/Xilinx/12.1/ISE_DS/ISE/verilog/src/unisims +-y /opt/Xilinx/12.1/ISE_DS/ISE/verilog/src +-y /opt/Xilinx/12.1/ISE_DS/ISE/verilog/src/XilinxCoreLib + diff --git a/usrp2/extramfifo/ext_fifo_tb.prj b/usrp2/extramfifo/ext_fifo_tb.prj new file mode 100644 index 000000000..a11a15b2f --- /dev/null +++ b/usrp2/extramfifo/ext_fifo_tb.prj @@ -0,0 +1,9 @@ +verilog work "./ext_fifo_tb.v" +verilog work "./ext_fifo.v" +verilog work "./nobl_fifo.v" +verilog work "./nobl_if.v" +verilog work "../coregen/fifo_xlnx_512x36_2clk_36to18.v" +verilog work "../coregen/fifo_xlnx_512x36_2clk_18to36.v" +verilog work "../models/CY7C1356C/cy1356.v" +verilog work "../models/idt71v65603s150.v" +verilog work "$XILINX/verilog/src/glbl.v" diff --git a/usrp2/extramfifo/ext_fifo_tb.sh b/usrp2/extramfifo/ext_fifo_tb.sh new file mode 100644 index 000000000..a56574102 --- /dev/null +++ b/usrp2/extramfifo/ext_fifo_tb.sh @@ -0,0 +1 @@ +fuse -prj ext_fifo_tb.prj -t work.glbl -t work.ext_fifo_tb -L unisims_ver -L xilinxcorelib_ver -o ext_fifo_tb diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v new file mode 100644 index 000000000..aa1fd6e3c --- /dev/null +++ b/usrp2/extramfifo/ext_fifo_tb.v @@ -0,0 +1,285 @@ +`timescale 1ns / 1ps +`define INT_WIDTH 36 +`define EXT_WIDTH 18 +`define DEPTH 19 +`define DUMP_VCD_FULL + +module ext_fifo_tb(); + + + reg int_clk; + reg ext_clk; + reg rst; + + + + wire [`EXT_WIDTH-1:0] RAM_D_pi; + wire [`EXT_WIDTH-1:0] RAM_D_po; + wire [`EXT_WIDTH-1:0] RAM_D; + wire RAM_D_poe; + wire [`DEPTH-1:0] RAM_A; + wire RAM_WEn; + wire RAM_CENn; + wire RAM_LDn; + wire RAM_OEn; + wire RAM_CE1n; + reg [`INT_WIDTH-1:0] datain; + reg src_rdy_i; // WRITE + wire dst_rdy_o; // not FULL + wire [`INT_WIDTH-1:0] dataout; + reg [`INT_WIDTH-1:0] ref_dataout; + wire src_rdy_o; // not EMPTY + reg dst_rdy_i; + + + // Clocks + // Int clock is 100MHz + // Ext clock is 125MHz + initial + begin + int_clk <= 0; + ext_clk <= 0; + datain <= 0; + ref_dataout <= 1; + src_rdy_i <= 0; + dst_rdy_i <= 0; + end + + always + #5 int_clk <= ~int_clk; + + always + #4 ext_clk <= ~ext_clk; + + + initial + begin + rst <= 1; + repeat (5) @(negedge int_clk); + rst <= 0; + @(negedge int_clk); + repeat (1000) + begin + @(negedge int_clk); + datain <= datain + 1; + src_rdy_i <= 1; + @(negedge int_clk); + src_rdy_i <= 0; +// @(negedge int_clk); +// dst_rdy_i <= src_rdy_o; +// @(negedge int_clk); +// dst_rdy_i <= 0; + repeat (2) @(negedge int_clk); + end // repeat (1000) + // Fall through fifo, first output already valid + if (dataout !== ref_dataout) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + repeat (1000) + begin + @(negedge int_clk); + datain <= datain + 1; + src_rdy_i <= 1; + @(negedge int_clk); + src_rdy_i <= 0; + @(negedge int_clk); + ref_dataout <= ref_dataout + 1; + dst_rdy_i <= src_rdy_o; + @(negedge int_clk); + if (dataout !== ref_dataout) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + dst_rdy_i <= 0; +// repeat (2) @(negedge int_clk); + end // repeat (1000) + repeat (1000) + begin +// @(negedge int_clk); +// datain <= datain + 1; +// src_rdy_i <= 1; +// @(negedge int_clk); +// src_rdy_i <= 0; + @(negedge int_clk); + ref_dataout <= ref_dataout + 1; + dst_rdy_i <= src_rdy_o; + @(negedge int_clk); + if (dataout !== ref_dataout) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + dst_rdy_i <= 0; +// repeat (2) @(negedge int_clk); + end // repeat (1000) + + $finish; + + end // initial begin + + + /////////////////////////////////////////////////////////////////////////////////// + // Simulation control // + /////////////////////////////////////////////////////////////////////////////////// + `ifdef DUMP_LX2_TOP + // Set up output files + initial begin + $dumpfile("ext_fifo_tb.lx2"); + $dumpvars(1,ext_fifo_tb); + end + `endif + + `ifdef DUMP_LX2_FULL + // Set up output files + initial begin + $dumpfile("ext_fifo_tb.lx2"); + $dumpvars(0,ext_fifo_tb); + end + `endif + + `ifdef DUMP_VCD_TOP + // Set up output files + initial begin + $dumpfile("ext_fifo_tb.vcd"); + $dumpvars(1,ext_fifo_tb); + end + `endif + + `ifdef DUMP_VCD_TOP_PLUS_NEXT + // Set up output files + initial begin + $dumpfile("ext_fifo_tb.vcd"); + $dumpvars(2,ext_fifo_tb); + end + `endif + + + `ifdef DUMP_VCD_FULL + // Set up output files + initial begin + $dumpfile("ext_fifo_tb.vcd"); + $dumpvars(0,ext_fifo_tb); + end + `endif + + // Update display every 10 us + always #10000 $monitor("Time in uS ",$time/1000); + + wire [`EXT_WIDTH-1:0] RAM_D_pi_ext; + wire [`EXT_WIDTH-1:0] RAM_D_po_ext; + wire [`EXT_WIDTH-1:0] RAM_D_ext; + wire RAM_D_poe_ext; + + genvar i; + + // + // Instantiate IO for Bidirectional bus to SRAM + // + + generate + for (i=0;i<18;i=i+1) + begin : gen_RAM_D_IO + + IOBUF #( + .DRIVE(12), + .IOSTANDARD("LVCMOS25"), + .SLEW("FAST") + ) + RAM_D_i ( + .O(RAM_D_pi_ext[i]), + .I(RAM_D_po_ext[i]), + .IO(RAM_D[i]), + .T(RAM_D_poe_ext) + ); + end // block: gen_RAM_D_IO + + endgenerate + + wire [`DEPTH-1:0] RAM_A_ext; + wire RAM_WEn_ext,RAM_LDn_ext,RAM_CE1n_ext,RAM_OEn_ext,RAM_CENn_ext; + + assign #1 RAM_D_pi = RAM_D_pi_ext; + + assign #1 RAM_D_po_ext = RAM_D_po; + + assign #1 RAM_D_poe_ext = RAM_D_poe; + + assign #2 RAM_WEn_ext = RAM_WEn; + + assign #2 RAM_LDn_ext = RAM_LDn; + + assign #2 RAM_CE1n_ext = RAM_CE1n; + + assign #2 RAM_OEn_ext = RAM_OEn; + + assign #2 RAM_CENn_ext = RAM_CENn; + + assign #2 RAM_A_ext = RAM_A; + +/* -----\/----- EXCLUDED -----\/----- + wire [13:0] temp1; + assign temp1 = 14'h0; + wire [3:0] temp2; + assign temp2 = 4'h0; + -----/\----- EXCLUDED -----/\----- */ + + + idt71v65603s150 idt71v65603s150_i1 + ( + .A(RAM_A_ext[17:0]), + .adv_ld_(RAM_LDn_ext), // advance (high) / load (low) + .bw1_(1'b0), + .bw2_(1'b0), + .bw3_(1'b1), + .bw4_(1'b1), // byte write enables (low) + .ce1_(RAM_CE1n_ext), + .ce2(1'b1), + .ce2_(1'b0), // chip enables + .cen_(RAM_CENn_ext), // clock enable (low) + .clk(ext_clk), // clock + .IO({RAM_D[16:9],RAM_D[7:0]}), + .IOP({RAM_D[17],RAM_D[8]}), // data bus + .lbo_(1'b0), // linear burst order (low) + .oe_(RAM_OEn_ext), // output enable (low) + .r_w_(RAM_WEn_ext) + ); // read (high) / write (low) + +/* -----\/----- EXCLUDED -----\/----- + + + cy1356 cy1356_i1 + ( .d(RAM_D), + .clk(ext_clk), + .a(RAM_A_ext), + .bws(2'b00), + .we_b(RAM_WEn_ext), + .adv_lb(RAM_LDn_ext), + .ce1b(RAM_CE1n_ext), + .ce2(1'b1), + .ce3b(1'b0), + .oeb(RAM_OEn_ext), + .cenb(RAM_CENn_ext), + .mode(1'b0) + ); + -----/\----- EXCLUDED -----/\----- */ + + + ext_fifo + #(.INT_WIDTH(`INT_WIDTH),.EXT_WIDTH(`EXT_WIDTH),.DEPTH(`DEPTH)) + ext_fifo_i1 + ( + .int_clk(int_clk), + .ext_clk(ext_clk), + .rst(rst), + .RAM_D_pi(RAM_D_pi), + .RAM_D_po(RAM_D_po), + .RAM_D_poe(RAM_D_poe), + .RAM_A(RAM_A), + .RAM_WEn(RAM_WEn), + .RAM_CENn(RAM_CENn), + .RAM_LDn(RAM_LDn), + .RAM_OEn(RAM_OEn), + .RAM_CE1n(RAM_CE1n), + .datain(datain), + .src_rdy_i(src_rdy_i), // WRITE + .dst_rdy_o(dst_rdy_o), // not FULL + .dataout(dataout), + .src_rdy_o(src_rdy_o), // not EMPTY + .dst_rdy_i(dst_rdy_i) + ); + +endmodule // ext_fifo_tb diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v new file mode 100644 index 000000000..1bd7439ad --- /dev/null +++ b/usrp2/extramfifo/nobl_fifo.v @@ -0,0 +1,264 @@ +module nobl_fifo + #(parameter WIDTH=18,DEPTH=19) + ( + input clk, + input rst, + input [WIDTH-1:0] RAM_D_pi, + output [WIDTH-1:0] RAM_D_po, + output RAM_D_poe, + output [DEPTH-1:0] RAM_A, + output RAM_WEn, + output RAM_CENn, + output RAM_LDn, + output RAM_OEn, + output RAM_CE1n, + input [WIDTH-1:0] write_data, + input write_strobe, + output reg space_avail, + output reg [WIDTH-1:0] read_data, + input read_strobe, + output reg data_avail + ); + + reg [DEPTH-1:0] capacity; + reg [DEPTH-1:0] wr_pointer; + reg [DEPTH-1:0] rd_pointer; + wire [DEPTH-1:0] address; + + reg supress; + reg data_avail_int; // Data available with high latency from ext FIFO flag + wire [WIDTH-1:0] data_in; + wire data_in_valid; + reg [WIDTH-1:0] read_data_pending; + reg pending_avail; + wire read_strobe_int; + + + + assign read = read_strobe_int && data_avail_int; + assign write = write_strobe && space_avail; + + // When a read and write collision occur, supress availability flags next cycle + // and complete write followed by read over 2 cycles. This forces balanced arbitration + // and makes for a simple logic design. + + always @(posedge clk) + if (rst) + begin + capacity <= 1 << (DEPTH-1); + wr_pointer <= 0; + rd_pointer <= 0; + space_avail <= 0; + data_avail_int <= 0; + supress <= 0; + end + else + begin + space_avail <= ~((capacity == 0) || (read&&write) || (capacity == 1 && write) ); + // Capacity has 1 cycle delay so look ahead here for corner case of read of last item in FIFO. + data_avail_int <= ~((capacity == (1 << (DEPTH-1))) || (read&&write) || (capacity == ((1 << (DEPTH-1))-1) && read) ); + supress <= read && write; + wr_pointer <= wr_pointer + write; + rd_pointer <= rd_pointer + ((~write && read) || supress); + capacity <= capacity - write + ((~write && read) || supress); // REVISIT + end // else: !if(rst) + + assign address = write ? wr_pointer : rd_pointer; + assign enable = write || read || supress; + + // + // Need to have first item in external FIFO moved into local registers for single cycle latency and throughput on read. + // 2 local registers are provided so that a read every other clock cycle can be sustained. + // No fowarding logic is provided to bypass the external FIFO as latency is of no concern. + // + always @(posedge clk) + if (rst) + begin + read_data <= 0; + data_avail <= 0; + read_data_pending <= 0; + pending_avail <= 0; + end + else + begin + case({read_strobe,data_in_valid}) + // No read externally, no new data arriving from external FIFO + 2'b00: begin + case({data_avail,pending_avail}) + // Start Data empty, Pending empty. + // + // End Data full, Pending empty + 2'b00: begin + read_data <= read_data; + data_avail <= data_avail; + read_data_pending <= read_data_pending ; + pending_avail <= pending_avail; + end + // Start Data empty, Pending full. + // Data <= Pending, + // End Data full, Penidng empty. + 2'b01: begin + read_data <= read_data_pending; + data_avail <= 1'b1; + read_data_pending <= read_data_pending ; + pending_avail <= 1'b0; + end + // Start Data full, Pending empty. + // + // End Data full, Pending empty + 2'b10: begin + read_data <= read_data; + data_avail <= data_avail; + read_data_pending <= read_data_pending ; + pending_avail <= pending_avail; + end + // Start Data full, Pending full. + // + // End Data full, Pending full. + 2'b11: begin + read_data <= read_data; + data_avail <= data_avail; + read_data_pending <= read_data_pending ; + pending_avail <= pending_avail; + end + endcase + end + // No read externally, new data arriving from external FIFO + 2'b01: begin + case({data_avail,pending_avail}) + // Start Data empty, Pending empty. + // Data <= FIFO + // End Data full, Pending empty + 2'b00: begin + read_data <= data_in; + data_avail <= 1'b1; + read_data_pending <= read_data_pending ; + pending_avail <= 1'b0; + end + // Start Data empty, Pending full. + // Data <= Pending, Pending <= FIFO + // End Data full, Penidng full. + 2'b01: begin + read_data <= read_data_pending; + data_avail <= 1'b1; + read_data_pending <= data_in ; + pending_avail <= 1'b1; + end + // Start Data full, Pending empty. + // Pending <= FIFO + // End Data full, Pending full + 2'b10: begin + read_data <= read_data; + data_avail <= 1'b1; + read_data_pending <= data_in ; + pending_avail <= 1'b1; + end + // Data full, Pending full. + // *ILLEGAL STATE* + 2'b11: begin + + end + endcase + end + // Read externally, no new data arriving from external FIFO + 2'b10: begin + case({data_avail,pending_avail}) + // Start Data empty, Pending empty. + // *ILLEGAL STATE* + 2'b00: begin + + end + // Start Data empty, Pending full. + // *ILLEGAL STATE* + 2'b01: begin + + end + // Start Data full, Pending empty. + // Out <= Data + // End Data empty, Pending empty. + 2'b10: begin + read_data <= read_data; + data_avail <= 1'b0; + read_data_pending <= read_data_pending ; + pending_avail <= 1'b0; + end + // Start Data full, Pending full. + // Out <= Data, + // End Data full, Pending empty + 2'b11: begin + read_data <= read_data_pending; + data_avail <= 1'b1; + read_data_pending <= read_data_pending ; + pending_avail <= 1'b0; + end + endcase + end + // Read externally, new data arriving from external FIFO + 2'b11: begin + case({data_avail,pending_avail}) + // Start Data empty, Pending empty. + // *ILLEGAL STATE* + 2'b00: begin + + end + // Start Data empty, Pending full. + // *ILLEGAL STATE* + 2'b01: begin + + end + // Start Data full, Pending empty. + // Out <= Data, Data <= FIFO + // End Data full, Pending empty. + 2'b10: begin + read_data <= data_in; + data_avail <= 1'b1; + read_data_pending <= read_data_pending ; + pending_avail <= 1'b0; + end + // Start Data full, Pending full. + // Out <= Data, Data <= Pending, Pending <= FIFO + // End Data full, Pending full + 2'b11: begin + read_data <= read_data_pending; + data_avail <= 1'b1; + read_data_pending <= data_in ; + pending_avail <= 1'b1; + end + endcase + end + endcase + end + + // Start an external FIFO read as soon as a read of the buffer reg is strobed to minimise refill latency. + // If the buffer reg or the pending buffer reg is already empty also pre-emptively start a read. + // However there must be something in ext FIFO to read. + // This means that there can be 2 outstanding reads to the ext FIFO active at any time helping to hide latency. + assign read_strobe_int = (read_strobe & data_avail & ~pending_avail) || (~data_avail && ~pending_avail); + + + // + // Simple NoBL SRAM interface, 4 cycle read latency. + // Read/Write arbitration via temprary application of empty/full flags. + // + nobl_if nobl_if_i1 + ( + .clk(clk), + .rst(rst), + .RAM_D_pi(RAM_D_pi), + .RAM_D_po(RAM_D_po), + .RAM_D_poe(RAM_D_poe), + .RAM_A(RAM_A), + .RAM_WEn(RAM_WEn), + .RAM_CENn(RAM_CENn), + .RAM_LDn(RAM_LDn), + .RAM_OEn(RAM_OEn), + .RAM_CE1n(RAM_CE1n), + .address(address), + .data_out(write_data), + .data_in(data_in), + .data_in_valid(data_in_valid), + .write(write), + .enable(enable) + ); + +endmodule // nobl_fifo diff --git a/usrp2/extramfifo/nobl_if.v b/usrp2/extramfifo/nobl_if.v new file mode 100644 index 000000000..3143ce5ba --- /dev/null +++ b/usrp2/extramfifo/nobl_if.v @@ -0,0 +1,136 @@ +module nobl_if + #(parameter WIDTH=18,DEPTH=19) + ( + input clk, + input rst, + input [WIDTH-1:0] RAM_D_pi, + output [WIDTH-1:0] RAM_D_po, + output reg RAM_D_poe, + output [DEPTH-1:0] RAM_A, + output RAM_WEn, + output RAM_CENn, + output RAM_LDn, + output RAM_OEn, + output RAM_CE1n, + input [DEPTH-1:0] address, + input [WIDTH-1:0] data_out, + output reg [WIDTH-1:0] data_in, + output reg data_in_valid, + input write, + input enable + ); + + + reg enable_pipe1; + reg [DEPTH-1:0] address_pipe1; + reg write_pipe1; + reg [WIDTH-1:0] data_out_pipe1; + + reg enable_pipe2; + reg write_pipe2; + reg [WIDTH-1:0] data_out_pipe2; + + reg enable_pipe3; + reg write_pipe3; + reg [WIDTH-1:0] data_out_pipe3; + + assign RAM_LDn = 0; + assign RAM_OEn = 0; + + + // + // Pipeline stage 1 + // + always @(posedge clk) + if (rst) + begin + enable_pipe1 <= 0; + address_pipe1 <= 0; + write_pipe1 <= 0; + data_out_pipe1 <= 0; + end + else + begin + enable_pipe1 <= enable; + + if (enable) + begin + address_pipe1 <= address; + write_pipe1 <= write; + + if (write) + data_out_pipe1 <= data_out; + end + end // always @ (posedge clk) + + // Pipeline 1 drives address, write_enable, chip_select on NoBL SRAM + assign RAM_A = address_pipe1; + assign RAM_CENn = 1'b0; + assign RAM_WEn = ~write_pipe1; + assign RAM_CE1n = ~enable_pipe1; + + // + // Pipeline stage2 + // + always @(posedge clk) + if (rst) + begin + enable_pipe2 <= 0; + data_out_pipe2 <= 0; + write_pipe2 <= 0; + end + else + begin + data_out_pipe2 <= data_out_pipe1; + write_pipe2 <= write_pipe1; + enable_pipe2 <= enable_pipe1; + end + + // + // Pipeline stage3 + // + always @(posedge clk) + if (rst) + begin + enable_pipe3 <= 0; + data_out_pipe3 <= 0; + write_pipe3 <= 0; + RAM_D_poe <= 0; + end + else + begin + data_out_pipe3 <= data_out_pipe2; + write_pipe3 <= write_pipe2; + enable_pipe3 <= enable_pipe2; + RAM_D_poe <= ~(write_pipe2 & enable_pipe2); // Active low driver enable in Xilinx. + end + + // Pipeline 3 drives write data on NoBL SRAM + assign RAM_D_po = data_out_pipe3; + + + // + // Pipeline stage4 + // + always @(posedge clk) + if (rst) + begin + data_in_valid <= 0; + data_in <= 0; + end + else + begin + data_in <= RAM_D_pi; + if (enable_pipe3 & ~write_pipe3) + begin + // Read data now available to be registered. + data_in_valid <= 1'b1; + end + else + data_in_valid <= 1'b0; + end // always @ (posedge clk) + + + + +endmodule // nobl_if diff --git a/usrp2/extramfifo/test_sram_if.v b/usrp2/extramfifo/test_sram_if.v new file mode 100644 index 000000000..9f36b409c --- /dev/null +++ b/usrp2/extramfifo/test_sram_if.v @@ -0,0 +1,171 @@ +`define WIDTH 18 +`define DEPTH 19 + +module test_sram_if + ( + input clk, + input rst, + input [`WIDTH-1:0] RAM_D_pi, + output [`WIDTH-1:0] RAM_D_po, + output RAM_D_poe, + output [`DEPTH-1:0] RAM_A, + output RAM_WEn, + output RAM_CENn, + output RAM_LDn, + output RAM_OEn, + output RAM_CE1n, + output reg correct + ); + + reg [`DEPTH-1:0] write_count; + reg [`DEPTH-1:0] read_count; + reg enable; + reg write; + reg write_cycle; + reg read_cycle; + reg enable_reads; + reg [18:0] address; + reg [17:0] data_out; + wire [17:0] data_in; + wire data_in_valid; + + reg [17:0] check_data; + reg [17:0] check_data_old; + reg [17:0] check_data_old2; + + // + // Create counter that generates both external modulo 2^19 address and modulo 2^18 data to test RAM. + // + + always @(posedge clk) + if (rst) + begin + write_count <= 19'h0; + read_count <= 19'h0; + end + else if (write_cycle) // Write cycle + if (write_count == 19'h7FFFF) + begin + write_count <= 19'h0; + end + else + begin + write_count <= write_count + 1'b1; + end + else if (read_cycle) // Read cycle + if (read_count == 19'h7FFFF) + begin + read_count <= 19'h0; + end + else + begin + read_count <= read_count + 1'b1; + end + + always @(posedge clk) + if (rst) + begin + enable_reads <= 0; + read_cycle <= 0; + write_cycle <= 0; + end + else + begin + write_cycle <= ~write_cycle; + if (enable_reads) + read_cycle <= write_cycle; + if (write_count == 15) // Enable reads 15 writes after reset terminates. + enable_reads <= 1; + end // else: !if(rst) + + always @(posedge clk) + if (rst) + begin + enable <= 0; + end + else if (write_cycle) + begin + address <= write_count; + data_out <= write_count[17:0]; + enable <= 1; + write <= 1; + end + else if (read_cycle) + begin + address <= read_count; + check_data <= read_count[17:0]; + check_data_old <= check_data; + check_data_old2 <= check_data_old; + enable <= 1; + write <= 0; + end + else + enable <= 0; + + always @(posedge clk) + if (data_in_valid) + begin + correct <= (data_in == check_data_old2); + end + + + nobl_if nobl_if_i1 + ( + .clk(clk), + .rst(rst), + .RAM_D_pi(RAM_D_pi), + .RAM_D_po(RAM_D_po), + .RAM_D_poe(RAM_D_poe), + .RAM_A(RAM_A), + .RAM_WEn(RAM_WEn), + .RAM_CENn(RAM_CENn), + .RAM_LDn(RAM_LDn), + .RAM_OEn(RAM_OEn), + .RAM_CE1n(RAM_CE1n), + .address(address), + .data_out(data_out), + .data_in(data_in), + .data_in_valid(data_in_valid), + .write(write), + .enable(enable) + ); + + + wire [35:0] CONTROL0; + reg [7:0] data_in_reg, data_out_reg, address_reg; + reg data_in_valid_reg,write_reg,enable_reg,correct_reg; + + always @(posedge clk) + begin + data_in_reg <= data_in[7:0]; + data_out_reg <= data_out[7:0]; + data_in_valid_reg <= data_in_valid; + write_reg <= write; + enable_reg <= enable; + correct_reg <= correct; + address_reg <= address; + + end + + + icon icon_i1 + ( + .CONTROL0(CONTROL0) + ); + + ila ila_i1 + ( + .CLK(clk), + .CONTROL(CONTROL0), + // .TRIG0(address_reg), + .TRIG0(data_in_reg[7:0]), + .TRIG1(data_out_reg[7:0]), + .TRIG2(address_reg[7:0]), + .TRIG3({data_in_valid_reg,write_reg,enable_reg,correct_reg}) + ); + + + +endmodule // test_sram_if + + \ No newline at end of file -- cgit v1.2.3 From 2e5effd0b664413c4d3cbbe08d3d841eee051dcc Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Sat, 31 Jul 2010 00:15:16 -0700 Subject: External FIFO tested in simulation and on USRP2 from decimation 64->8 with current head UHD code. Apparently operation is "flawless" but more regression and corner case regression could and should be done. Tristate drivers have been added at the top level of the hierarchy for the SRAM databus as is considered good practice for both Xilinx and ASIC design flows and so both top level and core fils have been touched. --- usrp2/coregen/Makefile.srcs | 4 + usrp2/coregen/coregen.cgp | 22 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v | 6 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco | 6 +- usrp2/extramfifo/ext_fifo.v | 76 +- usrp2/extramfifo/ext_fifo_tb.v | 36 +- usrp2/extramfifo/icon.v | 1286 ++++++ usrp2/extramfifo/icon.xco | 47 + usrp2/extramfifo/ila.v | 5544 ++++++++++++++++++++++++ usrp2/extramfifo/ila.xco | 130 + usrp2/extramfifo/nobl_fifo.v | 20 +- usrp2/extramfifo/nobl_if.v | 9 +- usrp2/extramfifo/test_sram_if.v | 4 + usrp2/fifo/fifo_cascade.v | 8 +- usrp2/top/Makefile.common | 1 + usrp2/top/u2_rev3/Makefile.udp | 2 + usrp2/top/u2_rev3/u2_core_udp.v | 57 +- usrp2/top/u2_rev3/u2_rev3.ucf | 86 +- usrp2/top/u2_rev3/u2_rev3.v | 221 +- 19 files changed, 7327 insertions(+), 238 deletions(-) create mode 100644 usrp2/extramfifo/icon.v create mode 100644 usrp2/extramfifo/icon.xco create mode 100644 usrp2/extramfifo/ila.v create mode 100644 usrp2/extramfifo/ila.xco diff --git a/usrp2/coregen/Makefile.srcs b/usrp2/coregen/Makefile.srcs index 7b29225ca..a59696d15 100644 --- a/usrp2/coregen/Makefile.srcs +++ b/usrp2/coregen/Makefile.srcs @@ -16,4 +16,8 @@ fifo_xlnx_16x19_2clk.v \ fifo_xlnx_16x19_2clk.xco \ fifo_xlnx_16x40_2clk.v \ fifo_xlnx_16x40_2clk.xco \ +fifo_xlnx_512x36_2clk_36to18.v \ +fifo_xlnx_512x36_2clk_36to18.xco \ +fifo_xlnx_512x36_2clk_18to36.v \ +fifo_xlnx_512x36_2clk_18to36.xco \ )) diff --git a/usrp2/coregen/coregen.cgp b/usrp2/coregen/coregen.cgp index 810d64dac..4c9201aff 100644 --- a/usrp2/coregen/coregen.cgp +++ b/usrp2/coregen/coregen.cgp @@ -1,20 +1,22 @@ -# Date: Thu Sep 3 17:40:48 2009 -SET addpads = False -SET asysymbol = False +# Date: Mon Jul 26 21:55:33 2010 + +SET addpads = false +SET asysymbol = false SET busformat = BusFormatAngleBracketNotRipped -SET createndf = False +SET createndf = false SET designentry = Verilog SET device = xc3s2000 SET devicefamily = spartan3 SET flowvendor = Other -SET formalverification = False -SET foundationsym = False +SET formalverification = false +SET foundationsym = false SET implementationfiletype = Ngc SET package = fg456 -SET removerpms = False +SET removerpms = false SET simulationfiles = Behavioral SET speedgrade = -5 -SET verilogsim = True -SET vhdlsim = False -SET workingdirectory = /home/matt/coregen/tmp +SET verilogsim = true +SET vhdlsim = false +SET workingdirectory = /tmp/ +# CRC: 394da717 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v index 1d7a5ca2a..32de19e8a 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v @@ -44,6 +44,7 @@ module fifo_xlnx_512x36_2clk_18to36( rst, wr_clk, wr_en, + almost_full, dout, empty, full); @@ -55,6 +56,7 @@ input rd_en; input rst; input wr_clk; input wr_en; +output almost_full; output [35 : 0] dout; output empty; output full; @@ -73,7 +75,7 @@ output full; .C_FAMILY("spartan3"), .C_FULL_FLAGS_RST_VAL(0), .C_HAS_ALMOST_EMPTY(0), - .C_HAS_ALMOST_FULL(0), + .C_HAS_ALMOST_FULL(1), .C_HAS_BACKUP(0), .C_HAS_DATA_COUNT(0), .C_HAS_INT_CLK(0), @@ -128,6 +130,7 @@ output full; .RST(rst), .WR_CLK(wr_clk), .WR_EN(wr_en), + .ALMOST_FULL(almost_full), .DOUT(dout), .EMPTY(empty), .FULL(full), @@ -145,7 +148,6 @@ output full; .SRST(), .WR_RST(), .ALMOST_EMPTY(), - .ALMOST_FULL(), .DATA_COUNT(), .OVERFLOW(), .PROG_EMPTY(), diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco index df97fd0e0..05ceffbe9 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco @@ -1,7 +1,7 @@ ############################################################## # # Xilinx Core Generator version K.39 -# Date: Thu Jul 29 23:02:41 2010 +# Date: Fri Jul 30 20:43:00 2010 # ############################################################## # @@ -36,7 +36,7 @@ SELECT Fifo_Generator family Xilinx,_Inc. 4.4 # END Select # BEGIN Parameters CSET almost_empty_flag=false -CSET almost_full_flag=false +CSET almost_full_flag=true CSET component_name=fifo_xlnx_512x36_2clk_18to36 CSET data_count=false CSET data_count_width=10 @@ -78,5 +78,5 @@ CSET write_data_count=false CSET write_data_count_width=10 # END Parameters GENERATE -# CRC: 117ae77f +# CRC: 9b689ee4 diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index 55935146a..a506d71e2 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -1,3 +1,20 @@ +// +// FIFO backed by an off chip ZBT/NoBL SRAM. +// +// This module and its sub-hierarchy implment a FIFO capable of sustaining +// a data throughput rate of at least int_clk/2 * 36bits and bursts of int_clk * 36bits. +// +// This has been designed and tested for an int_clk of 100MHz and an ext_clk of 125MHz, +// your milage may vary with other clock ratio's especially those where int_clk < ext_clk. +// Testing has also exclusively used a rst signal synchronized to int_clk. +// +// Interface operation mimics a Xilinx FIFO configured as "First Word Fall Through", +// though signal naming differs. +// +// For FPGA use registers interfacing directly with signals prefixed "RAM_*" should be +// packed into the IO ring. +// + module ext_fifo #(parameter INT_WIDTH=36,EXT_WIDTH=18,DEPTH=19) ( @@ -24,25 +41,24 @@ module ext_fifo wire [EXT_WIDTH-1:0] write_data; wire [EXT_WIDTH-1:0] read_data; wire full1, empty1; - wire full2, empty2; - + wire almost_full2, full2, empty2; + wire [INT_WIDTH-1:0] data_to_fifo; + wire [INT_WIDTH-1:0] data_from_fifo; + // FIFO buffers data from UDP engine into external FIFO clock domain. fifo_xlnx_512x36_2clk_36to18 fifo_xlnx_512x36_2clk_36to18_i1 ( .rst(rst), .wr_clk(int_clk), .rd_clk(ext_clk), - .din(datain), // Bus [35 : 0] - .wr_en(src_rdy_i), - .rd_en(space_avail&~empty1), - // .rd_en(~full2&~empty1), + .din(datain), // Bus [35 : 0] + .wr_en(src_rdy_i), + .rd_en(space_avail&~empty1), .dout(write_data), // Bus [17 : 0] .full(full1), .empty(empty1)); assign dst_rdy_o = ~full1; - - // External FIFO running at ext clock rate and 18 bit width. nobl_fifo #(.WIDTH(EXT_WIDTH),.DEPTH(DEPTH)) nobl_fifo_i1 @@ -63,10 +79,10 @@ module ext_fifo .space_avail(space_avail), .read_data(read_data), .read_strobe(data_avail & ~full2), - .data_avail(data_avail) + .data_avail(data_avail), + .upstream_full(almost_full2) ); - - + // FIFO buffers data read from external FIFO into DSP clk domain and to TX DSP. fifo_xlnx_512x36_2clk_18to36 fifo_xlnx_512x36_2clk_18to36_i1 ( @@ -74,47 +90,13 @@ module ext_fifo .wr_clk(ext_clk), .rd_clk(int_clk), .din(read_data), // Bus [17 : 0] - // .din(write_data), // Bus [17 : 0] .wr_en(data_avail & ~full2 ), - // .wr_en(~full2&~empty1), .rd_en(dst_rdy_i), - .dout(dataout), // Bus [35 : 0] + .dout(dataout), // Bus [35 : 0] .full(full2), + .almost_full(almost_full2), .empty(empty2)); assign src_rdy_o = ~empty2; - - wire [35:0] CONTROL0; - reg [7:0] datain_reg,write_data_reg,read_data_reg ; - reg space_avail_reg,data_avail_reg,empty1_reg,full2_reg ; - - always @(posedge ext_clk) - begin - //datain_reg <= datain[7:0]; - write_data_reg <= write_data[7:0]; - read_data_reg <= read_data[7:0]; - space_avail_reg <= space_avail; - data_avail_reg <= data_avail; - empty1_reg <= empty1; - full2_reg <= full2; - end - - - icon icon_i1 - ( - .CONTROL0(CONTROL0) - ); - - ila ila_i1 - ( - .CLK(ext_clk), - .CONTROL(CONTROL0), - // .TRIG0(address_reg), - .TRIG0(write_data_reg[7:0]), - .TRIG1(read_data_reg[7:0]), - .TRIG2(0), - .TRIG3({space_avail_reg,data_avail_reg,empty1_reg,full2_reg}) - ); - endmodule // ext_fifo diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v index aa1fd6e3c..38df4a285 100644 --- a/usrp2/extramfifo/ext_fifo_tb.v +++ b/usrp2/extramfifo/ext_fifo_tb.v @@ -58,18 +58,18 @@ module ext_fifo_tb(); repeat (5) @(negedge int_clk); rst <= 0; @(negedge int_clk); - repeat (1000) + repeat (4000) begin @(negedge int_clk); - datain <= datain + 1; - src_rdy_i <= 1; - @(negedge int_clk); - src_rdy_i <= 0; + datain <= datain + dst_rdy_o; + src_rdy_i <= dst_rdy_o; +// @(negedge int_clk); +// src_rdy_i <= 0; // @(negedge int_clk); // dst_rdy_i <= src_rdy_o; // @(negedge int_clk); // dst_rdy_i <= 0; - repeat (2) @(negedge int_clk); +// repeat (2) @(negedge int_clk); end // repeat (1000) // Fall through fifo, first output already valid if (dataout !== ref_dataout) @@ -77,16 +77,16 @@ module ext_fifo_tb(); repeat (1000) begin @(negedge int_clk); - datain <= datain + 1; - src_rdy_i <= 1; + datain <= datain + dst_rdy_o ; + src_rdy_i <= dst_rdy_o; @(negedge int_clk); src_rdy_i <= 0; @(negedge int_clk); - ref_dataout <= ref_dataout + 1; + ref_dataout <= ref_dataout + src_rdy_o ; dst_rdy_i <= src_rdy_o; - @(negedge int_clk); - if (dataout !== ref_dataout) + if ((dataout !== ref_dataout) && src_rdy_o) $display("Error: Expected %x, got %x",ref_dataout, dataout); + @(negedge int_clk); dst_rdy_i <= 0; // repeat (2) @(negedge int_clk); end // repeat (1000) @@ -98,11 +98,11 @@ module ext_fifo_tb(); // @(negedge int_clk); // src_rdy_i <= 0; @(negedge int_clk); - ref_dataout <= ref_dataout + 1; + ref_dataout <= ref_dataout + src_rdy_o; dst_rdy_i <= src_rdy_o; - @(negedge int_clk); - if (dataout !== ref_dataout) + if ((dataout !== ref_dataout) && src_rdy_o) $display("Error: Expected %x, got %x",ref_dataout, dataout); + @(negedge int_clk); dst_rdy_i <= 0; // repeat (2) @(negedge int_clk); end // repeat (1000) @@ -210,13 +210,7 @@ module ext_fifo_tb(); assign #2 RAM_A_ext = RAM_A; -/* -----\/----- EXCLUDED -----\/----- - wire [13:0] temp1; - assign temp1 = 14'h0; - wire [3:0] temp2; - assign temp2 = 4'h0; - -----/\----- EXCLUDED -----/\----- */ - + idt71v65603s150 idt71v65603s150_i1 ( diff --git a/usrp2/extramfifo/icon.v b/usrp2/extramfifo/icon.v new file mode 100644 index 000000000..6537e9340 --- /dev/null +++ b/usrp2/extramfifo/icon.v @@ -0,0 +1,1286 @@ +//////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved. +//////////////////////////////////////////////////////////////////////////////// +// ____ ____ +// / /\/ / +// /___/ \ / Vendor: Xilinx +// \ \ \/ Version: M.53d +// \ \ Application: netgen +// / / Filename: icon.v +// /___/ /\ Timestamp: Tue Jul 20 20:31:15 2010 +// \ \ / \ +// \___\/\___\ +// +// Command : -w -sim -ofmt verilog /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/icon.ngc /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/icon.v +// Device : xc3s2000-fg456-5 +// Input file : /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/icon.ngc +// Output file : /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/icon.v +// # of Modules : 1 +// Design Name : icon +// Xilinx : /opt/Xilinx/12.1/ISE_DS/ISE +// +// Purpose: +// This verilog netlist is a verification model and uses simulation +// primitives which may not represent the true implementation of the +// device, however the netlist is functionally correct and should not +// be modified. This file cannot be synthesized and should only be used +// with supported simulation tools. +// +// Reference: +// Command Line Tools User Guide, Chapter 23 and Synthesis and Simulation Design Guide, Chapter 6 +// +//////////////////////////////////////////////////////////////////////////////// + +`timescale 1 ns/1 ps + +module icon ( +CONTROL0 +)/* synthesis syn_black_box syn_noprune=1 */; + inout [35 : 0] CONTROL0; + + // synthesis translate_off + + wire N1; + wire \U0/U_ICON/I_YES_BSCAN.U_BS/DRCK1 ; + wire \U0/U_ICON/U_CMD/iSEL_n ; + wire \U0/U_ICON/U_CMD/iTARGET_CE ; + wire \U0/U_ICON/U_CTRL_OUT/iDATA_VALID ; + wire \U0/U_ICON/U_STAT/iCMD_GRP0_SEL ; + wire \U0/U_ICON/U_STAT/iDATA_VALID ; + wire \U0/U_ICON/U_STAT/iSTATCMD_CE ; + wire \U0/U_ICON/U_STAT/iSTATCMD_CE_n ; + wire \U0/U_ICON/U_STAT/iSTAT_HIGH ; + wire \U0/U_ICON/U_STAT/iSTAT_LOW ; + wire \U0/U_ICON/U_STAT/iTDO_next ; + wire \U0/U_ICON/U_SYNC/iDATA_CMD_n ; + wire \U0/U_ICON/U_SYNC/iGOT_SYNC ; + wire \U0/U_ICON/U_SYNC/iGOT_SYNC_HIGH ; + wire \U0/U_ICON/U_SYNC/iGOT_SYNC_LOW ; + wire \U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_3_91 ; + wire \U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_4_92 ; + wire \U0/U_ICON/iCORE_ID_SEL[0] ; + wire \U0/U_ICON/iCORE_ID_SEL[15] ; + wire \U0/U_ICON/iDATA_CMD ; + wire \U0/U_ICON/iDATA_CMD_n ; + wire \U0/U_ICON/iSEL ; + wire \U0/U_ICON/iSEL_n ; + wire \U0/U_ICON/iSYNC ; + wire \U0/U_ICON/iTDI ; + wire \U0/U_ICON/iTDO ; + wire \U0/U_ICON/iTDO_next ; + wire \U0/iSHIFT_OUT ; + wire \U0/iUPDATE_OUT ; + wire \NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_DRCK2_UNCONNECTED ; + wire \NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_RESET_UNCONNECTED ; + wire \NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_CAPTURE_UNCONNECTED ; + wire \NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_SEL2_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[1].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[2].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[3].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[4].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[5].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[6].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[7].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[8].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[9].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[10].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[11].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[12].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[13].U_LUT_O_UNCONNECTED ; + wire \NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[14].U_LUT_O_UNCONNECTED ; + wire [11 : 8] \U0/U_ICON/U_CMD/iTARGET ; + wire [1 : 0] \U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL ; + wire [5 : 1] \U0/U_ICON/U_STAT/U_STAT_CNT/CI ; + wire [5 : 0] \U0/U_ICON/U_STAT/U_STAT_CNT/D ; + wire [5 : 0] \U0/U_ICON/U_STAT/U_STAT_CNT/S ; + wire [3 : 0] \U0/U_ICON/U_STAT/iSTAT ; + wire [5 : 0] \U0/U_ICON/U_STAT/iSTAT_CNT ; + wire [6 : 0] \U0/U_ICON/U_SYNC/iSYNC_WORD ; + wire [1 : 0] \U0/U_ICON/iCOMMAND_GRP ; + wire [15 : 0] \U0/U_ICON/iCOMMAND_SEL ; + wire [3 : 0] \U0/U_ICON/iCORE_ID ; + wire [15 : 15] \U0/U_ICON/iTDO_VEC ; + GND XST_GND ( + .G(CONTROL0[2]) + ); + VCC XST_VCC ( + .P(N1) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_TDI_reg ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/iTDI ), + .Q(CONTROL0[1]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_TDO_reg ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/iTDO_next ), + .Q(\U0/U_ICON/iTDO ) + ); + FDC #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_iDATA_CMD ( + .C(\U0/iUPDATE_OUT ), + .CLR(\U0/U_ICON/iSEL_n ), + .D(\U0/U_ICON/iDATA_CMD_n ), + .Q(\U0/U_ICON/iDATA_CMD ) + ); + MUXF5 \U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_2_f5 ( + .I0(\U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_4_92 ), + .I1(\U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_3_91 ), + .S(\U0/U_ICON/iCORE_ID [3]), + .O(\U0/U_ICON/iTDO_next ) + ); + LUT4 #( + .INIT ( 16'h0002 )) + \U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_4 ( + .I0(CONTROL0[3]), + .I1(\U0/U_ICON/iCORE_ID [0]), + .I2(\U0/U_ICON/iCORE_ID [1]), + .I3(\U0/U_ICON/iCORE_ID [2]), + .O(\U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_4_92 ) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_3 ( + .I0(\U0/U_ICON/iTDO_VEC [15]), + .I1(\U0/U_ICON/iCORE_ID [0]), + .I2(\U0/U_ICON/iCORE_ID [1]), + .I3(\U0/U_ICON/iCORE_ID [2]), + .O(\U0/U_ICON/U_TDO_MUX/U_CS_MUX/I4.U_MUX16/Mmux_O_3_91 ) + ); + INV \U0/U_ICON/U_iSEL_n ( + .I(\U0/U_ICON/iSEL ), + .O(\U0/U_ICON/iSEL_n ) + ); + INV \U0/U_ICON/U_iDATA_CMD_n ( + .I(\U0/U_ICON/iDATA_CMD ), + .O(\U0/U_ICON/iDATA_CMD_n ) + ); + BSCAN_SPARTAN3 \U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS ( + .TDI(\U0/U_ICON/iTDI ), + .SHIFT(\U0/iSHIFT_OUT ), + .DRCK1(\U0/U_ICON/I_YES_BSCAN.U_BS/DRCK1 ), + .DRCK2(\NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_DRCK2_UNCONNECTED ), + .RESET(\NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_RESET_UNCONNECTED ), + .UPDATE(\U0/iUPDATE_OUT ), + .TDO1(\U0/U_ICON/iTDO ), + .TDO2(CONTROL0[2]), + .CAPTURE(\NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_CAPTURE_UNCONNECTED ), + .SEL1(\U0/U_ICON/iSEL ), + .SEL2(\NLW_U0/U_ICON/I_YES_BSCAN.U_BS/I_SPARTAN3.ISYN.I_USE_SOFTBSCAN_EQ0.I_3.U_BS_SEL2_UNCONNECTED ) + ); + icon_bscan_bufg \U0/U_ICON/I_YES_BSCAN.U_BS/I_USE_SOFTBSCAN_EQ0.I_USE_XST_TCK_WORKAROUND_EQ1.U_ICON_BSCAN_BUFG ( + .DRCK_LOCAL_I(\U0/U_ICON/I_YES_BSCAN.U_BS/DRCK1 ), + .DRCK_LOCAL_O(CONTROL0[0]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/U_ICON/U_SYNC/U_GOT_SYNC ( + .I0(\U0/U_ICON/U_SYNC/iGOT_SYNC_LOW ), + .I1(\U0/U_ICON/U_SYNC/iGOT_SYNC_HIGH ), + .O(\U0/U_ICON/U_SYNC/iGOT_SYNC ) + ); + LUT4 #( + .INIT ( 16'h0200 )) + \U0/U_ICON/U_SYNC/U_GOT_SYNC_L ( + .I0(\U0/U_ICON/U_SYNC/iSYNC_WORD [0]), + .I1(\U0/U_ICON/U_SYNC/iSYNC_WORD [1]), + .I2(\U0/U_ICON/U_SYNC/iSYNC_WORD [2]), + .I3(\U0/U_ICON/U_SYNC/iSYNC_WORD [3]), + .O(\U0/U_ICON/U_SYNC/iGOT_SYNC_LOW ) + ); + LUT4 #( + .INIT ( 16'h0400 )) + \U0/U_ICON/U_SYNC/U_GOT_SYNC_H ( + .I0(\U0/U_ICON/U_SYNC/iSYNC_WORD [4]), + .I1(\U0/U_ICON/U_SYNC/iSYNC_WORD [5]), + .I2(\U0/U_ICON/U_SYNC/iSYNC_WORD [6]), + .I3(CONTROL0[1]), + .O(\U0/U_ICON/U_SYNC/iGOT_SYNC_HIGH ) + ); + INV \U0/U_ICON/U_SYNC/U_iDATA_CMD_n ( + .I(\U0/U_ICON/iDATA_CMD ), + .O(\U0/U_ICON/U_SYNC/iDATA_CMD_n ) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/U_SYNC ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_SYNC/iGOT_SYNC ), + .D(N1), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/iSYNC ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[0].I_NE0.U_FDR ( + .C(CONTROL0[0]), + .D(\U0/U_ICON/U_SYNC/iSYNC_WORD [1]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [0]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[1].I_NE0.U_FDR ( + .C(CONTROL0[0]), + .D(\U0/U_ICON/U_SYNC/iSYNC_WORD [2]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [1]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[2].I_NE0.U_FDR ( + .C(CONTROL0[0]), + .D(\U0/U_ICON/U_SYNC/iSYNC_WORD [3]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [2]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[3].I_NE0.U_FDR ( + .C(CONTROL0[0]), + .D(\U0/U_ICON/U_SYNC/iSYNC_WORD [4]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [3]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[4].I_NE0.U_FDR ( + .C(CONTROL0[0]), + .D(\U0/U_ICON/U_SYNC/iSYNC_WORD [5]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [4]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[5].I_NE0.U_FDR ( + .C(CONTROL0[0]), + .D(\U0/U_ICON/U_SYNC/iSYNC_WORD [6]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [5]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_SYNC/G_SYNC_WORD[6].I_EQ0.U_FDR ( + .C(CONTROL0[0]), + .D(CONTROL0[1]), + .R(\U0/U_ICON/U_SYNC/iDATA_CMD_n ), + .Q(\U0/U_ICON/U_SYNC/iSYNC_WORD [6]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[0].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [0]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[20]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[0].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [0]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[4]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[1].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [1]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[21]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[1].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [1]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[5]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[2].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [2]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[22]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[2].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [2]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[6]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[3].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [3]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[23]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[3].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [3]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[7]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[4].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [4]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[24]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[4].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [4]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[8]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[5].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [5]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[25]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[5].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [5]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[9]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[6].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [6]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[26]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[6].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [6]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[10]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[7].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [7]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[27]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[7].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [7]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[11]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[8].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [8]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[28]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[8].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [8]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[12]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[9].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [9]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[29]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[9].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [9]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[13]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[10].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [10]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[30]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[10].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [10]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[14]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[11].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [11]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[31]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[11].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [11]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[15]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[12].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [12]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[32]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[12].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [12]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[16]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[13].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [13]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[33]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[13].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [13]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[17]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[14].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [14]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[34]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[14].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [14]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[18]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[15].U_HCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [15]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]), + .O(CONTROL0[35]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CTRL_OUT/F_NCP[0].F_CMD[15].U_LCE ( + .I0(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [15]), + .I2(\U0/U_ICON/iCORE_ID_SEL[0] ), + .I3(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]), + .O(CONTROL0[19]) + ); + LUT2 #( + .INIT ( 4'h2 )) + \U0/U_ICON/U_CTRL_OUT/U_CMDGRP1 ( + .I0(\U0/U_ICON/iCOMMAND_GRP [0]), + .I1(\U0/U_ICON/iCOMMAND_GRP [1]), + .O(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [1]) + ); + LUT2 #( + .INIT ( 4'h1 )) + \U0/U_ICON/U_CTRL_OUT/U_CMDGRP0 ( + .I0(\U0/U_ICON/iCOMMAND_GRP [0]), + .I1(\U0/U_ICON/iCOMMAND_GRP [1]), + .O(\U0/U_ICON/U_CTRL_OUT/iCOMMAND_GRP_SEL [0]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/U_ICON/U_CTRL_OUT/U_DATA_VALID ( + .I0(\U0/U_ICON/iSYNC ), + .I1(\U0/iSHIFT_OUT ), + .O(\U0/U_ICON/U_CTRL_OUT/iDATA_VALID ) + ); + LUT4 #( + .INIT ( 16'h0001 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[0].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\U0/U_ICON/iCORE_ID_SEL[0] ) + ); + LUT4 #( + .INIT ( 16'h0002 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[1].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[1].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0004 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[2].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[2].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0008 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[3].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[3].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0010 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[4].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[4].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0020 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[5].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[5].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0040 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[6].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[6].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0080 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[7].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[7].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0100 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[8].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[8].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0200 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[9].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[9].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0400 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[10].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[10].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0800 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[11].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[11].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h1000 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[12].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[12].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h2000 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[13].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[13].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h4000 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[14].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\NLW_U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[14].U_LUT_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CMD/U_CORE_ID_SEL/I4.FI[15].U_LUT ( + .I0(\U0/U_ICON/iCORE_ID [0]), + .I1(\U0/U_ICON/iCORE_ID [1]), + .I2(\U0/U_ICON/iCORE_ID [2]), + .I3(\U0/U_ICON/iCORE_ID [3]), + .O(\U0/U_ICON/iCORE_ID_SEL[15] ) + ); + LUT4 #( + .INIT ( 16'h0001 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[0].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [0]) + ); + LUT4 #( + .INIT ( 16'h0002 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[1].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [1]) + ); + LUT4 #( + .INIT ( 16'h0004 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[2].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [2]) + ); + LUT4 #( + .INIT ( 16'h0008 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[3].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [3]) + ); + LUT4 #( + .INIT ( 16'h0010 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[4].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [4]) + ); + LUT4 #( + .INIT ( 16'h0020 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[5].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [5]) + ); + LUT4 #( + .INIT ( 16'h0040 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[6].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [6]) + ); + LUT4 #( + .INIT ( 16'h0080 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[7].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [7]) + ); + LUT4 #( + .INIT ( 16'h0100 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[8].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [8]) + ); + LUT4 #( + .INIT ( 16'h0200 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[9].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [9]) + ); + LUT4 #( + .INIT ( 16'h0400 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[10].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [10]) + ); + LUT4 #( + .INIT ( 16'h0800 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[11].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [11]) + ); + LUT4 #( + .INIT ( 16'h1000 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[12].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [12]) + ); + LUT4 #( + .INIT ( 16'h2000 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[13].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [13]) + ); + LUT4 #( + .INIT ( 16'h4000 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[14].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [14]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_CMD/U_COMMAND_SEL/I4.FI[15].U_LUT ( + .I0(\U0/U_ICON/U_CMD/iTARGET [8]), + .I1(\U0/U_ICON/U_CMD/iTARGET [9]), + .I2(\U0/U_ICON/U_CMD/iTARGET [10]), + .I3(\U0/U_ICON/U_CMD/iTARGET [11]), + .O(\U0/U_ICON/iCOMMAND_SEL [15]) + ); + LUT2 #( + .INIT ( 4'h4 )) + \U0/U_ICON/U_CMD/U_TARGET_CE ( + .I0(\U0/U_ICON/iDATA_CMD ), + .I1(\U0/iSHIFT_OUT ), + .O(\U0/U_ICON/U_CMD/iTARGET_CE ) + ); + INV \U0/U_ICON/U_CMD/U_SEL_n ( + .I(\U0/U_ICON/iSEL ), + .O(\U0/U_ICON/U_CMD/iSEL_n ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[6].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/iCOMMAND_GRP [1]), + .Q(\U0/U_ICON/iCOMMAND_GRP [0]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[7].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/U_CMD/iTARGET [8]), + .Q(\U0/U_ICON/iCOMMAND_GRP [1]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[8].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/U_CMD/iTARGET [9]), + .Q(\U0/U_ICON/U_CMD/iTARGET [8]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[9].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/U_CMD/iTARGET [10]), + .Q(\U0/U_ICON/U_CMD/iTARGET [9]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[10].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/U_CMD/iTARGET [11]), + .Q(\U0/U_ICON/U_CMD/iTARGET [10]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[11].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/iCORE_ID [0]), + .Q(\U0/U_ICON/U_CMD/iTARGET [11]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[12].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/iCORE_ID [1]), + .Q(\U0/U_ICON/iCORE_ID [0]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[13].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/iCORE_ID [2]), + .Q(\U0/U_ICON/iCORE_ID [1]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[14].I_NE0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(\U0/U_ICON/iCORE_ID [3]), + .Q(\U0/U_ICON/iCORE_ID [2]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_CMD/G_TARGET[15].I_EQ0.U_TARGET ( + .C(CONTROL0[0]), + .CE(\U0/U_ICON/U_CMD/iTARGET_CE ), + .CLR(\U0/U_ICON/U_CMD/iSEL_n ), + .D(CONTROL0[1]), + .Q(\U0/U_ICON/iCORE_ID [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[5].U_FDRE ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/U_STAT_CNT/D [5]), + .R(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/U_ICON/U_STAT/iSTAT_CNT [5]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[4].U_FDRE ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/U_STAT_CNT/D [4]), + .R(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/U_ICON/U_STAT/iSTAT_CNT [4]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[3].U_FDRE ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/U_STAT_CNT/D [3]), + .R(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/U_ICON/U_STAT/iSTAT_CNT [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[2].U_FDRE ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/U_STAT_CNT/D [2]), + .R(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/U_ICON/U_STAT/iSTAT_CNT [2]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[1].U_FDRE ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/U_STAT_CNT/D [1]), + .R(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/U_ICON/U_STAT/iSTAT_CNT [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[0].U_FDRE ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/U_STAT_CNT/D [0]), + .R(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/U_ICON/U_STAT/iSTAT_CNT [0]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[5].U_LUT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [5]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/S [5]) + ); + XORCY \U0/U_ICON/U_STAT/U_STAT_CNT/G[5].U_XORCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [5]), + .LI(\U0/U_ICON/U_STAT/U_STAT_CNT/S [5]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/D [5]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[4].U_LUT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [4]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/S [4]) + ); + MUXCY_L \U0/U_ICON/U_STAT/U_STAT_CNT/G[4].GnH.U_MUXCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [4]), + .DI(CONTROL0[2]), + .S(\U0/U_ICON/U_STAT/U_STAT_CNT/S [4]), + .LO(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [5]) + ); + XORCY \U0/U_ICON/U_STAT/U_STAT_CNT/G[4].U_XORCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [4]), + .LI(\U0/U_ICON/U_STAT/U_STAT_CNT/S [4]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/D [4]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[3].U_LUT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [3]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/S [3]) + ); + MUXCY_L \U0/U_ICON/U_STAT/U_STAT_CNT/G[3].GnH.U_MUXCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [3]), + .DI(CONTROL0[2]), + .S(\U0/U_ICON/U_STAT/U_STAT_CNT/S [3]), + .LO(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [4]) + ); + XORCY \U0/U_ICON/U_STAT/U_STAT_CNT/G[3].U_XORCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [3]), + .LI(\U0/U_ICON/U_STAT/U_STAT_CNT/S [3]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/D [3]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[2].U_LUT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [2]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/S [2]) + ); + MUXCY_L \U0/U_ICON/U_STAT/U_STAT_CNT/G[2].GnH.U_MUXCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [2]), + .DI(CONTROL0[2]), + .S(\U0/U_ICON/U_STAT/U_STAT_CNT/S [2]), + .LO(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [3]) + ); + XORCY \U0/U_ICON/U_STAT/U_STAT_CNT/G[2].U_XORCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [2]), + .LI(\U0/U_ICON/U_STAT/U_STAT_CNT/S [2]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/D [2]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[1].U_LUT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [1]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/S [1]) + ); + MUXCY_L \U0/U_ICON/U_STAT/U_STAT_CNT/G[1].GnH.U_MUXCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [1]), + .DI(CONTROL0[2]), + .S(\U0/U_ICON/U_STAT/U_STAT_CNT/S [1]), + .LO(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [2]) + ); + XORCY \U0/U_ICON/U_STAT/U_STAT_CNT/G[1].U_XORCY ( + .CI(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [1]), + .LI(\U0/U_ICON/U_STAT/U_STAT_CNT/S [1]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/D [1]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/U_ICON/U_STAT/U_STAT_CNT/G[0].U_LUT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [0]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/S [0]) + ); + MUXCY_L \U0/U_ICON/U_STAT/U_STAT_CNT/G[0].GnH.U_MUXCY ( + .CI(N1), + .DI(CONTROL0[2]), + .S(\U0/U_ICON/U_STAT/U_STAT_CNT/S [0]), + .LO(\U0/U_ICON/U_STAT/U_STAT_CNT/CI [1]) + ); + XORCY \U0/U_ICON/U_STAT/U_STAT_CNT/G[0].U_XORCY ( + .CI(N1), + .LI(\U0/U_ICON/U_STAT/U_STAT_CNT/S [0]), + .O(\U0/U_ICON/U_STAT/U_STAT_CNT/D [0]) + ); + MUXF6 \U0/U_ICON/U_STAT/U_TDO_next ( + .I0(\U0/U_ICON/U_STAT/iSTAT_LOW ), + .I1(\U0/U_ICON/U_STAT/iSTAT_HIGH ), + .S(\U0/U_ICON/U_STAT/iSTAT_CNT [5]), + .O(\U0/U_ICON/U_STAT/iTDO_next ) + ); + MUXF5 \U0/U_ICON/U_STAT/U_STAT_LOW ( + .I0(\U0/U_ICON/U_STAT/iSTAT [0]), + .I1(\U0/U_ICON/U_STAT/iSTAT [1]), + .S(\U0/U_ICON/U_STAT/iSTAT_CNT [4]), + .O(\U0/U_ICON/U_STAT/iSTAT_LOW ) + ); + MUXF5 \U0/U_ICON/U_STAT/U_STAT_HIGH ( + .I0(\U0/U_ICON/U_STAT/iSTAT [2]), + .I1(\U0/U_ICON/U_STAT/iSTAT [3]), + .S(\U0/U_ICON/U_STAT/iSTAT_CNT [4]), + .O(\U0/U_ICON/U_STAT/iSTAT_HIGH ) + ); + LUT4 #( + .INIT ( 16'h0101 )) + \U0/U_ICON/U_STAT/F_STAT[0].U_STAT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [0]), + .I1(\U0/U_ICON/U_STAT/iSTAT_CNT [1]), + .I2(\U0/U_ICON/U_STAT/iSTAT_CNT [2]), + .I3(\U0/U_ICON/U_STAT/iSTAT_CNT [3]), + .O(\U0/U_ICON/U_STAT/iSTAT [0]) + ); + LUT4 #( + .INIT ( 16'hC101 )) + \U0/U_ICON/U_STAT/F_STAT[1].U_STAT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [0]), + .I1(\U0/U_ICON/U_STAT/iSTAT_CNT [1]), + .I2(\U0/U_ICON/U_STAT/iSTAT_CNT [2]), + .I3(\U0/U_ICON/U_STAT/iSTAT_CNT [3]), + .O(\U0/U_ICON/U_STAT/iSTAT [1]) + ); + LUT4 #( + .INIT ( 16'h2100 )) + \U0/U_ICON/U_STAT/F_STAT[2].U_STAT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [0]), + .I1(\U0/U_ICON/U_STAT/iSTAT_CNT [1]), + .I2(\U0/U_ICON/U_STAT/iSTAT_CNT [2]), + .I3(\U0/U_ICON/U_STAT/iSTAT_CNT [3]), + .O(\U0/U_ICON/U_STAT/iSTAT [2]) + ); + LUT4 #( + .INIT ( 16'h1610 )) + \U0/U_ICON/U_STAT/F_STAT[3].U_STAT ( + .I0(\U0/U_ICON/U_STAT/iSTAT_CNT [0]), + .I1(\U0/U_ICON/U_STAT/iSTAT_CNT [1]), + .I2(\U0/U_ICON/U_STAT/iSTAT_CNT [2]), + .I3(\U0/U_ICON/U_STAT/iSTAT_CNT [3]), + .O(\U0/U_ICON/U_STAT/iSTAT [3]) + ); + INV \U0/U_ICON/U_STAT/U_STATCMD_n ( + .I(\U0/U_ICON/U_STAT/iSTATCMD_CE ), + .O(\U0/U_ICON/U_STAT/iSTATCMD_CE_n ) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_ICON/U_STAT/U_STATCMD ( + .I0(\U0/U_ICON/U_STAT/iDATA_VALID ), + .I1(\U0/U_ICON/iCOMMAND_SEL [0]), + .I2(\U0/U_ICON/iCORE_ID_SEL[15] ), + .I3(\U0/U_ICON/U_STAT/iCMD_GRP0_SEL ), + .O(\U0/U_ICON/U_STAT/iSTATCMD_CE ) + ); + LUT2 #( + .INIT ( 4'h1 )) + \U0/U_ICON/U_STAT/U_CMDGRP0 ( + .I0(\U0/U_ICON/iCOMMAND_GRP [0]), + .I1(\U0/U_ICON/iCOMMAND_GRP [1]), + .O(\U0/U_ICON/U_STAT/iCMD_GRP0_SEL ) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/U_ICON/U_STAT/U_DATA_VALID ( + .I0(\U0/U_ICON/iSYNC ), + .I1(\U0/iSHIFT_OUT ), + .O(\U0/U_ICON/U_STAT/iDATA_VALID ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/U_ICON/U_STAT/U_TDO ( + .C(CONTROL0[0]), + .CE(N1), + .D(\U0/U_ICON/U_STAT/iTDO_next ), + .Q(\U0/U_ICON/iTDO_VEC [15]) + ); + +// synthesis translate_on + +endmodule + +// synthesis translate_off + +`ifndef GLBL +`define GLBL + +`timescale 1 ps / 1 ps + +module glbl (); + + parameter ROC_WIDTH = 100000; + parameter TOC_WIDTH = 0; + + wire GSR; + wire GTS; + wire GWE; + wire PRLD; + tri1 p_up_tmp; + tri (weak1, strong0) PLL_LOCKG = p_up_tmp; + + reg GSR_int; + reg GTS_int; + reg PRLD_int; + +//-------- JTAG Globals -------------- + wire JTAG_TDO_GLBL; + wire JTAG_TCK_GLBL; + wire JTAG_TDI_GLBL; + wire JTAG_TMS_GLBL; + wire JTAG_TRST_GLBL; + + reg JTAG_CAPTURE_GLBL; + reg JTAG_RESET_GLBL; + reg JTAG_SHIFT_GLBL; + reg JTAG_UPDATE_GLBL; + reg JTAG_RUNTEST_GLBL; + + reg JTAG_SEL1_GLBL = 0; + reg JTAG_SEL2_GLBL = 0 ; + reg JTAG_SEL3_GLBL = 0; + reg JTAG_SEL4_GLBL = 0; + + reg JTAG_USER_TDO1_GLBL = 1'bz; + reg JTAG_USER_TDO2_GLBL = 1'bz; + reg JTAG_USER_TDO3_GLBL = 1'bz; + reg JTAG_USER_TDO4_GLBL = 1'bz; + + assign (weak1, weak0) GSR = GSR_int; + assign (weak1, weak0) GTS = GTS_int; + assign (weak1, weak0) PRLD = PRLD_int; + + initial begin + GSR_int = 1'b1; + PRLD_int = 1'b1; + #(ROC_WIDTH) + GSR_int = 1'b0; + PRLD_int = 1'b0; + end + + initial begin + GTS_int = 1'b1; + #(TOC_WIDTH) + GTS_int = 1'b0; + end + +endmodule + +`endif + +// synthesis translate_on diff --git a/usrp2/extramfifo/icon.xco b/usrp2/extramfifo/icon.xco new file mode 100644 index 000000000..fda273149 --- /dev/null +++ b/usrp2/extramfifo/icon.xco @@ -0,0 +1,47 @@ +############################################################## +# +# Xilinx Core Generator version 12.1 +# Date: Wed Jul 21 03:31:19 2010 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = Verilog +SET device = xc3s2000 +SET devicefamily = spartan3 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = fg456 +SET removerpms = false +SET simulationfiles = Structural +SET speedgrade = -5 +SET verilogsim = true +SET vhdlsim = false +# END Project Options +# BEGIN Select +SELECT ICON_(ChipScope_Pro_-_Integrated_Controller) family Xilinx,_Inc. 1.04.a +# END Select +# BEGIN Parameters +CSET component_name=icon +CSET enable_jtag_bufg=true +CSET number_control_ports=1 +CSET use_ext_bscan=false +CSET use_softbscan=false +CSET use_unused_bscan=false +CSET user_scan_chain=USER1 +# END Parameters +GENERATE +# CRC: 799ba5a1 diff --git a/usrp2/extramfifo/ila.v b/usrp2/extramfifo/ila.v new file mode 100644 index 000000000..b0d8f8d0c --- /dev/null +++ b/usrp2/extramfifo/ila.v @@ -0,0 +1,5544 @@ +//////////////////////////////////////////////////////////////////////////////// +// Copyright (c) 1995-2010 Xilinx, Inc. All rights reserved. +//////////////////////////////////////////////////////////////////////////////// +// ____ ____ +// / /\/ / +// /___/ \ / Vendor: Xilinx +// \ \ \/ Version: M.53d +// \ \ Application: netgen +// / / Filename: ila.v +// /___/ /\ Timestamp: Wed Jul 21 11:51:09 2010 +// \ \ / \ +// \___\/\___\ +// +// Command : -w -sim -ofmt verilog /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/ila.ngc /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/ila.v +// Device : xc3s2000-fg456-5 +// Input file : /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/ila.ngc +// Output file : /home/ianb/ettus/sram_fifo/fpgapriv/usrp2/extramfifo/tmp/_cg/ila.v +// # of Modules : 1 +// Design Name : ila +// Xilinx : /opt/Xilinx/12.1/ISE_DS/ISE +// +// Purpose: +// This verilog netlist is a verification model and uses simulation +// primitives which may not represent the true implementation of the +// device, however the netlist is functionally correct and should not +// be modified. This file cannot be synthesized and should only be used +// with supported simulation tools. +// +// Reference: +// Command Line Tools User Guide, Chapter 23 and Synthesis and Simulation Design Guide, Chapter 6 +// +//////////////////////////////////////////////////////////////////////////////// + +`timescale 1 ns/1 ps + +module ila ( + CLK, CONTROL, TRIG0, TRIG1, TRIG2, TRIG3 +)/* synthesis syn_black_box syn_noprune=1 */; + input CLK; + inout [35 : 0] CONTROL; + input [7 : 0] TRIG0; + input [7 : 0] TRIG1; + input [7 : 0] TRIG2; + input [3 : 0] TRIG3; + + // synthesis translate_off + + wire N0; + wire N1; + wire N38; + wire N39; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/CMP_RESET ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iOUT ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iOUT ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iOUT ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCE/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WCE/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_CE ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[0] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[1] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[8] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[0] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[1] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[8] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[0] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[1] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[8] ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_CE ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_Q ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_CE ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iCAP_WR_EN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iTRIGGER_IN ; + wire \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iTRIGGER_OUT ; + wire \U0/I_NO_D.U_ILA/U_RST/HALT_pulse ; + wire \U0/I_NO_D.U_ILA/U_RST/POR ; + wire \U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ; + wire \U0/I_NO_D.U_ILA/U_RST/PRE_RESET1 ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/din_latched ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iCLR ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[0] ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[1] ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[2] ; + wire \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[4] ; + wire \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/din_latched ; + wire \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iCLR ; + wire \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT ; + wire \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT_dly[0] ; + wire \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT_dly[2] ; + wire \U0/I_NO_D.U_ILA/U_STAT/ACTRESET_pulse ; + wire \U0/I_NO_D.U_ILA/U_STAT/ACT_dstat ; + wire \U0/I_NO_D.U_ILA/U_STAT/ARM_dstat ; + wire \U0/I_NO_D.U_ILA/U_STAT/CAP_RESET_dly1 ; + wire \U0/I_NO_D.U_ILA/U_STAT/DIRTY_D0 ; + wire \U0/I_NO_D.U_ILA/U_STAT/DIRTY_D1 ; + wire \U0/I_NO_D.U_ILA/U_STAT/DIRTY_SEL ; + wire \U0/I_NO_D.U_ILA/U_STAT/DIRTY_dstat ; + wire \U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly1 ; + wire \U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly2 ; + wire \U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly3 ; + wire \U0/I_NO_D.U_ILA/U_STAT/DSTAT_load ; + wire \U0/I_NO_D.U_ILA/U_STAT/EXTCAP_READY_dstat ; + wire \U0/I_NO_D.U_ILA/U_STAT/FULL_dstat ; + wire \U0/I_NO_D.U_ILA/U_STAT/NS_load ; + wire \U0/I_NO_D.U_ILA/U_STAT/TDO_mux_in<0>1 ; + wire \U0/I_NO_D.U_ILA/U_STAT/TDO_next ; + wire \U0/I_NO_D.U_ILA/U_STAT/TRIGGER_dstat ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_10_443 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_101_444 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_11_445 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_12_f5_446 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_13_447 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_14_448 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_3_449 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_4_450 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_7_f6_451 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_452 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_f5_453 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_454 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_91_455 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_f5_456 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/din_latched ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iCLR ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O15_463 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O2_464 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O26_465 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O36_466 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O82_467 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f5_470 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f6_471 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_472 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f5_473 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f51 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_475 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_121_476 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_122_477 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_f5_478 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_13_479 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_131_480 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_132_481 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_14_482 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_8_f7_483 ; + wire \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_9_f6_484 ; + wire \U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE ; + wire \U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ; + wire \U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<1>1_535 ; + wire \U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<2>1_537 ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/iDOUT ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/iTRIGGER ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/iCFG_DIN ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/iDOUT ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/iTRIGGER ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCAPTURE ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/DOUT_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/dout_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/DOUT_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/dout_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/DOUT_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/dout_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/DOUT_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<3> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<4> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ; + wire \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/dout_tmp ; + wire \U0/I_NO_D.U_ILA/U_TRIG/trigCondOut ; + wire \U0/I_NO_D.U_ILA/iARM ; + wire \U0/I_NO_D.U_ILA/iCAPTURE ; + wire \U0/I_NO_D.U_ILA/iCAP_DONE ; + wire \U0/I_NO_D.U_ILA/iCAP_TRIGGER_OUT ; + wire \U0/I_NO_D.U_ILA/iCAP_WR_EN ; + wire \U0/I_NO_D.U_ILA/iDATA_DOUT ; + wire \U0/I_NO_D.U_ILA/iSTAT_DOUT ; + wire \U0/I_NO_D.U_ILA/iTRIGGER ; + wire \NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF_cs_cfglut4_Q15_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH_Q_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH_Q_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH_Q_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_STAT/U_DSR_O_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_CAP_B_O_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/I_NOLUT6.I_SRL_T2.U_SRLC16E_Q15_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<31>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<30>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<29>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<28>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<27>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<26>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<25>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<24>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<23>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<22>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<21>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<20>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<19>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<18>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<17>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<16>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<15>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<14>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<13>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<12>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<11>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<10>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<9>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<8>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<7>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<6>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<5>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<4>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<3>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<2>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<1>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<0>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<3>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<2>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<1>_UNCONNECTED ; + wire \NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<0>_UNCONNECTED ; + wire [27 : 0] \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp ; + wire [13 : 1] \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI ; + wire [13 : 0] \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D ; + wire [13 : 0] \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S ; + wire [13 : 0] \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR ; + wire [3 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA ; + wire [3 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/jO ; + wire [3 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA ; + wire [3 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/jO ; + wire [7 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA ; + wire [7 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO ; + wire [3 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/kO ; + wire [7 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA ; + wire [7 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO ; + wire [3 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/kO ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iCFG_DATA ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iO ; + wire [3 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA ; + wire [3 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/jO ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iCFG_DATA ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iO ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iCFG_DATA ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iO ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next ; + wire [8 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S ; + wire [8 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/cfg_data ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCompData ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/cfg_data ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCompData ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/cfg_data ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCompData ; + wire [4 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data ; + wire [16 : 1] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT ; + wire [9 : 0] \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDIN ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDIN ; + wire [0 : 0] \U0/I_NO_D.U_ILA/U_RST/iRESET ; + wire [8 : 0] \U0/I_NO_D.U_ILA/U_STAT/NS_dstat ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_STAT/STATE_dstat ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDIN ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDOUT_dly ; + wire [1 : 0] \U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/iDOUT ; + wire [9 : 1] \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI ; + wire [9 : 0] \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D ; + wire [9 : 0] \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S ; + wire [16 : 0] \U0/I_NO_D.U_ILA/U_STAT/iSTAT ; + wire [9 : 0] \U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT ; + wire [1 : 1] \U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCFG_DATA ; + wire [3 : 0] \U0/I_NO_D.U_ILA/U_TRIG/trigCondIn ; + wire [8 : 0] \U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES ; + wire [1 : 0] \U0/I_NO_D.U_ILA/iCAP_STATE ; + wire [8 : 0] \U0/I_NO_D.U_ILA/iCAP_WR_ADDR ; + wire [27 : 0] \U0/I_NO_D.U_ILA/iDATA ; + wire [7 : 0] \U0/I_NO_D.U_ILA/iRESET ; + wire [8 : 0] \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy ; + wire [8 : 0] \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut ; + wire [27 : 0] \U0/iTRIG_IN ; + GND XST_GND ( + .G(N0) + ); + VCC XST_VCC ( + .P(N1) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_WCNT_HCMP_Q ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP ), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/CMP_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_Q ) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_WCNT_LCMP_Q ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP ), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/CMP_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_SCNT_CMP_Q ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP ), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/CMP_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_INTCAP_F.U_CAPWE0 ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iCAP_WR_EN ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_INTCAP_F.U_CAPWE1 ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iCAP_WR_EN ), + .R(\U0/I_NO_D.U_ILA/iRESET [7]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_EN ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_TRIG0 ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iTRIGGER_IN ), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iTRIGGER_OUT ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_TRIG1 ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iTRIGGER_OUT ), + .R(\U0/I_NO_D.U_ILA/iRESET [7]), + .Q(\U0/I_NO_D.U_ILA/iCAP_TRIGGER_OUT ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_YES_OREG.OUT_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iOUT ), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_STATE [0]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_YES_OREG.OUT_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iOUT ), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_STATE [1]) + ); + LUT3 #( + .INIT ( 8'h20 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_TRIG ( + .I0(\U0/I_NO_D.U_ILA/iTRIGGER ), + .I1(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .I2(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/iTRIGGER_IN ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCE/I_NOLUT6.I_SRL_T2.U_SRLC16E ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCE/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [5]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCE/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [4]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCE/iCFG_DIN ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WCE/I_NOLUT6.I_SRL_T2.U_SRLC16E ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WCE/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [4]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WCE/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [3]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WCE/iCFG_DIN ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_YES_OREG.U_MUXF7 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/kO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/kO [0]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iOUT ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U0_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/kO [0]) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U1_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/kO [1]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U0_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [0]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U1_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [1]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U2_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [5]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [4]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [2]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U3_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [7]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [6]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/jO [3]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [2]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [2]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [3]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [2]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [2]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [4]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [3]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [3]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF2_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [5]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [4]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [4]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG2_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [5]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [5]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF3_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [7]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [6]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [6]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG3_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iO [7]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DATA [7]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [1]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS0/iCFG_DIN ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_YES_OREG.U_MUXF7 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/kO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/kO [0]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iOUT ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U0_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/kO [0]) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U1_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/kO [1]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U0_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [0]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U1_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [1]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U2_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [5]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [4]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [2]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.U3_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [7]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [6]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/jO [3]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [2]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [3]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [2]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [2]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [4]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [3]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [3]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF2_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [5]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [4]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [4]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG2_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [5]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [5]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UF3_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [7]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [6]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [6]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_S3.UG3_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iO [7]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DATA [7]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [0]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_NS1/iCFG_DIN ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_NO_OREG.U_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/jO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/jO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/CMP_RESET ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.U0_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/jO [0]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.U1_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/jO [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [6]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA [2]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA [3]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [2]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA [2]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iO [3]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DATA [3]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [5]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CMPRESET/iCFG_DIN ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_NO_OREG.U_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/jO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/jO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.U0_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/jO [0]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.U1_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/jO [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [3]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA [2]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA [3]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [2]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA [2]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iO [3]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DATA [3]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [2]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCRST/iCFG_DIN ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_NO_OREG.U_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_CE ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF_cs_cfglut4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iO [0]), + .Q15(\NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF_cs_cfglut4_Q15_UNCONNECTED ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG_cs_cfglut4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iCFG_DATA [1]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [9]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WHCMPCE/iCFG_DIN ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_NO_OREG.U_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_CE ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF_cs_cfglut4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [9]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG_cs_cfglut4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iCFG_DATA [1]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [8]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_WLCMPCE/iCFG_DIN ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_NO_OREG.U_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP_CE ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF_cs_cfglut4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [8]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG_cs_cfglut4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iCFG_DATA [1]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [7]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_SCMPCE/iCFG_DIN ) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_YES_OREG.U_MUXF6 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/jO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/jO [0]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iOUT ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.U0_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [0]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/jO [0]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.U1_MUXF5 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [2]), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP_Q ), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/jO [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [0]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [7]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG0_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA [2]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [1]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UF1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA [3]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [2]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA [2]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.UG1_CFGLUT4 ( + .A0(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .A2(\U0/I_NO_D.U_ILA/iTRIGGER ), + .A3(\U0/I_NO_D.U_ILA/iCAPTURE ), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iO [3]), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DATA [3]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [6]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iCFG_DIN ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/I_NOLUT6.I_SRL_T2.I_YES_RPM.I_YES_OREG.OUT_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/I_SRLT_NE_1.U_CDONE/iOUT ), + .R(N0), + .Q(\U0/I_NO_D.U_ILA/iCAP_DONE ) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[8].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [8]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [8]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[7].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [7]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [7]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[6].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [6]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [6]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[5].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [5]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [5]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[4].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [4]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [4]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[3].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [3]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[2].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [2]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [2]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[1].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [1]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[0].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [0]), + .R(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_RESET ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [0]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[8].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [8]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [8]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[8].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [8]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [8]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [8]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[7].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [7]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [7]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[7].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [7]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [7]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [8]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[7].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [7]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [7]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [7]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[6].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [6]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [6]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[6].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [6]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [6]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [7]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[6].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [6]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [6]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [6]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[5].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [5]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [5]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[5].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [5]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [5]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [6]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[5].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [5]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [5]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [5]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[4].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [4]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [4]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[4].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [4]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [4]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [5]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[4].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [4]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [4]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [4]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[3].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [3]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [3]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[3].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [3]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [3]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [4]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[3].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [3]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [3]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [3]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[2].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [2]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [2]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[2].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [2]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [2]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [3]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[2].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [2]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [2]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [2]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[1].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [1]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [1]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[1].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [1]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [2]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[1].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [1]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [1]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [1]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[0].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [0]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[0].GnH.U_MUXCY ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [0]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/CI [1]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/G[0].U_XORCY ( + .CI(N1), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/S [0]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_NO_TSEQ.I_SRLT_NE_1.U_SCNT/D [0]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[8].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [8]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [8]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[7].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [7]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [7]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[6].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [6]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [6]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[5].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [5]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [5]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[4].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [4]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [4]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[3].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [3]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[2].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [2]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [2]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[1].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [1]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[0].U_FDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_CE ), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [0]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [0]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[8].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [8]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [8]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[8].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [8]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [8]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [8]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[7].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [7]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [7]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[7].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [7]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [7]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [8]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[7].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [7]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [7]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [7]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[6].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [6]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [6]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[6].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [6]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [6]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [7]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[6].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [6]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [6]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [6]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[5].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [5]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [5]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[5].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [5]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [5]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [6]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[5].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [5]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [5]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [5]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[4].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [4]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [4]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[4].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [4]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [4]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [5]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[4].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [4]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [4]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [4]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[3].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [3]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [3]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[3].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [3]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [3]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [4]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[3].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [3]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [3]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [3]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[2].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [2]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [2]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[2].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [2]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [2]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [3]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[2].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [2]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [2]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [2]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[1].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [1]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [1]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[1].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [1]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [2]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[1].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [1]), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [1]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [1]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[0].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [0]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[0].GnH.U_MUXCY ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [0]), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/CI [1]) + ); + XORCY \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/G[0].U_XORCY ( + .CI(N1), + .LI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/S [0]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_SRLT_NE_1.U_WCNT/D [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.U_MUXL ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCompData [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[8] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/SCNT_CMP ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [8]), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[8] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/cfg_data [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [0]), + .Q(\NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH_Q_UNCONNECTED ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[0] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCompData [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCompData [0]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[1] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCompData [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [0]), + .A1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [1]), + .A2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [2]), + .A3(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [3]), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[0] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [4]), + .A1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [5]), + .A2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [6]), + .A3(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [7]), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/cfg_data [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/sel[1] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_SCNT_CMP/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.U_MUXL ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCompData [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[8] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_HCMP ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [8]), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[8] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/cfg_data [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [2]), + .Q(\NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH_Q_UNCONNECTED ) +, + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[0] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCompData [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCompData [0]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[1] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCompData [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [1]), + .A2(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [2]), + .A3(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [3]), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[0] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [3]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [4]), + .A1(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [5]), + .A2(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [6]), + .A3(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [7]), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/cfg_data [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/sel[1] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_HCMP/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.U_MUXL ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCompData [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[8] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/WCNT_LCMP ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [8]), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[8] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/cfg_data [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [4]), + .Q(\NLW_U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH_Q_UNCONNECTED ) +, + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCfgData0 ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[0] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCompData [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCompData [0]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[1] ), + .LO(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCompData [1]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [0]), + .A1(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [1]), + .A2(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [2]), + .A3(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [3]), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[0] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/cfg_data [0]) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [4]), + .A1(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [5]), + .A2(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [6]), + .A3(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [7]), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/cfg_data [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/sel[1] ), + .Q15(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_WCNT_LCMP/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_BRK1 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [3]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [4]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/U_BRK0 ( + .I0(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [1]), + .I1(CONTROL[9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [2]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[8].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [8]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [8]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [9]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [8]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[7].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [7]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [7]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [8]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [7]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[6].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [6]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [6]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [7]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [6]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[5].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [5]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [5]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [6]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [5]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[4].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [4]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [4]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [5]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [4]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[3].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [3]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [3]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [4]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [3]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[2].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [2]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [2]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [3]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [2]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[1].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [1]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [2]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [1]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[0].U_CAP_ADDR_MUX ( + .I0(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [0]), + .I1(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iSCNT [0]), + .I2(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [1]), + .O(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [0]) + ); + SRL16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.I_SRL.U_SELX ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[9]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [16]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data [0]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[8].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [8]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [8]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[8].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [8]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [8]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[7].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [7]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [7]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[7].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [7]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [7]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[6].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [6]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [6]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[6].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [6]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [6]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[5].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [5]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [5]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[5].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [5]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [5]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[4].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [4]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [4]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[4].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [4]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [4]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[3].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [3]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [3]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[3].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [3]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [3]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[2].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [2]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [2]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[2].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [2]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [2]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[1].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [1]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [1]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[1].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [1]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [1]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[0].U_CAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [0]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [0]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_INTCAP.F_CAP_ADDR[0].U_iCAP_ADDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/CAP_ADDR_next [0]), + .R(\U0/I_NO_D.U_ILA/iRESET [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/iCAP_ADDR [0]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[15].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [15]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [16]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[14].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [14]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [15]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[13].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [13]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [14]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[12].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [12]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [13]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[11].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [11]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [12]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[10].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [10]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [11]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[9].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [9]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [10]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[8].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [8]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [9]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[7].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [7]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [8]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[6].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [6]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [7]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[5].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [5]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [6]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[4].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [4]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [5]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[3].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [3]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [4]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[2].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [2]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [3]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[1].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [2]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/I_0_TO_64K.F_SEL[0].U_SEL ( + .C(CONTROL[0]), + .CE(CONTROL[9]), + .D(CONTROL[1]), + .Q(\U0/I_NO_D.U_ILA/U_G2_SQ.U_CAPCTRL/U_CAP_ADDRGEN/cfg_data_vec [1]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL2 ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly1 ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly2 ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL3 ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly2 ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly3 ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_CR ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/iRESET [0]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/CAP_RESET_dly1 ) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[8].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [8]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [8]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[7].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [7]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [7]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[6].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [6]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [6]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[5].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [5]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [5]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[4].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [4]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [4]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[3].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [3]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[2].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [2]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [2]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[1].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [1]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/G_NS[0].U_NSQ ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/NS_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_NUM_SAMPLES [0]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [0]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STATE1 ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_STATE [1]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/STATE_dstat [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STATE0 ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_load ), + .D(\U0/I_NO_D.U_ILA/iCAP_STATE [0]), + .R(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/STATE_dstat [0]) + ); + FDRS #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_ARM ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_STAT/ARM_dstat ), + .R(\U0/I_NO_D.U_ILA/iRESET [0]), + .S(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/ARM_dstat ) + ); + FDRS #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_TRIGGER ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_STAT/TRIGGER_dstat ), + .R(\U0/I_NO_D.U_ILA/iRESET [0]), + .S(\U0/I_NO_D.U_ILA/iCAP_TRIGGER_OUT ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/TRIGGER_dstat ) + ); + FDRS #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_FULL ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_STAT/FULL_dstat ), + .R(\U0/I_NO_D.U_ILA/iARM ), + .S(\U0/I_NO_D.U_ILA/iCAP_DONE ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/FULL_dstat ) + ); + FDRS #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_ECR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_STAT/EXTCAP_READY_dstat ), + .R(\U0/I_NO_D.U_ILA/iARM ), + .S(N1), + .Q(\U0/I_NO_D.U_ILA/U_STAT/EXTCAP_READY_dstat ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DIRTY_FDCE ( + .C(CONTROL[0]), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/iARM ), + .D(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_dstat ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_D0 ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DIRTY_FDPE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_dstat ), + .PRE(CONTROL[13]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_D1 ) + ); + LDC #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DIRTY_LDC ( + .CLR(\U0/I_NO_D.U_ILA/iARM ), + .D(N1), + .G(CONTROL[13]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_SEL ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_RISING ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_STAT/ACTRESET_pulse ), + .D(N1), + .Q(\U0/I_NO_D.U_ILA/U_STAT/ACT_dstat ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_TDO ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/TDO_next ), + .Q(\U0/I_NO_D.U_ILA/iSTAT_DOUT ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_GEN_DELAY[1].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDOUT_dly [0]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDOUT_dly [1]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_RFDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly1 ), + .CLR(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly1 ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDOUT_dly [0]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_DOUT ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDIN [0]), + .R(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDIN [1]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly1 ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_DOUT1 ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDIN [0]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDIN [1]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_DOUT0 ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/din_latched ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDIN [0]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_TFDRE ( + .C(CONTROL[0]), + .CE(CONTROL[5]), + .CLR(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iCLR ), + .D(CONTROL[5]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/din_latched ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/I_H2L.U_DOUT ( + .C(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/iDOUT [1]), + .R(\U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/iDOUT [0]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/ACTRESET_pulse ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/U_DOUT1 ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/iDOUT [0]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/iDOUT [1]) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/U_DOUT0 ( + .C(CONTROL[0]), + .CE(N1), + .D(CONTROL[5]), + .Q(\U0/I_NO_D.U_ILA/U_STAT/U_RESET_EDGE/iDOUT [0]) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_2_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_4_450 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_3_449 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/TDO_mux_in<0>1 ) + ); + LUT4 #( + .INIT ( 16'h5140 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_4 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_91_455 ), + .I3(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_452 ), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_4_450 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<1>1_535 ), + .I2(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_12_f5_446 ), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_452 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_12_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_14_448 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_13_447 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_12_f5_446 ) + ); + LUT2 #( + .INIT ( 4'hD )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_14 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/FULL_dstat ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_14_448 ) + ); + LUT3 #( + .INIT ( 8'h53 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_13 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/STATE_dstat [1]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/STATE_dstat [0]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_13_447 ) + ); + LUT4 #( + .INIT ( 16'hFBEA )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_3 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<2>1_537 ), + .I3(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_7_f6_451 ), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_3_449 ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_7_f6 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_f5_456 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_f5_453 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_7_f6_451 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_11_445 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_101_444 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_f5_456 ) + ); + LUT3 #( + .INIT ( 8'h53 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_11 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [1]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [0]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_11_445 ) + ); + LUT3 #( + .INIT ( 8'h53 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_101 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [3]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [2]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_101_444 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_10_443 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_454 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_8_f5_453 ) + ); + LUT3 #( + .INIT ( 8'h53 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_10 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [5]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [4]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_10_443 ) + ); + LUT3 #( + .INIT ( 8'h53 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [7]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [6]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_9_454 ) + ); + MUXF7 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_8_f7 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f6_471 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_9_f6_484 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [7]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_8_f7_483 ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f6 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_f5_478 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f51 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [6]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f6_471 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_14_482 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_132_481 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_f5_478 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_14 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [0]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [1]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_14_482 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_132 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [2]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_132_481 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f5_0 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_131_480 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_122_477 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f51 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_131 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [4]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_131_480 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_122 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [6]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [7]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_122_477 ) + ); + MUXF6 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_9_f6 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f5_473 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f5_470 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [6]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_9_f6_484 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_13_479 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_121_476 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_f5_473 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_13 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [8]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [9]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_13_479 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_121 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [10]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [11]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_121_476 ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f5 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_475 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_472 ), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_10_f5_470 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [12]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [13]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_12_475 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [14]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [15]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_11_472 ) + ); + LUT2 #( + .INIT ( 4'hE )) + \U0/I_NO_D.U_ILA/U_STAT/U_STATCMD ( + .I0(CONTROL[4]), + .I1(CONTROL[5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE ) + ); + INV \U0/I_NO_D.U_ILA/U_STAT/U_STATCMD_n ( + .I(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE ), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly3 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly2 ), + .O(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_load ) + ); + LUT2 #( + .INIT ( 4'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSR ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly3 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly2 ), + .O(\NLW_U0/I_NO_D.U_ILA/U_STAT/U_DSR_O_UNCONNECTED ) + ); + LUT4 #( + .INIT ( 16'h0F22 )) + \U0/I_NO_D.U_ILA/U_STAT/U_NSL ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly3 ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/DSTAT_en_dly2 ), + .I2(\U0/I_NO_D.U_ILA/U_STAT/CAP_RESET_dly1 ), + .I3(\U0/I_NO_D.U_ILA/iRESET [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/NS_load ) + ); + LUT4 #( + .INIT ( 16'h0030 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[16].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [16]) + ); + LUT4 #( + .INIT ( 16'h1030 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[15].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [15]) + ); + LUT4 #( + .INIT ( 16'h0070 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[14].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [14]) + ); + LUT4 #( + .INIT ( 16'h1020 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[13].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [13]) + ); + LUT4 #( + .INIT ( 16'h0070 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[12].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [12]) + ); + LUT4 #( + .INIT ( 16'h1010 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[11].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [11]) + ); + LUT4 #( + .INIT ( 16'h0070 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[10].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [10]) + ); + LUT4 #( + .INIT ( 16'h100F )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[9].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [9]) + ); + LUT4 #( + .INIT ( 16'hFFF0 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[8].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [8]) + ); + LUT4 #( + .INIT ( 16'h0004 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[7].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [7]) + ); + LUT4 #( + .INIT ( 16'h3000 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[6].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [6]) + ); + LUT4 #( + .INIT ( 16'h001F )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[5].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [5]) + ); + LUT4 #( + .INIT ( 16'hF001 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[4].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [4]) + ); + LUT4 #( + .INIT ( 16'hB610 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[3].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [3]) + ); + LUT4 #( + .INIT ( 16'h2100 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[2].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [2]) + ); + LUT4 #( + .INIT ( 16'hC102 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[1].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [1]) + ); + LUT4 #( + .INIT ( 16'h0101 )) + \U0/I_NO_D.U_ILA/U_STAT/F_SSTAT[0].I_STAT.U_STAT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [0]) + ); + LUT2 #( + .INIT ( 4'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DSL1/U_CLEAR ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iDOUT_dly [1]), + .I1(CONTROL[5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DSL1/iCLR ) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[0].U_XORCY ( + .CI(N1), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[0].GnH.U_MUXCY ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [0]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [1]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[0].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [0]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[1].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [1]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [1]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [1]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[1].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [1]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [2]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[1].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [1]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[2].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [2]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [2]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [2]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[2].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [2]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [2]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [3]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[2].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [2]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[3].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [3]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [3]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[3].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [3]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [3]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [4]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[3].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [3]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[4].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [4]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [4]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [4]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[4].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [4]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [4]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [5]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[4].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [4]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[5].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [5]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [5]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[5].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [5]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [5]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [6]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[5].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [5]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[6].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [6]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [6]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [6]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[6].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [6]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [6]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [7]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[6].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [6]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [6]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[7].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [7]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [7]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [7]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[7].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [7]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [7]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [8]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[7].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [7]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [7]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[8].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [8]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [8]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [8]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[8].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [8]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [8]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [9]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[8].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [8]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [8]) + ); + XORCY \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[9].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/CI [9]), + .LI(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [9]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [9]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[9].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [9]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/S [9]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[0].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [0]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[1].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [1]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[2].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [2]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[3].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [3]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[4].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [4]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[5].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [5]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[6].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [6]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [6]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[7].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [7]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [7]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[8].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [8]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [8]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/G[9].U_FDRE ( + .C(CONTROL[0]), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_STAT/U_STAT_CNT/D [9]), + .R(\U0/I_NO_D.U_ILA/U_STAT/iSTATCMD_CE_n ), + .Q(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [9]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/U_POR ( + .C(CLK), + .D(N0), + .PRE(N0), + .Q(\U0/I_NO_D.U_ILA/U_RST/POR ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[0].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_RST/iRESET [0]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [0]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[1].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [0]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [1]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[2].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [1]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [2]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[3].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [2]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [3]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[4].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [3]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [4]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[5].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [4]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [5]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[6].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [5]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [6]) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_RST/G_RST[7].U_RST ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/iRESET [6]), + .S(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ), + .Q(\U0/I_NO_D.U_ILA/iRESET [7]) + ); + LUT3 #( + .INIT ( 8'hEF )) + \U0/I_NO_D.U_ILA/U_RST/U_PRST1 ( + .I0(\U0/I_NO_D.U_ILA/U_RST/HALT_pulse ), + .I1(\U0/I_NO_D.U_ILA/U_RST/POR ), + .I2(N1), + .O(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET1 ) + ); + LUT4 #( + .INIT ( 16'hFFFE )) + \U0/I_NO_D.U_ILA/U_RST/U_PRST0 ( + .I0(N0), + .I1(\U0/I_NO_D.U_ILA/iCAP_DONE ), + .I2(N0), + .I3(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET1 ), + .O(\U0/I_NO_D.U_ILA/U_RST/PRE_RESET0 ) + ); + LUT2 #( + .INIT ( 4'h4 )) + \U0/I_NO_D.U_ILA/U_RST/U_RST0 ( + .I0(\U0/I_NO_D.U_ILA/iARM ), + .I1(\U0/I_NO_D.U_ILA/iRESET [0]), + .O(\U0/I_NO_D.U_ILA/U_RST/iRESET [0]) + ); + LUT2 #( + .INIT ( 4'h2 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_CLEAR ( + .I0(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT_dly[2] ), + .I1(CONTROL[13]), + .O(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iCLR ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_GEN_DELAY[2].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_RST/HALT_pulse ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT_dly[2] ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_GEN_DELAY[1].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT_dly[0] ), + .Q(\U0/I_NO_D.U_ILA/U_RST/HALT_pulse ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_RFDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT ), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT_dly[0] ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_DOUT ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDIN [0]), + .R(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDIN [1]), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDOUT ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_DOUT1 ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDIN [0]), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDIN [1]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_DOUT0 ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/din_latched ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iDIN [0]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/U_TFDRE ( + .C(CONTROL[0]), + .CE(CONTROL[13]), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/iCLR ), + .D(CONTROL[13]), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_HALT_XFER/din_latched ) + ); + LUT2 #( + .INIT ( 4'h2 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_CLEAR ( + .I0(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[4] ), + .I1(CONTROL[12]), + .O(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iCLR ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_GEN_DELAY[4].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/iARM ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[4] ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_GEN_DELAY[3].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[2] ), + .Q(\U0/I_NO_D.U_ILA/iARM ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_GEN_DELAY[2].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[1] ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[2] ) + ); + FDE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_GEN_DELAY[1].U_FD ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[0] ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[1] ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_RFDRE ( + .C(CLK), + .CE(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT ), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT_dly[0] ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_DOUT ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDIN [0]), + .R(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDIN [1]), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDOUT ) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_DOUT1 ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDIN [0]), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDIN [1]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_DOUT0 ( + .C(CLK), + .CE(N1), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iCLR ), + .D(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/din_latched ), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iDIN [0]) + ); + FDCE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/U_TFDRE ( + .C(CONTROL[0]), + .CE(CONTROL[12]), + .CLR(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/iCLR ), + .D(CONTROL[12]), + .Q(\U0/I_NO_D.U_ILA/U_RST/U_ARM_XFER/din_latched ) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[13].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [13]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [13]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[12].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [12]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [12]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[11].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [11]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [11]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[10].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [10]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [10]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[9].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [9]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [9]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[8].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [8]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [8]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[7].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [7]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [7]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[6].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [6]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [6]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[5].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [5]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [5]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[4].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [4]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [4]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[3].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [3]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [3]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[2].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [2]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [2]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[1].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [1]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [1]) + ); + FDRE #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[0].U_FDRE ( + .C(CONTROL[0]), + .CE(CONTROL[6]), + .D(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [0]), + .R(CONTROL[14]), + .Q(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [0]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[13].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [13]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [13]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[13].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [13]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [13]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [13]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[12].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [12]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [12]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[12].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [12]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [12]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [13]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[12].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [12]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [12]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [12]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[11].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [11]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [11]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[11].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [11]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [11]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [12]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[11].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [11]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [11]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [11]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[10].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [10]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [10]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[10].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [10]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [10]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [11]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[10].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [10]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [10]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [10]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[9].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [9]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [9]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[9].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [9]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [9]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [10]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[9].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [9]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [9]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [9]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[8].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [8]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [8]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[8].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [8]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [8]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [9]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[8].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [8]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [8]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [8]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[7].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [7]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [7]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[7].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [7]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [7]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [8]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[7].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [7]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [7]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [7]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[6].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [6]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [6]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[6].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [6]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [6]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [7]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[6].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [6]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [6]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [6]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[5].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [5]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [5]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[5].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [5]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [5]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [6]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[5].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [5]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [5]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [5]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[4].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [4]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [4]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[4].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [4]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [4]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [5]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[4].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [4]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [4]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [4]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[3].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [3]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [3]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[3].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [3]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [3]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [4]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[3].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [3]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [3]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [3]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[2].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [2]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [2]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[2].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [2]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [2]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [3]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[2].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [2]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [2]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [2]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[1].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [1]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [1]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[1].GnH.U_MUXCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [1]), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [1]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [2]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[1].U_XORCY ( + .CI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [1]), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [1]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [1]) + ); + LUT1 #( + .INIT ( 2'h2 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[0].U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [0]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [0]) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[0].GnH.U_MUXCY ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [0]), + .LO(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/CI [1]) + ); + XORCY \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/G[0].U_XORCY ( + .CI(N1), + .LI(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/S [0]), + .O(\U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.I_RDADDR/U_HC/D [0]) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[0].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [24]), + .PRE(CONTROL[23]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[1].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [25]), + .PRE(CONTROL[23]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[2].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [26]), + .PRE(CONTROL[23]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[3].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [27]), + .PRE(CONTROL[23]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_OREG.U_OREG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ), + .S(\U0/I_NO_D.U_ILA/iRESET [0]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/DOUT_tmp ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N1), + .CE(CONTROL[23]), + .CLK(CONTROL[0]), + .D(CONTROL[1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<4> ), + .Q15(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ), + .CE(CONTROL[23]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<3> ), + .Q15 +(\NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ) + + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.I_YES_MUXH.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<4> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TWMOD8_NE0.I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<3> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[0].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [0]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[1].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [1]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[2].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [2]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[3].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [3]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[4].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [4]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[5].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [5]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[6].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [6]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[7].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [7]), + .PRE(CONTROL[20]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_OREG.U_OREG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ), + .S(\U0/I_NO_D.U_ILA/iRESET [0]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/DOUT_tmp ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ), + .CE(CONTROL[20]), + .CLK(CONTROL[0]), + .D(CONTROL[1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ), + .Q15(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ), + .CE(CONTROL[20]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ), + .Q15 +(\NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ) + + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ) + ); + XORCY \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_OREG.U_XORH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ), + .LI(N0), + .O(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[0].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [8]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[1].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [9]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[2].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [10]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[3].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [11]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[4].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [12]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[5].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [13]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[6].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [14]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[7].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [15]), + .PRE(CONTROL[21]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_OREG.U_OREG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ), + .S(\U0/I_NO_D.U_ILA/iRESET [0]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/DOUT_tmp ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ), + .CE(CONTROL[21]), + .CLK(CONTROL[0]), + .D(CONTROL[1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ), + .Q15(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ), + .CE(CONTROL[21]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ), + .Q15 +(\NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ) + + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ) + ); + XORCY \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_OREG.U_XORH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ), + .LI(N0), + .O(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[0].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [16]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[1].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [17]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[2].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [18]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[3].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [19]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[4].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [20]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[5].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [21]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[6].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [22]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_YES_IREG.F_TW[7].U_IREG ( + .C(CLK), + .CE(N1), + .D(\U0/iTRIG_IN [23]), + .PRE(CONTROL[22]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_OREG.U_OREG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ), + .S(\U0/I_NO_D.U_ILA/iRESET [0]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/DOUT_tmp ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLH ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<4> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<5> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<6> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<7> ), + .CE(CONTROL[22]), + .CLK(CONTROL[0]), + .D(CONTROL[1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ), + .Q15(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<0> ), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<1> ), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<2> ), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/din_dly1<3> ), + .CE(CONTROL[22]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCfgData ), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ), + .Q15 +(\NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_SRLT_EQ_2.U_SRLL_Q15_UNCONNECTED ) + + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<1> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ) + ); + MUXCY_L \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.U_MUXL ( + .CI(N1), + .DI(N0), + .S(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/sel<0> ), + .LO(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<0> ) + ); + XORCY \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/I_TW_GTE8.F_TW[0].I_YES_RPM.I_OREG.U_XORH ( + .CI(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<1> ), + .LI(N0), + .O(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_MUT_GAND.U_match/I_SRL16.U_GAND_SRL16/tmpCompData<2> ) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[0].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [0]), + .Q(\U0/I_NO_D.U_ILA/iDATA [0]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[1].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [1]), + .Q(\U0/I_NO_D.U_ILA/iDATA [1]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[2].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [2]), + .Q(\U0/I_NO_D.U_ILA/iDATA [2]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[3].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [3]), + .Q(\U0/I_NO_D.U_ILA/iDATA [3]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[4].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [4]), + .Q(\U0/I_NO_D.U_ILA/iDATA [4]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[5].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [5]), + .Q(\U0/I_NO_D.U_ILA/iDATA [5]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[6].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [6]), + .Q(\U0/I_NO_D.U_ILA/iDATA [6]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[7].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [7]), + .Q(\U0/I_NO_D.U_ILA/iDATA [7]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[8].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [8]), + .Q(\U0/I_NO_D.U_ILA/iDATA [8]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[9].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [9]), + .Q(\U0/I_NO_D.U_ILA/iDATA [9]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[10].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [10]), + .Q(\U0/I_NO_D.U_ILA/iDATA [10]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[11].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [11]), + .Q(\U0/I_NO_D.U_ILA/iDATA [11]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[12].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [12]), + .Q(\U0/I_NO_D.U_ILA/iDATA [12]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[13].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [13]), + .Q(\U0/I_NO_D.U_ILA/iDATA [13]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[14].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [14]), + .Q(\U0/I_NO_D.U_ILA/iDATA [14]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[15].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [15]), + .Q(\U0/I_NO_D.U_ILA/iDATA [15]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[16].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [16]), + .Q(\U0/I_NO_D.U_ILA/iDATA [16]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[17].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [17]), + .Q(\U0/I_NO_D.U_ILA/iDATA [17]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[18].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [18]), + .Q(\U0/I_NO_D.U_ILA/iDATA [18]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[19].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [19]), + .Q(\U0/I_NO_D.U_ILA/iDATA [19]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[20].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [20]), + .Q(\U0/I_NO_D.U_ILA/iDATA [20]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[21].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [21]), + .Q(\U0/I_NO_D.U_ILA/iDATA [21]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[22].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [22]), + .Q(\U0/I_NO_D.U_ILA/iDATA [22]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[23].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [23]), + .Q(\U0/I_NO_D.U_ILA/iDATA [23]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[24].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [24]), + .Q(\U0/I_NO_D.U_ILA/iDATA [24]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[25].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [25]), + .Q(\U0/I_NO_D.U_ILA/iDATA [25]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[26].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [26]), + .Q(\U0/I_NO_D.U_ILA/iDATA [26]) + ); + FD #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[27].I_SRLT_NE_0.FF ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [27]), + .Q(\U0/I_NO_D.U_ILA/iDATA [27]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[0].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [0]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [0]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[1].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [1]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [1]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[2].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [2]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [2]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[3].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [3]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [3]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[4].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [4]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [4]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[5].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [5]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [5]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[6].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [6]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [6]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[7].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [7]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [7]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[8].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [8]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [8]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[9].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [9]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [9]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[10].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [10]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [10]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[11].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [11]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [11]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[12].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [12]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [12]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[13].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [13]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [13]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[14].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [14]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [14]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[15].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [15]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [15]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[16].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [16]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [16]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[17].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [17]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [17]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[18].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [18]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [18]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[19].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [19]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [19]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[20].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [20]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [20]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[21].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [21]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [21]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[22].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [22]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [22]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[23].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [23]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [23]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[24].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [24]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [24]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[25].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [25]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [25]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[26].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [26]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [26]) + ); + SRL16 #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/I_DQ.U_DQQ/DLY_9.DLY_9_GEN[27].I_SRLT_NE_0.DLY9 ( + .A0(N1), + .A1(N1), + .A2(N1), + .A3(N0), + .CLK(CLK), + .D(\U0/iTRIG_IN [27]), + .Q(\U0/I_NO_D.U_ILA/I_DQ.U_DQQ/temp [27]) + ); + LUT3 #( + .INIT ( 8'hCA )) + \U0/I_NO_D.U_ILA/U_DOUT ( + .I0(\U0/I_NO_D.U_ILA/iSTAT_DOUT ), + .I1(\U0/I_NO_D.U_ILA/iDATA_DOUT ), + .I2(CONTROL[6]), + .O(CONTROL[3]) + ); + LUT1 #( + .INIT ( 2'h1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_CAP_B ( + .I0(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCAPTURE ), + .O(\NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_CAP_B_O_UNCONNECTED ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/I_NOLUT6.I_SRL_T2.U_SRLC16E ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [0]), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [1]), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [2]), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [3]), + .CE(CONTROL[8]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/iDOUT ), + .Q15 +(\NLW_U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/I_NOLUT6.I_SRL_T2.U_SRLC16E_Q15_UNCONNECTED ) + + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCFG_DATA [1]), + .I1(CONTROL[8]), + .O(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/iCFG_DIN ) + ); + SRLC16E #( + .INIT ( 16'h0000 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/I_NOLUT6.I_SRL_T2.U_SRLC16E ( + .A0(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [0]), + .A1(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [1]), + .A2(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [2]), + .A3(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [3]), + .CE(CONTROL[8]), + .CLK(CONTROL[0]), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/iCFG_DIN ), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/iDOUT ), + .Q15(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCFG_DATA [1]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/I_NOLUT6.I_SRL_T2.U_LUT ( + .I0(CONTROL[1]), + .I1(CONTROL[8]), + .O(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_NMU_EQ4.U_iDOUT/iCFG_DIN ) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/I_OREG.I_YES_OREG.U_OREG ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/U_MU/DOUT_tmp ), + .PRE(\U0/I_NO_D.U_ILA/iRESET [1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/dout_tmp ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/I_MC_NO.U_NO_MC_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[2].U_M/dout_tmp ), + .S(\U0/I_NO_D.U_ILA/iRESET [2]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [2]) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/I_OREG.I_YES_OREG.U_OREG ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/U_MU/DOUT_tmp ), + .PRE(\U0/I_NO_D.U_ILA/iRESET [1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/dout_tmp ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/I_MC_NO.U_NO_MC_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[1].U_M/dout_tmp ), + .S(\U0/I_NO_D.U_ILA/iRESET [2]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [1]) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/I_OREG.I_YES_OREG.U_OREG ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/U_MU/DOUT_tmp ), + .PRE(\U0/I_NO_D.U_ILA/iRESET [1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/dout_tmp ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/I_MC_NO.U_NO_MC_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[0].U_M/dout_tmp ), + .S(\U0/I_NO_D.U_ILA/iRESET [2]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [0]) + ); + FDPE #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/I_OREG.I_YES_OREG.U_OREG ( + .C(CLK), + .CE(N1), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/U_MU/DOUT_tmp ), + .PRE(\U0/I_NO_D.U_ILA/iRESET [1]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/dout_tmp ) + ); + FDS #( + .INIT ( 1'b1 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/I_MC_NO.U_NO_MC_REG ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TM/G_NMU[3].U_M/dout_tmp ), + .S(\U0/I_NO_D.U_ILA/iRESET [2]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/trigCondIn [3]) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_CAP_DLY ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCAPTURE ), + .R(\U0/I_NO_D.U_ILA/iRESET [3]), + .Q(\U0/I_NO_D.U_ILA/iCAPTURE ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_OUTREG.U_DOUT ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/iDOUT ), + .R(\U0/I_NO_D.U_ILA/iRESET [3]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/iTRIGGER ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/I_SRLT_NE_1.I_NMU_1_TO_4.U_TRIGQ ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_STORAGE_QUAL.U_STORAGE_QUAL/iTRIGGER ), + .R(\U0/I_NO_D.U_ILA/iRESET [4]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/iCAPTURE ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/I_OUTREG.U_DOUT ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TCL/iDOUT ), + .R(\U0/I_NO_D.U_ILA/iRESET [3]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/iTRIGGER ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/I_SRLT_NE_1.I_NMU_1_TO_4.U_TRIGQ ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/U_TC/I_TSEQ_NEQ2.U_TC_EQUATION/iTRIGGER ), + .R(\U0/I_NO_D.U_ILA/iRESET [4]), + .Q(\U0/I_NO_D.U_ILA/U_TRIG/trigCondOut ) + ); + FDR #( + .INIT ( 1'b0 )) + \U0/I_NO_D.U_ILA/U_TRIG/F_NO_TCMC.U_FDR ( + .C(CLK), + .D(\U0/I_NO_D.U_ILA/U_TRIG/trigCondOut ), + .R(\U0/I_NO_D.U_ILA/iRESET [5]), + .Q(\U0/I_NO_D.U_ILA/iTRIGGER ) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ3.G_TW[3].U_TQ ( + .C(CLK), + .D(TRIG3[3]), + .PRE(N0), + .Q(\U0/iTRIG_IN [27]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ3.G_TW[2].U_TQ ( + .C(CLK), + .D(TRIG3[2]), + .PRE(N0), + .Q(\U0/iTRIG_IN [26]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ3.G_TW[1].U_TQ ( + .C(CLK), + .D(TRIG3[1]), + .PRE(N0), + .Q(\U0/iTRIG_IN [25]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ3.G_TW[0].U_TQ ( + .C(CLK), + .D(TRIG3[0]), + .PRE(N0), + .Q(\U0/iTRIG_IN [24]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[7].U_TQ ( + .C(CLK), + .D(TRIG2[7]), + .PRE(N0), + .Q(\U0/iTRIG_IN [23]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[6].U_TQ ( + .C(CLK), + .D(TRIG2[6]), + .PRE(N0), + .Q(\U0/iTRIG_IN [22]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[5].U_TQ ( + .C(CLK), + .D(TRIG2[5]), + .PRE(N0), + .Q(\U0/iTRIG_IN [21]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[4].U_TQ ( + .C(CLK), + .D(TRIG2[4]), + .PRE(N0), + .Q(\U0/iTRIG_IN [20]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[3].U_TQ ( + .C(CLK), + .D(TRIG2[3]), + .PRE(N0), + .Q(\U0/iTRIG_IN [19]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[2].U_TQ ( + .C(CLK), + .D(TRIG2[2]), + .PRE(N0), + .Q(\U0/iTRIG_IN [18]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[1].U_TQ ( + .C(CLK), + .D(TRIG2[1]), + .PRE(N0), + .Q(\U0/iTRIG_IN [17]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ2.G_TW[0].U_TQ ( + .C(CLK), + .D(TRIG2[0]), + .PRE(N0), + .Q(\U0/iTRIG_IN [16]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[7].U_TQ ( + .C(CLK), + .D(TRIG1[7]), + .PRE(N0), + .Q(\U0/iTRIG_IN [15]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[6].U_TQ ( + .C(CLK), + .D(TRIG1[6]), + .PRE(N0), + .Q(\U0/iTRIG_IN [14]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[5].U_TQ ( + .C(CLK), + .D(TRIG1[5]), + .PRE(N0), + .Q(\U0/iTRIG_IN [13]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[4].U_TQ ( + .C(CLK), + .D(TRIG1[4]), + .PRE(N0), + .Q(\U0/iTRIG_IN [12]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[3].U_TQ ( + .C(CLK), + .D(TRIG1[3]), + .PRE(N0), + .Q(\U0/iTRIG_IN [11]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[2].U_TQ ( + .C(CLK), + .D(TRIG1[2]), + .PRE(N0), + .Q(\U0/iTRIG_IN [10]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[1].U_TQ ( + .C(CLK), + .D(TRIG1[1]), + .PRE(N0), + .Q(\U0/iTRIG_IN [9]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ1.G_TW[0].U_TQ ( + .C(CLK), + .D(TRIG1[0]), + .PRE(N0), + .Q(\U0/iTRIG_IN [8]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[7].U_TQ ( + .C(CLK), + .D(TRIG0[7]), + .PRE(N0), + .Q(\U0/iTRIG_IN [7]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[6].U_TQ ( + .C(CLK), + .D(TRIG0[6]), + .PRE(N0), + .Q(\U0/iTRIG_IN [6]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[5].U_TQ ( + .C(CLK), + .D(TRIG0[5]), + .PRE(N0), + .Q(\U0/iTRIG_IN [5]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[4].U_TQ ( + .C(CLK), + .D(TRIG0[4]), + .PRE(N0), + .Q(\U0/iTRIG_IN [4]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[3].U_TQ ( + .C(CLK), + .D(TRIG0[3]), + .PRE(N0), + .Q(\U0/iTRIG_IN [3]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[2].U_TQ ( + .C(CLK), + .D(TRIG0[2]), + .PRE(N0), + .Q(\U0/iTRIG_IN [2]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[1].U_TQ ( + .C(CLK), + .D(TRIG0[1]), + .PRE(N0), + .Q(\U0/iTRIG_IN [1]) + ); + FDP #( + .INIT ( 1'b1 )) + \U0/I_TQ0.G_TW[0].U_TQ ( + .C(CLK), + .D(TRIG0[0]), + .PRE(N0), + .Q(\U0/iTRIG_IN [0]) + ); + LUT2 #( + .INIT ( 4'h8 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<0> ( + .I0(CONTROL[10]), + .I1(CONTROL[11]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [0]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<0> ( + .CI(N1), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [0]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [0]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<1> ( + .I0(CONTROL[12]), + .I1(CONTROL[13]), + .I2(CONTROL[9]), + .I3(CONTROL[14]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [1]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<1> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [0]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [1]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [1]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<2> ( + .I0(CONTROL[15]), + .I1(CONTROL[16]), + .I2(CONTROL[8]), + .I3(CONTROL[17]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [2]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<2> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [1]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [2]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [2]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<3> ( + .I0(CONTROL[18]), + .I1(CONTROL[21]), + .I2(CONTROL[7]), + .I3(CONTROL[19]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [3]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<3> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [2]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [3]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [3]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<4> ( + .I0(CONTROL[20]), + .I1(CONTROL[22]), + .I2(CONTROL[6]), + .I3(CONTROL[23]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [4]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<4> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [3]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [4]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [4]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<5> ( + .I0(CONTROL[24]), + .I1(CONTROL[25]), + .I2(CONTROL[5]), + .I3(CONTROL[26]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [5]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<5> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [4]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [5]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [5]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<6> ( + .I0(CONTROL[27]), + .I1(CONTROL[28]), + .I2(CONTROL[2]), + .I3(CONTROL[29]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [6]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<6> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [5]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [6]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [6]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<7> ( + .I0(CONTROL[30]), + .I1(CONTROL[31]), + .I2(CONTROL[1]), + .I3(CONTROL[32]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [7]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<7> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [6]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [7]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [7]) + ); + LUT4 #( + .INIT ( 16'h8000 )) + \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut<8> ( + .I0(CONTROL[33]), + .I1(CONTROL[34]), + .I2(CONTROL[4]), + .I3(CONTROL[35]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [8]) + ); + MUXCY \U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy<8> ( + .CI(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [7]), + .DI(N0), + .S(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_lut [8]), + .O(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [8]) + ); + LUT4 #( + .INIT ( 16'hFEFF )) + \U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<2>1 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/NS_dstat [8]), + .O(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<2>1_537 ) + ); + LUT3 #( + .INIT ( 8'hE4 )) + \U0/I_NO_D.U_ILA/U_STAT/DIRTY_dstat1 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_SEL ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_D0 ), + .I2(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_D1 ), + .O(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_dstat ) + ); + LUT2 #( + .INIT ( 4'h2 )) + \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O2 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [9]), + .I1(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [8]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O2_464 ) + ); + LUT4 #( + .INIT ( 16'h0001 )) + \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O15 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [7]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [6]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O15_463 ) + ); + LUT4 #( + .INIT ( 16'hFFFE )) + \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O26 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [7]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [6]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [5]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [4]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O26_465 ) + ); + LUT4 #( + .INIT ( 16'hF222 )) + \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O36 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O26_465 ), + .I1(\U0/U_XST_CONTROLBUS_WORKAROUND/CONTROL_XST_WORKAROUND_O_cmp_eq0000_wg_cy [8]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O15_463 ), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT [16]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O36_466 ) + ); + LUT4 #( + .INIT ( 16'hAF8D )) + \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O129 ( + .I0(CONTROL[4]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O2_464 ), + .I2(\U0/I_NO_D.U_ILA/U_STAT/TDO_mux_in<0>1 ), + .I3(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O82_467 ), + .O(\U0/I_NO_D.U_ILA/U_STAT/TDO_next ) + ); + MUXF5 \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_91 ( + .I0(N38), + .I1(N39), + .S(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .O(\U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_91_455 ) + ); + LUT3 #( + .INIT ( 8'h15 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_91_F ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/DIRTY_dstat ), + .O(N38) + ); + LUT4 #( + .INIT ( 16'h0145 )) + \U0/I_NO_D.U_ILA/U_STAT/U_DMUX/U_CS_MUX/I3.U_MUX8/Mmux_O_91_G ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [2]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/EXTCAP_READY_dstat ), + .I3(\U0/I_NO_D.U_ILA/U_STAT/ACT_dstat ), + .O(N39) + ); + LUT4_L #( + .INIT ( 16'h3F50 )) + \U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<1>1 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/ARM_dstat ), + .I1(\U0/I_NO_D.U_ILA/U_STAT/TRIGGER_dstat ), + .I2(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [1]), + .I3(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [0]), + .LO(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT<1>1_535 ) + ); + LUT4_L #( + .INIT ( 16'h3120 )) + \U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O82 ( + .I0(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [8]), + .I1(\U0/I_NO_D.U_ILA/U_STAT/iSTAT_CNT [9]), + .I2(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O36_466 ), + .I3(\U0/I_NO_D.U_ILA/U_STAT/U_SMUX/U_CS_MUX/I6.U_MUX64/Mmux_O_8_f7_483 ), + .LO(\U0/I_NO_D.U_ILA/U_STAT/U_MUX/U_CS_MUX/I1.U_MUX2/O82_467 ) + ); + RAMB16_S1_S36 #( + .INIT_B ( 36'h000000000 ), + .INITP_00 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INITP_01 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INITP_02 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INITP_03 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INITP_04 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INITP_05 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INITP_06 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_00 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_01 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_02 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_03 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_04 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_05 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_06 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_07 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_08 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_09 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_0A ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_0B ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_0C ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_0D ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_0E ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_0F ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_10 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_11 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_12 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_13 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_14 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_15 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_16 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_17 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_18 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_19 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_1A ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_1B ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_1C ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_1D ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_1E ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_1F ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_20 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_21 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_22 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_23 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_24 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_25 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_26 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_27 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_28 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_29 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_2A ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_2B ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_2C ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_2D ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_2E ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_2F ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_30 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_31 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_32 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_33 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_34 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_35 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_36 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_37 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_38 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_39 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_3A ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_3B ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_3C ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_3D ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_3E ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_3F ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .INIT_A ( 1'h0 ), + .SIM_COLLISION_CHECK ( "ALL" ), + .INITP_07 ( 256'h0000000000000000000000000000000000000000000000000000000000000000 ), + .SRVAL_A ( 1'h0 ), + .WRITE_MODE_A ( "WRITE_FIRST" ), + .WRITE_MODE_B ( "WRITE_FIRST" ), + .SRVAL_B ( 36'h000000000 )) + \U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i ( + .CLKA(CONTROL[0]), + .CLKB(CLK), + .ENA(CONTROL[6]), + .ENB(N1), + .WEB(\U0/I_NO_D.U_ILA/iCAP_WR_EN ), + .SSRA(N0), + .SSRB(N0), + .WEA(N0), + .DIPB({N0, N0, N0, N0}), + .ADDRA({\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [13], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [12], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [11], +\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [10], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [9], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [8], +\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [7], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [6], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [5], +\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [4], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [3], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [2], +\U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [1], \U0/I_NO_D.U_ILA/U_CAPSTOR/RD_ADDR [0]}), + .ADDRB({\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [8], \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [7], \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [6], \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [5] +, \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [4], \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [3], \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [2], \U0/I_NO_D.U_ILA/iCAP_WR_ADDR [1], +\U0/I_NO_D.U_ILA/iCAP_WR_ADDR [0]}), + .DIB({N0, N0, N0, \U0/I_NO_D.U_ILA/iDATA [27], \U0/I_NO_D.U_ILA/iDATA [26], \U0/I_NO_D.U_ILA/iDATA [25], \U0/I_NO_D.U_ILA/iDATA [24], +\U0/I_NO_D.U_ILA/iDATA [23], \U0/I_NO_D.U_ILA/iDATA [22], \U0/I_NO_D.U_ILA/iDATA [21], \U0/I_NO_D.U_ILA/iDATA [20], \U0/I_NO_D.U_ILA/iDATA [19], +\U0/I_NO_D.U_ILA/iDATA [18], \U0/I_NO_D.U_ILA/iDATA [17], \U0/I_NO_D.U_ILA/iDATA [16], \U0/I_NO_D.U_ILA/iDATA [15], \U0/I_NO_D.U_ILA/iDATA [14], +\U0/I_NO_D.U_ILA/iDATA [13], \U0/I_NO_D.U_ILA/iDATA [12], \U0/I_NO_D.U_ILA/iDATA [11], \U0/I_NO_D.U_ILA/iDATA [10], \U0/I_NO_D.U_ILA/iDATA [9], +\U0/I_NO_D.U_ILA/iDATA [8], \U0/I_NO_D.U_ILA/iDATA [7], \U0/I_NO_D.U_ILA/iDATA [6], \U0/I_NO_D.U_ILA/iDATA [5], \U0/I_NO_D.U_ILA/iDATA [4], +\U0/I_NO_D.U_ILA/iDATA [3], \U0/I_NO_D.U_ILA/iDATA [2], \U0/I_NO_D.U_ILA/iDATA [1], \U0/I_NO_D.U_ILA/iDATA [0], \U0/I_NO_D.U_ILA/iCAP_TRIGGER_OUT }), + .DOA({\U0/I_NO_D.U_ILA/iDATA_DOUT }), + .DIA({N0}), + .DOB({\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<31>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<30>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<29>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<28>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<27>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<26>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<25>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<24>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<23>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<22>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<21>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<20>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<19>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<18>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<17>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<16>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<15>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<14>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<13>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<12>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<11>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<10>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<9>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<8>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<7>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<6>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<5>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<4>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<3>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<2>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<1>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOB<0>_UNCONNECTED }), + .DOPB({\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<3>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<2>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<1>_UNCONNECTED , +\NLW_U0/I_NO_D.U_ILA/U_CAPSTOR/I_CASE1.I_NO_TB.I_RT1.U_RAM/G_BRAM[0].U_BRAM/ram_rt1_s1_s32_if.ram_rt1_s1_s32_i_DOPB<0>_UNCONNECTED }) + ); + +// synthesis translate_on + +endmodule + +// synthesis translate_off + +`ifndef GLBL +`define GLBL + +`timescale 1 ps / 1 ps + +module glbl (); + + parameter ROC_WIDTH = 100000; + parameter TOC_WIDTH = 0; + + wire GSR; + wire GTS; + wire GWE; + wire PRLD; + tri1 p_up_tmp; + tri (weak1, strong0) PLL_LOCKG = p_up_tmp; + + reg GSR_int; + reg GTS_int; + reg PRLD_int; + +//-------- JTAG Globals -------------- + wire JTAG_TDO_GLBL; + wire JTAG_TCK_GLBL; + wire JTAG_TDI_GLBL; + wire JTAG_TMS_GLBL; + wire JTAG_TRST_GLBL; + + reg JTAG_CAPTURE_GLBL; + reg JTAG_RESET_GLBL; + reg JTAG_SHIFT_GLBL; + reg JTAG_UPDATE_GLBL; + reg JTAG_RUNTEST_GLBL; + + reg JTAG_SEL1_GLBL = 0; + reg JTAG_SEL2_GLBL = 0 ; + reg JTAG_SEL3_GLBL = 0; + reg JTAG_SEL4_GLBL = 0; + + reg JTAG_USER_TDO1_GLBL = 1'bz; + reg JTAG_USER_TDO2_GLBL = 1'bz; + reg JTAG_USER_TDO3_GLBL = 1'bz; + reg JTAG_USER_TDO4_GLBL = 1'bz; + + assign (weak1, weak0) GSR = GSR_int; + assign (weak1, weak0) GTS = GTS_int; + assign (weak1, weak0) PRLD = PRLD_int; + + initial begin + GSR_int = 1'b1; + PRLD_int = 1'b1; + #(ROC_WIDTH) + GSR_int = 1'b0; + PRLD_int = 1'b0; + end + + initial begin + GTS_int = 1'b1; + #(TOC_WIDTH) + GTS_int = 1'b0; + end + +endmodule + +`endif + +// synthesis translate_on diff --git a/usrp2/extramfifo/ila.xco b/usrp2/extramfifo/ila.xco new file mode 100644 index 000000000..c8d4d2f75 --- /dev/null +++ b/usrp2/extramfifo/ila.xco @@ -0,0 +1,130 @@ +############################################################## +# +# Xilinx Core Generator version 12.1 +# Date: Wed Jul 21 18:51:14 2010 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = Verilog +SET device = xc3s2000 +SET devicefamily = spartan3 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = fg456 +SET removerpms = false +SET simulationfiles = Structural +SET speedgrade = -5 +SET verilogsim = true +SET vhdlsim = false +# END Project Options +# BEGIN Select +SELECT ILA_(ChipScope_Pro_-_Integrated_Logic_Analyzer) family Xilinx,_Inc. 1.03.a +# END Select +# BEGIN Parameters +CSET component_name=ila +CSET counter_width_1=Disabled +CSET counter_width_10=Disabled +CSET counter_width_11=Disabled +CSET counter_width_12=Disabled +CSET counter_width_13=Disabled +CSET counter_width_14=Disabled +CSET counter_width_15=Disabled +CSET counter_width_16=Disabled +CSET counter_width_2=Disabled +CSET counter_width_3=Disabled +CSET counter_width_4=Disabled +CSET counter_width_5=Disabled +CSET counter_width_6=Disabled +CSET counter_width_7=Disabled +CSET counter_width_8=Disabled +CSET counter_width_9=Disabled +CSET data_port_width=0 +CSET data_same_as_trigger=true +CSET enable_storage_qualification=true +CSET enable_trigger_output_port=false +CSET exclude_from_data_storage_1=false +CSET exclude_from_data_storage_10=false +CSET exclude_from_data_storage_11=false +CSET exclude_from_data_storage_12=false +CSET exclude_from_data_storage_13=false +CSET exclude_from_data_storage_14=false +CSET exclude_from_data_storage_15=false +CSET exclude_from_data_storage_16=false +CSET exclude_from_data_storage_2=false +CSET exclude_from_data_storage_3=false +CSET exclude_from_data_storage_4=false +CSET exclude_from_data_storage_5=false +CSET exclude_from_data_storage_6=false +CSET exclude_from_data_storage_7=false +CSET exclude_from_data_storage_8=false +CSET exclude_from_data_storage_9=false +CSET match_type_1=basic +CSET match_type_10=basic +CSET match_type_11=basic +CSET match_type_12=basic +CSET match_type_13=basic +CSET match_type_14=basic +CSET match_type_15=basic +CSET match_type_16=basic +CSET match_type_2=basic +CSET match_type_3=basic +CSET match_type_4=basic +CSET match_type_5=basic +CSET match_type_6=basic +CSET match_type_7=basic +CSET match_type_8=basic +CSET match_type_9=basic +CSET match_units_1=1 +CSET match_units_10=1 +CSET match_units_11=1 +CSET match_units_12=1 +CSET match_units_13=1 +CSET match_units_14=1 +CSET match_units_15=1 +CSET match_units_16=1 +CSET match_units_2=1 +CSET match_units_3=1 +CSET match_units_4=1 +CSET match_units_5=1 +CSET match_units_6=1 +CSET match_units_7=1 +CSET match_units_8=1 +CSET match_units_9=1 +CSET max_sequence_levels=1 +CSET number_of_trigger_ports=4 +CSET sample_data_depth=512 +CSET sample_on=Rising +CSET trigger_port_width_1=8 +CSET trigger_port_width_10=8 +CSET trigger_port_width_11=8 +CSET trigger_port_width_12=8 +CSET trigger_port_width_13=8 +CSET trigger_port_width_14=8 +CSET trigger_port_width_15=8 +CSET trigger_port_width_16=8 +CSET trigger_port_width_2=8 +CSET trigger_port_width_3=8 +CSET trigger_port_width_4=4 +CSET trigger_port_width_5=8 +CSET trigger_port_width_6=8 +CSET trigger_port_width_7=8 +CSET trigger_port_width_8=8 +CSET trigger_port_width_9=8 +CSET use_rpms=true +# END Parameters +GENERATE +# CRC: 66151c7c diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index 1bd7439ad..7ddb517c7 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -1,3 +1,9 @@ +// Since this FIFO uses a ZBT/NoBL SRAM for its storage which is a since port +// device it can only sustain data throughput at half the RAM clock rate. +// Fair arbitration to ensure this occurs is included in this logic and +// requests for transactions that can not be completed are held off by (re)using the +// "full" and "empty" flags. + module nobl_fifo #(parameter WIDTH=18,DEPTH=19) ( @@ -17,14 +23,14 @@ module nobl_fifo output reg space_avail, output reg [WIDTH-1:0] read_data, input read_strobe, - output reg data_avail + output reg data_avail, + input upstream_full // (Connect to almost full flag upstream) ); reg [DEPTH-1:0] capacity; reg [DEPTH-1:0] wr_pointer; reg [DEPTH-1:0] rd_pointer; wire [DEPTH-1:0] address; - reg supress; reg data_avail_int; // Data available with high latency from ext FIFO flag wire [WIDTH-1:0] data_in; @@ -38,7 +44,7 @@ module nobl_fifo assign read = read_strobe_int && data_avail_int; assign write = write_strobe && space_avail; - // When a read and write collision occur, supress availability flags next cycle + // When a read and write collision occur, supress the availability flags next cycle // and complete write followed by read over 2 cycles. This forces balanced arbitration // and makes for a simple logic design. @@ -231,9 +237,11 @@ module nobl_fifo // Start an external FIFO read as soon as a read of the buffer reg is strobed to minimise refill latency. // If the buffer reg or the pending buffer reg is already empty also pre-emptively start a read. - // However there must be something in ext FIFO to read. - // This means that there can be 2 outstanding reads to the ext FIFO active at any time helping to hide latency. - assign read_strobe_int = (read_strobe & data_avail & ~pending_avail) || (~data_avail && ~pending_avail); + // However there must be something in the main external FIFO to read for this to occur!. + // Pay special attention to upstream devices signalling full due to the number of potential in-flight reads\ that need + // to be stalled and stored somewhere. + // This means that there can be 3 outstanding reads to the ext FIFO active at any time helping to hide latency. + assign read_strobe_int = (read_strobe && data_avail && ~pending_avail && ~upstream_full) || (~data_avail && ~pending_avail && ~upstream_full); // diff --git a/usrp2/extramfifo/nobl_if.v b/usrp2/extramfifo/nobl_if.v index 3143ce5ba..24d463b1e 100644 --- a/usrp2/extramfifo/nobl_if.v +++ b/usrp2/extramfifo/nobl_if.v @@ -1,3 +1,5 @@ +// Tested against an IDT 71v65603s150 in simulation and a Cypress 7C1356C in the real world. + module nobl_if #(parameter WIDTH=18,DEPTH=19) ( @@ -35,9 +37,9 @@ module nobl_if reg [WIDTH-1:0] data_out_pipe3; assign RAM_LDn = 0; + // ZBT/NoBL RAM actually manages its own output enables very well. assign RAM_OEn = 0; - // // Pipeline stage 1 // @@ -129,8 +131,5 @@ module nobl_if else data_in_valid <= 1'b0; end // always @ (posedge clk) - - - - + endmodule // nobl_if diff --git a/usrp2/extramfifo/test_sram_if.v b/usrp2/extramfifo/test_sram_if.v index 9f36b409c..0e74b49eb 100644 --- a/usrp2/extramfifo/test_sram_if.v +++ b/usrp2/extramfifo/test_sram_if.v @@ -1,3 +1,7 @@ +// Instantiate this block at the core level to conduct closed +// loop testing of the AC performance of the USRP2 SRAM interface + + `define WIDTH 18 `define DEPTH 19 diff --git a/usrp2/fifo/fifo_cascade.v b/usrp2/fifo/fifo_cascade.v index fdd8449bc..ff2993ed5 100644 --- a/usrp2/fifo/fifo_cascade.v +++ b/usrp2/fifo/fifo_cascade.v @@ -10,11 +10,11 @@ module fifo_cascade #(parameter WIDTH=32, SIZE=9) (input clk, input reset, input clear, input [WIDTH-1:0] datain, - input src_rdy_i, - output dst_rdy_o, + input src_rdy_i, // WRITE + output dst_rdy_o, // not FULL output [WIDTH-1:0] dataout, - output src_rdy_o, - input dst_rdy_i, + output src_rdy_o, // not EMPTY + input dst_rdy_i, // READ output [15:0] space, output [15:0] occupied); diff --git a/usrp2/top/Makefile.common b/usrp2/top/Makefile.common index d0435fa1e..754471221 100644 --- a/usrp2/top/Makefile.common +++ b/usrp2/top/Makefile.common @@ -31,6 +31,7 @@ synth: $(ISE_FILE) $(ISE_HELPER) "Synthesize - XST" bin: $(BIN_FILE) + $(ISE_HELPER) "Generate Programming File" mcs: $(MCS_FILE) diff --git a/usrp2/top/u2_rev3/Makefile.udp b/usrp2/top/u2_rev3/Makefile.udp index 9962887d4..99effb038 100644 --- a/usrp2/top/u2_rev3/Makefile.udp +++ b/usrp2/top/u2_rev3/Makefile.udp @@ -24,6 +24,8 @@ include ../../vrt/Makefile.srcs include ../../udp/Makefile.srcs include ../../coregen/Makefile.srcs include ../../extram/Makefile.srcs +include ../../extramfifo/Makefile.srcs + ################################################## # Project Properties diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 798022adc..33e9dbcd9 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -119,7 +119,9 @@ module u2_core inout [15:0] io_rx, // External RAM - inout [17:0] RAM_D, + input [17:0] RAM_D_pi, + output [17:0] RAM_D_po, + output RAM_D_poe, output [18:0] RAM_A, output RAM_CE1n, output RAM_CENn, @@ -642,11 +644,37 @@ module u2_core wire tx_src_rdy, tx_dst_rdy, tx1_src_rdy, tx1_dst_rdy; wire [31:0] debug_vtc, debug_vtd, debug_vt; - + + // FIFO cascade draws from buffer pool, feeds vita tx deframer +/* -----\/----- EXCLUDED -----\/----- fifo_cascade #(.WIDTH(36), .SIZE(DSP_TX_FIFOSIZE)) tx_fifo_cascade (.clk(dsp_clk), .reset(dsp_rst), .clear(0), .datain({rd1_flags,rd1_dat}), .src_rdy_i(rd1_ready_o), .dst_rdy_o(rd1_ready_i), .dataout(tx_data), .src_rdy_o(tx_src_rdy), .dst_rdy_i(tx_dst_rdy) ); + -----/\----- EXCLUDED -----/\----- */ + + ext_fifo #(.EXT_WIDTH(18),.INT_WIDTH(36),.DEPTH(19)) + ext_fifo_i1 + ( + .int_clk(dsp_clk), + .ext_clk(clk_to_mac), + .rst(dsp_rst), + .RAM_D_pi(RAM_D_pi), + .RAM_D_po(RAM_D_po), + .RAM_D_poe(RAM_D_poe), + .RAM_A(RAM_A), + .RAM_WEn(RAM_WEn), + .RAM_CENn(RAM_CENn), + .RAM_LDn(RAM_LDn), + .RAM_OEn(RAM_OEn), + .RAM_CE1n(RAM_CE1n), + .datain({rd1_flags,rd1_dat}), + .src_rdy_i(rd1_ready_o), // WRITE + .dst_rdy_o(rd1_ready_i), // not FULL + .dataout(tx_data), + .src_rdy_o(tx_src_rdy), // not EMPTY + .dst_rdy_i(tx_dst_rdy) + ); vita_tx_deframer #(.BASE(SR_TX_CTRL), .MAXCHAN(1)) vita_tx_deframer (.clk(dsp_clk), .reset(dsp_rst), .clear(0), @@ -720,7 +748,30 @@ module u2_core assign RAM_CE1n = 0; assign RAM_D[17:16] = 2'bzz; - */ +/* -----\/----- EXCLUDED -----\/----- + *-/ + + test_sram_if test_sram_if_i1 + ( + // .clk(wb_clk), + .clk(clk_to_mac), + .rst(wb_rst), + .RAM_D_pi(RAM_D_pi), + .RAM_D_po(RAM_D_po), + .RAM_D_poe(RAM_D_poe), + .RAM_A(RAM_A), + .RAM_WEn(RAM_WEn), + .RAM_CENn(RAM_CENn), + .RAM_LDn(RAM_LDn), + .RAM_OEn(RAM_OEn), + .RAM_CE1n(RAM_CE1n), + .correct() + ); + -----/\----- EXCLUDED -----/\----- */ + + //assign RAM_CLK = wb_clk; + assign RAM_CLK = clk_to_mac; + // ///////////////////////////////////////////////////////////////////////// // VITA Timing diff --git a/usrp2/top/u2_rev3/u2_rev3.ucf b/usrp2/top/u2_rev3/u2_rev3.ucf index 6aa699d2a..82d879446 100644 --- a/usrp2/top/u2_rev3/u2_rev3.ucf +++ b/usrp2/top/u2_rev3/u2_rev3.ucf @@ -74,49 +74,49 @@ NET "MDC" LOC = "V18" ; NET "PHY_INTn" LOC = "AB13" ; NET "PHY_RESETn" LOC = "AA19" ; NET "PHY_CLK" LOC = "V15" ; -NET "RAM_D[0]" LOC = "N20" ; -NET "RAM_D[1]" LOC = "N21" ; -NET "RAM_D[2]" LOC = "N22" ; -NET "RAM_D[3]" LOC = "M17" ; -NET "RAM_D[4]" LOC = "M18" ; -NET "RAM_D[5]" LOC = "M19" ; -NET "RAM_D[6]" LOC = "M20" ; -NET "RAM_D[7]" LOC = "M21" ; -NET "RAM_D[8]" LOC = "M22" ; -NET "RAM_D[9]" LOC = "Y22" ; -NET "RAM_D[10]" LOC = "Y21" ; -NET "RAM_D[11]" LOC = "Y20" ; -NET "RAM_D[12]" LOC = "Y19" ; -NET "RAM_D[13]" LOC = "W22" ; -NET "RAM_D[14]" LOC = "W21" ; -NET "RAM_D[15]" LOC = "W20" ; -NET "RAM_D[16]" LOC = "W19" ; -NET "RAM_D[17]" LOC = "V22" ; -NET "RAM_A[0]" LOC = "U21" ; -NET "RAM_A[1]" LOC = "T19" ; -NET "RAM_A[2]" LOC = "V21" ; -NET "RAM_A[3]" LOC = "V20" ; -NET "RAM_A[4]" LOC = "T20" ; -NET "RAM_A[5]" LOC = "T21" ; -NET "RAM_A[6]" LOC = "T22" ; -NET "RAM_A[7]" LOC = "T18" ; -NET "RAM_A[8]" LOC = "R18" ; -NET "RAM_A[9]" LOC = "P19" ; -NET "RAM_A[10]" LOC = "P21" ; -NET "RAM_A[11]" LOC = "P22" ; -NET "RAM_A[12]" LOC = "N19" ; -NET "RAM_A[13]" LOC = "N17" ; -NET "RAM_A[14]" LOC = "N18" ; -NET "RAM_A[15]" LOC = "T17" ; -NET "RAM_A[16]" LOC = "U19" ; -NET "RAM_A[17]" LOC = "U18" ; -NET "RAM_A[18]" LOC = "V19" ; -NET "RAM_CE1n" LOC = "U20" ; -NET "RAM_CENn" LOC = "P18" ; -NET "RAM_CLK" LOC = "P17" ; -NET "RAM_WEn" LOC = "R22" ; -NET "RAM_OEn" LOC = "R21" ; -NET "RAM_LDn" LOC = "R19" ; +NET "RAM_D[0]" LOC = "N20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[1]" LOC = "N21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[2]" LOC = "N22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[3]" LOC = "M17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[4]" LOC = "M18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[5]" LOC = "M19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[6]" LOC = "M20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[7]" LOC = "M21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[8]" LOC = "M22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[9]" LOC = "Y22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[10]" LOC = "Y21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[11]" LOC = "Y20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[12]" LOC = "Y19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[13]" LOC = "W22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[14]" LOC = "W21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[15]" LOC = "W20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[16]" LOC = "W19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[17]" LOC = "V22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[0]" LOC = "U21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[1]" LOC = "T19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[2]" LOC = "V21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[3]" LOC = "V20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[4]" LOC = "T20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[5]" LOC = "T21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[6]" LOC = "T22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[7]" LOC = "T18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[8]" LOC = "R18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[9]" LOC = "P19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[10]" LOC = "P21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[11]" LOC = "P22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[12]" LOC = "N19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[13]" LOC = "N17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[14]" LOC = "N18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[15]" LOC = "T17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[16]" LOC = "U19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[17]" LOC = "U18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_A[18]" LOC = "V19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_CE1n" LOC = "U20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_CENn" LOC = "P18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_CLK" LOC = "P17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_WEn" LOC = "R22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_OEn" LOC = "R21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_LDn" LOC = "R19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; NET "ser_enable" LOC = "W11" ; NET "ser_prbsen" LOC = "AA3" ; NET "ser_loopen" LOC = "Y4" ; diff --git a/usrp2/top/u2_rev3/u2_rev3.v b/usrp2/top/u2_rev3/u2_rev3.v index 3a43e4ffe..8d9a18345 100644 --- a/usrp2/top/u2_rev3/u2_rev3.v +++ b/usrp2/top/u2_rev3/u2_rev3.v @@ -342,100 +342,133 @@ module u2_rev3 .S(0) // Synchronous preset input ); */ + + wire [17:0] RAM_D_pi; + wire [17:0] RAM_D_po; + wire RAM_D_poe; + + genvar i; + + // + // Instantiate IO for Bidirectional bus to SRAM + // + + generate + for (i=0;i<18;i=i+1) + begin : gen_RAM_D_IO + + IOBUF #( + .DRIVE(12), + .IOSTANDARD("LVCMOS25"), + .SLEW("FAST") + ) + RAM_D_i ( + .O(RAM_D_pi[i]), + .I(RAM_D_po[i]), + .IO(RAM_D[i]), + .T(RAM_D_poe) + ); + end // block: gen_RAM_D_IO + endgenerate + + + u2_core #(.RAM_SIZE(32768)) - u2_core(.dsp_clk (dsp_clk), - .wb_clk (wb_clk), - .clock_ready (clock_ready), - .clk_to_mac (clk_to_mac), - .pps_in (pps_in), - .leds (leds_int), - .debug (debug[31:0]), - .debug_clk (debug_clk[1:0]), - .exp_pps_in (exp_pps_in), - .exp_pps_out (exp_pps_out), - .GMII_COL (GMII_COL), - .GMII_CRS (GMII_CRS), - .GMII_TXD (GMII_TXD_unreg[7:0]), - .GMII_TX_EN (GMII_TX_EN_unreg), - .GMII_TX_ER (GMII_TX_ER_unreg), - .GMII_GTX_CLK (GMII_GTX_CLK_int), - .GMII_TX_CLK (GMII_TX_CLK), - .GMII_RXD (GMII_RXD[7:0]), - .GMII_RX_CLK (GMII_RX_CLK), - .GMII_RX_DV (GMII_RX_DV), - .GMII_RX_ER (GMII_RX_ER), - .MDIO (MDIO), - .MDC (MDC), - .PHY_INTn (PHY_INTn), - .PHY_RESETn (PHY_RESETn), - .ser_enable (ser_enable), - .ser_prbsen (ser_prbsen), - .ser_loopen (ser_loopen), - .ser_rx_en (ser_rx_en), - .ser_tx_clk (ser_tx_clk_int), - .ser_t (ser_t_unreg[15:0]), - .ser_tklsb (ser_tklsb_unreg), - .ser_tkmsb (ser_tkmsb_unreg), - .ser_rx_clk (ser_rx_clk_buf), - .ser_r (ser_r_int[15:0]), - .ser_rklsb (ser_rklsb_int), - .ser_rkmsb (ser_rkmsb_int), - .cpld_start (cpld_start), - .cpld_mode (cpld_mode), - .cpld_done (cpld_done), - .cpld_din (cpld_din), - .cpld_clk (cpld_clk), - .cpld_detached (cpld_detached), - .cpld_misc (cpld_misc), - .cpld_init_b (cpld_init_b), - .por (~POR), - .config_success (config_success), - .adc_a (adc_a_reg2), - .adc_ovf_a (adc_ovf_a_reg2), - .adc_on_a (adc_on_a), - .adc_oe_a (adc_oe_a), - .adc_b (adc_b_reg2), - .adc_ovf_b (adc_ovf_b_reg2), - .adc_on_b (adc_on_b), - .adc_oe_b (adc_oe_b), - .dac_a (dac_a_int), - .dac_b (dac_b_int), - .scl_pad_i (scl_pad_i), - .scl_pad_o (scl_pad_o), - .scl_pad_oen_o (scl_pad_oen_o), - .sda_pad_i (sda_pad_i), - .sda_pad_o (sda_pad_o), - .sda_pad_oen_o (sda_pad_oen_o), - .clk_en (clk_en[1:0]), - .clk_sel (clk_sel[1:0]), - .clk_func (clk_func), - .clk_status (clk_status), - .sclk (sclk_int), - .mosi (mosi), - .miso (miso), - .sen_clk (sen_clk), - .sen_dac (sen_dac), - .sen_tx_db (sen_tx_db), - .sen_tx_adc (sen_tx_adc), - .sen_tx_dac (sen_tx_dac), - .sen_rx_db (sen_rx_db), - .sen_rx_adc (sen_rx_adc), - .sen_rx_dac (sen_rx_dac), - .io_tx (io_tx[15:0]), - .io_rx (io_rx[15:0]), - .RAM_D (RAM_D), - .RAM_A (RAM_A), - .RAM_CE1n (RAM_CE1n), - .RAM_CENn (RAM_CENn), - .RAM_CLK (RAM_CLK), - .RAM_WEn (RAM_WEn), - .RAM_OEn (RAM_OEn), - .RAM_LDn (RAM_LDn), - .uart_tx_o (uart_tx_o), - .uart_rx_i (uart_rx_i), - .uart_baud_o (), - .sim_mode (1'b0), - .clock_divider (2) - ); + u2_core(.dsp_clk (dsp_clk), + .wb_clk (wb_clk), + .clock_ready (clock_ready), + .clk_to_mac (clk_to_mac), + .pps_in (pps_in), + .leds (leds_int), + .debug (debug[31:0]), + .debug_clk (debug_clk[1:0]), + .exp_pps_in (exp_pps_in), + .exp_pps_out (exp_pps_out), + .GMII_COL (GMII_COL), + .GMII_CRS (GMII_CRS), + .GMII_TXD (GMII_TXD_unreg[7:0]), + .GMII_TX_EN (GMII_TX_EN_unreg), + .GMII_TX_ER (GMII_TX_ER_unreg), + .GMII_GTX_CLK (GMII_GTX_CLK_int), + .GMII_TX_CLK (GMII_TX_CLK), + .GMII_RXD (GMII_RXD[7:0]), + .GMII_RX_CLK (GMII_RX_CLK), + .GMII_RX_DV (GMII_RX_DV), + .GMII_RX_ER (GMII_RX_ER), + .MDIO (MDIO), + .MDC (MDC), + .PHY_INTn (PHY_INTn), + .PHY_RESETn (PHY_RESETn), + .ser_enable (ser_enable), + .ser_prbsen (ser_prbsen), + .ser_loopen (ser_loopen), + .ser_rx_en (ser_rx_en), + .ser_tx_clk (ser_tx_clk_int), + .ser_t (ser_t_unreg[15:0]), + .ser_tklsb (ser_tklsb_unreg), + .ser_tkmsb (ser_tkmsb_unreg), + .ser_rx_clk (ser_rx_clk_buf), + .ser_r (ser_r_int[15:0]), + .ser_rklsb (ser_rklsb_int), + .ser_rkmsb (ser_rkmsb_int), + .cpld_start (cpld_start), + .cpld_mode (cpld_mode), + .cpld_done (cpld_done), + .cpld_din (cpld_din), + .cpld_clk (cpld_clk), + .cpld_detached (cpld_detached), + .cpld_misc (cpld_misc), + .cpld_init_b (cpld_init_b), + .por (~POR), + .config_success (config_success), + .adc_a (adc_a_reg2), + .adc_ovf_a (adc_ovf_a_reg2), + .adc_on_a (adc_on_a), + .adc_oe_a (adc_oe_a), + .adc_b (adc_b_reg2), + .adc_ovf_b (adc_ovf_b_reg2), + .adc_on_b (adc_on_b), + .adc_oe_b (adc_oe_b), + .dac_a (dac_a_int), + .dac_b (dac_b_int), + .scl_pad_i (scl_pad_i), + .scl_pad_o (scl_pad_o), + .scl_pad_oen_o (scl_pad_oen_o), + .sda_pad_i (sda_pad_i), + .sda_pad_o (sda_pad_o), + .sda_pad_oen_o (sda_pad_oen_o), + .clk_en (clk_en[1:0]), + .clk_sel (clk_sel[1:0]), + .clk_func (clk_func), + .clk_status (clk_status), + .sclk (sclk_int), + .mosi (mosi), + .miso (miso), + .sen_clk (sen_clk), + .sen_dac (sen_dac), + .sen_tx_db (sen_tx_db), + .sen_tx_adc (sen_tx_adc), + .sen_tx_dac (sen_tx_dac), + .sen_rx_db (sen_rx_db), + .sen_rx_adc (sen_rx_adc), + .sen_rx_dac (sen_rx_dac), + .io_tx (io_tx[15:0]), + .io_rx (io_rx[15:0]), + .RAM_D_pi (RAM_D_pi), + .RAM_D_po (RAM_D_po), + .RAM_D_poe (RAM_D_poe), + .RAM_A (RAM_A), + .RAM_CE1n (RAM_CE1n), + .RAM_CENn (RAM_CENn), + .RAM_CLK (RAM_CLK), + .RAM_WEn (RAM_WEn), + .RAM_OEn (RAM_OEn), + .RAM_LDn (RAM_LDn), + .uart_tx_o (uart_tx_o), + .uart_rx_i (uart_rx_i), + .uart_baud_o (), + .sim_mode (1'b0), + .clock_divider (2) + ); endmodule // u2_rev2 -- cgit v1.2.3 From 298b5c2dfd6aabcb89c769a8a1b54181f5dc4273 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Wed, 11 Aug 2010 13:59:06 -0700 Subject: checkin of generated coregen files --- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc | 3 + usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v | 2 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo | 52 +++++++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco | 6 +- ...12x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso | 3 + ...k_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt | 102 +++++++++++++++++++++ .../coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt | 8 ++ .../fifo_xlnx_512x36_2clk_18to36_readme.txt | 39 ++++++++ .../coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl | 68 ++++++++++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc | 3 + usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v | 2 +- usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo | 51 +++++++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco | 6 +- ...12x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso | 3 + ...k_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt | 101 ++++++++++++++++++++ .../coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt | 8 ++ .../fifo_xlnx_512x36_2clk_36to18_readme.txt | 39 ++++++++ .../coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl | 68 ++++++++++++++ 18 files changed, 556 insertions(+), 8 deletions(-) create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc new file mode 100644 index 000000000..376e18c57 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.4e +$4264g<,[o}e~g`n;"2*413&;$>"9 > %0:?*rjx&Uhk"hffn]{hk~X=88s?;Q=cmi\5=rh;?$ekb?40493456712:;<=>?01274>6789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123457<9:1:"=?<;029MKVR\3KOH_O39;2=5`=683CE\XZ5psmd[cskdV~c~h}g<883:73<990BB][[:qplcZ`rdeUdk|h^cpw`ts400;2?;4118JJUSS2yxdkRhzlm]wlwct`Vdnklzj<883:4?<990DYY^ZT;fbpdYdg|d044?>0a855113922?OIX\^1HDO31483:45<9?0DYY^ZT;FLE972294:>6?7:HLSQQ11:025>4=AGZ^X7JFP@>2>586:281CXZ_UU8GKUG;93:5=?5<2;KMTPR=L@H7?<4?>018775833:99?<:4378LQQVR\3ndyy2<5;2=6>5?l29x>=>?ff662(363=808;58JJUSS2MC[N1=50?31?10>5833<>><<592:4:0>0>1?>0:4O>2:4F0>>3:8;0595601;1?<0330<=5<<49;KMTPR=IMNYN1650?3f?<?=AGZ^X7~}of]fiur~W}byi~fParqfvq:?29499675IORVP?vugnUna}zv_ujqavnXflmjxh27:1<2f>?=G\^[YY4}d^fbpdYdg|d054?>99B@ATF49437LJKR@>2:==FLMXJ0?07;@FGVD:4611JHI\N<5<;?DBCZH6>255NDEPB838?3HNO^L28>99B@ATF414j7LJKR@>:>58?3HNO^L26>99B@ATE49437LJKRC>2:==FLMXI0?07;@FGVG:4611JHI\M<5<;?DBCZK6>255NDEPA838?3HNO^O28>`9B@ATE410;255NDEPA8=8>3HYRBNQ]EF38F6=E];20NX]PIODL5>E33JK3M?5LE008GMCDCVFBOH@\E^VZT@40OAEN4:AOOG53:2=CAH6:<394DHC?54803MCJ0<<17:FJE9746>1OEL2>4?;8@LG;9<0;2:5KI@>21;069GMG:6;7=0HDL315<4?AOE48?5;6JFB=35:2=CAK6:;394DH@?5=803MCI0<716:FJF979?2NBN169GMG:597=0HDL323<4?AOE4;95;6JFB=07:2=CAK699394DH@?63803MCI0?917:FJF94?6>1OEO2=9?48@LD;:7=0HDL331<:?AOE4:;1<394DH@?74813MCI0>09;EKA81813MCI0809;EKA83813MCI0:09;EKA8=813MCI0408;EKSE96912NB\L2>:1<4?AOWI5;5;6JFPC>3:2=CAYH7=394DHRA878>3MC[N1=50?58@LVE4:4=7IAN<1<4?AIF48:5;6J@A=32:2=CGH6:>394DNC?56803MEJ0<:19:FLE972294<7IAN<07=2>BHI5;5:6J@A=0=2>BHI595:6J@A=6=2>BHI5?5:6J@A=4=2>BHI5=5:6J@A=:=2>BHI535:6J@B=2=3>BHJ5;;2:5KOC>25;169GKG:6=7=0HBL317<4?AIE48=5;6J@B=3;:2=CGK6:5384DN@?5;1=08;EMA8779?2NDN1<=>69GKG:5;7=0HBL325<4?AIE4;?5;6J@B=05:2=CGK69;394DN@?6=803MEI0?716:FLF949?2NDN1=?>89GKG:493:5;6J@B=12:3=CGK682;5KOC>7:3=CGK6>2;5KOC>5:3=CGK6<2;5KOC>;:3=CGK622:5KOQC?4;?69GKUG;97=0HB^M<1<4?AIWJ5;5;6J@PC>1:<=CGYH7?7>17:FLTG:4681N?6KAA29FJG26H72:DG7>@CK=1MHNK<;GFS0>@CXL?0Jlb|e09D7>AIL;1B37D@FTQ]31==NF@^[S=87;HLJPUY7?01BBDZ\T@VF3>OIA]U;<:5FNHV\441M7:KMMQY7K>1BBDZP0E58MKOSW9O<7D@FT^2E3>OIA]U:<:5FNHV\541469JJLRX9<=0ECG[_044?LHN\V;<;6GAIU]2<2=NF@^T=494IOKW[4G03@DBXR?M7:KMMQY6K>1BBDZP1E58MKOSW8O<7D@FT^3E3>OIA]U9<:5FNHV\641494IOKW[7G03@DBXR1BBDZP2E58MKOSW;O<7D@FT^0E3>OIA]U8<:5FNHV\741<8;HLJPZ54?2CEEYQ<469JJLRX;<=0ECG[_244?LHN\V9<;6GAIU]0<2=NF@^T?494IOKW[6G03@DBXR=M7:KMMQY4K>1BBDZP3E58MKOSW:O<7D@FT^1E2>OIA]UJ:6GAIU]A7>OHJ;1GE?5CO79OKDBBL>1GCJGLAM68HPR6<2F^X?84LTV1[I2JR\=<0@XZ;_M78IVAHF<1FYUMVc:ObnjtQm{ybccm4MhllvScu{`ee>6@>3:L241=I99;?7C??259M55533G;;895A1177?K77>=1E==9;;O33<1=I99387C?>4:L25521368J474<2D:=9:4N0360>H69?>0B259M57633G;9=95A1307?K75;=1E=?:;;O3111=I9;33G;95>5A1268J457<2D:?<:4N0110>H6;:>0B<=;4:L27023668J45?;2D:8>5A1418J4043G;829M5<53:L166=I::90B9:<;O657>H30:1E9=<4N708J24H?<:1E4;=4N951?K?43G3;j6@M_CWPTLHXX[E[_:5AEUULVN2PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^pg[uhszVmhSua}0122[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYulVzexQhc^zlv567:VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT~iQnup\cfYg{:;<>Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_sf\tkruWniTtb|?016\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4562W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;:R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?06]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[rtXxg~ySjmPxnp3456XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzV}yS}`{r^e`[}iu89::S_k|umv277=R8&myj#|i/fa{*fjlp&GscQxr^rmpwY`kVrd~=>?2^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\swYwf}xTknQwos2346YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt789>T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=>:_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1232ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678>UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=6PRdqvhq7592_;#j|i.sd,cf~)keas#jPpovq[goi4949=6[?/fpe*w`(ojr%oaew/sf\tkruWkce0<0=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<3<15>S7'nxm"h gbz-gim'{nT|cz}_ckm868592_;#j|i.sd,cf~)keas#jPpovq[goi4=49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce080=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<7<15>S7'nxm"h gbz-gim'{nT|cz}_ckm828592_;#j|i.sd,cf~)keas#jPpovq[goi4149<6[?/fpe*w`(ojr%oaew/sf\tkruWkceS= gsd-vc)`kq$h`fv re]sjqtXj`dT9?>4U1-dvc(un&mht#mcky-q`Zvi|{UiecQ9219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^514>S7'nxm"h gbz-gim'{nT|cz}_ckm[=413\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=>=7:W3+bta&{l$knv!cmi{+wbXxg~ySoga_ymq45679;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0004?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789;:>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123671<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?3305?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789>9;6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}0127570<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<8<8;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34536:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?63a8Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678?;:S^Y?2b9V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567>8;T_Z?=7:W3+bta&{l$knv!cmi{+wbXxg~ySoga_ymq4561:;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0604?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789=:>=5Z0.eqb+ta'nis"nbdx.pg[uhszVmh0=0=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm31?03?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb>1:76<]9%l~k }f.e`|+ekcq%yhR~ats]dg959:91^<"i}f/pe+be&jf`t"|k_qlwvZad4=49<6[?/fpe*w`(ojr%oaew/sf\tkruWni793328Q5)`zo$yj"ilx/aoo})ulVzexQhc=5=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`8=86n2_;#j|i.sd,cf~)keas#jPpovq[beX88l0Y=!hrg,qb*adp'iggu!}d^rmpwY`kV;:j6[?/fpe*w`(ojr%oaew/sf\tkruWniT>f:W3+bta&{l$knv!cmi{+wbXxg~ySjmP40d8Q5)`zo$yj"ilx/aoo})ulVzexQhc^72b>S7'nxm"h gbz-gim'{nT|cz}_fa\24`<]9%l~k }f.e`|+ekcq%yhR~ats]dgZ16n2_;#j|i.sd,cf~)keas#jPpovq[beX0;<0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hi30?05?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`4849:6[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg=0=63=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumn682?84U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde?0;413\:$kh!rg-dg}(ddbr$~iQnup\cfYf{{ol080=6:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfc909:?1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyij28>348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;078>7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_106?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`W88>7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_306?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`W:8>7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_506?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`W<8>7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_706?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`W>8>7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_90:?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`Wm;7<3<6;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7;97827X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3?6;4>3\:$kh!rg-dg}(ddbr$~iQnup\cfYf{{olSi?33?0:?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`Wm;783<6;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7;=7827X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3?2;4>3\:$kh!rg-dg}(ddbr$~iQnup\cfYf{{olSi?37?0:?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`Wm;743<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X8;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]26==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R<=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W:837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\07><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh?1378Q5)`zo$yj"ilx/aoo})ulVzexQhc^zlv567:;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVrd~=>?3378Q5)`zo$yj"ilx/aoo})ulVzexQhc^zlv567<;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVrd~=>?5378Q5)`zo$yj"ilx/aoo})ulVzexQhc^zlv567>;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVrd~=>?7338Q5)`zo$yj"ilx/aoo})pzVzexQmio>2:77<]9%l~k }f.e`|+ekcq%|~R~ats]amk:56;;0Y=!hrg,qb*adp'iggu!xr^rmpwYeag682??4U1-dvc(un&mht#mcky-tvZvi|{Uiec2;>338Q5)`zo$yj"ilx/aoo})pzVzexQmio>6:77<]9%l~k }f.e`|+ekcq%|~R~ats]amk:16;;0Y=!hrg,qb*adp'iggu!xr^rmpwYeag6<2??4U1-dvc(un&mht#mcky-tvZvi|{Uiec27>338Q5)`zo$yj"ilx/aoo})pzVzexQmio>::76<]9%l~k }f.e`|+ekcq%|~R~ats]amkY6:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV89<6[?/fpe*w`(ojr%oaew/vp\tkruWkceS>8;7X> gsd-vc)`kq$h`fv ws]sjqtXj`dT4?>4U1-dvc(un&mht#mcky-tvZvi|{UiecQ6279V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv5678;=0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?01312>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89::>:5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r12354413\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=<=7:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq45659;<0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?0204?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt78999>;5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r123071<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<9?=6:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4562:>1^<"i}f/pe+be&jf`t"y}_qlwvZdnfVrd~=>?5005?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt789<9o6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012554YT_98h7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01425ZUP9;=0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?07012>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:<>:5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r12334473\:$kh!rg-dg}(ddbr${Qnup\cf:76;:0Y=!hrg,qb*adp'iggu!xr^rmpwY`k5;5>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh0?0=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm33?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>7:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg939:91^<"i}f/pe+be&jf`t"y}_qlwvZad4?49<6[?/fpe*w`(ojr%oaew/vp\tkruWni7;3328Q5)`zo$yj"ilx/aoo})pzVzexQhc=;=5c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[57a3\:$kh!rg-dg}(ddbr${Qnup\cfY69o1^<"i}f/pe+be&jf`t"y}_qlwvZadW;;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU8=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS9?i;T2,cw`)zo%lou lljz,swYwf}xTknQ:1g9V4*aun'xm#jmw.bnh|*quWyd~Ril_73e?P6(o{l%~k!hcy,`hn~({U{by|Pgb]45c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[=7a3\:$kh!rg-dg}(ddbr${Qnup\cfY>:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij2?>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;978=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<3<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo595>;5Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef>7:70<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlm793<9;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd8385>2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnk191279V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqab:?6;<0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hi39?06?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`W98>7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_006?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`W;8>7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_206?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`W=8>7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_406?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`W?8>7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_606?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`W18>7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_80:?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`Wm;7=3<6;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7;:7827X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3?7;4>3\:$kh!rg-dg}(ddbr${Qnup\cfYf{{olSi?34?0:?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`Wm;793<6;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7;>7827X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3?3;4>3\:$kh!rg-dg}(ddbr${Qnup\cfYf{{olSi?38?0:?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`Wm;753<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X9;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]16==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R==8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W=837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\17><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh?1378Q5)`zo$yj"ilx/aoo})pzVzexQhc^zlv567:;?0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVrd~=>?3378Q5)`zo$yj"ilx/aoo})pzVzexQhc^zlv567<;?0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVrd~=>?5378Q5)`zo$yj"ilx/aoo})pzVzexQhc^zlv567>;?0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVrd~=>?7378Q5)`zo$yj"ilx/aoo})pzVzexQhc^zlv5670;k0Y=!hrg,qb*ak8'xo#j|>.sdtbq)UIDUYHRKA_GUEP44d3\:$kh!rg-dh5(ul&my=#|iwgv,VDKXZMUNBRHXFU3\57?<]9%l~k }f.eo4+tc'nx:"hxfu-QEHYUMNE^XRKA1218Q5)`zo$yj"ic0/pg+bt6&{l|jy!lusp\br`sWz~jxhQISL]EBa74>2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[CUJWOLo= Ga399V4*aun'xm#jb?.sf,cw7)zo}mx"mzrs]escrX{}kiRH\M^DE`4+Nf8;8?6[?/fpe*w`(oe:%~i!hr0,qbr`s'jy~Rhxfu]ppdrbWOYFSKHk2248Q5)`zo$yj"ic0/pg+bt6&{l|jy!lusp\br`sWz~jxhQISL]EBa4*Ag937X> gsd-vc)`d9$yh"i}1/pescr(k|xySkyit^qweqcXNZGTJKj=-Hl257><]9%l~k }f.eo4+tc'nx:"hxfu-fiur~Wo}mxRhm269V4*aun'xm#jb?.sf,cw7)zo}mx"kbpu{\br`sW`8n7X> gsd-vc)`d9$yh"i}1/pescr(mdzuRhxfu]j[jt789:9j6[?/fpe*w`(oe:%~i!hr0,qbr`s'lg{xtQiwgv\mZiu89:;=?74U1-dvc(un&mg<#|k/fpbw+tt|z%h<"mnrs{maq:76;30Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&ij~waeu>2:7?<]9%l~k }f.eo4+tc'nxj#||tr-`4*efz{seiy2=>3;8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.abvwim}682?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"ibuy,di^6Z&ng:"`?=f:W3+bta&{l$ka>!re-dvdu)zz~x#n> glw{*bk\9T$la~ bs3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.enq}(`eR8V"jc|.lq1b>S7'nxm"h gm2-va)`zhy%~~z|/b2,chs&ngP?P hmr,nw7`<]9%l~k }f.eo4+tc'nxj#||tr-`4*aj}q$laV:R.fop*hu5;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(~86;2?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"x><0<17>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4:56;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&|:0>0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0>7:7d<]9%l~k }f.eo4+tc'nxj#||tr-`4*p6W9Ujbi>?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4Y6Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.t2[7Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0]0[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"x>_5]mkq6789;956[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$ol|}yogw858512_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(khxyuck{<0<1=>S7'nxm"h gm2-va)`zhy%~~z|/b3,gdtuqgo0?0=9:W3+bta&{l$ka>!re-dvdu)zz~x#n? c`pq}kcs4:49j6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$k`{w.foX4X(`e8$f=?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h="ibuy,di^7Z&ngx"`}=f:W3+bta&{l$ka>!re-dvdu)zz~x#n? glw{*bk\:T$la~ bs3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.enq}(`eR9V"jc|.lq1b>S7'nxm"h gm2-va)`zhy%~~z|/b3,chs&ngP8P hmr,nw75<]9%l~k }f.eo4+tc'nxj#||tr-`5*p64949?6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$z<2>>318Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t28785;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8682?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x><5<1f>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4Y7Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t2[4Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n? v0]1[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x>_2]bja6789;9n6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$z=5Z0.eqb+ta'nf;"j gscp*wus{&ida}?=9:W3+bta&{l$ka>!re-dvdu)zz~x#ob_dosp|YajVc8<6[?/fpe*w`(oe:%~i!hr`q-vvrt'{kfShctx]efZoXg{:;<==>;T2,cw`)zo%l`= }d.eqev(u{}y$~lcPelrw}Z`eW`Ud~=>?0000?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs:=1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by?=4:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmp7433\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|d??:4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov761=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}?986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at707?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs?;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz7289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5:5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}969W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8485k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<0<\vq4>3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw32?0`?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7>3Q}t3;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp682?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:46Vx>45Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}929:j1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=6=[wr512_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<4<1g>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir080Pru0:?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7:37Uyx?74U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:06;i0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>4:Zts:h1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQwos>3:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|31?0b?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey0?0=a:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZ~hz595>l5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]{kw:36;k0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPxnp?1;4f3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSua}<7<1e>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vrd~1912`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{632?j4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;07Uyxf:W3+bta&{l$ka>!re-qtkru'je~by2>>0d8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{<3<2b>S7'nxm"h gm2-va)uxg~y#naznu>0:4`<]9%l~k }f.eo4+tc'{zex!lotlw8186n2_;#j|i.sd,ci6)zm%y|cz}/bmvjq:268l0Y=!hrg,qb*ak8'xo#~ats-`kphs4?4:j6[?/fpe*w`(oe:%~i!}povq+firf}6<2e:W3+bta&{l$ka>!re-qtkru'je~byQ?1d9V4*aun'xm#jb?.sf,vuhsz&idyczP10g8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_33f?P6(o{l%~k!hl1,q`*twf}x$ob{at^12a>S7'nxm"h gm2-va)uxg~y#naznu]75`=R8&myj#|i/fn3*wb(zyd~"m`uov\14c<]9%l~k }f.eo4+tc'{zex!lotlw[37b3\:$kh!rg-dh5(ul&x{by| cnwmpZ16m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY?:;1^<"i}f/pe+bj7&{n$~}`{r.alqkrXl86;2?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?31?01?P6(o{l%~k!hl1,q`*twf}x$ob{at^f28785:2_;#j|i.sd,ci6)zm%y|cz}/bmvjqYc9595>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<2;>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?1;453\:$kh!rg-dh5(ul&x{by| cnwmpZb64?49>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=191239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>;:77<]9%l~k }f.eo4+tc'{zex!lotlw[a7X8;;0Y=!hrg,qb*ak8'xo#~ats-`kphsWm;T=??4U1-dvc(un&mg<#|k/srmpw)dg|dSi?P2338Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3\777<]9%l~k }f.eo4+tc'{zex!lotlw[a7X<;;0Y=!hrg,qb*ak8'xo#~ats-`kphsWm;T9??4U1-dvc(un&mg<#|k/srmpw)dg|dSi?P6338Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3\377<]9%l~k }f.eo4+tc'{zex!lotlw[a7X0;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>3:7?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2>>3;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}692?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:46;l0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&mfyu hmZ2^*bk6&d;9j6[?/fpe*w`(oe:%{!hw`q-svrt'j;$k`{w.foX5X(`ez$f?h4U1-dvc(un&mg<#y}/fubw+qt|z%h="ibuy,di^4Z&ngx"`}=f:W3+bta&{l$ka>!ws-dsdu)z~x#n? glw{*bk\;T$la~ bs3d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.enq}(`eR>V"jc|.lq17>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4:76;90Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:0<0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n? v0>1:75<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p64:49?6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z<2;>3`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t2[5Yffm:;<=?=b:W3+bta&{l$ka>!ws-dsdu)z~x#n? v0]2[dhc89:;=?l4U1-dvc(un&mg<#y}/fubw+qt|z%h="x>_3]bja6789;9n6[?/fpe*w`(oe:%{!hw`q-svrt'j;$zS7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0<0=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs4;4956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw8685n2_;#j|i.sd,ci6){%l{l}!wrvp+f4(ods"jcT0\,di4(j9;l0Y=!hrg,qb*ak8'}y#jyns/uppv)d:&mfyu hmZ3^*bkt&dy9j6[?/fpe*w`(oe:%{!hw`q-svrt'j8$k`{w.foX6X(`ez$f?h4U1-dvc(un&mg<#y}/fubw+qt|z%h>"ibuy,di^5Z&ngx"`}=f:W3+bta&{l$ka>!ws-dsdu)z~x#n< glw{*bk\"x><3<17>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4:46;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:090=b:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0]3[dhc89:;=?l4U1-dvc(un&mg<#y}/fubw+qt|z%h>"x>_0]bja6789;9n6[?/fpe*w`(oe:%{!hw`q-svrt'j8$zQnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f4(~8U?Sl`k0123576<]9%l~k }f.eo4+qu'n}j#y|tr-`khv6:91^<"i}f/pe+bj7&~x$kzo|.vqww*ehey89<6[?/fpe*w`(oe:%{!hw`q-svrt'jef|>3 gsd-vc)`d9$|~"ixar,twqu(ohl%o>!hmtz-ch]5U'mf#c|329V4*aun'xm#jb?.vp,crgt&~y"inf/a0+bkrp'mfW>S!glq-iv543\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%laxv!glY7Y+aj{'gx>:5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m gsd-vc)`d9$|~"ixar,twqu(ohl%o>!y1=1=62=R8&myj#|i/fn3*rt(o~kx"z}{s.ebb+e4';783>2g9V4*aun'xm#jb?.vp,crgt&~y"inf/a0+s7X9Vkeh=>?000e?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q9V8Tmcj?01226c=R8&myj#|i/fn3*rt(o~kx"z}{s.ebb+e4';T?Road123444a3\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%}=R:Paof34566:j1^<"i}f/pe+bj7&~x$kzo|.vqww*tfeVkgab}{_gwohZo4<2_;#j|i.sd,ci6){%l{l}!wrvp+wgjWhffc~zPftno[lYj}q:;<==:;T2,cw`)zo%l`= xr.etev(p{}y$~lcPamolwqYa}efTeRczx12344533\:$kh!rg-dh5(pz&m|m~ xsuq,vdkXiegdyQiumn\mZhh|9:;=>;4U1-dvc(un&mg<#y}/fubw+qt|z%ym`QnllmppZ`rdeUbSca{012257><]9%l~k }f.eo4+qu'n}j#y|tr-qehYa}efTjoQf249V4*aun'xm#jb?.vp,crgt&~y"|nm^dvhiYn:j1^<"i}f/pe+bj7&~x$kzo|.vqww*tfeVl~`aQf_np34565l2_;#j|i.sd,ci6){%l{l}!wrvp+wgjWog`RgPos234575<2_;#j|i.sd,ci6){%l{l}!wrvp+rtXzz~Th0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|Vidycz;259V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjq35<2_;#j|i.sd,ci6){%||cz}/LalqkrXkfex;<;;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw372<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~3>95Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu;1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir0=0=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~494T~y<6;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw[f;978h7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?5;Yu|;30Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPcx>1:7e<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2=>^pw6<=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1=12b9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq595Sz=9:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4=49o6[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az818Xz}827X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?1;4d3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw35?]qp7?<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot29>3a8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6=2R|{289V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5=5>n5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}919W{~956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8=85k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<9<\vq4f3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSua}<1<1e>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vrd~1?12`9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{692?o4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\|jt;;78j7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8185i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=7=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc29>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx7;3::Zts9o1^<"i}f/pe+bj7&~x${}`{r.alqkr;87;m7X> gsd-vc)`d9$|~"ynup,gjsi|5;5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~7>3?i;T2,cw`)zo%l`= xr.usjqt(kfex1=11g9V4*aun'xm#jb?.vp,suhsz&idycz34?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=7=5c=R8&myj#|i/fn3*rt(yd~"m`uov?2;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9199o1^<"i}f/pe+bj7&~x${}`{r.alqkr;07;m7X> gsd-vc)`d9$|~"ynup,gjsi|535=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T<e:W3+bta&{l$ka>!ws-ttkru'je~byQ<1d9V4*aun'xm#jb?.vp,suhsz&idyczP40g8Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_43f?P6(o{l%~k!hl1,tv*qwf}x$ob{at^42a>S7'nxm"h gm2-sw)pxg~y#naznu]45`=R8&myj#|i/fn3*rt(yd~"m`uov\<4c<]9%l~k }f.eo4+qu'~zex!lotlw[<453\:$kh!rg-dh5(pz&}{by| cnwmpZb64949>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=1?1239V4*aun'xm#jb?.vp,suhsz&idyczPd0>1:74<]9%l~k }f.eo4+qu'~zex!lotlw[a7;;7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn:090=2:W3+bta&{l$ka>!ws-ttkru'je~byQk1=7=67=R8&myj#|i/fn3*rt(yd~"m`uov\`4:16;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;7;3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj><9<16>S7'nxm"h gm2-sw)pxg~y#naznu]g59?9:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl8U;><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th209V4*aun'xm#jb?.vp,suhsz&idyczPd0]164=R8&myj#|i/fn3*rt(yd~"m`uov\`4Y4:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl8U?><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th3:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;97897X> gsd-vc)`d9$|~"ynup,gjsi|Vn90?0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk2=1=67=R8&myj#|i/fn3*rt(yd~"m`uov\`7:36;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm8793<=;T2,cw`)zo%l`= xr.usjqt(kfexRj=<7<16>S7'nxm"h gm2-sw)pxg~y#naznu]g6919:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;632?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<39?02?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[5463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W88:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S?<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_202?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[1463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W<8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S;<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_602?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[=463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W0897X> gsd-vc)`d9$|~"ynup,gjsi|Vn80=0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk3=3=67=R8&myj#|i/fn3*rt(yd~"m`uov\`6:56;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm97?3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj<<5<16>S7'nxm"h gm2-sw)pxg~y#naznu]g7939:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl:6=2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi=37?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f08=85:2_;#j|i.sd,ci6){%||cz}/bmvjqYc;535><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q?209V4*aun'xm#jb?.vp,suhsz&idyczPd2]264=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y5:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U8><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q;209V4*aun'xm#jb?.vp,suhsz&idyczPd2]664=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y1:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U<><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q7209V4*aun'xm#jb?.vp,suhsz&idyczPd2]:53=R8&myj#|i/lgn+air|VcT<<84U1-dvc(un&gna"j`uu]j[4703\:$kh!rg-nah)cg|~TeR??169V4*aun'xm#`kb/emvpZoX98;<7X> gsd-vc)jmd%ocxzPi^3152=R8&myj#|i/lgn+air|VcT=>?8;T2,cw`)zo%fi`!kotv\mZ739>1^<"i}f/pe+hcj'me~xRgP1434?P6(o{l%~k!bel-gkprXaV;==:5Z0.eqb+ta'dof#iazt^k\52703\:$kh!rg-nah)cg|~TeR?7169V4*aun'xm#`kb/emvpZoX90;=7X> gsd-vc)jmd%ocxzPi^023>S7'nxm"h mdo,`jssW`U9<<94U1-dvc(un&gna"j`uu]j[776?2_;#j|i.sd,i`k(lfSdQ=2058Q5)`zo$yj"cjm.flqqYnW;9:;6[?/fpe*w`(elg$hb{{_h]1041<]9%l~k }f.ofi*bh}}UbS?;>7:W3+bta&{l$ahc dnww[lY5>8=0Y=!hrg,qb*kbe&ndyyQf_3523>S7'nxm"h mdo,`jssW`U94<94U1-dvc(un&gna"j`uu]j[7?6>2_;#j|i.sd,i`k(lfSdQ<169V4*aun'xm#`kb/emvpZoX;9;<7X> gsd-vc)jmd%ocxzPi^1252=R8&myj#|i/lgn+air|VcT???8;T2,cw`)zo%fi`!kotv\mZ549>1^<"i}f/pe+hcj'me~xRgP3534?P6(o{l%~k!bel-gkprXaV9>=;5Z0.eqb+ta'dof#iazt^k\040<]9%l~k }f.ofi*bh}}UbS8?9;T2,cw`)zo%fi`!kotv\mZ06>2_;#j|i.sd,i`k(lfSdQ8179V4*aun'xm#`kb/emvpZoX08<0Y=!hrg,qb*kbe&ndyyQf_83:?P6(o{l%~k!bel-gkprXelg7<3?n;T2,cw`)zo%fi`!kotv\i`k;994:m6[?/fpe*w`(elg$hb{{_lgn84799h1^<"i}f/pe+hcj'me~xRcjm=31:4g<]9%l~k }f.ofi*bh}}Ufi`2>3?3b?P6(o{l%~k!bel-gkprXelg7=90>a:W3+bta&{l$ahc dnww[hcj48?5=l5Z0.eqb+ta'dof#iazt^ofi97168k0Y=!hrg,qb*kbe&ndyyQbel>23;7f3\:$kh!rg-nah)cg|~Tahc319<2e>S7'nxm"h mdo,`jssWdof0<71189V4*aun'xm#`kb/emvpZkbe5;5=l5Z0.eqb+ta'dof#iazt^ofi94768k0Y=!hrg,qb*kbe&ndyyQbel>15;7f3\:$kh!rg-nah)cg|~Tahc323<2e>S7'nxm"h mdo,`jssWdof0?=11`9V4*aun'xm#`kb/emvpZkbe58?2 gsd-vc)jmd%ocxzPmdo?6386i2_;#j|i.sd,i`k(lfS`kb<35=5d=R8&myj#|i/lgn+air|Vgna1<7>0c8Q5)`zo$yj"cjm.flqqYjmd6953?6;T2,cw`)zo%fi`!kotv\i`k;:7;j7X> gsd-vc)jmd%ocxzPmdo?7586i2_;#j|i.sd,i`k(lfS`kb<23=5d=R8&myj#|i/lgn+air|Vgna1==>0c8Q5)`zo$yj"cjm.flqqYjmd68?3?n;T2,cw`)zo%fi`!kotv\i`k;;=4:m6[?/fpe*w`(elg$hb{{_lgn8639901^<"i}f/pe+hcj'me~xRcjm=1=5<=R8&myj#|i/lgn+air|Vgna1:1189V4*aun'xm#`kb/emvpZkbe5?5=45Z0.eqb+ta'dof#iazt^ofi909901^<"i}f/pe+hcj'me~xRcjm=5=5<=R8&myj#|i/lgn+air|Vgna161189V4*aun'xm#`kb/emvpZkbe535:h5Z0.eqb+ta'dof#jlb.f`nc+aeenk%bjklc/`nc*dkcVgnaRijndpbpjt(~hfbh#m|ts-qehjhgyQ;Q#|nm/p,r7Yig`dbx#|nm.fs5=~4>'xja gsd-vc)uidUyhRka169V4*aun'xm#ob_sgdkprXmg;87X> gsd-vc)uidU|~Rka1e9V4*aun'xm#}{bmi,vaYu{}Ujkh219V4*aun'xm#}{bmi,vaYu{}Ujkh_e314>S7'nxm"h rrvahn)ulVxxxRo|rde\`77d3\:$kh!rg-qwqdkc&xoS}{_bmnf4b<]9%l~k }f.pppgjl'{nT~~zPcnoa54c<]9%l~k }f.pppgjl'{nT~~zPrde?4;7b3\:$kh!rg-qwqdkc&xoS}{_sgd8486m2_;#j|i.sd,vvredb%yhR||t^pfc9499m1^<"i}f/pe+wusjea$~iQ}su]qabY79m1^<"i}f/pe+wusjea$~iQ}su]qabY69m1^<"i}f/pe+wusjea$~iQ}su]qabY59m1^<"i}f/pe+wusjea${Q}su]bwwc`:91^<"i}f/pe+wusjea${Q}su]bwwc`Wm;9<6[?/fpe*w`(zz~i`f!xr^pppZgtzlmTh??l;T2,cw`)zo%yylck.uq[wusWjefnd:W3+bta&{l$~~zmlj-tvZtt|VxnkR>>d:W3+bta&{l$~~zmlj-tvZtt|VxnkR?n;TQFVZGKAHYh7X]JR^TJWLDKM:1]ON74VHGT[Q_WM:1\IL=4WD@a?RTN\LUME_][c:UQMQCXEFNNSLm4WSKWAZKHLLUI=i5WIMKM\(^CJ):%=-][UC"3*4&F[JCB96V@RB[5?]USD@H<7U][_FLG3>^T\V\HOo5W_BMQAZOINF<0TilPIed8\anXX{cfZh||inl24>^ceVGjfb|Yesqjkk773QnfS@gaosTfvvohfj1j``a|t^gntqe3hffc~zPftno2>dfkb{h6lncjws[hguclx87nbdd:fbpdYdg|d$='k;ecweZeh}g~#=$j4d`vb[firf}"9%i5kauc\gjsi|!9"h6jnt`]`kphs =#o7io{a^alqkr/= n0hlzn_bmvjq.1!m1omyoPcnwmp-1.l2njxlQlotlw,=/c3mkmRm`uov+=,`:>5803mhbxh|}6:fjj-6.>2nbb%?&7:fjj-77!>1oec&>1(58`lh/9;#<7iga(01*3>bnf!;?%:5kio*21,12nbb%<&6:fjj-5.>2nbb%:&6:fjj-3.>2nbb%8&6:fjj-1.>2nbb%6&6:fjj-?.>2nbb1>17:fjj9776>1oec2>1?58`lh;9;4<7iga<01=3>bnf5;?2:5kio>21;14=7iga<9<5?aoi404<7iazt)2*3>bh}}":%55kotv+55/?3me~x%?>)99gkpr/9;#37iazt)30-==cg|~#=9'7;emvp-72!11ocxz'17+;?air|!;<%55kotv+5=/?3me~x%?6)69gkpr/: 20hb{{(32*<>bh}}"9=$64dnww,74.02ndyy&=3(:8`jss ;>"46j`uu*11,>bh}}"95$94dnww,6/?3me~x%=?)99gkpr/;8#37iazt)11-==cg|~#?>'7;emvp-53!11ocxz'34+4?air|!>";6j`uu*6-2=cg|~#:$94dnww,2/03me~x%6&7:flqq.>!>1ocxz30?:8`jss48:546j`uu>25;>bh}}6:9364dnww840902ndyy2>7?:8`jss482546j`uu>2=;199gkpr;:<437iazt=05:==cg|~7>:07;emvp94?611ocxz328<4?air|58546j`uu>04;>?18:flqq:4:720hb{{<21=<>bh}}6883o4dnww863=8720hb{{<27=3>bh}}682:5kotv?0;169gkpr;07=0hb{{<8<;?`bnn;dlh85jmqvz77=aaoeTkh`jr`vlvZp3W:&+Tdbfny"@KWC'Oldn~lz`r!33*4(7;8i0jdh`_ynm|Z36:q9=S?mck^3;pj51;h1mekaPxml{[075p:nbd_0:wk60+n`ldSjkaescwkwYqV8h`fQ>8um02)`nnfUlick}aumq[s2X;%qhSeo|_hlw[fjl59&hSeo|_rppp86+kVxoSk|jq<3/gZnf{VxoSio{a^alqkr:8%iThd`Pwhfwl87?$jUcm~Qxr^fbpdYdg|d1="l_gwohZ`kinyT~~zPv`n>4)eXadzgi`kat`vjkkYsqyo6>!mPurg\ahdblmooSkh=1.`[rtXn{oz1<"l_tqf[air|Vxxx0?#c^wm``tadf}T`by20-a\lduXgoyjaax=1.`[utbdfkoSao{eoaz95*dWme~xRyfduj>73*dWdylccQyam?2(fYulVnn|yf2500/gZnf{Vehh|ilnu>4)eX`hyTmac`su]eqij:9%iTdl}Prrv>5)eXlh~jSnaznu]tmaro58:'oRfns^uq[del59&hSx}j_da`95*dWjefab`Pcmm`o86+kV}ySlmd_mmt95*dW{nT|cz}_vkgpm;>$jU~hQiwgv\`drfWje~by3?,b]kevYfddexxRkbpu{>4)eXzmUomyoPcnwmpZqnl}b65!mPowgqbiipWee|1="l_vp\tkruW~coxe3>0-a\twi`Wlg{xtQ{yqg>4)eX{UomyoPcnwmpZqnl}b6=="l_qpfhjgcW{ol0?#c^flqqYu{}U}ma3?,b]kevYci}kTob{at<2/gZvugnUmyabPtipfwmYimnkiRxnl<3367*dW~xThh~{h<3361*dWyxdkRkbpu{\pmtb{aUeijo{e^tbh83+kVzycjQjmqvz[qnumzbTm~}jru]uei;3$jUcm~Qyamkg95*dWyxdkRhzlm]wlwct`Vkxh|{_wco9465;%ida}aaeov\jdkb5ocmcRvcny]657~4>V8h`fQ>8um02)eX~hfbhRb`w<2/gZvuadUmekaPtxrf94m91&hS}|`g^dvhiYsqyo6vugnUna}zv_ujqavn/< ;?7}|`g^gntqX|axne&:)068twi`Wlg{xtQ{hsgpl-0.9=1{~biPelrw}Zrozlyc$:'>4:rqkbYbey~rSyf}erj+<,713yxdkRkbpu{\pmtb{a636=0>b:rqkbYbey~rSyf}erj\evubz}";%vugnUna}zv_ujqavnXizyn~y&9)0`8twi`Wlg{xtQ{hsgplZgt{lx$:'>b:rqkbYbey~rSyf}erj\evubz}"3%vugnUna}zv_ujqavnXflmjxh&:)0`8twi`Wlg{xtQ{hsgplZhboh~n$;'>b:rqkbYbey~rSyf}erj\j`af|l"<%5rne\bpjkW}byi~f'1(30?uthoVl~`aQ{hsgpl-4.9:1{~biPftno[qnumzb#?$?<;qplcZ`rdeUdk|h)6*56=wzfmTjxbc_ujqavn/= ;87}|`g^dvhiYs`{oxd%8&129svjaXn|fgSyf}erj+3,743yxdkRhzlm]wlwct`!2"=>5rne\bpjkW}byi~f'9(36?uthoVl~`aQ{hsgpl9?=87;j7}|`g^dvhiYs`{oxdRo|sdpw,5/6i2zycjQiumn\pmtb{aUj~k}t)3*5d=wzfmTjxbc_ujqavnXizyn~y&=)0c8twi`Wog`Rzgrdqk[dutm{~#?$?n;qplcZ`rdeUdk|h^cpw`ts =#:m6~}of]eqijX|axneQnsrgqp-3.9h1{~biPftno[qnumzbTm~}jru*5-4ga:rqkbYa}efTxe|jsi]bwvcu|!3"=n5rne\bpjkW}byi~fParqfvq:>294:m6~}of]eqijX|axneQaefcwa-6.9h1{~biPftno[qnumzbTbhintd*2-4g'>a:rqkbYa}efTxe|jsi]mabgsm!>"=l5rne\bpjkW}byi~fPndebp`.2!8k0|ah_gwohZrozlycSckhaug+2,7f3yxdkRhzlm]wlwct`Vdnklzj(6+2e>vugnUmyabPtipfwmYimnki%6&1`9svjaXn|fgSyf}erj\j`af|l"2%4re]geqgXkfex%=&119q`Zbf|hUhcx`{(5+24>tcWmkmRm`uov+1,773{nThlzn_bmvjq.1!8:0~iQkauc\gjsi|!="==5}d^fbpdYdg|d$5'>0:pg[agsiVidycz30?31?wbXlh~jSnaznu>;>5823{nTic84re]qwq5uu{}>0x{j9:wm``tadf}>7{ocie48swYfkb<0{Qllj33?rtXlh~jSnaznu*3-46<{UomyoPcnwmp-7.991|~Rjnt`]`kphs ;#:<6y}_ecweZeh}g~#?$??;vp\`drfWje~by&;)028swYci}kTob{at)7*55=pzVnjxlQlotlw,3/682}ySio{a^alqkr/? ;;7z|Pd`vb[firf}"3%<>4ws]geqgXkfex%7&139tvZbf|hUhcx`{<883:0=pzVoe:6y}_sqwyEFwjj<0LMv>:G87>4}T=80?5;48:011f3ef2:2<9>ua40795>h39?0?7):>3;63`>{T5\13590<`=83;8>o8la;1;303<[=l184h50;306g0di393;8;4d5;:>5<628qX9<4;9784>455j?ij6>68529uP4>2290:6<4>94yP14<31?0<6<==b7ab>6>0=:1/8=9513:8R1732;q~=><51:w276<73t.:;i4>9:`7=<<72:o1?7=j{I631>\3>38p=:4>0;'5=g=<030(9?=:5;;?l2bm3:17d;?3;29?j2>l3:17b:67;29?l2a?3:17b:>8;29?l2a83:17b:9a;29 41a2=2o7c?8e;28?j2113:1(<9i:5:g?k70m3;07b:98;29 41a2=2o7c?8e;08?j21?3:1(<9i:5:g?k70m3907b:96;29 41a2=2o7c?8e;68?j21=3:1(<9i:5:g?k70m3?07b:93;29 41a2=2o7c?8e;48?j21:3:1(<9i:5:g?k70m3=07b:91;29 41a2=2o7c?8e;:8?j2183:1(<9i:5:g?k70m3307b::f;29 41a2=2o7c?8e;c8?j22m3:1(<9i:5:g?k70m3h07b::d;29 41a2=2o7c?8e;a8?j22k3:1(<9i:5:g?k70m3n07b::b;29 41a2=2o7c?8e;g8?j22i3:1(<9i:5:g?k70m3l07b::8;29 41a2=2o7c?8e;33?>i3=>0;6)?8f;6;`>h6?l0:=65`44494?"6?o0?4i5a16g957=6=4+16d90=b4?:%34b?2?l2d:;h4>5:9l004=83.:;k4;8e9m52c=9?10c9;>:18'52`=<1n0b<9j:058?j2283:1(<9i:5:g?k70m3;376a;4g83>!70n3>3h6`>7d82=>=h<>:1<7*>7g87o1=l54o54e>5<#9>l185j4n05f>4d<3f>=i7>5$05e>1>c3g;i3=00;6)?8f;6;`>h6?l09=65`45g94?"6?o0?4i5a16g967=o6=4+16d90=b8<7>5$05e>1253g;9i7>5$05e>1253g;9o7>5$05e>1253g;9m7>5$05e>1253g;<3`>847>5$05e>1253g;8:7>5$05e>1253g;887>5$05e>1253g;8>7>5$05e>1253g;54?:%34b?23:2d:;h4>1:9j0`4=831i8=850;394?6|@=:>7)?7a;632>i6?j0;66smd583>4<729qC8=;4$0:b>a2\3>3;=w?l5d;0g>gx"60h0?5n5+1369`7=#=1=:l4i5ge>5<5<5<5<#9>l18o;4n05f>5=5<#9>l18o;4n05f>7=54i5`3>5<#9>l18o;4n05f>1=5<#9>l18o;4n05f>3=5<#9>l18o;4n05f>==5<5<#9>l19=<4n05f>4=5<#9>l19=<4n05f>6=5<#9>l19=<4n05f>0=5<#9>l19=<4n05f>2=5<#9>l19=<4n05f><=5<#9>l18hj4n05f>4=5<#9>l18hj4n05f>6=5<#9>l18hj4n05f>0=6=4+16d90`b5<#9>l18hj4n05f>2=5<#9>l18h?4n05f>5=5<#9>l18h?4n05f>7=54i5f`>5<#9>l18h?4n05f>1=5<#9>l18h?4n05f>3=5<#9>l18h?4n05f>==5<6=4+16d90705<#9>l18?84n05f>4=5<#9>l18?84n05f>6=5<#9>l18?84n05f>0=5<#9>l18?84n05f>2=5<#9>l18?84n05f><=5<5<#9>l18nl4n05f>4=5<#9>l18nl4n05f>6=5<#9>l18nl4n05f>0=5<#9>l18nl4n05f>2=5<#9>l18nl4n05f><=5<5<5<5<5<#9>l185j4n05f>5=5<#9>l185j4n05f>7=54o545>5<#9>l185j4n05f>1=6=4+16d90=b5<#9>l185j4n05f>3=5<#9>l185j4n05f>==5<#9>l185j4n05f>d=5<#9>l185j4n05f>f=5<#9>l185j4n05f>`=5<#9>l185j4n05f>46<3f>>;7>5$05e>1>c3g;;:m713<72-;07b::3;29 41a2=2o7c?8e;36?>i3=;0;6)?8f;6;`>h6?l0::65`44394?"6?o0?4i5a16g952=32e?;=4?:%34b?2?l2d:;h4>a:9l03`=83.:;k4;8e9m52c=9k10c98j:18'52`=<1n0b<9j:0a8?j21l3:1(<9i:5:g?k70m3;o76a;6b83>!70n3>3h6`>7d82a>=h7g87o1=k54o547>5<#9>l185j4n05f>76<3f>>57>5$05e>1>c3g;;:m70`<72-;:18'52`=<=80b<9j:198m157290/=:h54508j41b2810e910e9=6:18'52`=<=80b<9j:998m15?290/=:h54508j41b2010e9=8:18'52`=<=80b<9j:`98m151290/=:h54508j41b2k10e9=::18'52`=<=80b<9j:b98m153290/=:h54508j41b2m10e9=<:18'52`=<=80b<9j:d98m155290/=:h54508j41b2o10e9<6:18'52`=<=80b<9j:028?l2503:1(<9i:561?k70m3;:76g;1883>>o3l<0;6)?8f;6g2>h6?l0;76g;d583>!70n3>o:6`>7d82?>o3l:0;6)?8f;6g2>h6?l0976g;d383>!70n3>o:6`>7d80?>o3l80;6)?8f;6g2>h6?l0?76g;d183>!70n3>o:6`>7d86?>o3ko0;6)?8f;6g2>h6?l0=76g;cd83>!70n3>o:6`>7d84?>o3km0;6)?8f;6g2>h6?l0376g;cb83>!70n3>o:6`>7d8:?>o3jl0;6)?8f;6ab>h6?l0;76g;be83>!70n3>ij6`>7d82?>o3jj0;6)?8f;6ab>h6?l0976g;bc83>!70n3>ij6`>7d80?>o3jh0;6)?8f;6ab>h6?l0?76g;b883>!70n3>ij6`>7d86?>o3j10;6)?8f;6ab>h6?l0=76g;b683>!70n3>ij6`>7d84?>o3j?0;6)?8f;6ab>h6?l0376a;a083>>i3:>0;66g;e383>>d3990;6<4?:1y'5=g=l=1C8=h4H526?jb42900qo:>1;295?6=8r.:4l4;079K05`<@=:>7b?8c;29?xd4n;0;6>4?:1y'5=g=km1C8=h4H526?M243-;8<7:i3:&f5?4>i6080;66sm3gf94?5=83:p(<6n:bf8L16a3A>;96F;3:&275<3n:1/i<4=;h64>5<>54g18 `7=:2c?;7>5;h71>5<8`8g5>N38o1C8=;4H518 4572=l87)k>:39j02<722c?57>5;h71>5<5<53;294~"60h0hh6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k66?6=3f;3=7>5;|`0b5<72<0;6=u+19c9`4=O<9l0D9>:;I60?!7483>m?6*j1;08m11=831b844?::k66?6=3`;3<7>5;n3;5?6=3th8jl4?:583>5}#91k1h=5G41d8L1623-o:6?5f4683>>o2:3:17d?70;29?j7?93:17pl1<729q/=5o5d19K05`<@=:>7)k>:39j02<722c>>7>5;h3;4?6=3f;3=7>5;|`0b=<72=0;6=u+19c9`5=O<9l0D9>:;%g2>7=n<>0;66g:2;29?l7?83:17b?71;29?xd38:0;694?:1y'5=g=l91C8=h4H526?!c62;1b8:4?::k66?6=3`;3<7>5;n3;5?6=3th?5}#91k1h=5G41d8L1623-o:6?5f4683>>o2:3:17d?70;29?j7?93:17pl=9`83>1<729q/=5o5d19K05`<@=:>7)k>:79j02<722c>>7>5;h3;4?6=3f;3=7>5;|`063<72=0;6=u+19c9g`=O<9l0D9>:;%g2>7=n<>0;66g;e;29?l352900c<6>:188yg5583:197>50z&25;h6:>5<>i6080;66sm33;94?2=83:p(<6n:e28L16a3A>;96*j1;08m11=831b9?4?::k2<5<722e:4<4?::a773=83>1<7>t$0:b>fc<@=:m7E:?5:&f5?4>o2:3:17b?71;29?xd5?h0;694?:1y'5=g=9:;0D9>i;I631>o3j3:17d;<:188m4>42900c<9n:188yg4013:187>50z&24?::k2<6<722e:;l4?::a621=83>1<7>t$0:b>4563A>;j6F;049j0g<722c>?7>5;h3;7?6=3f;5;|`133<72=0;6=u+19c9567<@=:m7E:?5:k7f?6=3`?86=44i0:0>5<8`8274=O<9l0D9>:;h6a>5<k1<75rb3:`>5<3290;w)?7a;305>N38o1C8=;4i5`94?=n=:0;66g>8283>>i6?h0;66sm29`94?2=83:p(<6n:012?M27n2B?<85f4c83>>o2;3:17d?73;29?j70i3:17pl=8`83>1<729q/=5o51238L16a3A>;96g;b;29?l342900e<6<:188k41f2900qo<79;290?6=8r.:4l4>309K05`<@=:>7d:m:188m05=831b=5=50;9l52g=831vn?kl:187>5<7s-;3m7?<1:J74c=O<9?0e9l50;9j16<722c:4>4?::m23d<722wi>hl50;694?6|,82j6<=>;I63b>N38<1b8o4?::k67?6=3`;3?7>5;n34e?6=3th9il4?:583>5}#91k1=>?4H52e?M27=2c?n7>5;h70>5<5<54;294~"60h0:?<5G41d8L1623`>i6=44i4194?=n9191<75`16c94?=zj;o36=4;:183!7?i3;8=6F;0g9K053>o60:0;66a>7`83>>{e:ol1<7:50;2x 4>f289:7E:?f:J740=ni;I631>o3j3:17d;<:188m4>42900c<9n:188yg4al3:187>50z&24?::k2<6<722e:;l4?::a6cd=83>1<7>t$0:b>4563A>;j6F;049j0g<722c>?7>5;h3;7?6=3f;5;|`050<72=0;6=u+19c9567<@=:m7E:?5:k7f?6=3`?86=44i0:0>5<8`8274=O<9l0D9>:;h6a>5<k1<75rb230>5<3290;w)?7a;305>N38o1C8=;4i5`94?=n=:0;66g>8283>>i6?h0;66sm30094?2=83:p(<6n:012?M27n2B?<85f4c83>>o2;3:17d?73;29?j70i3:17pl<1083>1<729q/=5o51238L16a3A>;96g;b;29?l342900e<6<:188k41f2900qon6=44i4094?=h91;1<75rb32f>5<3290;w)?7a;af?M27n2B?<85+e081?l202900e9k50;9j17<722e:4<4?::a65b=83>1<7>t$0:b>fc<@=:m7E:?5:&f5?4>o2:3:17b?71;29?xd58j0;694?:1y'5=g=kl1C8=h4H526?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<,l;1>6g;7;29?l2b2900e8<50;9l5=7=831vn?>n:187>5<7s-;3m7mj;I63b>N38<1/i<4=;h64>5<>i6080;66sm21;94?2=83:p(<6n:bg8L16a3A>;96*j1;08m11=831b8h4?::k66?6=3f;3=7>5;|`14=<72=0;6=u+19c9g`=O<9l0D9>:;%g2>7=n<>0;66g;e;29?l352900c<6>:188yg47?3:187>50z&25;h6f>5<ac83>1<729q/=5o5cd9K05`<@=:>7)k>:39j02<722c?i7>5;h71>5<8`8`a>N38o1C8=;4$d396>o3?3:17d:j:188m04=831d=5?50;9~f4g>290?6=4?{%3;e?eb3A>;j6F;049'a4<53`><6=44i5g94?=n=;0;66a>8083>>{e9h21<7:50;2x 4>f2jo0D9>i;I631>"b9380e9950;9j0`<722c>>7>5;n3;5?6=3th:m:4?:583>5}#91k1oh5G41d8L1623-o:6?5f4683>>o3m3:17d;=:188k4>62900qo?n6;290?6=8r.:4l4le:J74c=O<9?0(h?52:k73?6=3`>n6=44i4094?=h91;1<75rb0c6>5<3290;w)?7a;af?M27n2B?<85+e081?l202900e9k50;9j17<722e:4<4?::a60d=83>1<7>t$0:b>fc<@=:m7E:?5:&f5?4>o2:3:17b?71;29?xd5=h0;694?:1y'5=g=kl1C8=h4H526?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<57>54;294~"60h0hi6F;0g9K053<,l;1>6g;7;29?l2b2900e8<50;9l5=7=831vn?;7:187>5<7s-;3m7mj;I63b>N38<1/i<4=;h64>5<>i6080;66sm24594?2=83:p(<6n:bg8L16a3A>;96*j1;08m11=831b8h4?::k66?6=3f;3=7>5;|`113<72=0;6=u+19c9g`=O<9l0D9>:;%g2>7=n<>0;66g;e;29?l352900c<6>:188yg42=3:187>50z&25;h6f>5<8=50;694?6|,82j6nk4H52e?M27=2.n=7<4i5594?=nf483>1<729q/=5o5cd9K05`<@=:>7)k>:39j02<722c?i7>5;h71>5<8`8`a>N38o1C8=;4$d396>o3?3:17d:j:188m04=831d=5?50;9~f4`4290?6=4?{%3;e?eb3A>;j6F;049'a4<53`><6=44i5g94?=n=;0;66a>8083>>{e9o81<7:50;2x 4>f2jo0D9>i;I631>"b9380e9950;9j0`<722c>>7>5;n3;5?6=3th:j<4?:583>5}#91k1oh5G41d8L1623-o:6?5f4683>>o3m3:17d;=:188k4>62900qo?i0;290?6=8r.:4l4le:J74c=O<9?0(h?52:k73?6=3`>n6=44i4094?=h91;1<75rb0ge>5<3290;w)?7a;af?M27n2B?<85+e081?l202900e9k50;9j17<722e:4<4?::a5`c=83>1<7>t$0:b>fc<@=:m7E:?5:&f5?4>o2:3:17b?71;29?xd6mm0;694?:1y'5=g=kl1C8=h4H526?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<7>54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<7>54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<@=90(<=?:5d0?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<,l;1>6g;7;29?l2b2900e8<50;9l5=7=831vn5<7s-;3m7mj;I63b>N38<1/i<4=;h64>5<>i6080;66sm1bd94?2=83:p(<6n:bg8L16a3A>;96*j1;08m11=831b8h4?::k66?6=3f;3=7>5;|`2g`<72=0;6=u+19c9g`=O<9l0D9>:;%g2>7=n<>0;66g;e;29?l352900c<6>:188yg7dl3:187>50z&25;h6f>5<c`83>1<729q/=5o5cd9K05`<@=:>7)k>:39j02<722c?i7>5;h71>5<8`8`a>N38o1C8=;4$d396>o3?3:17d:j:188m04=831d=5?50;9~f752290?6=4?{%3;e?eb3A>;j6F;049'a4<53`><6=44i5g94?=n=;0;66a>8083>>{e::>1<7:50;2x 4>f2jo0D9>i;I631>"b9380e9950;9j0`<722c>>7>5;n3;5?6=3th9?>4?:583>5}#91k1oh5G41d8L1623-o:6?5f4683>>o3m3:17d;=:188k4>62900qo<<2;290?6=8r.:4l4le:J74c=O<9?0(h?52:k73?6=3`>n6=44i4094?=h91;1<75rb312>5<3290;w)?7a;af?M27n2B?<85+e081?l202900e9k50;9j17<722e:4<4?::a666=83>1<7>t$0:b>fc<@=:m7E:?5:&f5?4>o2:3:17b?71;29?xd5:o0;694?:1y'5=g=kl1C8=h4H526?!c62;1b8:4?::k7a?6=3`?96=44o0:2>5<54;294~"60h0hi6F;0g9K053<,l;1>6g;7;29?l2b2900e8<50;9l5=7=831vn?5<7s-;3m7mj;I63b>N38<1/i<4=;h64>5<>i6080;66sm23a94?2=83:p(<6n:bg8L16a3A>;96*j1;08m11=831b8h4?::k66?6=3f;3=7>5;|`1`4<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn?j?:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd5ko0;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb3af>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th9oi4?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f7ed290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<t$0:b>f`<@=:m7E:?5:&f5?4>o3m3:17d;=:188k4>62900qo7d:m:188m4422900c<9n:188yg4el3:1?7>50z&2309K05`<@=:>7d:m:188m05=831b=5=50;9l52g=831vn?ll:180>5<7s-;3m7:?e:J74c=O<9?0e9l50;9j573=831d=:o50;9~f7d5290?6=4?{%3;e?7492B?4?::k2<6<722e:;l4?::a6gd=8391<7>t$0:b>16b3A>;j6F;049j0g<722c:>84?::m23d<722wi>o>50;694?6|,82j6<=>;I63b>N38<1b8o4?::k67?6=3`;3?7>5;n34e?6=3th9nl4?:283>5}#91k18=k4H52e?M27=2c?n7>5;h311?6=3f;5;|`1e`<72=0;6=u+19c9567<@=:m7E:?5:k7f?6=3`?86=44i0:0>5<8`874`=O<9l0D9>:;h6a>5<6=44o05b>5<54;294~"60h0:?<5G41d8L1623`>i6=44i4194?=n9191<75`16c94?=zj;h36=4<:183!7?i3>;i6F;0g9K053k1<75rb3cb>5<3290;w)?7a;305>N38o1C8=;4i5`94?=n=:0;66g>8283>>i6?h0;66sm2c594?5=83:p(<6n:52f?M27n2B?<85f4c83>>o6:<0;66a>7`83>>{e:h21<7:50;2x 4>f289:7E:?f:J740=n4?:1y'5=g=<9o0D9>i;I631>o3j3:17d?=5;29?j70i3:17pl=a783>1<729q/=5o51238L16a3A>;96g;b;29?l342900e<6<:188k41f2900qo26=44i5g94?=n=;0;66a>8083>>{e:l81<7;50;2x 4>f2jl0D9>i;I631>"b9380e9950;9j0<<722c?i7>5;h71>5<8`8`b>N38o1C8=;4$d396>o3?3:17d:6:188m1c=831b9?4?::m2<4<722wi>h>50;794?6|,82j6nh4H52e?M27=2.n=7<4i5594?=n<00;66g;e;29?l352900c<6>:188yg4cn3:197>50z&25;h6:>5<>i6080;66sm2eg94?3=83:p(<6n:bd8L16a3A>;96*j1;08m11=831b844?::k7a?6=3`?96=44o0:2>5<55;294~"60h0hj6F;0g9K053<,l;1>6g;7;29?l2>2900e9k50;9j17<722e:4<4?::a6ae=83?1<7>t$0:b>f`<@=:m7E:?5:&f5?4>o3m3:17d;=:188k4>62900qo26=44i5g94?=n=;0;66a>8083>>{e:?h1<7:50;2x 4>f2jo0D9>i;I631>"b9380e9950;9j0`<722c>>7>5;n3;5?6=3th9:54?:583>5}#91k1oh5G41d8L1623-o:6?5f4683>>o3m3:17d;=:188k4>62900qo<9f;290?6=8r.:4l4k0:J74c=O<9?0(h?56:k73?6=3`?96=44i0:3>5<8`8g4>N38o1C8=;4$d392>o3?3:17d;=:188m4>72900c<6>:188yg51=3:197>50z&25;h6:>5<>i6080;66sm37694?3=83:p(<6n:bd8L16a3A>;96*j1;08m11=831b844?::k7a?6=3`?96=44o0:2>5<7>55;294~"60h0hj6F;0g9K053<,l;1>6g;7;29?l2>2900e9k50;9j17<722e:4<4?::a737=83?1<7>t$0:b>f`<@=:m7E:?5:&f5?4>o3m3:17d;=:188k4>62900qo=93;291?6=8r.:4l4lf:J74c=O<9?0(h?52:k73?6=3`>26=44i5g94?=n=;0;66a>8083>>{e;?:1<7;50;2x 4>f2jl0D9>i;I631>"b9380e9950;9j0<<722c?i7>5;h71>5<8`8`b>N38o1C8=;4$d396>o3?3:17d:6:188m1c=831b9?4?::m2<4<722wi?8j50;794?6|,82j6i?4H52e?M27=2.n=784i5594?=n<00;66g:2;29?l7?83:17b?71;29?xd4=j0;684?:1y'5=g=l81C8=h4H526?!c62?1b8:4?::k7=?6=3`?96=44i0:3>5<8`8`b>N38o1C8=;4$d396>o3?3:17d:6:188m1c=831b9?4?::m2<4<722wi?8>50;194?6|,82j69>j;I63b>N38<1b8o4?::k260<722e:;l4?::a71`=8391<7>t$0:b>16b3A>;j6F;049j0g<722c:>84?::m23d<722wi?9;50;694?6|,82j6<=>;I63b>N38<1b8o4?::k67?6=3`;3?7>5;n34e?6=3th88h4?:283>5}#91k18=k4H52e?M27=2c?n7>5;h311?6=3f;5;|`006<72=0;6=u+19c9567<@=:m7E:?5:k7f?6=3`?86=44i0:0>5<8`874`=O<9l0D9>:;h6a>5<6=44o05b>5<54;294~"60h0:?<5G41d8L1623`>i6=44i4194?=n9191<75`16c94?=zj:>h6=4<:183!7?i3>;i6F;0g9K053k1<75rb21e>5<3290;w)?7a;305>N38o1C8=;4i5`94?=n=:0;66g>8283>>i6?h0;66sm35`94?5=83:p(<6n:52f?M27n2B?<85f4c83>>o6:<0;66a>7`83>>{e;:n1<7:50;2x 4>f289:7E:?f:J740=n4?:1y'5=g=<9o0D9>i;I631>o3j3:17d?=5;29?j70i3:17pl<3c83>1<729q/=5o51238L16a3A>;96g;b;29?l342900e<6<:188k41f2900qo=;9;297?6=8r.:4l4;0d9K05`<@=:>7d:m:188m4422900c<9n:188yg5413:187>50z&2=8:187>5<7s-;3m7?<1:J74c=O<9?0e9l50;9j16<722c:4>4?::m23d<722wi?9950;194?6|,82j69>j;I63b>N38<1b8o4?::k260<722e:;l4?::a763=83>1<7>t$0:b>4563A>;j6F;049j0g<722c>?7>5;h3;7?6=3f;5;|`037<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>9?:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4?80;684?:1y'5=g=l81C8=h4H526?!c62?1b8:4?::k7=?6=3`?96=44i0:3>5<8`8`b>N38o1C8=;4$d396>o3?3:17d:6:188m1c=831b9?4?::m2<4<722wi?::50;794?6|,82j6nh4H52e?M27=2.n=7<4i5594?=n<00;66g;e;29?l352900c<6>:188yg50?3:197>50z&25;h6:>5<>i6080;66sm36794?3=83:p(<6n:bd8L16a3A>;96*j1;08m11=831b844?::k7a?6=3`?96=44o0:2>5<55;294~"60h0hj6F;0g9K053<,l;1>6g;7;29?l2>2900e9k50;9j17<722e:4<4?::a72>=83?1<7>t$0:b>f`<@=:m7E:?5:&f5?4>o3m3:17d;=:188k4>62900qo=89;291?6=8r.:4l4lf:J74c=O<9?0(h?52:k73?6=3`>26=44i5g94?=n=;0;66a>8083>>{e;1<1<7;50;2x 4>f2jl0D9>i;I631>"b9380e9950;9j0<<722c?i7>5;h71>5<8`8g5>N38o1C8=;4$d392>o3?3:17d:6:188m04=831b=5>50;9l5=7=831vn>6::186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd40>0;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2:;>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th84o4?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6>>290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<5;|`0:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>o>:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4i90;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2;e>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th85h4?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6?c290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<5;|`0=d<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>76:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4110;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2`e>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th8nh4?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6dc290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<5;|`0fd<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>l7:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4j>0;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2`5>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th8n84?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6d3290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<5;|`0f4<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>l?:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4io0;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2cg>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th8mn4?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6ge290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<5;|`0e=<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>o8:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4i?0;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2c6>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th8m94?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6e2290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<5;|`0g7<72<0;6=u+19c9gc=O<9l0D9>:;%g2>7=n<>0;66g;9;29?l2b2900e8<50;9l5=7=831vn>m>:186>5<7s-;3m7mi;I63b>N38<1/i<4=;h64>5<>o2:3:17b?71;29?xd4k90;684?:1y'5=g=ko1C8=h4H526?!c62;1b8:4?::k7=?6=3`>n6=44i4094?=h91;1<75rb2`:>5<2290;w)?7a;ae?M27n2B?<85+e081?l202900e9750;9j0`<722c>>7>5;n3;5?6=3th8mh4?:483>5}#91k1ok5G41d8L1623-o:6?5f4683>>o313:17d:j:188m04=831d=5?50;9~f6g4290>6=4?{%3;e?ea3A>;j6F;049'a4<53`><6=44i5;94?=n0<729q/=5o5cg9K05`<@=:>7)k>:39j02<722c?57>5;h6f>5<>oc>3:17b?8a;29?xd4n=0;6>4?:1y'5=g=9;k0D9>i;I631>"b93;j7dj::188ma0=831d=:o50;9~f77629086=4?{%3;e?75i2B?5;|`2ec<72:0;6=u+19c957g<@=:m7E:?5:&f5?7a3`n>6=44ie494?=h9>k1<75rb0;a>5<4290;w)?7a;31e>N38o1C8=;4$d395c=nl<0;66gk6;29?j70i3:17pl>9`83>6<729q/=5o513c8L16a3A>;96*j1;3e?lb22900ei850;9l52g=831vn<76:180>5<7s-;3m7?=a:J74c=O<9?0(h?51g9j`0<722co:7>5;n34e?6=3th:554?:283>5}#91k1=?o4H52e?M27=2.n=7?i;hf6>5<>oc>3:17b?8a;29?xd61?0;6>4?:1y'5=g=9;k0D9>i;I631>"b93;m7dj::188ma0=831d=:o50;9~f4?229086=4?{%3;e?75i2B?5;|`2=1<72:0;6=u+19c957g<@=:m7E:?5:&f5?7a3`n>6=44ie494?=h9>k1<75rb0;0>5<4290;w)?7a;31e>N38o1C8=;4$d395c=nl<0;66gk6;29?j70i3:17pl>9383>6<729q/=5o513c8L16a3A>;96*j1;3e?lb22900ei850;9l52g=831vn<7>:180>5<7s-;3m7?=a:J74c=O<9?0(h?51g9j`0<722co:7>5;n34e?6=3th:5=4?:283>5}#91k1=?o4H52e?M27=2.n=7?i;hf6>5<>oc>3:17b?8a;29?xd60l0;6>4?:1y'5=g=9;k0D9>i;I631>"b93;m7dj::188ma0=831d=:o50;9~f4>c29086=4?{%3;e?75i2B?5;|`26=44ie494?=h9>k1<75rb0:a>5<4290;w)?7a;31e>N38o1C8=;4$d395c=nl<0;66gk6;29?j70i3:17pl=1283>1<729q/=5o513a8L16a3A>;96*j1;04?lb22900ei850;9j`2<722e:;l4?::a5g7=83>1<7>t$0:b>44d3A>;j6F;049'a4<5?2co97>5;hf5>5<>5fd483>>oc>3:17dj8:188k41f2900qo<>5;291?6=8r.:4l4>2d9K05`<@=:>7)k>:338ma3=831bh;4?::kg3?6=3`n36=44o05b>5<55;294~"60h0:>h5G41d8L1623-o:6??4ie794?=nl?0;66gk7;29?lb?2900c<9n:188yg4093:197>50z&25;hf;>5<8`826`=O<9l0D9>:;%g2>74>oc?3:17dj7:188k41f2900qo==4;297?6=8r.:4l4>2`9K05`<@=:>7)k>:568ma3=831bh;4?::m23d<722wi>;950;694?6|,82j6<N38<1/i<4>8:kg1?6=3`n=6=44ie594?=h9>k1<75rb20b>5<4290;w)?7a;31e>N38o1C8=;4$d3954=nl<0;66gk6;29?j70i3:17pl=1683>6<729q/=5o513c8L16a3A>;96*j1;3e?lb22900ei850;9l52g=831vn5<7s-;3m7?=a:J74c=O<9?0(h?51g9j`0<722co:7>5;n34e?6=3th9=44?:583>5}#91k1=?m4H52e?M27=2.n=7<8;hf6>5<>i6?h0;66sm1c594?2=83:p(<6n:00`?M27n2B?<85+e0813>oc=3:17dj9:188ma1=831d=:o50;9~f77e290>6=4?{%3;e?75m2B?k1<75rb0`:>5<2290;w)?7a;31a>N38o1C8=;4$d3964=nl<0;66gk6;29?lb02900ei650;9l52g=831vn>kl:180>5<7s-;3m7?=a:J74c=O<9?0(h?5c99j`0<722co:7>5;n34e?6=3th95:4?:283>5}#91k1=?o4H52e?M27=2.n=7<:;hf6>5<85fd483>>oc>3:17b?8a;29?xd49o0;684?:1y'5=g=9;o0D9>i;I631>"b938=7dj::188ma0=831bh:4?::kg5;|`04<<72<0;6=u+19c957c<@=:m7E:?5:&f5?413`n>6=44ie494?=nl>0;66gk8;29?j70i3:17pl=f783>0<729q/=5o513g8L16a3A>;96*j1;05?lb22900ei850;9j`2<722co47>5;n34e?6=3th8=h4?:483>5}#91k1=?k4H52e?M27=2.n=7<9;hf6>5<>oc03:17b?8a;29?xd4810;684?:1y'5=g=9;o0D9>i;I631>"b938=7dj::188ma0=831bh:4?::kg5;|`1b0<72<0;6=u+19c957c<@=:m7E:?5:&f5?413`n>6=44ie494?=nl>0;66gk8;29?j70i3:17pl=9783>0<729q/=5o513g8L16a3A>;96*j1;07?lb22900ei850;9j`2<722co47>5;n34e?6=3th94>4?:483>5}#91k1=?k4H52e?M27=2.n=7<;;hf6>5<>oc03:17b?8a;29?xd49m0;684?:1y'5=g=9;o0D9>i;I631>"b938=7dj::188ma0=831bh:4?::kg5;|`042<72<0;6=u+19c957c<@=:m7E:?5:&f5?413`n>6=44ie494?=nl>0;66gk8;29?j70i3:17pl=f583>0<729q/=5o513g8L16a3A>;96*j1;05?lb22900ei850;9j`2<722co47>5;n34e?6=3th9584?:483>5}#91k1=?k4H52e?M27=2.n=7<;;hf6>5<>oc03:17b?8a;29?xd50;0;684?:1y'5=g=9;o0D9>i;I631>"b938?7dj::188ma0=831bh:4?::kg5;|`05f<72<0;6=u+19c957c<@=:m7E:?5:&f5?413`n>6=44ie494?=nl>0;66gk8;29?j70i3:17pl<0783>0<729q/=5o513g8L16a3A>;96*j1;05?lb22900ei850;9j`2<722co47>5;n34e?6=3th9j>4?:483>5}#91k1=?k4H52e?M27=2.n=7<9;hf6>5<>oc03:17b?8a;29?xd51=0;684?:1y'5=g=9;o0D9>i;I631>"b938?7dj::188ma0=831bh:4?::kg5;|`1<4<72<0;6=u+19c957c<@=:m7E:?5:&f5?433`n>6=44ie494?=nl>0;66gk8;29?j70i3:17pl=9b83>1<729q/=5o513a8L16a3A>;96*j1;a`?lb22900ei850;9j`2<722e:;l4?::a74d=83>1<7>t$0:b>44d3A>;j6F;049'a4<6j2co97>5;hf5>5<6=4;:183!7?i3;9o6F;0g9K053<,l;1=o5fd483>>oc>3:17dj8:188k41f2900qo2b9K05`<@=:>7)k>:0`8ma3=831bh;4?::kg3?6=3f;5;|`067<72<0;6=u+19c957c<@=:m7E:?5:&f5?7b3`n>6=44ie494?=nl>0;66gk8;29?j70i3:17pl=9283>0<729q/=5o513g8L16a3A>;96*j1;07?lb22900ei850;9j`2<722co47>5;n34e?6=3th94=4?:483>5}#91k1=?k4H52e?M27=2.n=7<;;hf6>5<>oc03:17b?8a;29?xd5j<0;6?4?:1y'5=g=9;30D9>i;I631>"b93;:7dj::188k41f2900qo289K05`<@=:>7)k>:038ma3=831d=:o50;9~f7d629096=4?{%3;e?7512B?lh50;094?6|,82j6<<6;I63b>N38<1/i<4>1:kg1?6=3f;5;|`1ea<72;0;6=u+19c957?<@=:m7E:?5:&f5?763`n>6=44o05b>5<52;294~"60h0:>45G41d8L1623-o:6k1<75rb3c:>5<5290;w)?7a;31=>N38o1C8=;4$d3954=nl<0;66a>7`83>>{e:h=1<7<50;2x 4>f28827E:?f:J740=#m80:=6gk5;29?j70i3:17pl<4783>7<729q/=5o513;8L16a3A>;96*j1;32?lb22900c<9n:188yg53<3:1>7>50z&2:=:181>5<7s-;3m7?=9:J74c=O<9?0(h?5109j`0<722e:;l4?::a716=8381<7>t$0:b>44>3A>;j6F;049'a4<692co97>5;n34e?6=3th8?h4?:383>5}#91k1=?74H52e?M27=2.n=7?>;hf6>5<8`826<=O<9l0D9>:;%g2>47>i6?h0;66sm32:94?4=83:p(<6n:00:?M27n2B?<85+e0825>oc=3:17b?8a;29?xd4;?0;6?4?:1y'5=g=9;30D9>i;I631>"b93;:7dj::188k41f2900qo289K05`<@=:>7)k>:038ma3=831d=:o50;9~f63629096=4?{%3;e?7512B?N38<1/i<4=1:kg1?6=3`n=6=44ie594?=nl10;66a>7`83>>{e9kl1<7;50;2x 4>f288n7E:?f:J740=#m80946gk5;29?lb12900ei950;9j`=<722e:;l4?::a64`=83?1<7>t$0:b>44b3A>;j6F;049'a4<592co97>5;hf5>5<>i6?h0;66sm23394?3=83:p(<6n:00f?M27n2B?<85+e081<>oc=3:17dj9:188ma1=831bh54?::m23d<722wi??650;794?6|,82j6<N38<1/i<4lb:kg1?6=3`n=6=44ie594?=nl10;66a>7`83>>{e:?<1<7;50;2x 4>f288n7E:?f:J740=#m80::6gk5;29?lb12900ei950;9j`=<722e:;l4?::a7`g=832<6=4?{%3;e?7?:2B?44j:06957<6k3l1=>4>5;3g>x"6:90>7)?=1;78 a?==2.om7;4$e`91>"ck3?0(ij55:&ga?3<,82=6>5+19590>"b:3?0(h=55:&f0?3<,l?196*j6;78 `1==2.n47;4$d;91>"bi3?0(hl55:&fg?3<,ln196*je;78 ``==2.m<7;4$g391>"a:3?0(k=55:&e0?3<,o?196*i6;78 c1==2.m47;4$g;91>"ai3?0(kl55:&eg?3<,on196*ie;78 c`==2.:<=4:;%335?3<,8:9685+11191>"68=0>7)??5;78 4612<1/==955:&24=<23-;;57;4$02b>0=#99h196*>0b86?!77l3?0(<>j:49'55`==2.:==4:;%325?3<,8;9685+10191>"69=0>7)?>5;78 4712<1/=<955:&25=<23-;:57;4$03b>0=#98h196*>1b86?!76l3?0(16f3-o;685f4b83>>o3l3:17dm6:188mfg=831b=5650;9j5=?=831b8=650;9j05?=831b?54?:%34b?503g;4;h15>5<#9>l1?:5a16g95>=n;<0;6)?8f;14?k70m3807d=;:18'52`=;>1e=:k53:9j76<72-;o1965f3083>!70n39<7c?8e;48?l57290/=:h5369m52c=?21b>k4?:%34b?503g;5<#9>l1?:5a16g9=>=n<;0;6)?8f;62?k70m3:07d:?:18'52`=<81e=:k51:9j7c<72-;;o34a?4<3`9n6=4+16d904=i9>o1?65f3e83>!70n3>:7c?8e;68?l5d290/=:h5409m52c==21b?o4?:%34b?263g;5<#9>l18<5a16g93>=n;00;6)?8f;62?k70m3207d;m:18'52`==h1e=:k50:9j1<<72-;o1>65f5683>!70n3?j7c?8e;18?l31290/=:h55`9m52c=<21b984?:%34b?3f3g;5<#9>l19l5a16g92>=n>:0;6)?8f;7b?k70m3=07d8=:18'52`==h1e=:k58:9j24<72-;o1m65f5g83>!70n3?j7c?8e;`8?l3b290/=:h55`9m52c=k21b9i4?:%34b?3f3g;5<#9>l19l5a16g9a>=n==0;6)?8f;7b?k70m3l07d9j:18'52`=?m1e=:k50:9j3f<72-;o1>65f7883>!70n3=o7c?8e;18?l1?290/=:h57e9m52c=<21b;:4?:%34b?1c3g;5<#9>l1;i5a16g92>=n?<0;6)?8f;5g?k70m3=07d9;:18'52`=?m1e=:k58:9j36<72-;o1m65f7083>!70n3=o7c?8e;`8?l0a290/=:h57e9m52c=k21b:h4?:%34b?1c3g;5<#9>l1;i5a16g9a>=n>j0;6)?8f;5g?k70m3l07d8m:18'52`=?m1e=:k51198m3g=83.:;k48d:l23`<6921b:44?:%34b?1c3g;45<3`<<6=4+16d93a=i9>o1=954i7494?"6?o07d821>=n0<0;6)?8f;5g?k70m3;=76g74;29 41a2>n0b<9j:058?l>4290/=:h57e9m52c=9110e5<50;&23c<0l2d:;h4>9:9j<4<72-;5$05e>2b5<#9>l1;i5a16g95f=h1<7*>7g84`>h6?l0:h65f7183>!70n3=o7c?8e;3f?>o1=3:1(<9i:6f8j41b28l07d67:18'52`=0>1e=:k50:9j<3<72-;o1<65f8c83>!70n32h7c?8e;38?l>f290/=:h58b9m52c=:21b444?:%34b?>d3g;5<#9>l1595a16g94>=h1:0;6)?8f;;7?k70m3;07b7=:18'52`=1=1e=:k52:9l=4<72-;o1865`8g83>!70n33?7c?8e;78?j?b290/=:h5959m52c=>21d5i4?:%34b??33g;5<#9>l1595a16g9<>=h1k0;6)?8f;;7?k70m3307b7n:18'52`=1=1e=:k5a:9l=<<72-;o1o65`9683>!70n33?7c?8e;f8?j?1290/=:h5959m52c=m21d4h4?:%34b??33g;5<#9>l1o<5a16g94>=hk90;6)?8f;a2?k70m3;07bl7:18'52`=j>1e=:k50:9lf3<72-;o1>65`b283>!70n3h<7c?8e;18?jd5290/=:h5b69m52c=<21dn<4?:%34b?d03g;5<#9>l1n:5a16g92>=hio0;6)?8f;`4?k70m3=07boj:18'52`=j>1e=:k58:9lea<72-;o1m65`ac83>!70n3h<7c?8e;`8?jg>290/=:h5b69m52c=k21dm54?:%34b?d03g;5<#9>l1n:5a16g9a>=hi?0;6)?8f;`4?k70m3l07bo::18'52`=j>1e=:k51198kd2=83.:;k4m7:l23`<6921dm>4?:%34b?d03g;45<3fk:6=4+16d9f2=i9>o1=954o`294?"6?o0i;6`>7d821>=hjo0;6)?8f;`4?k70m3;=76ame;29 41a2k=0b<9j:058?jdc290/=:h5b69m52c=9110com50;&23c9:9lfg<72-;5$05e>g15<#9>l1n:5a16g95f=7g8a3>h6?l0:h65`a`83>!70n3h<7c?8e;3f?>i>n3:1(<9i:c58j41b28l07bm8:18'52`=k?1e=:k50:9lg0<72-;o1>65`c283>!70n3i=7c?8e;18?xd5><0;684?:1y'5=g=9;l0D9>i;I631>"b93;=7dj::188ma0=831bh:4?::kg5;|`2fg<72:0;6=u+19c957d<@=:m7E:?5:&f5?7a3`n>6=44ie494?=h9;<1<75rb0``>5<3290;w)?7a;31`>N38o1C8=;4$d3965=nl<0;66gk6;29?lb02900c<<9:188yg46l3:1?7>50z&2;4?::a64c=83>1<7>t$0:b>44c3A>;j6F;049'a4<582co97>5;hf5>5<;5>h0o;63=708g<>;5>m0o463=668g1>;5>?0o963=648g1>{tX3n?1U8k:4^534?[2a92T?m=5Q4g78Z1g63W>h<6P;249]072X39m1U8mo6P;fc9]0cgX3m>1U8h84^5g6?[2b<2T?i>524029`6=:;oh19?523g2917=:;ok19?523g;917=:;o219?52411917=:<9819?5233;917=::>k19>5226;916=::>219>52265916=::><19>5229f916=::1i19>5229`916=::1k19>5229;916=::li19>522d`916=::lk19>522d;916=::l219>522gd916=::oo19>522gf916=::oi19>522g`916=:;8?19>52306916=:;8919>52300916=:;8;19>522c6916=::k819>522c2916=::ho19>522`a916=::hk19>522`:916=::h<19>52357916=:;=919>52353916=:;:l19>5232f916=:;:h19>5232;916=:;:=19>52327916=:;lk1=564=2gb>16>349nm79j;<1fe?1d349nm79n;<1fe?1>349nm797;<1fe?10349nm799;<1fe?12349nm79;;<1fe?14349nm79=;<1fe?16349nm78i;<1fe?0b349nm78k;<1fe?0d349nm78m;<1fe?0f349nm786;<1fe?0?349nm788;<1fe?01349nm76:;<1fe?>3349nm76<;<1fe?>5349nm76>;<1fe?>7349nm79i;<1fe?1e349nm79?;<1fe?02349nm76k;<1fe?>e349nm76n;<1fe?>>3ty?=54?:3y]04><5:8;6<6>;|q7b5<72:qU8k>4=2da>4>7349m<7?70:p0<1=838pR978;<05b?7?92wx9==50;1xZ0643499m7j:;<117:8;<1e5?20349m<7:8;<1ee?20349m57:8;<1en7:8;<06e?20348>57:8;<06;7:8;<062?20348>97:8;<060?20348>?7:8;<07=?20348?47:8;<073?20348?:7:8;<071?20348?87:8;<077?20348?>7:8;<075?20348?<7:8;<3g5?2034;o<7:8;<3`b?2034;hi7:8;<3``?2034;ho7:8;<3`f?2034;hm7:8;<3`=?20348o=7:8;<0g4?20348hj7:8;<0`a?20348hh7:8;<0`g?20348hm7:8;<0`=?20348hn7:8;<0f7?20348n>7:8;<0f5?20348n<7:8;<0gb?20348oi7:8;<0g`?20348oo7:8;<0gf?20348=n7:8;<057:8;<1a5?20349i<7:8;<1bb?20349jh7:8;<1bg?20349jn7:8;<1be?20349j57:8;<1b4>63ty?j:4?:4:xZ1`0349mh7:8;<1ef?20349mo7:8;<637?2034>;>7:8;<112?203499<7:8;<11=?20349997:8;<3b`?2034;jo7:8;<3bf?2034;jm7:8;<3b=?2034;j47:8;<3b3?2034;j:7:8;<3b1?2034;m97:8;<3e0?2034;m?7:8;<3e6?2034;m=7:8;<3e4?2034;nj7:8;<3fa?2034;nh7:8;<3f7?2034;n>7:8;<3f5?2034;n<7:8;<3gb?2034;oi7:8;<3g`?2034;oo7:8;<3gf?20348897:8;<000?203488?7:8;<006?203488=7:8;<004?203489j7:8;<01a?203489h7:8;<01g?20349=97:8;<150?20349=>7:8;<155?20349=?7:8;<154?20349>j7:8;<16`?20349>o7:8;<16a?20349<>7:8;<144?20349<=7:8;<147?20349<87:8;<143?20349<97:8;<142?20349<47:8;<14=?203493:7:8;<1;0?20349397:8;<1;3?20349347:8;<1;f?20349357:8;<1;e?203493o7:8;<1;`?20349j=7:8;<1b4?203492j7:8;<1:a?203492h7:8;<1:g?203492n7:8;<1:e?20349257:8;<1:4>63ty?4n4?:3y]03?<5:kj6<6>;|q74>63ty?4l4?:3y]031<5:k36<6>;|q7<<<72;qU8;84=2c4>4>63ty?454?:3y]033<5:k=6<6>;|q7<3<72;qU8;=4=2c6>4>63ty?484?:3y]034<5:k?6<6>;|q7<1<72;qU8;?4=2a6>4>63ty?4>4?:3y]036<5:i?6<6>;|q7<7<72;qU88h4=2a0>4>63ty?4<4?:3y]00c<5:i96<6>;|q7<5<72;qU88j4=2a2>4>63ty?;k4?:3y]00e<5:i;6<6>;|q73`<72;qU88l4=2`:>4>63ty?;i4?:3y]00g<5:kn6<6>;|q73g<72;qU8864=2c0>4>63ty?;l4?:3y]001<5:k96<6>;|q73<<72;qU8884=2`e>4>63ty?;54?:3y]003<5:hn6<6>;|q732<72;qU88:4=2`g>4>63ty?;;4?:3y]005<5:hh6<6>;|q730<72;qU88<4=2`a>4>63ty?;94?:3y]007<5:hj6<6>;|q736<72;qU88>4=2`;>4>63ty?;?4?:3y]01`<5:h<6<6>;|q7=0<72;qU8:>4=2`5>4>63ty?594?:3y]03`<5:h>6<6>;|q7=6<72;qU8;k4=2`7>4>63ty?5?4?:3y]03b<5:h86<6>;|q7=4<72;qU8;m4=2`1>4>63ty?5=4?:3y]03d<5:h:6<6>;|q74>63ty?4:4?:3y]00?<5:km6<6>;|q73f<72;qU89k4=2cg>4>63ty?;<4?:3y]01b<5:kh6<6>;|q706<72;qU8>?4=2gb>=>?=7>52z\775=:;lk19o5rs563>5<5sW>9j63{t<:l1<77}Y<;n01>kn:458yv24l3:1>vP;2b9>7`g==?1v9=l:181[25j278il4:5:p06d=838pR9j6=4={_603>;4mh0=>6s|45;94?4|V=9=70=ja;42?xu3<10;6?uQ427896cf2?:0q~:;7;296~X3;=16?ho55g9~w1212909wS:<3:?0ad<2m2wx89;50;0xZ155349nm7;k;|q701<72;qU8?74=2gb>0e8m7>52z\76==:;lk1995rs017>5:=7?8c:?133<3j279444;b:?1a=<3j279jo4;b:?054<3j279n;4;b:?1e3<3j2788:4;b:?070<3j278il4l9:p7c7=839p1>h=:40896`6282:70=i0;6:?xu4n;0;6?u23g095=7<5:l?6i;4}r1eg?6=;r78ji4:2:?0bg<31278jn4>809~w6`c2909w0=id;3;5>;4no0o96s|3g294?5|5:l:68<4=2d3>4>6349m87j9;|q0bg<72:q6?kl5193896`d2<801>hi:e48yv5a;3:18v34=2d;>4>7349m87?8a:p7c1=83;3w0=ia;3;5>;51h0:4=522e390`=::m:18h522bd90`=::jo18h522bf90`=::ji18h522bc90`=::j31=5>4=3aa>1c<5;o869k4=3g1>1c<5;o:69k4=3g3>1c<5;nm69k4=3ff>1c<5;no69k4=3f`>1c<5;ni69k4=34a>1c<5;<369k4=34e>4>7348=i7?70:p7c0=838=w0=i9;3;5>;58o0?i63=0d87a>;58m0?i63=0b87a>;58k0?i63=0`87a>;5800?i63=0987a>;58>0?i63=5c87a>;5=h0?i63=5887a>;5=10?i63=5687a>;5=?0?i63=5487a>;5==0?i63=5287a>;5<00?i63=4987a>;5<>0?i63=4787a>;5<<0?i63=4587a>;5<:0?i63=4387a>;5<80?i63=4187a>;6l80?i63>d187a>;6ko0?i63>cd87a>;6km0?i63>cb87a>;6kk0?i63>c`87a>;6k00?i6s|3g794?40s49m47?71:?0fc<3m278nh4;e:?0fa<3m278nn4;e:?0fg<3m278nl4;e:?0f=<3m278n:4;e:?0f3<3m278n84;e:?0f1<3m278n>4;e:?0f7<3m278n<4;e:?0f5<3m278mk4;e:?0ea<3m278mn4;e:?0eg<3m278ml4;e:?0e<<3m278m54;e:?0e2<3m278m;4;e:?0e0<3m278m94;e:?0g0<3m278o94;e:?0g6<3m278o?4;e:?0g4<3m278o=4;e:?0f<<3m278mh4;e:?0e6<3m278m?4;e:?0af889~w6`b2908w0:?3;3;4>;38;0:4=523gd952g;=7>52ey>055=91;01><9:5g896472=o01><6:0:3?855=3>n70=95;6f?851<3>n70=92;6f?85193>n70=93;6f?85183>n70=:f;6f?852l3;3<63<5b82<5=:;:18h5236395=6<5:=869k4=257>1c<5:=<69k4=256>1c<5:==69k4=25;>1c<5:=269k4=2:5>1c<5:2?6<6?;<1;1?2b3493;7:j;<1;=:0:2?87fl3>n70?nc;6f?87fj3>n70?na;6f?87f13>n70?n8;6f?87f?3>n70?n6;6f?87f=3>n70?i5;6f?87a<3>n70?i3;6f?87a:3>n70?i1;6f?87a83>n70?jf;6f?87bm3>n70?jd;6f?87b;3>n70?j2;6f?87b93>n70?j0;6f?87cn3>n70?ke;6f?87cl3>n70?kc;6f?87cj3>n70<<5;6f?844<3>n70<<3;6f?844:3>n70<<1;6f?84483>n70<=f;6f?845m3>n70<=d;6f?845k3>n7p}=9c83>7}::0k19?5228a952g54z?1=d<60816>;j5d49>630=l?16>;;5d79~w6402908w0==6;71?855=3?970==8;34e>{t;;91<71?<5:8?6<9n;|q064<72;q6??>5539>774=9>k0q~==9;297~;4:00:4<523369`0=:;;81h85rs206>5<3s49997?71:?061278>l4k6:?06=2wx>:;50;0x971f2=h01?96:05b?xu5?o0;6?u226c95=5<5;2?6<9n;|q1==<72;q6>:o516c897?d2m=0q~<84;296~;5?00?n63=79823d=z{;=n6=4={<04=?7?;2794>4>7`9~w7142909w0<88;6a?840?3;:<50;0x97102=h01?99:05b?xu5?j0;6?u226595=5<5;2:6<9n;|q13g<72;q6>:85191897>728=j7p}=8983>7}::1n18o5229a952g7>52z?149516c8yv4>13:1>v3=8e823d=::0i1h;5rs3:4>5<5s483o7:m;<0;f?70i2wx>4?50;0x97>d282870<66;34e>{t:1<1<71d<5;2j6<9n;|q1=5<72;q6>5l5191897?228=j7p}=8483>7}::1k18o5229;952g52z?14:516c8yv4?m3:1>v3=8882<6=::091=:o4}r0f3?6=:r79in4;b:?1ag<6?h1v?h>:18184bk3;3?63=f7823d=z{::j6=4={<0fg?70i278>54k7:p6`0=838p1?km:5`897cf28=j7p}=f183>7}::lh1=5=4=3d6>41f3ty9i84?:3y>6`g=h7516c8yv4bn3:1>v3=e`82<6=::o>1=:o4}r0f0?6=:r79i44;b:?1a=<6?h1v?kj:18184b13;3?63=f2823d=z{;oo6=4={<0f7`9~w7`f2909w07}::oo18o522gf952g52z?1b`<60:16?=6516c8yv4a03:1>v3=fe87f>;5nj0:;l5rs221>5<5s48mh7?73:?042<6?h1v?h8:18184ak3>i70{t;9;1<74>4349;:7?8a:p756=838p1?hm:0:0?857=3;69l4=237>41f3ty8=l4?:3y>743=91901>?i:05b?xu48j0;6?u2307952g<5:896i84}r13b?6=:r78=94;b:?056<6?h1v>?6:181856<3;3?63<1d823d=z{::n6=4={<127?2e349:>7?8a:p74>=838p1>?<:0:0?856l3;41f3ty8=:4?:3y>744=91901>?l:05b?xu49?0;6?u230395=5<5:;i6<9n;|q117<72=h5539>60d=91;01??>:e4897742m?01??::e58yv47>3:1?v3=0g82<4=::0=1h8522969`0=z{;;;6=4={<03a?35348:=7?8a:p653=839p1?>j:0:2?84>>3n=70<73;f5?xu59;0;6?u221f917=::891=:o4}r030?6=;r79809>6<0=l<16>5=5d49~w773290;5900o963=1c8g3>;59o0o963=208g1>{t:991<7=t=32`>4>6348297j9;<0;6?b13ty9=;4?:3y>65d==;16><9516c8yv47:3:1?v3=0c82<4=::0?1h8522909`0=z{;;36=4={<03e?35348:57?8a:p657=839p1?>n:0:2?84><3n=70<71;f5?xu59h0;6?u221;917=::8h1=:o4}r034?6=;r79<44>809>6<2=l<16>5?5d49~w77d2909w0;<0:7?b13483<7j9;|q165<72;q6>=95539>677=9>k0q~?ie;297~;58>0:4<522819`0=::1:1h85rs0g`>5<2s4;jh7;=;<3e1?7?927:mk4k6:?2f44k7:p5d2=83>p13n=7p}>ad83>7}:9hi19?521`d952g54z?2ef<60816?75?=l116>k85d99~w4d72909w0?nb;71?87e93;;<12a?b1349;47j9;<0e1?b13ty:n?4?:6y>5dg==;16=o=516c894d22m<012m=01p1b783>7}:9h219?521c5952g54z?2e=<60816?751=l116>k:5d99~w4d?2909w0?n7;71?87e13;;<12g?b1349;:7j9;<0e7?b13ty:nl4?:3y>5d0==;16=oj516c8yv7>l3:18v3>a782<4=:;8i1h5523149`==::o91h55rs0`f>5<5s4;j97;=;<3ab?70i2wx=4m50;6x94g2282:70=>b;f4?857=3n<70:187842i3;3=63=108g1>;59:0o:63=148g<>{t::n1<704<5;><6<6>;|q115<72:q6>875193897742m=01??::e78yv44k3:1>v3=59866>;55<5s48>47?71:?1502wx>>l50;0x97302<801?:::0:2?xu5a0<5;;i6i64=33e>a0<5;8:6i84}r00e?6=:r799;4:2:?101<6081v?:k:186842>3;3=63=188g3>;59k0o963=1g8g3>;5:80o;6s|22;94?4|5;?>68<4=360>4>63ty98n4?:5y>603=91;01??m:e48977c2m?01??j:e78yv4403:1>v3=55866>;5<;0:4<5rs36a>5<4s48>87?71:?15a279=h4k6:p661=838p1?;<:4089726282:7p}=4`83>7}::<91=5?4=33f>a152z?2b0<2:27:i>4>809~w4b>2909w0?i4;71?87b:3;3=6s|1d`94?2|58l?6<6>;<3bb?b234;i=7j9;<3a7?b?3ty:h54?:3y>5c5==;16=h?51938yv7bi3:1?v3>f282<4=:9k;1h:521c19`0=z{8n<6=4={<3e6?3534;n<7?71:p5`?=838p1d783>7}:9o;19?521ed95=756z?2b4<60816=o;5d49>5g1=l?16=o75d99>5gb=l?16=oh5d79~w4b22909w0?i0;71?87cm3;3=6s|1d594?3|58l;6<6>;<3a3?b034;i57j:;<3a`?b034;ij7j8;|q2`1<72;q6=hh5539>5ab=91;0q~?j6;290~;6mo0:4<521c;9`3=:9kh1h8521ca9`0=z{8n86=4={<3fa?3534;oo7?71:p5`3=839p1809>5ge=l>1v?{t:;k1<704<5;9?6<6>;|q16<<72;q6>995539>665=91;0q~<=8;296~;5>63=3382<4=z{;8<6=4={<071?353488=7?71:p670=838p1?:;:4089757282:7p}=2483>7}::=919?5223d95=752z?107<2:279>h4>809~w7442909w0<;1;71?845l3;3=6s|23094?4|5;>;68<4=30`>4>63ty9?;4?:0y>616=91;0q~?l8;296~;6m:0>>63>d082<4=z{8i<6=4={<3f6?3534;o<7?71:p5f0=838p1:40894ea282:7p}>c483>7}:9l:19?521bg95=752z?2`c<2:27:oi4>809~w4e42909w0?ke;71?87dk3;3=6s|1b094?4|58no68<4=0aa>4>63ty:o<4?:3y>5ae==;16=no51938yv7d83:1>v3>dc866>;6k00:4<5rs3fb>5<2s4;o=7;=;<0f7?7?927:4o4k5:?1<1278il4;2:p5c0=838p1e28=j7p}>f683>7}:9jl19?5219a952g52z?2g`<2:27:4i4>7`9~w4`>2909w0?ld;71?87?m3;41f3ty:jo4?:3y>5fd==;16=4>516c8yv7ak3:1>v3>c`866>;6180:;l5rs0dg>5<5s4;h57;=;<3:6?70i2wx?4950;6x97522<801>o>:0:2?87>;3n>70=ja;1;?xu5=j0;6?u2226917=:9091=:o4}r06`?6=:r79?>4:2:?2=1<6?h1v?;j:181844:3?970?65;34e>{t:04<583=6<9n;|q125<72;q6>>>5539>5<1=9>k0q~<91;296~;5:o0>>63>99823d=z{;<96=4={<01a?3534;257?8a:p635=838p1?7}::;i19?5218`952g515y>6a7=<016>i>5489>6f`=<016>nk5489>6fb=<016>nm5489>6fg=<016>n75489>6fd=<016>h=5489>6`4=<016>h?5489>6`6=<016>ih5489>6ac=<016>ij5489>6ae=<016>il5489>7`e=l?16>;8516c8yv4f=3:1>v3=d0866>;5jl0:;l5rs3a;>5<3s48o=7?71:?1a6<2:2795:4k6:?1fcl:50;0x97b72<801?lk:05b?xu5k>0;69u22e295=7<5;o968<4=3;5>a><5;h>6i;4}r0b7?6=:r79ok4:2:?1ff<6?h1v?m9:18784dn3;3=63=e0866>;51?0o;63=b28g1>{t:h81<704<5;hi6<9n;|q1g0<72=q6>nk5193897c72<801?7::e:897d62m?0q~>63=b`823d=z{;i?6=4;{<0``?7?9279hk4:2:?1=028=j7p}=c283>1}::ji1=5?4=3ff>04<5;3?6i64=3cg>a352z?1gd<2:279n:4>7`9~w7e6290?w0;5lj0>>63=928g<>;5i00o96s|28f94?4|5;i268<4=3`5>41f3ty9o=4?:5y>6f?=91;01?jm:40897?42m=01?o8:e78yv4>n3:1>v3=cc866>;5j10:;l5rs3a1>5<3s48hn7?71:?1`a<2:279594k7:?1ego:50;0x97db2=h01?l;:05b?xu5jo0;6?u22cg9573<5;hm6<9n;|q1f7<72:q6>oj54c9>6g2=o<516c8yv4e=3:1?v3=be8260=::k>1=5=4=3`6>41f3ty9n=4?:2y>6ge=o<54c9>6g6=9>k0q~8522c095=5<5;h86<9n;|q1e`<72:q6>ol54c9>6g6=lk516c8yv4e93:1?v3=bc8260=::k:1=5=4=3`2>41f3ty9mn4?:2y>6gg=lk54c9>6de=9>k0q~8522`g95=5<5;km6<9n;|q1ed<72:q6>o754c9>6de=lo516c8yv4fl3:1?v3=b88260=::hi1=5=4=3cg>41f3ty9m54?:2y>6g>=lo54c9>6d>=9>k0q~8522`c95=5<5;ki6<9n;|q1e3<72:q6>o954c9>6d>=l8516c8yv4f13:1?v3=b68260=::h21=5=4=3c:>41f3ty9m:4?:2y>6g0=9;?01?o9:0:0?84f?3;;<3;g?b234;3n7j9;<0;7?b?349nm7:?;|q1`=<72h?5193894>c2m?01<6l:e4897>42m=01>kn:2d8yv4c?3:19v3=e182<4=:91o1h85219f9`3=::181h5523dc97`=z{;n=6=4:{<0gb?7?927:4k4k5:?2<`2794?4k7:?0ad<4l2wx>i;50;7x97bb282:70?60;f6?87?n3n=70<71;f;?85bi39h7p}=d583>0}::mn1=5?4=0;2>a3<583;6i84=3:2>a1<5:oj6>l4}r0g7?6==r79hn4>809>5<4=l<16=4?5d79>6=6=l116?ho53`9~w7b5290?w0;61;0o:63=818g3>;4mh0856s|27a94?4|5;41f3ty9:o4?:6y>63d=91;01?8n:e4897162m=01?8k:e5897002m=01?89:e:897022m20q~<99;296~;5>10>>63=6`823d=z{;<36=48{<05279:i4k6:?122279:;4k7:?120:>50;1x970a2<801?8j:408971628=j7p}=6d83>7}::?o1=5?4=352>a352cy>733=<016?;:5489>734=<016?;?5489>735=<016?;>5489>70`=<016?8j5489>70e=<016?8k5489>724=<016?:>5489>727=<016?:=5489>722=<016?:95489>723=<016?:85489>72>=<016?:75489>7=0=<016?5:5489>7=3=<016?595489>7=>=<016?5l5489>7=?=<016?5o5489>7=e=<016?5j5489>7d7=<016?l>5489>7<`=<016?4k5489>77777g=9>k01><=:e:896cf2=:37p}<3583>7}:;??19?52342952gn7>54z?020<60816?:75539>74`=l<16?8?5d49~w6542909w0=94;71?853n3;;<14734==;16?9j516c8yv5203:18v3<6382<4=:;><19?5230g9`2=:;=81h85rs213>5<5s49==7;=;<17g?70i2wx?8950;6x9606282:70=85;71?856l3n>70=;0;f6?xu4;;0;6?u2371917=:;=o1=:o4}r16=?6=4>809>721==;16?712=l<1v>{t;<<1<7:t=243>4>6349<87;=;<12`?b03498i7j:;|q06`<72;q6?8h5539>71g=9>k0q~=:5;290~;4=o0:4<52361917=:;8i1h85232a9`0=z{:8h6=4={<16`?35349?47?8a:p705=83>p1>;k:0:2?85093?970=>b;f5?85403n>7p}<2c83>7}:;>7>54z?01f<60816?:>5539>74d=l<16?>85d49~w64c2909w0=:e;71?85313;;<146?35349:o7j8;<10e?b23ty8884?:3y>706=v3<518260=:;<;1=:o4}r177?6=;r788k4;b:?000<3j2788>4>7`9~w6212908w0=;f;311>;4<<0:4>52354952g53z?00`<3j2788>4;b:?004<6?h1v>:;:180853m3;9963<4282<6=:;=>1=:o4}r10b?6=;r788i4;b:?004<3j278?k4>7`9~w6252908w0=;d;311>;4<80:4>52350952g53z?00f<3j278?k4;b:?07a<6?h1v>:?:180853k3;9963<3g82<6=:;=:1=:o4}r10f?6=;r788o4;b:?07a<3j278?o4>7`9~w65b2908w0=;b;311>;4;m0:4>5232g952g53z?00d<3j278?o4;b:?07<<6?h1v>=l:180853i3;9963<3c82<6=:;:i1=:o4}r103?6=;r78844;b:?07<<3j278?:4>7`9~w65f2908w0=;9;311>;4;00:4>5232c952g53z?00=<3j278?:4;b:?070<6?h1v>=7:18085303;9963<3682<6=:;:21=:o4}r102?6=;r788:4>249>763=91901>=9:05b?xu4>10;6>u236095=7<5:2=68<4=225>a153z?035<60816?5:5539>753=l<1v>88:18085093;3=63<84866>;48<0o:6s|37;94?5|5:=86<6>;<1;3?35349;:7j:;|q02d<72:q6?::5193896>?2<801>>8:e58yv51l3:1?v3<7682<4=:;1h19?5231:9`0=z{:6}:;>21=5?4=2:`>04<5::26i94}r15b?6=;r78;44>809>7=b==;16?=75d49~w61d2908w0=76;3;5>;41h0>>63=f28g3>{t;>k1<7=t=2:7>4>6349247;=;<0e6?b23ty8;o4?:2y>7=3=91;01>76:40897`52m<0q~=8d;297~;40>0:4<5238`917=::o91h85rs25f>5<4s49347?71:?0=f<2:279j94k7:p7=7=839p1>6m:0:2?85>n3?970u239;95=7<5:3o68<4=3d7>a353z?06c3=l>1v>6=:18085?k3;3=63;5n?0o;6s|39194?5|5:2o6<6>;<1b5?35348m:7j:;|q0=3<72=q6?l>5193894?32m?01<7<:e4896cf2:<0q~=65;290~;41o0:4<521879`0=:90>1h;523dc970=z{:3?6=4;{<1:a?7?927:5;4k5:?2=0278il4<4:p7<5=83>p1>7k:0:2?87>?3n>70?66;f5?85bi3987p}<9383>1}:;0i1=5?4=0;;>a3<583<6i84=2gb>6454z?0=g<60816=475d49>5<>=l?16?ho5309~w6?7290?w0=6a;3;5>;61h0o963>988g2>;4mh08<6s|39d94?2|5:326<6>;<3:f?b234;2m7j9;<1fe?4a3ty84h4?:2y>7<>=91;01<7m:e4896cf2;o0q~=je;2960}:;kl184523cg90<=:;kn184523ca90<=:;kh184523cc90<=:;k2184523c590<=:;k<184523c790<=:;k>184523c190<=:;k8184523c390<=:;k:184523`d90<=:;hn184523`a90<=:;hh184523`c90<=:;h3184523`:90<=:;h=184523`490<=:;h?184523`690<=:;j?184523b690<=:;j9184523b090<=:;j;184523b290<=:;k3184523`g90<=:;h9184523`090<=::?=1=:o4}r1f6?6=:r78nk4:2:?0adkn:c:8yv5b83:1>v3;4mh0i:6s|3ed94?4|5:hh68<4=2gb>g252z?0fg<2:278il4m3:p7ab=838p1>ln:40896cf2k80q~=kb;296~;4j10>>63{t;mk1<704<5:oj6o>4}r1g=?6=:r78n;4:2:?0adkn:b78yv5c?3:1>v3;4mh0ji6s|3e494?4|5:h868<4=2gb>db52z?0f7<2:278il4nc:p7a2=838p1>l>:40896cf2hh0q~=k3;296~;4j90>>63{t;m81<704<5:oj6l64}r1g4?6=:r78mi4:2:?0adkn:`48yv5dm3:1>v3;4mh0h86s|3bf94?4|5:kj68<4=2gb>d352z?0e<<2:278il4n4:p7fd=838p1>o7:40896cf2h90q~=la;296~;4i>0>>63{t;j31<704<5:oj6l?4}r1`kn:cd8yv5b13:1>v3;4mh0ii6s|3d:94?4|5:i?68<4=2gb>f552z?0g6<2:278il4md:p7`0=838p1>m=:40896cf2ki0q~=j5;296~;4k80>>63{t;l>1<704<5:oj6oo4}r1f7?6=:r78n44:2:?0adkn:c78yv5c93:1>v3;4mh0jm6s|3b494?4|5:k968<4=2gb><`52z?0af<6?h16?ho5c`9~w6cc2909w0<6c;f6?841=3;9:6s|17;94?4|58ho6i64=0`a>4413ty::l4?:3y>5g`=l116=om51348yv71j3:1>v3=1g8g<>;59m0:>;5rs04`>5<5s489=7j7;<02a?75>2wv9:<:181[24927?97:<1:&741<6>m1v9:>:181[24827?97:<0:&741<6>l1v9:?:181[25n27?97:=f:&741<6>o1v9=i:181[25m27?97:=e:&741<6?<1v9=j:181[25l27?97:=d:&741<6;<1v9=k:181[25k27?97:=c:&741<6;o1v9=l:181[25j27?97:=b:&741<691v9:n:181[24?27?97:<7:&741<6>81v9:6:181[24>27?97:<6:&741<6>;1v9:7:181[24=27?97:<5:&741<6>:1v9:8:181[24<27?97:<4:&741<6>=1v9:9:181[24;27?97:<3:&741<6><1v9:::181[24:27?97:<2:&741<6>?1v9:;:181[25127?97:=9:&741<6>>1v9=n:181[25027?97:=8:&741<6>11v9k=:181[2b:27?97:j2:&741<6?91v9kj:181[2bm27?97:je:&741<6?81v9h?:181[2a827?97:i0:&741<6?;1v9h8:181[2a?27?97:i7:&741<6?:1v8><:181[37;27?97;?3:&741<6?=1v9?7:181[26027?97:>8:&741<6??1v96j:181[21i27?97:9a:&741<6;?1v96l:181[21127?97:99:&741<6;>1v96m:181[21027?97:98:&741<6;11v96n:181[21?27?97:97:&741<6;01v966:181[21>27?97:96:&741<6;h1v967:181[21=27?97:95:&741<6;k1v969:181[21;27?97:93:&741<6;j1v96::181[21:27?97:92:&741<6;m1v96;:181[21927?97:91:&741<6;l1v96<:181[21827?97:90:&741<6<91v96=:181[22n27?97::f:&741<6<81v96>:181[22m27?97::e:&741<6<;1v96?:181[22l27?97::d:&741<6<:1v99i:181[22k27?97::c:&741<6<=1v99j:181[22j27?97::b:&741<6<<1v99k:181[22i27?97::a:&741<61v99n:181[22?27?97::7:&741<6<11v996:181[22>27?97::6:&741<6<01v997:181[22=27?97::5:&741<6:181[21k27?97:9c:&741<6=>1v97?:181[21j27?97:9b:&741<6=11v96i:181[21<27?97:94:&741<6=01v968:181[22127?97::9:&741<6=h1v99l:181[23m27?97:;e:&741<6=k1v99>:181[23l27?97:;d:&741<6=j1v978:181[2>?27?97:67:&741<6=m1v97k:181[2>l27?97:6d:&741<6=l1vqc7i3;296~N38<1vb4h;:181M27=2we5k;50;0xL1623td2j;4?:3yK05352zJ740=zf0l36=4={I631>{i1o31<7nh0;6?uG4178yk?aj3:1>vF;049~j<`d2909wE:?5:m=cb=838pD9>:;|l:b`<72;qC8=;4}o;eb?6=:rB?<85rn`23>5<5sA>;96saa1394?4|@=:>7p`n0383>7}O<9?0qco?3;296~N38<1vbl>;:181M27=2wem=;50;0xL1623tdj<;4?:3yK05352zJ740=zfh:36=4={I631>{ii931<7vF;049~jd6d2909wE:?5:me5b=838pD9>:;|lb4`<72;qC8=;4}oc3b?6=:rB?<85rn`33>5<5sA>;96saa0394?4|@=:>7p`n1383>7}O<9?0qco>3;296~N38<1vbl?;:181M27=2wem<;50;0xL1623tdj=;4?:3yK05352zJ740=zfh;36=4={I631>{ii831<7vF;049~jd7d2909wE:?5:me4b=838pD9>:;|lb5`<72;qC8=;4}oc2b?6=:rB?<85rn`03>5<5sA>;96saa3394?4|@=:>7p`n2383>7}O<9?0qco=3;296~N38<1vbl<;:181M27=2wem?;50;0xL1623tdj>;4?:3yK05352zJ740=zfh836=4={I631>{ii;31<7vF;049~jd4d2909wE:?5:me7b=838pD9>:;|lb6`<72;qC8=;4}oc1b?6=:rB?<85rn`13>5<5sA>;96sa84d94?7|@=:>7p`79e83>4}O<9?0qc66e;295~N38<1vb57i:182M27=2we4l>50;3xL1623td3m<4?:0yK0537>51zJ740=zf1k86=4>{I631>{i0h>1<7?tH526?xh?i<0;6f>3:1=vF;049~j=g0290:wE:?5:m=83;pD9>:;|l;e<<728qC8=;4}o:be?6=9rB?<85rn9ca>5<6sA>;96sa8`a94?7|@=:>7p`7ae83>4}O<9?0qc6ne;295~N38<1vb5oi:182M27=2we4o>50;3xL1623td3n<4?:0yK0537>51zJ740=zf1h86=4>{I631>{i0k>1<7?tH526?xh?j<0;6e>3:1=vF;049~j=d0290:wE:?5:m=83;pD9>:;|l;f<<728qC8=;4}o:ae?6=9rB?<85rn9`a>5<6sA>;96sa8ca94?7|@=:>7p`7be83>4}O<9?0qc6me;295~N38<1vb5li:182M27=2we4n>50;3xL1623td3o<4?:0yK0537>51zJ740=zf1i86=4>{I631>{i0j>1<7?tH526?xh?k<0;6d>3:1=vF;049~j=e0290:wE:?5:m=83;pD9>:;|l;g<<728qC8=;4}o:`e?6=9rB?<85rn9aa>5<6sA>;96sa8ba94?7|@=:>7p`7ce83>4}O<9?0qc6le;295~N38<1vb5mi:182M27=2we4i>50;3xL1623td3h<4?:0yK0537>51zJ740=zf1n86=4>{I631>{i0m>1<7?tH526?xh?l<0;6c>3:1=vF;049~j=b0290:wE:?5:m=83;pD9>:;|l;`<<728qC8=;4}o:ge?6=9rB?<85rn9fa>5<6sA>;96sa8ea94?7|@=:>7p`7de83>4}O<9?0qc6ke;295~N38<1vb5ji:182M27=2we4h>50;3xL1623td3i<4?:0yK0537>51zJ740=zf1o86=4>{I631>{i0l>1<7?tH526?xh?m<0;6b>3:1=vF;049~j=c0290:wE:?5:m<`>=83;pD9>:;|l;a<<728qC8=;4}o:fe?6=9rB?<85rn9ga>5<6sA>;96sa8da94?7|@=:>7p`7ee83>4}O<9?0qc6je;295~N38<1vb5ki:182M27=2we4k>50;3xL1623td3j<4?:0yK0537>51zJ740=zf1l86=4>{I631>{i0o>1<7?tH526?xh?n<0;6a>3:1=vF;049~j=`0290:wE:?5:m=83;pD9>:;|l;b<<728qC8=;4}o:ee?6=9rB?<85rn9da>5<6sA>;96sa8ga94?7|@=:>7p`7fe83>4}O<9?0qc6ie;295~N38<1vb5hi:182M27=2we5=>50;3xL1623td2<<4?:0yK0537>51zJ740=zf0:86=4>{I631>{i19>1<7?tH526?xh>8<0;63:1=vF;049~j<60290:wE:?5:m=5>=83;pD9>:;|l:4<<728qC8=;4}o;3e?6=9rB?<85rn82a>5<6sA>;96sa91a94?7|@=:>7p`60e83>4}O<9?0qc7?e;295~N38<1vb4>i:182M27=2we5<>50;3xL1623td2=<4?:0yK0537>51zJ740=zf0;86=4>{I631>{i18>1<7?tH526?xh>9<0;63:1=vF;049~j<70290:wE:?5:m=4>=83;pD9>:;|l:5<<728qC8=;4}o;2e?6=9rB?<85rn83a>5<6sA>;96sa90a94?7|@=:>7p`61e83>4}O<9?0qc7>e;295~N38<1vb4?i:182M27=2we5?>50;3xL1623td2><4?:0yK0537>51zJ740=zf0886=4>{I631>{i1;>1<7?tH526?xh>:<0;63:1=vF;049~j<40290:wE:?5:m=7>=83;pD9>:;|l:6<<728qC8=;4}o;1e?6=9rB?<85rn80a>5<6sA>;96sa93a94?7|@=:>7p`62e83>4}O<9?0qc7=e;295~N38<1vb4>50;3xL1623td2?<4?:0yK0537>51zJ740=zf0986=4>{I631>{i1:>1<7?tH526?xh>;<0;63:1=vF;049~j<50290:wE:?5:m=6>=83;pD9>:;|l:7<<728qC8=;4}o;0e?6=9rB?<85rn81a>5<6sA>;96sa92a94?7|@=:>7p`63e83>4}O<9?0qc750;3xL1623td28<4?:0yK0537>51zJ740=zf0>86=4>{I631>{i1=>1<7?tH526?xh><<0;63:1=vF;049~j<20290:wE:?5:m=1>=83;pD9>:;|l:0<<728qC8=;4}o;7e?6=9rB?<85rn86a>5<6sA>;96sa95a94?7|@=:>7p`64e83>4}O<9?0qc7;e;295~N38<1vb4:i:182M27=2we58>50;3xL1623td29<4?:0yK053>7>51zJ740=zf0?86=4>{I631>{i1<>1<7?tH526?xh>=<0;63:1=vF;049~j<30290:wE:?5:m=0>=83;pD9>:;|l:1<<728qC8=;4}o;6e?6=9rB?<85rn87a>5<6sA>;96sa94a94?7|@=:>7p`65e83>4}O<9?0qc7:e;295~N38<1vb4;i:182M27=2we5;>50;3xL1623td2:<4?:0yK0537>51zJ740=zf0<86=4>{I631>{i1?>1<7?tH526?xh>><0;63:1=vF;049~j<00290:wE:?5:m=3>=83;pD9>:;|l:2<<728qC8=;4}o;5e?6=9rB?<85rn84a>5<6sA>;96sa97a94?7|@=:>7p`66e83>4}O<9?0qc79e;295~N38<1vb48i:182M27=2we5:>50;3xL1623td2;<4?:0yK0537>51zJ740=zf0=86=4>{I631>{i1>>1<7?tH526?xh>?<0;63:1=vF;049~j<10290:wE:?5:m=2>=83;pD9>:;|l:3<<728qC8=;4}o;4e?6=9rB?<85rn85a>5<6sA>;96sa96a94?7|@=:>7p`67e83>4}O<9?0qc78e;295~N38<1vb49i:182M27=2we55>50;3xL1623td24<4?:0yK0537>51zJ740=zf0286=4>{I631>{i11>1<7?tH526?xh>0<0;63:1=vF;049~j<>0290:wE:?5:m==>=83;pD9>:;|l:<<<728qC8=;4}o;;e?6=9rB?<85rn8:a>5<6sA>;96sa99a94?7|@=:>7p`68e83>4}O<9?0qc77e;295~N38<1vb46i:182M27=2we54>50;3xL1623td25<4?:0yK0537>51zJ740=zf0386=4>{I631>{i10>1<7?tH526?xh>1<0;6>3:1=vF;049~j=83;pD9>:;|l:=<<728qC8=;4}o;:e?6=9rB?<85rn8;a>5<6sA>;96sa98a94?7|@=:>7p`69e83>4}O<9?0qc76e;295~N38<1vb47i:182M27=2we5l>50;3xL1623td2m<4?:0yK0537>51zJ740=zf0k86=4>{I631>{i1h>1<7?tH526?xh>i<0;63:1=vF;049~j=83;pD9>:;|l:e<<728qC8=;4}o;be?6=9rB?<85rn8ca>5<6sA>;96sa9`a94?7|@=:>7p`6ae83>4}O<9?0qc7ne;295~N38<1vb4oi:182M27=2we5o>50;3xL1623td2n<4?:0yK0537>51zJ740=zf0h86=4>{I631>{i1k>1<7?tH526?xh>j<0;63:1=vF;049~j=83;pD9>:;|l:f<<728qC8=;4}o;ae?6=9rB?<85rn8`a>5<6sA>;96sa9ca94?7|@=:>7p`6be83>4}O<9?0qc7me;295~N38<1vb4li:182M27=2we5n>50;3xL1623td2o<4?:0yK0537>51zJ740=zf0i86=4>{I631>{i1j>1<7?tH526?xh>k<0;63:1=vF;049~j=83;pD9>:;|l:g<<728qC8=;4}o;`e?6=9rB?<85rn8aa>5<6sA>;96sa9ba94?7|@=:>7p`6ce83>4}O<9?0qc7le;295~N38<1vb4mi:182M27=2we5i>50;3xL1623td2h<4?:0yK0537>51zJ740=zf0n86=4>{I631>{i1m>1<7?tH526?xh>l<0;63:1=vF;049~j=83;pD9>:;|l:`<<728qC8=;4}o;ge?6=9rB?<85rn8fa>5<6sA>;96sa9ea94?7|@=:>7p`6de83>4}O<9?0qc7ke;295~N38<1vb4ji:182M27=2we5h>50;3xL1623td2i<4?:0yK0537>51zJ740=zf0o86=4>{I631>{i1l>1<7?tH526?xh>m<0;63:1=vF;049~j=83;pD9>:;|l:a<<728qC8=;4}o;fe?6=9rB?<85rn8ga>5<6sA>;96sa9da94?7|@=:>7p`6ee83>4}O<9?0qc7je;295~N38<1vb4ki:182M27=2we5k>50;3xL1623td2j<4?:0yK0537>51zJ740=zutwKLNumc78;2d33k=9vLMLt0|BCT~{GH \ No newline at end of file diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v index 32de19e8a..531d56c08 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v @@ -63,7 +63,7 @@ output full; // synthesis translate_off - FIFO_GENERATOR_V4_4 #( + FIFO_GENERATOR_V4_3 #( .C_COMMON_CLOCK(0), .C_COUNT_TYPE(0), .C_DATA_COUNT_WIDTH(10), diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo new file mode 100644 index 000000000..cd949ccaa --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo @@ -0,0 +1,52 @@ +/******************************************************************************* +* This file is owned and controlled by Xilinx and must be used * +* solely for design, simulation, implementation and creation of * +* design files limited to Xilinx devices or technologies. Use * +* with non-Xilinx devices or technologies is expressly prohibited * +* and immediately terminates your license. * +* * +* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" * +* SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR * +* XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION * +* AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION * +* OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS * +* IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, * +* AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE * +* FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY * +* WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE * +* IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR * +* REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF * +* INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * +* FOR A PARTICULAR PURPOSE. * +* * +* Xilinx products are not intended for use in life support * +* appliances, devices, or systems. Use in such applications are * +* expressly prohibited. * +* * +* (c) Copyright 1995-2007 Xilinx, Inc. * +* All rights reserved. * +*******************************************************************************/ +// The following must be inserted into your Verilog file for this +// core to be instantiated. Change the instance name and port connections +// (in parentheses) to your own signal names. + +//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG +fifo_xlnx_512x36_2clk_18to36 YourInstanceName ( + .din(din), // Bus [17 : 0] + .rd_clk(rd_clk), + .rd_en(rd_en), + .rst(rst), + .wr_clk(wr_clk), + .wr_en(wr_en), + .almost_full(almost_full), + .dout(dout), // Bus [35 : 0] + .empty(empty), + .full(full)); + +// INST_TAG_END ------ End INSTANTIATION Template --------- + +// You must compile the wrapper file fifo_xlnx_512x36_2clk_18to36.v when simulating +// the core, fifo_xlnx_512x36_2clk_18to36. When compiling the wrapper file, be sure to +// reference the XilinxCoreLib Verilog simulation library. For detailed +// instructions, please refer to the "CORE Generator Help". + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco index 05ceffbe9..12b88da39 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco @@ -1,7 +1,7 @@ ############################################################## # # Xilinx Core Generator version K.39 -# Date: Fri Jul 30 20:43:00 2010 +# Date: Tue Aug 10 23:12:53 2010 # ############################################################## # @@ -32,7 +32,7 @@ SET verilogsim = true SET vhdlsim = false # END Project Options # BEGIN Select -SELECT Fifo_Generator family Xilinx,_Inc. 4.4 +SELECT Fifo_Generator family Xilinx,_Inc. 4.3 # END Select # BEGIN Parameters CSET almost_empty_flag=false @@ -78,5 +78,5 @@ CSET write_data_count=false CSET write_data_count_width=10 # END Parameters GENERATE -# CRC: 9b689ee4 +# CRC: 6866170 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso new file mode 100644 index 000000000..f1a6f7899 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso @@ -0,0 +1,3 @@ +blkmemdp_v6_2 +blk_mem_gen_v2_6 +fifo_generator_v4_3 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt new file mode 100644 index 000000000..f718bb394 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt @@ -0,0 +1,102 @@ + + + + + + +
+ + + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
+ + + +
+
+
+
+
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + +
+
+
+
+
+ + + +
+ + + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt new file mode 100644 index 000000000..18ba3e664 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt @@ -0,0 +1,8 @@ +# Output products list for +fifo_xlnx_512x36_2clk_18to36.ngc +fifo_xlnx_512x36_2clk_18to36.v +fifo_xlnx_512x36_2clk_18to36.veo +fifo_xlnx_512x36_2clk_18to36.xco +fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +fifo_xlnx_512x36_2clk_18to36_flist.txt +fifo_xlnx_512x36_2clk_18to36_xmdf.tcl diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt new file mode 100644 index 000000000..e0d45849d --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt @@ -0,0 +1,39 @@ +The following files were generated for 'fifo_xlnx_512x36_2clk_18to36' in directory +/home/matt/fpgapriv/usrp2/coregen/: + +fifo_xlnx_512x36_2clk_18to36.ngc: + Binary Xilinx implementation netlist file containing the information + required to implement the module in a Xilinx (R) FPGA. + +fifo_xlnx_512x36_2clk_18to36.v: + Verilog wrapper file provided to support functional simulation. + This file contains simulation model customization data that is + passed to a parameterized simulation model for the core. + +fifo_xlnx_512x36_2clk_18to36.veo: + VEO template file containing code that can be used as a model for + instantiating a CORE Generator module in a Verilog design. + +fifo_xlnx_512x36_2clk_18to36.xco: + CORE Generator input file containing the parameters used to + regenerate a core. + +fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt: + Please see the core data sheet. + +fifo_xlnx_512x36_2clk_18to36_flist.txt: + Text file listing all of the output files produced when a customized + core was generated in the CORE Generator. + +fifo_xlnx_512x36_2clk_18to36_readme.txt: + Text file indicating the files generated and how they are used. + +fifo_xlnx_512x36_2clk_18to36_xmdf.tcl: + ISE Project Navigator interface file. ISE uses this file to determine + how the files output by CORE Generator for the core can be integrated + into your ISE project. + + +Please see the Xilinx CORE Generator online help for further details on +generated files and how to use them. + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl new file mode 100644 index 000000000..f20d53f64 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl @@ -0,0 +1,68 @@ +# The package naming convention is _xmdf +package provide fifo_xlnx_512x36_2clk_18to36_xmdf 1.0 + +# This includes some utilities that support common XMDF operations +package require utilities_xmdf + +# Define a namespace for this package. The name of the name space +# is _xmdf +namespace eval ::fifo_xlnx_512x36_2clk_18to36_xmdf { +# Use this to define any statics +} + +# Function called by client to rebuild the params and port arrays +# Optional when the use context does not require the param or ports +# arrays to be available. +proc ::fifo_xlnx_512x36_2clk_18to36_xmdf::xmdfInit { instance } { +# Variable containg name of library into which module is compiled +# Recommendation: +# Required +utilities_xmdf::xmdfSetData $instance Module Attributes Name fifo_xlnx_512x36_2clk_18to36 +} +# ::fifo_xlnx_512x36_2clk_18to36_xmdf::xmdfInit + +# Function called by client to fill in all the xmdf* data variables +# based on the current settings of the parameters +proc ::fifo_xlnx_512x36_2clk_18to36_xmdf::xmdfApplyParams { instance } { + +set fcount 0 +# Array containing libraries that are assumed to exist +# Examples include unisim and xilinxcorelib +# Optional +# In this example, we assume that the unisim library will +# be magically +# available to the simulation and synthesis tool +utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library +utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36.ngc +utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36.v +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36.veo +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog_template +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36.xco +utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36_xmdf.tcl +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount associated_module fifo_xlnx_512x36_2clk_18to36 +incr fcount + +} + +# ::gen_comp_name_xmdf::xmdfApplyParams diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc new file mode 100644 index 000000000..d76e4c3db --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.4e +$5ca4g<,[o}e~g`n;"2*413&;$>"9 > %0:?*rjx&Uhk"hffn]{hk~X=88s?;Q=cmi\73rh91$ekb?40493456712:;<=>?01274>6789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123454<80;0=>5>.130?46=AGZ^X7OKDSC?=?699o1:<7GAPTV9twi`Wlg{xtQ{hsgpl9?=878=7<>5IORVP?vugnUna}zv_ujqavnXizyn~y26:1<12>772@D[YY4rne\ahvsqV~c~h}g_ogdeqc;13:5=n5>0;MVPUSS2{nThlzn_bmvjq:>294:>6?9:HLSQQ112922?IR\Y__6IAN<0794;733821CXZ_UU8gkpr;9>0;2<5=2:0254=52@D[YY4KIQC?5?699;196B[[PTV9@JVF480;2<<4338JJUSS2MCI0>?50?30?64=G\^[YY4KOC>05?69<298>>?=;249MKVR\3nbb1=::1<1?6>c3:y9<=>ig575)07<<8;087GAPTV9@LVE4:0;2<<44;MVPUSS2ME[N1=50?3827=11=1=548;;7;B57=1M=138??>;868=56>:23=86796831?<;>586l231EC^ZT;rqkbYa}efTxe|jsi>;>585<231EC^ZT;rqkbYa}efTxe|jsi]bwvcu|521<3<;;88JJUSS2yxdkRhzlm]wlwct`Vdnklzj<983:4><13E^X][[:ecweZeh}g~747>11c9:>JSSX\^1{Qkauc\gjsi|521<364AEFQE96902KOH_O31?:8EABUI58546OKDSC?7;>GCL[K7;364AEFQE9>9i2KOH_O39;2=<>GCL[K75364AEFQF96902KOH_L31?:8EABUJ58546OKDS@?7;>GCL[H7;3o4AEFQF9>=8720MIJ]B=:==>GTQGIT^HI<;CW1<>DR[VCEJB?4C59@E=G53JO:>6MGEBI\HLEBFZOTXT^J2:AJ0>EKCH>0OAEM3:AOV<=DGDGBXYKK159@KWCXOLDN^LZFOO]JJCI03JXNMYKK1:F1?AO13MCJ0=08;EKB8469?2NBM1?>>69GMD:6:7=0HDO312<4?AOF48>556JFA=36>5803MCJ0<;16:FJE979>2NBM1<16:FJE959>2NBM1:16:FJE939>2NBM1816:FJE919>2NBM1616:FJE9?9>2NBN1>17:FJF9776>1OEO2>1?58@LD;9;4<7IGM<01=3>BNJ5;?2:5KIC>21;169GMG:617<0HDL31?58@LD;:94<7IGM<33=3>BNJ5892:5KIC>17;1908;EKA8739?2NBN1<9>69GMG:5?7=0HDL329<4?AOE4;35:6JFB=0=3>BNJ59;245KIC>05?69?2NBN1=>>79GMG:46?1OEO2;>79GMG:26?1OEO29>79GMG:06?1OEO27>79GMG:>6>1OE]O30?;8@LVF480;2:5KIQC?5;189GMUD;;3:5;6JFPC>0:3=CGH6;2:5KO@>24;169GKD:6<730HBO31483:2=CGH6:9384DNC?5;0384DNC?7;01OCO2>3?58@JD;9=4<7IAM<07=3>BHJ5;=2:5KOC>23;12NDN1?17:FLF9476>1OCO2=1?58@JD;:;4<7IAM<31=3>BHJ58?2:5KOC>11;1;08;EMA8719?2NDN1<7>69GKG:517<0HBL32?58@JD;;9427IAM<2394;119:FLTD:6294<7IA_A=3=3>BHXK6;2:5KOQ@?5;1@fdzo:7J=4GOF1?L653@;97D<=;H1;?LHN\YU;<55FNHVS[57?3@DBX]Q?299JJLRWW9937D@FTQ]30==NF@^[S=;7;HLJPUY7>11BBDZ__15:?LHN\Z^JXH94IOKW[5603@DBXR>>7:KMMQY7:>1BBDZP0258MKOSW9><7D@FT^263>OIA]U;::5FNHV\421?2CEEYQ?A69JJLRX8K=0ECG[_1A4?LHN\V:O;6GAIU]3A2=NF@^T7:KMMQY6:>1BBDZP1258MKOSW8><7D@FT^363>OIA]U:::5FNHV\521?2CEEYQ>A69JJLRX9K=0ECG[_0A4?LHN\V;O;6GAIU]2A2=NF@^T=K94IOKW[7603@DBXR<>7:KMMQY5:>1BBDZP2258MKOSW;><7D@FT^063>OIA]U9::5FNHV\621?2CEEYQ=A69JJLRX:K=0ECG[_3A4?LHN\V8O;6GAIU]1A2=NF@^T>K94IOKW[6603@DBXR=>7:KMMQY4:>1BBDZP3258MKOSW:><7D@FT^163>OIA]U8::5FNHV\72168;HLJPZ5>?2CEEYQ2F^X?QC4:NVP60JR\=UG96C\GNL6?HS_KPi0Ald`rWgqwliik2Gbbb|Yesqjkk4;;O3341=I998?7C??459M55343G;:86@>1968J47>;2D:>95A1327?K759=1E=?<;;O3171=I9;>?7C?=559M57033G;9;95A13:7?K751:1E=>:4N0130>H6;8>0B<==4:L27623468J451<2D:?:=4N060?K72;2D::>5A1618J4>43G;2?6@=029M645H50:1E>4=4N220?K56;2D8>>5A3218J6243G9>?6@<629M725;N08KN7UNEVID@AG\INL\GMCDC?1XCX\LE69PVSGKWH=0__XNL^@7?VUUI=1X__L;;U[SA64<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?01]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3457XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:9S_k|umv277=R8&myj#|i/fa{*fjlp&GscQ}d^rmpwY`kVrd~=>?3^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\vaYwf}xTknQwos2341YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW{nT|cz}_fa\|jt789?T^h}zlu306>S7'nxm"h gbz-gim'Drd~R|k_qlwvZadWqey<=>9_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]q`Zvi|{UloRv`r1233ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtXzmU{by|Pgb]{kw6781UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=>PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^uq[uhszVmhSua}0122[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYpzVzexQhc^zlv567:VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT{Qnup\cfYg{:;<>Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_vp\tkruWniTtb|?016\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZquWyd~Ril_ymq4562W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{U|~R~ats]dgZ~hz9:;:R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pws]sjqtXojUsc>?06]Qavsk|88:7X> gsd-vc)`kq$h`fv re]sjqtXj`d7=3<>;T2,cw`)zo%lou lljz,vaYwf}xTnd`32?02?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl?7;463\:$kh!rg-dg}(ddbr$~iQnup\flh;<78:7X> gsd-vc)`kq$h`fv re]sjqtXj`d793<>;T2,cw`)zo%lou lljz,vaYwf}xTnd`36?02?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl?3;463\:$kh!rg-dg}(ddbr$~iQnup\flh;078:7X> gsd-vc)`kq$h`fv re]sjqtXj`d753 gsd-vc)`kq$h`fv re]sjqtXj`dT9?>4U1-dvc(un&mht#mcky-q`Zvi|{UiecQ9219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^514>S7'nxm"h gbz-gim'{nT|cz}_ckm[=473\:$kh!rg-dg}(ddbr$~iQnup\flhX1;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0104?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789::>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123571<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?2005?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt78999;6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}0120670<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<9<8;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34526:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?5358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678<;9:6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}01256f=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;:S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:==;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123371<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<:?=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm30?03?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb>2:76<]9%l~k }f.e`|+ekcq%yhR~ats]dg949:91^<"i}f/pe+be&jf`t"|k_qlwvZad4:49<6[?/fpe*w`(ojr%oaew/sf\tkruWni783328Q5)`zo$yj"ilx/aoo})ulVzexQhc=4=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`828582_;#j|i.sd,cf~)keas#jPpovq[be;078;7X> gsd-vc)`kq$h`fv re]sjqtXoj622>f:W3+bta&{l$knv!cmi{+wbXxg~ySjmP10d8Q5)`zo$yj"ilx/aoo})ulVzexQhc^02b>S7'nxm"h gbz-gim'{nT|cz}_fa\74`<]9%l~k }f.e`|+ekcq%yhR~ats]dgZ26n2_;#j|i.sd,cf~)keas#jPpovq[beX=8l0Y=!hrg,qb*adp'iggu!}d^rmpwY`kV<:j6[?/fpe*w`(ojr%oaew/sf\tkruWniT;f:W3+bta&{l$knv!cmi{+wbXxg~ySjmP9348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;878=7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh<0<12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo585>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>0:70<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlm783<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8085>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk181279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:06;<0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hi38?05?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`404996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^211>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV;996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^011>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV9996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^611>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV?996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^411>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV=996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^:11>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV3956[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^f2848512_;#j|i.sd,cf~)keas#jPpovq[beXizxnkRj><3<1=>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:0>0=9:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb64=4956[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^f2808512_;#j|i.sd,cf~)keas#jPpovq[beXizxnkRj><7<1=>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:0:0=9:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6414956[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^f28<8502_;#j|i.sd,cf~)keas#jPpovq[beXizxnkRj>_00;?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`Wm;T>?64U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4Y4:11^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1^61<>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:S8<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X>;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]46==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R6=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W08>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0106?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw67888>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0306?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw678:8>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0506?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw678<8>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0706?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw678>8>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0902?P6(o{l%~k!hcy,`hn~({U{by|Pbhl?4;463\:$kh!rg-dg}(ddbr${Qnup\flh;978:7X> gsd-vc)`kq$h`fv ws]sjqtXj`d7>3<>;T2,cw`)zo%lou lljz,swYwf}xTnd`33?02?P6(o{l%~k!hcy,`hn~({U{by|Pbhl?0;463\:$kh!rg-dg}(ddbr${Qnup\flh;=78:7X> gsd-vc)`kq$h`fv ws]sjqtXj`d7:3<>;T2,cw`)zo%lou lljz,swYwf}xTnd`37?02?P6(o{l%~k!hcy,`hn~({U{by|Pbhl?<;473\:$kh!rg-dg}(ddbr${Qnup\flhX8;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU:>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR<=0:W3+bta&{l$knv!cmi{+rtXxg~ySoga_203?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\076<]9%l~k }f.e`|+ekcq%|~R~ats]amkY2:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV<9<6[?/fpe*w`(ojr%oaew/vp\tkruWkceS: gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?012263=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;=?94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos234475>2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>=269V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567:88=7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01113>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:8>?84U1-dvc(un&mht#mcky-tvZvi|{UiecQwos2341403\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=:>279V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567=;=0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?04312>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:=>n5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r123247X[^:9o6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012554YT_88<7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?014163=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;;?94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos23427582_;#j|i.sd,cf~)keas#z|Ppovq[be;878;7X> gsd-vc)`kq$h`fv ws]sjqtXoj6:2?>4U1-dvc(un&mht#mcky-tvZvi|{Ulo1<1219V4*aun'xm#jmw.bnh|*quWyd~Ril<2<14>S7'nxm"h gbz-gim'~xT|cz}_fa?0;473\:$kh!rg-dg}(ddbr${Qnup\cf:26;:0Y=!hrg,qb*adp'iggu!xr^rmpwY`k5<5>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh0:0=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm38?3e?P6(o{l%~k!hcy,`hn~({U{by|Pgb]35c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[47a3\:$kh!rg-dg}(ddbr${Qnup\cfY59o1^<"i}f/pe+be&jf`t"y}_qlwvZadW:;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU?=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS8?i;T2,cw`)zo%lou lljz,swYwf}xTknQ91g9V4*aun'xm#jmw.bnh|*quWyd~Ril_63e?P6(o{l%~k!hcy,`hn~({U{by|Pgb];63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn6;2?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?5;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol0?0=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc959:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij2;>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;=78=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<7<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo5=5>;5Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef>;:73<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\773<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT8?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\173<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT:?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\373<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT4?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:76;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>2:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<2=>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl8682?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:36;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>6:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<29>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl86<2?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:?6;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]36==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R?=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W;837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\77><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012360=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89::>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012160=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:8>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012760=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:>>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012560=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:<>l5Z0.eqb+ta'nf;"j gs3-vcqa|&XJAR\K_DL\BR@S9;i0Y=!hrg,qb*ak8'xo#j|>.sdtbq)UIDUYHRKA_GUEP4Y6:j1^<"i}f/pe+bj7&{n$k?!rguep*TFEVXOSH@PFVDW5Z4512_;#j|i.sd,ci6)zm%l~< }fvdw+WGJW[OLCXZPEO307>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj_GQN[C@c9:<0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`YA[DUMJi?"Io1;?P6(o{l%~k!hl1,q`*au9'xm{kz ctpq[cqa|VymykPFRO\BCb6%@d:=>=4U1-dvc(un&mg<#|k/fp2*w`pn}%hy|Pfvdw[vrf|lUM_@QIFe002>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj_GQN[C@c:$Ce?55Z0.eqb+ta'nf;"j gs3-vcqa|&i~~Qiwgv\wqgsmVLXARHId3/Jj47502_;#j|i.sd,ci6)zm%l~< }fvdw+`kw|pUm{kzPfc04?P6(o{l%~k!hl1,q`*au9'xm{kz elrw}Z`pn}Ub>h5Z0.eqb+ta'nf;"j gs3-vcqa|&of|ywPfvdw[lYhz9:;!re-dvdu)zz~x#n> c`pq}kcs494956[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$ol|}yogw848512_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(khxyuck{<3<1=>S7'nxm"h gm2-va)`zhy%~~z|/b2,gdtuqgo0>0=f:W3+bta&{l$ka>!re-dvdu)zz~x#n> glw{*bk\8T$la< b13d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.enq}(`eR;V"jc|.lq1b>S7'nxm"h gm2-va)`zhy%~~z|/b2,chs&ngP>P hmr,nw7`<]9%l~k }f.eo4+tc'nxj#||tr-`4*aj}q$laV=R.fop*hu5n2_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(ods"jcT4\,div(j{;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&|:0=0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0>2:75<]9%l~k }f.eo4+tc'nxj#||tr-`4*p64;49?6[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$z<2<>318Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.t28185j2_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(~8U;Sl`k012357d<]9%l~k }f.eo4+tc'nxj#||tr-`4*p6W8Ujbi>?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4Y5Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.t2[6Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0]7[dhc89:;=?74U1-dvc(un&mg<#|k/fpbw+tt|z%h="mnrs{maq:76;30Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&ij~waeu>2:7?<]9%l~k }f.eo4+tc'nxj#||tr-`5*efz{seiy2=>3;8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.abvwim}682?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h="ibuy,di^6Z&ng:"`?=f:W3+bta&{l$ka>!re-dvdu)zz~x#n? glw{*bk\9T$la~ bs3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.enq}(`eR8V"jc|.lq1b>S7'nxm"h gm2-va)`zhy%~~z|/b3,chs&ngP?P hmr,nw7`<]9%l~k }f.eo4+tc'nxj#||tr-`5*aj}q$laV:R.fop*hu5;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~86;2?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x><0<17>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4:56;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&|:0>0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n? v0>7:7d<]9%l~k }f.eo4+tc'nxj#||tr-`5*p6W9Ujbi>?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4Y6Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t2[7Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n? v0]0[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x>_5]bja6789;9<6[?/fpe*w`(oe:%~i!hr`q-vvrt'jef|=>4U1-dvc(un&mg<#|k/fpbw+tt|z%ym`Qjmqvz[cdXaVey<=>?309V4*aun'xm#jb?.sf,cwgt&{y"|nm^gntqXnkUbSb|?012266=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}8?7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{1368Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkr5:=1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by==4:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmp1433\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|d9?:4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov561=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}=986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at907?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs1;30Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>3:7e<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2?>^pw6<=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1?12b9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5;5Sz=9:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4;49o6[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az878Xz}827X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?7;4d3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw33?]qp7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2;>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6?2R|{289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5?5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}939W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8385k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<7<\vq4>3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw37?0`?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7;3Q}t3;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp632?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:?6Vx>l5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]{kw:76;k0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPxnp?5;4f3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSua}<3<1e>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vrd~1=12`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{6?2?o4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;=78j7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8385i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=5=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc27>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx75311g9V4*aun'xm#jb?.sf,vuhsz&idycz31?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=0=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?7;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9299o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;=7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5<5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~7;3?i;T2,cw`)zo%l`= }d.psjqt(kfex1611g9V4*aun'xm#jb?.sf,vuhsz&idycz39?3f?P6(o{l%~k!hl1,q`*twf}x$ob{at^22a>S7'nxm"h gm2-va)uxg~y#naznu]25`=R8&myj#|i/fn3*wb(zyd~"m`uov\64c<]9%l~k }f.eo4+tc'{zex!lotlw[67b3\:$kh!rg-dh5(ul&x{by| cnwmpZ26m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY29l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX>8o0Y=!hrg,qb*ak8'xo#~ats-`kphsW>;n7X> gsd-vc)`d9$yh"|nup,gjsi|V2:i6[?/fpe*w`(oe:%~i!}povq+firf}U2>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<2?>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?5;453\:$kh!rg-dh5(ul&x{by| cnwmpZb64;49>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=1=1239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>7:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;=7897X> gsd-vc)`d9$yh"|nup,gjsi|Vn:0;0=2:W3+bta&{l$ka>!re-qtkru'je~byQk1=5=67=R8&myj#|i/fn3*wb(zyd~"m`uov\`4:?6;80Y=!hrg,qb*ak8'xo#~ats-`kphsWm;753<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_102?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[4463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W;8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S><>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_502?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[0463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W?8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S:<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_902?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[<4>3\:$kh!rg-dh5(pz&m|m~ xsuq,g4)di{xrbhz30?0:?P6(o{l%~k!hl1,tv*apiz$|y} c0-`ewt~fl~7=3<6;T2,cw`)zo%l`= xr.etev(p{}y$o gsd-vc)`d9$|~"ixar,twqu(k8%hm|vndv?7;4a3\:$kh!rg-dh5(pz&m|m~ xsuq,g4)`e|r%k`U?]/en5+k6:o1^<"i}f/pe+bj7&~x$kzo|.vqww*e6'ng~t#ib[0_-chu)ez8m7X> gsd-vc)`d9$|~"ixar,twqu(k8%laxv!glY1Y+aj{'gx>k5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#jczx/en_6[)ody%a~/w3?4;443\:$kh!rg-dh5(pz&m|m~ xsuq,g4)q95;5>>5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#{?32?00?P6(o{l%~k!hl1,tv*apiz$|y} c0-u5959::1^<"i}f/pe+bj7&~x$kzo|.vqww*e6';783o5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#{?P1^cm`567888i7X> gsd-vc)`d9$|~"ixar,twqu(k8%}=RTbbz?01226<=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+fguzpdnx1>1289V4*aun'xm#jb?.vp,crgt&~y"m=/bcqv|hb|5;5>45Z0.eqb+ta'nf;"z| gvcp*rus{&i9#no}rxlfp949:01^<"i}f/pe+bj7&~x$kzo|.vqww*e5'jky~t`jt=1=6c=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+bkrp'mfW=S!gl3-i44a3\:$kh!rg-dh5(pz&m|m~ xsuq,g7)`e|r%k`U>]/enw+kt:o1^<"i}f/pe+bj7&~x$kzo|.vqww*e5'ng~t#ib[3_-chu)ez8m7X> gsd-vc)`d9$|~"ixar,twqu(k;%laxv!glY0Y+aj{'gx>k5Z0.eqb+ta'nf;"z| gvcp*rus{&i9#jczx/en_1[)ody%a~<<;T2,cw`)zo%l`= xr.etev(p{}y$o?!y1=2=66=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+s7;97887X> gsd-vc)`d9$|~"ixar,twqu(k;%}=1<1229V4*aun'xm#jb?.vp,crgt&~y"m=/w3?7;443\:$kh!rg-dh5(pz&m|m~ xsuq,g7)q95>5>o5Z0.eqb+ta'nf;"z| gvcp*rus{&i9#{?P0^cm`567888i7X> gsd-vc)`d9$|~"ixar,twqu(k;%}=R?Paof34566:k1^<"i}f/pe+bj7&~x$kzo|.vqww*e5';T>Road123444e3\:$kh!rg-dh5(pz&m|m~ xsuq,g7)q9V9Tmcj?01226g=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+s7X?0003?P6(o{l%~k!hl1,tv*apiz$|y} cnos576<]9%l~k }f.eo4+qu'n}j#y|tr-`khv5:11^<"i}f/pe+bj7&~x$kzo|.vqww*tfeVl~`aQib^k11>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVc9o6[?/fpe*w`(oe:%{!hw`q-svrt'{kfSk{cl^k\kw67898o7X> gsd-vc)`d9$|~"ixar,twqu(zhgTjxbc_h]lv56788;o7X> gsd-vc)`d9$|~"|nm^uq[`hXa8887X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{259V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjq75<2_;#j|i.sd,ci6){%||cz}/LalqkrXkfex?<;;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw772<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~?>95Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu710>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|?8?7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{7368Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkr?:01^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=2=6f=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1>1_sv1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir0<0=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~484T~y<6;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw[f;:78h7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?6;Yu|;30Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPcx>0:7e<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2<>^pw6<=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1:12b9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5>5Sz=9:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4<49o6[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az808Xz}827X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?2;4d3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw36?]qp7?<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot28>3a8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6<2R|{2`9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{6;2?o4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\|jt;978j7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8785i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=1=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc2;>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx793;:7b<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|38?]qp4`<]9%l~k }f.eo4+qu'~zex!lotlw8586n2_;#j|i.sd,ci6){%||cz}/bmvjq:668l0Y=!hrg,qb*ak8'}y#z~ats-`kphs4;4:j6[?/fpe*w`(oe:%{!xpovq+firf}682f:W3+bta&{l$ka>!ws-ttkru'je~by2:>0d8Q5)`zo$yj"ic0/uq+rvi|{%hcx`{<7<2b>S7'nxm"h gm2-sw)pxg~y#naznu>4:4`<]9%l~k }f.eo4+qu'~zex!lotlw8=86m2_;#j|i.sd,ci6){%||cz}/bmvjqY79l1^<"i}f/pe+bj7&~x${}`{r.alqkrX98o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW;;n7X> gsd-vc)`d9$|~"ynup,gjsi|V9:i6[?/fpe*w`(oe:%{!xpovq+firf}U?=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T9e:W3+bta&{l$ka>!ws-ttkru'je~byQ7239V4*aun'xm#jb?.vp,suhsz&idyczPd0>3:74<]9%l~k }f.eo4+qu'~zex!lotlw[a7;97897X> gsd-vc)`d9$|~"ynup,gjsi|Vn:0?0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk1=1=67=R8&myj#|i/fn3*rt(yd~"m`uov\`4:36;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;793<=;T2,cw`)zo%l`= xr.usjqt(kfexRj><7<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5919:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl8632??4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?P0338Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3\577<]9%l~k }f.eo4+qu'~zex!lotlw[a7X:;;0Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;T???4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?P4338Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3\177<]9%l~k }f.eo4+qu'~zex!lotlw[a7X>;;0Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;T;??4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?P8308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?4;453\:$kh!rg-dh5(pz&}{by| cnwmpZb54849>6[?/fpe*w`(oe:%{!xpovq+firf}Uo>1<1239V4*aun'xm#jb?.vp,suhsz&idyczPd3>0:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;<7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn9080=2:W3+bta&{l$ka>!ws-ttkru'je~byQk2=4=67=R8&myj#|i/fn3*rt(yd~"m`uov\`7:06;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm8743<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_102?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[4463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W;8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S><>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_502?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[0463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W?8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S:<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_935?P6(o{l%~k!bel-gkprXaV:::6[?/fpe*w`(elg$hb{{_h]252=R8&myj#|i/lgn+air|VcT==?8;T2,cw`)zo%fi`!kotv\mZ769>1^<"i}f/pe+hcj'me~xRgP1334?P6(o{l%~k!bel-gkprXaV;8=:5Z0.eqb+ta'dof#iazt^k\51703\:$kh!rg-nah)cg|~TeR?:169V4*aun'xm#`kb/emvpZoX9?;<7X> gsd-vc)jmd%ocxzPi^3453=R8&myj#|i/lgn+air|VcT><84U1-dvc(un&gna"j`uu]j[6713\:$kh!rg-nah)cg|~TeR:>6:W3+bta&{l$ahc dnww[lY29?1^<"i}f/pe+hcj'me~xRgP6048Q5)`zo$yj"cjm.flqqYnW>;=7X> gsd-vc)jmd%ocxzPi^:22>S7'nxm"h mdo,`jssW`U2=45Z0.eqb+ta'dof#iazt^ofi9699h1^<"i}f/pe+hcj'me~xRcjm=33:4g<]9%l~k }f.ofi*bh}}Ufi`2>1?3b?P6(o{l%~k!bel-gkprXelg7=?0>a:W3+bta&{l$ahc dnww[hcj4895=l5Z0.eqb+ta'dof#iazt^ofi97368k0Y=!hrg,qb*kbe&ndyyQbel>21;7f3\:$kh!rg-nah)cg|~Tahc317<2e>S7'nxm"h mdo,`jssWdof0<91189V4*aun'xm#`kb/emvpZkbe5;5=45Z0.eqb+ta'dof#iazt^ofi949901^<"i}f/pe+hcj'me~xRcjm=1=5<=R8&myj#|i/lgn+air|Vgna1:1189V4*aun'xm#`kb/emvpZkbe5?5=45Z0.eqb+ta'dof#iazt^ofi909901^<"i}f/pe+hcj'me~xRcjm=5=5<=R8&myj#|i/lgn+air|Vgna161189V4*aun'xm#`kb/emvpZkbe535:h5Z0.eqb+ta'dof#jlb.f`nc+aeenk%bjklc/`nc*dkcVgnaRijndpbpjt(~hfbh#m|ts-qehjhgyQ;Q#|nm/p,r7Yig`dbx#|nm.fs73~60'xja gsd-vc)uidUyhRka169V4*aun'xm#ob_sgdkprXmg;87X> gsd-vc)uidU|~Rka1e9V4*aun'xm#}{bmi,vaYu{}Ujkh219V4*aun'xm#}{bmi,vaYu{}Ujkh_e314>S7'nxm"h rrvahn)ulVxxxRo|rde\`77d3\:$kh!rg-qwqdkc&xoS}{_bmnf4b<]9%l~k }f.pppgjl'{nT~~zPcnoa54c<]9%l~k }f.pppgjl'{nT~~zPrde?4;7b3\:$kh!rg-qwqdkc&xoS}{_sgd8486m2_;#j|i.sd,vvredb%yhR||t^pfc9499m1^<"i}f/pe+wusjea$~iQ}su]qabY79m1^<"i}f/pe+wusjea$~iQ}su]qabY69m1^<"i}f/pe+wusjea$~iQ}su]qabY59m1^<"i}f/pe+wusjea${Q}su]bwwc`:91^<"i}f/pe+wusjea${Q}su]bwwc`Wm;9<6[?/fpe*w`(zz~i`f!xr^pppZgtzlmTh??l;T2,cw`)zo%yylck.uq[wusWjefnd:W3+bta&{l$~~zmlj-tvZtt|VxnkR>>d:W3+bta&{l$~~zmlj-tvZtt|VxnkR?n;TQFVZGKAHYh7X]JR^TJWLDKM:1]ON74VHGT[Q_WM:1\IL=4WD@a?RTN\LUME_][c:UQMQCXEFNNSLm4WSKWAZKHLLUI=i5WIMKM\(^CJ):%=-][UC"3*4&F[JCB96V@RB[5?]USD@H<7U][_FLG3>^T\V\HOo5W_BMQAZOINF<0TilPIed8\anXX{cfZh||inl24>^ceVGjfb|Yesqjkk773QnfS@gaosTfvvohfj1j``a|t^gntqe3hffc~zPftno2>dfkb{h6lncjws[hguclx87nbdd:fbpdYdg|d$='k;ecweZeh}g~#=$j4d`vb[firf}"9%i5kauc\gjsi|!9"h6jnt`]`kphs =#o7io{a^alqkr/= n0hlzn_bmvjq.1!m1omyoPcnwmp-1.l2njxlQlotlw,=/a3mkmRm`uov?)69gmk.68 =0hd`'10+4?aoi 88";6jfn)30-2=cag":8$94dhl+50/03mce$<8&7:fjj-70!>1oec&>8(58`lh/90#=7iga(3+4?aoi ;:";6jfn)02-2=cag"9>$94dhl+66/03mce$?:&7:fjj-42!>1oec&=6(58`lh/:>#<7iga(3:*3>bnf!82%;5kio*0-2=cag"8<$94dhl+74/03mce$><&7:fjj-54!>1oec&<4(58`lh/;<#=7iga(5+5?aoi <#=7iga(7+5?aoi >#=7iga(9+5?aoi 0#=7iga<1<4?aoi48:5;6jfn=32:2=cag6:>394dhl?56803mce0<:17:fjj9726>1oec2>6?58`lh;9>4<7iga<0:=3>bnf5;22;5kio>2:2=cag69<394dhl?64803mce0?<17:fjj9446>1oec2=4?58`lh;:<4<7iga<34=3>bnf58<2:5kio>1<;1409;ekm87803mce0>>17:fjj9566>1oec2<2?58`lh;;:4<7iga<26==>bnf59>6=08;ekm8639>2nbb1=16:fjj929>2nbb1;16:fjj909>2nbb1916:fjj9>9>2nbb1717:flqq.7!>1ocxz'1(:8`jss 8:"46j`uu*25,>bh}}":9$64dnww,40.02ndyy&>7(58`jss ;#<7iazt)1*3>bh}}"?%:5kotv+1,199gkpr;9:437iazt=37:==cg|~7=807;emvp9716h1ocxz31683:==cg|~7=:08;emvp979?2ndyy2=>69gkpr;;7=0hb{{<5<4?air|5?5;6j`uu>5:2=cg|~7;394dnww8=803me~x1718:ggmc4iom?0i`~{y208bl`hWnoeio{os]u0Z5+(Qcgecv/CNPF$Bcim{kc.>0/3-467d3ocmcRvcny]657~4>V8h`fQ<6um2<6g`nnfUs`cvP500{73Y5keaT?;z`19.emciXoldn~lz`r^t7[6*|kVbjRgat^aoo86+kVbjR}}su?3(fYulVlyi|3>,b]kevYulVnjxlQlotlw95*dWmceSzgkti?02)eX`hyT{Qkauc\gjsi|4:'oRhzlm]ehdatW{yS{oc=1.`[lkwdlgnbyo{inl\p|vb5;&hSx}j_doaaabblVxnk0>#c^uq[ctby4;'oR{|e^flqqYu{}7: nQznegqbiipWee|1="l_icp[jpbzofd{0>#c^rqaiiflVfjxh`ly<2/gZbh}}U|eizg=0:/gZktofdTzlb21-a\vaYcmy~c1<>=4-a\lduX}gnn~kb`w<2/gZnf{Vkgab}{_gwoh86+kVbjR||t<3/gZbf|hUhcx`{_vkgpm;>$jUcm~Qxr^c`o86+kVxiRklc<2/gZehedeeSnb`cj?3(fYpzVkhgRb`w<2/gZtcWyd~Ryfduj>55*dW|ynSkyit^fbpdYdg|d1="l_icp[djjgz~Ti`~{y<2/gZtcWmkmRm`uov\slbs`4;; nQ`vdpehjqXdf}62-a\twi`Wlg{xtQ{hsgplZhboh~nS{oc=4.`[uthoVof|ywPtipfwmYf{zoyxRxnl<6/gZnf{V|j`dj20-a\twi`Wog`Rzgrdqk[dutm{~Tzlb251;/gjkwggoexR`nmd?emciXpedsS8?=x24\6fjlW:<c<6#c^tbhlbXdf}6T?Rv|t^37?cskd>1bbyQllj:8jbee}`fo46ayesdokrg0|ah_dosp|Ys`{oxd%?&159svjaXmdzuRzgrdqk,7/6<2zycjQjmqvz[qnumzb#?$?;;qplcZcjx}sTxe|jsi*7-42vugnUna}zv_ujqavn/? ;?7}|`g^gntqX|axne&7)068twi`Wlg{xtQ{hsgpl-?.9?1{~biPelrw}Zrozlyc044?>0`8twi`Wlg{xtQ{hsgplZgt{lx$='>b:rqkbYbey~rSyf}erj\evubz}":%vugnUna}zv_ujqavnXizyn~y&8)0`8twi`Wlg{xtQ{hsgplZgt{lx$5'>b:rqkbYbey~rSyf}erj\evubz}"2%vugnUna}zv_ujqavnXflmjxh&:)0`8twi`Wlg{xtQ{hsgplZhboh~n$;'>b:rqkbYbey~rSyf}erj\j`af|l"<%!8n0|ah_dosp|Ys`{oxdR`jg`vf8<<7601{~biPftno56=wzfmTjxbc_ujqavn/8 ;87}|`g^dvhiYs`{oxd%?&129svjaXn|fgSyf}erj+6,743yxdkRhzlm]wlwct`!9"=>5rne\bpjkW}byi~f'4(30?uthoVl~`aQ{hsgpl-3.9:1{~biPftno[qnumzb#:$?<;qplcZ`rdeUdk|h)5*56=wzfmTjxbc_ujqavn/0 ;>7}|`g^dvhiYs`{oxd1650?3b?uthoVl~`aQ{hsgplZgt{lx$='>a:rqkbYa}efTxe|jsi]bwvcu|!;"=l5rne\bpjkW}byi~fParqfvq.5!8k0|ah_gwohZrozlycSl}|esv+7,7f3yxdkRhzlm]wlwct`Vkxh|{(5+2e>vugnUmyabPtipfwmYf{zoyx%;&1`9svjaXn|fgSyf}erj\evubz}"=%vugnUmyabPtipfwmYimnki%?&1`9svjaXn|fgSyf}erj\j`af|l"9%=87<0~iQllj33?wbXlh~jSnaznu*3-464re]geqgXkfex%7&119q`Zbf|hUhcx`{<1<26>tcWmkmRm`uov?=?69=2xoSh`9;sf\vvr43{y;6}miugqv1=tzz~?7y|ze89vjacunee|96xnlhf5?rtXija=7z|Pcmi24>quWmkmRm`uov+4,773~xThlzn_bmvjq.6!8:0{Qkauc\gjsi|!8"==5xr^fbpdYdg|d$>'>0:uq[agsiVidycz'4(33?rtXlh~jSnaznu*6-46<{UomyoPcnwmp-0.991|~Rjnt`]`kphs >#:<6y}_ecweZeh}g~#4$?=;vp\`drfWje~by27:1<6?rtXmg<0{Q}suCDug0k2JKt<4I:582V372=9h654>33`5gd<40?;2wc=mc;38j6dc2=1/?oo53c68yV2b2=9h654>33`5gd<40?;27^?=6;671?6=9:8i:no53942f>U3m3>?97>5120a2fg=;1<:n6j;3g83>4<6sZ?;69=l:98277d1kh084;?6;wV23c<7280:6<8m{R73>15d210:??l9c`80<37>3-9ji7?=7:T0fg<5s|;8=7?4u011>5=z,8=<65<4l391?iuG3`a8^13=:r;;6<65}%3;0?24n2.8n44;3d9j0<3=831b8l750;9l015=831d8>j50;9j0=821d8=:21d8=<21d8=>21d8<750;&23<<3;81e=:657:9l07>=83.:;44;309m52>=021d8?950;&23<<3;81e=:659:9l070=83.:;44;309m52>=i21d8?;50;&23<<3;81e=:65b:9l072=83.:;44;309m52>=k21d8?=50;&23<<3;81e=:65d:9l074=83.:;44;309m52>=m21d8??50;&23<<3;81e=:65f:9l04>=83.:;44;309m52>=9910c9?8:18'52?=<:;0b<97:038?l5bj3:1(<96:52f?k7003:07d=ja;29 41>2=:n7c?88;38?l5b13:1(<96:52f?k7003807d=j8;29 41>2=:n7c?88;18?l5b?3:1(<96:52f?k7003>07d=j6;29 41>2=:n7c?88;78?l5b<3:1(<96:52f?k7003<07d=j3;29 41>2=:n7c?88;58?l5b:3:1(<96:52f?k7003207d=j1;29 41>2=:n7c?88;;8?l5b83:1(<96:52f?k7003k07d=kf;29 41>2=:n7c?88;`8?l5cm3:1(<96:52f?k7003i07d=kd;29 41>2=:n7c?88;f8?l5ck3:1(<96:52f?k7003o07d=kb;29 41>2=:n7c?88;d8?l5c13:1(<96:52f?k7003;;76g!7013>;i6`>79825>=n;m=1<7*>78874`=i9>21=?54i2f5>5<#9>318=k4n05;>45<3`9o97>5$05:>16b3g;<47?;;:k0`1<72-;<57:?e:l23=<6=21b?i=50;&23<<38l1e=:651798m6b5290/=:7541g8j41?28=07d=k1;29 41>2=:n7c?88;3;?>o4l90;6)?89;63a>h6?10:565f3g394?"6?00?j;o34d:9j7`b=83.:;44;0d9m52>=9l10e>kl:18'52?=<9o0b<97:0d8?l5b=3:1(<96:52f?k70038;76g!7013>;i6`>79815>=n;jl1<7*>78874`=i9>21>?54i2af>5<#9>318=k4n05;>75<3`>347>5;c1b`?6=93:1"60=0o?6ak2;29?xd3<3:1m>4>30822g}O;hi0V9;517ya>7b=l38i6?m528824?g=9109m7m52b81`?772m0i6<652c81e?4>2j0j6p*>858707=#9;91h<5+488705=#5<5<5<5<#9>3188j4n05;>4=5<#9>3188j4n05;>6=5<#9>3188j4n05;>0=5<#9>3188j4n05;>2=5<#9>3188j4n05;><=6=44o565>5<5<#9>318l64n05;>4=6=4+16;90d>5<#9>318l64n05;>6=5<#9>318l64n05;>0=5<#9>318l64n05;>2=5<#9>3184:4n05;>5=5<#9>3184:4n05;>7=54o5:f>5<#9>3184:4n05;>1=5<#9>3184:4n05;>3=5<#9>3184:4n05;>==5<#9>318594n05;>5=6=4+16;90=15<#9>318594n05;>7=54i5:1>5<#9>318594n05;>1=5<#9>318594n05;>3=5<#9>318594n05;>==5<#9>31?nm4n05;>5=5<#9>31?nm4n05;>7=54o2a4>5<#9>31?nm4n05;>1=5<#9>31?nm4n05;>3=5<#9>31?nm4n05;>==86=44o51g>5<5<#9>318:=4n05;>4=5<#9>318:=4n05;>6=5<#9>318:=4n05;>0=5<#9>318:=4n05;>2=5<?6=44i2a1>5<5<5<5<5<#9>318>?4n05;>4=5<#9>318>?4n05;>6=5<#9>318>?4n05;>0=5<#9>318>?4n05;>2=5<#9>318>?4n05;><=5<#9>318>?4n05;>g=5<#9>318>?4n05;>a=5<#9>318>?4n05;>c=4;n623?6=,8=269=>;o3432c8io4?:%34=?27m2d:;54?;:k0ad<72-;<57:?e:l23=<632c8i44?:%34=?27m2d:;54=;:k0a=<72-;<57:?e:l23=<432c8i:4?:%34=?27m2d:;54;;:k0a3<72-;<57:?e:l23=<232c8i94?:%34=?27m2d:;549;:k0a6<72-;<57:?e:l23=<032c8i?4?:%34=?27m2d:;547;:k0a4<72-;<57:?e:l23=<>32c8i=4?:%34=?27m2d:;54n;:k0`c<72-;<57:?e:l23=0:9j7a>=83.:;44;0d9m52>=9810e>j8:18'52?=<9o0b<97:008?l5c>3:1(<96:52f?k7003;876g!7013>;i6`>79820>=n;m>1<7*>78874`=i9>21=854i2f0>5<#9>318=k4n05;>40<3`9o>7>5$05:>16b3g;<47?8;:k0`4<72-;<57:?e:l23=<6021b?i>50;&23<<38l1e=:651898m6`6290/=:7541g8j41?28k07d=i0;29 41>2=:n7c?88;3a?>o4mo0;6)?89;63a>h6?10:o65f3dg94?"6?00?j;o34=:810e>mi:18'52?=<9o0b<97:308?l5dm3:1(<96:52f?k70038876g>o3?j0;6)?89;64`>h6?10;76g;7c83>!7013>7982?>o3?h0;6)?89;64`>h6?10976g;7883>!7013>7980?>o3?10;6)?89;64`>h6?10?76g;7683>!7013>7986?>o3??0;6)?89;64`>h6?10=76g;7483>!7013>7984?>o3?=0;6)?89;64`>h6?10376g;6683>!7013>=46`>7983?>o3>?0;6)?89;65<>h6?10:76g;6483>!7013>=46`>7981?>o3>=0;6)?89;65<>h6?10876g;6283>!7013>=46`>7987?>o3>;0;6)?89;65<>h6?10>76g;6083>!7013>=46`>7985?>o3>90;6)?89;65<>h6?10<76g;5g83>!7013>=46`>798;?>o3=l0;6)?89;65<>h6?10276a;4683>>i4km0;66g;8983>>d4j>0;6<4?:1y'5=2=l:1C?o84H2c`?jb52900qo=m8;295?6=8r.:4944?:1y'5=2=kj1C?o84H2c`?M243-;9j7:6a:&f4?4>i6?k0;66sm3`694?5=83:p(<6;:ba8L6d13A9jo6F;3:&26c<31h1/i=4=;h65>5<5;h72>5<858g4>N4j?1C?lm4H518 44a2=3j7)k?:39j03<722c?47>5;h72>5<5<53;294~"60=0ho6F5;|`0=2<72<0;6=u+1969`5=O;k<0D>ol;I60?!75n3>2m6*j0;08m10=831b854?::k65?6=3`;5;n34f?6=3th8m<4?:583>5}#91>1ok5G3c48L6gd3-o;6?5f4783>>o293:17d?8a;29?j70j3:17pl1<729q/=5:5cg9K7g0<@:kh7)k?:39j03<722c>=7>5;h34e?6=3f;5;|`0=c<72=0;6=u+1969gc=O;k<0D>ol;%g3>7=n5;n34f?6=3th8m44?:583>5}#91>1ok5G3c48L6gd3-o;6?5f4783>>o293:17d?8a;29?j70j3:17pl=9483>1<729q/=5:5cg9K7g0<@:kh7)k?:69j03<722c>=7>5;h34e?6=3f;5;|`055<72=0;6=u+1969ga=O;k<0D>ol;%g3>7=n50z&2<15;h6g>5<6=4;:183!7?<3;8<6F>o6?m0;66a>7583>>{e:>>1<7:50;2x 4>3289;7E=m6:J0ef=nl9;I1bg>o3i3:17d;=:188m41c2900c<9;:188yg40:3:187>50z&2<1<6;91C?o84H2c`?l2f2900e8<50;9j52b=831d=::50;9~f716290?6=4?{%3;0?7482B8n;5G3`a8m1g=831b9?4?::k23a<722e:;94?::a6=>=83>1<7>t$0:7>4573A9i:6F>7>5;h34`?6=3f;<87>5;|`1<2<72=0;6=u+1969566<@:h=7E=nc:k7e?6=3`?96=44i05g>5<858275=O;k<0D>ol;h6b>5<>1<75rb3:6>5<3290;w)?74;304>N4j?1C?lm4i5c94?=n=;0;66g>7e83>>i6?=0;66sm29694?2=83:p(<6;:013?M5e>2B8mn5f4`83>>o2:3:17d?8d;29?j70<3:17pl=eg83>1<729q/=5:51228L6d13A9jo6g;a;29?l352900e<9k:188k4132900qo319K7g0<@:kh7d:n:188m04=831b=:j50;9l522=831vn?kk:187>5<7s-;387?<0:J0f3=O;hi0e9o50;9j17<722c:;i4?::m231<722wi>hm50;694?6|,82?6<=?;I1a2>N4ij1b8l4?::k66?6=3`;5;n340?6=3th9io4?:583>5}#91>1=>>4H2`5?M5fk2c?m7>5;h71>5<5<7>54;294~"60=0:?=5G3c48L6gd3`>j6=44i4094?=n9>n1<75`16694?=zj:::6=4;:183!7?<3;8<6F>o6?m0;66a>7583>>{e;9:1<7:50;2x 4>3289;7E=m6:J0ef=nl9;I1bg>o3i3:17d;=:188m41c2900c<9;:188yg4am3:187>50z&2<1<6;91C?o84H2c`?l2f2900e8<50;9j52b=831d=::50;9~f4g0290?6=4?{%3;0?ec3A9i:6F=6=44i5f94?=n=80;66a>7c83>>{e9h<1<7:50;2x 4>32jn0D>l9;I1bg>"b8380e9850;9j0a<722c>=7>5;n34f?6=3th:m84?:583>5}#91>1oi5G3c48L6gd3-o;6?5f4783>>o3l3:17d;>:188k41e2900qo?n4;290?6=8r.:494ld:J0f3=O;hi0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0c0>5<3290;w)?74;ag?M5e>2B8mn5+e181?l212900e9j50;9j14<722e:;o4?::a5d4=83>1<7>t$0:7>fb<@:h=7E=nc:&f4?4>o293:17b?8b;29?xd6i80;694?:1y'5=2=km1C?o84H2c`?!c72;1b8;4?::k7`?6=3`?:6=44o05a>5<54;294~"60=0hh6F6g;6;29?l2c2900e8?50;9l52d=831vn<7i:187>5<7s-;387mk;I1a2>N4ij1/i=4=;h65>5<>i6?k0;66sm21g94?2=83:p(<6;:bf8L6d13A9jo6*j0;08m10=831b8i4?::k65?6=3f;5;|`14a<72=0;6=u+1969ga=O;k<0D>ol;%g3>7=n50z&2<15;h6g>5<=o50;694?6|,82?6nj4H2`5?M5fk2.n<7<4i5494?=n1<729q/=5:5ce9K7g0<@:kh7)k?:39j03<722c?h7>5;h72>5<858``>N4j?1C?lm4$d296>o3>3:17d:k:188m07=831d=:l50;9~f760290?6=4?{%3;0?ec3A9i:6F=6=44i5f94?=n=80;66a>7c83>>{e:9<1<7:50;2x 4>32jn0D>l9;I1bg>"b8380e9850;9j0a<722c>=7>5;n34f?6=3th99;4?:583>5}#91>1oi5G3c48L6gd3-o;6?5f4783>>o3l3:17d;>:188k41e2900qo<:5;290?6=8r.:494ld:J0f3=O;hi0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb377>5<3290;w)?74;ag?M5e>2B8mn5+e181?l212900e9j50;9j14<722e:;o4?::a605=83>1<7>t$0:7>fb<@:h=7E=nc:&f4?4>o293:17b?8b;29?xd5=;0;694?:1y'5=2=km1C?o84H2c`?!c72;1b8;4?::k7`?6=3`?:6=44o05a>5<=7>54;294~"60=0hh6F6g;6;29?l2c2900e8?50;9l52d=831vn?;?:187>5<7s-;387mk;I1a2>N4ij1/i=4=;h65>5<>i6?k0;66sm25d94?2=83:p(<6;:bf8L6d13A9jo6*j0;08m10=831b8i4?::k65?6=3f;5;|`10`<72=0;6=u+1969ga=O;k<0D>ol;%g3>7=n50z&2<15;h6g>5<f183>1<729q/=5:5ce9K7g0<@:kh7)k?:39j03<722c?h7>5;h72>5<858``>N4j?1C?lm4$d296>o3>3:17d:k:188m07=831d=:l50;9~f4cb290?6=4?{%3;0?ec3A9i:6F=6=44i5f94?=n=80;66a>7c83>>{e9ln1<7:50;2x 4>32jn0D>l9;I1bg>"b8380e9850;9j0a<722c>=7>5;n34f?6=3th:in4?:583>5}#91>1oi5G3c48L6gd3-o;6?5f4783>>o3l3:17d;>:188k41e2900qo?jb;290?6=8r.:494ld:J0f3=O;hi0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb367>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb360>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb361>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb362>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb363>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb31e>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb31f>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb31g>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb31`>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0g2>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0g3>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0fe>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0ff>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0fg>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0f`>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0fa>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0fb>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0f:>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0f;>5<3290;w)?74;ag?M5e>2B8mn5G429'57`=<0k0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb0ag>5<3290;w)?74;ag?M5e>2B8mn5+e181?l212900e9j50;9j14<722e:;o4?::a5fe=83>1<7>t$0:7>fb<@:h=7E=nc:&f4?4>o293:17b?8b;29?xd6kk0;694?:1y'5=2=km1C?o84H2c`?!c72;1b8;4?::k7`?6=3`?:6=44o05a>5<54;294~"60=0hh6F6g;6;29?l2c2900e8?50;9l52d=831vn5<7s-;387mk;I1a2>N4ij1/i=4=;h65>5<>i6?k0;66sm1b:94?2=83:p(<6;:bf8L6d13A9jo6*j0;08m10=831b8i4?::k65?6=3f;5;|`2g2<72=0;6=u+1969ga=O;k<0D>ol;%g3>7=n3:187>50z&2<15;h6g>5<6=4;:183!7?<3io7E=m6:J0ef=#m9097d:9:188m1b=831b9<4?::m23g<722wi=n:50;694?6|,82?6nj4H2`5?M5fk2.n<7<4i5494?=n1<729q/=5:5ce9K7g0<@:kh7)k?:39j03<722c?h7>5;h72>5<858``>N4j?1C?lm4$d296>o3>3:17d:k:188m07=831d=:l50;9~f757290?6=4?{%3;0?ec3A9i:6F=6=44i5f94?=n=80;66a>7c83>>{e:;l1<7:50;2x 4>32jn0D>l9;I1bg>"b8380e9850;9j0a<722c>=7>5;n34f?6=3th9>h4?:583>5}#91>1oi5G3c48L6gd3-o;6?5f4783>>o3l3:17d;>:188k41e2900qo<=d;290?6=8r.:494ld:J0f3=O;hi0(h>52:k72?6=3`>o6=44i4394?=h9>h1<75rb30`>5<3290;w)?74;ag?M5e>2B8mn5+e181?l212900e9j50;9j14<722e:;o4?::a67d=83>1<7>t$0:7>fb<@:h=7E=nc:&f4?4>o293:17b?8b;29?xd5:h0;694?:1y'5=2=km1C?o84H2c`?!c72;1b8;4?::k7`?6=3`?:6=44o05a>5<7>55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a6a7=83?1<7>t$0:7>fc<@:h=7E=nc:&f4?4>o3l3:17d;>:188k41e2900qo52:k72?6=3`>36=44i5f94?=n=80;66a>7c83>>{e:jo1<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi>nj50;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg4dk3:197>50z&2<15;h6;>5<>i6?k0;66sm2bc94?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0o<6F6=4?{%3;0?eb3A9i:6F=6=44i5:94?=n6<729q/=5:53c78L6d13A9jo6g;a;29?l75<3:17b?84;29?xd5jj0;6>4?:1y'5=2=;k?0D>l9;I1bg>o3i3:17d?=4;29?j70<3:17pl=b383>1<729q/=5:51228L6d13A9jo6g;a;29?l352900e<9k:188k4132900qo50z&2<1<6;91C?o84H2c`?l2f2900e8<50;9j52b=831d=::50;9~f7df29086=4?{%3;0?5e=2B8n;5G3`a8m1g=831b=?:50;9l522=831vn?oj:187>5<7s-;387?<0:J0f3=O;hi0e9o50;9j17<722c:;i4?::m231<722wi>o750;194?6|,82?6>l:;I1a2>N4ij1b8l4?::k261<722e:;94?::a6de=83>1<7>t$0:7>4573A9i:6F>7>5;h34`?6=3f;<87>5;|`1f=<72:0;6=u+19697g3<@:h=7E=nc:k7e?6=3`;987>5;n340?6=3th9ml4?:583>5}#91>1=>>4H2`5?M5fk2c?m7>5;h71>5<5<53;294~"60=08n85G3c48L6gd3`>j6=44i007>5<858275=O;k<0D>ol;h6b>5<>1<75rb3`5>5<4290;w)?74;1a1>N4j?1C?lm4i5c94?=n9;>1<75`16694?=zj;k=6=4;:183!7?<3;8<6F>o6?m0;66a>7583>>{e:k?1<7=50;2x 4>32:h>7E=m6:J0ef=n2583>>i6?=0;66sm2`694?2=83:p(<6;:013?M5e>2B8mn5f4`83>>o2:3:17d?8d;29?j70<3:17pl=b583>6<729q/=5:53c78L6d13A9jo6g;a;29?l75<3:17b?84;29?xd5i;0;694?:1y'5=2=9::0D>l9;I1bg>o3i3:17d;=:188m41c2900c<9;:188yg4b>3:197>50z&2<15;h6;>5<>i6?k0;66sm2d794?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a6`5=83?1<7>t$0:7>fc<@:h=7E=nc:&f4?4>o3l3:17d;>:188k41e2900qo52:k72?6=3`>36=44i5f94?=n=80;66a>7c83>>{e:l;1<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi>ih50;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg4cm3:197>50z&2<15;h6;>5<>i6?k0;66sm2ef94?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<54;294~"60=0hh6F6g;6;29?l2c2900e8?50;9l52d=831vn?8<:187>5<7s-;387mk;I1a2>N4ij1/i=4=;h65>5<>i6?k0;66sm27c94?2=83:p(<6;:bd8L6d13A9jo6*j0;58m10=831b9<4?::k23d<722e:;o4?::a63?=83>1<7>t$0:7>f`<@:h=7E=nc:&f4?1>o6?h0;66a>7c83>>{e;=21<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi?9850;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg53=3:197>50z&2<15;h6;>5<>i6?k0;66sm35694?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a717=83?1<7>t$0:7>a6<@:h=7E=nc:&f4?1>o293:17d?8a;29?j70j3:17pl<4183>0<729q/=5:5cd9K7g0<@:kh7)k?:39j03<722c?47>5;h6g>5<96=4::183!7?<3in7E=m6:J0ef=#m9097d:9:188m1>=831b8i4?::k65?6=3f;5;|`070<72:0;6=u+19697g3<@:h=7E=nc:k7e?6=3`;987>5;n340?6=3th8?94?:283>5}#91>1?o;4H2`5?M5fk2c?m7>5;h310?6=3f;<87>5;|`06g<72=0;6=u+1969566<@:h=7E=nc:k7e?6=3`?96=44i05g>5<8580f0=O;k<0D>ol;h6b>5<5<54;294~"60=0:?=5G3c48L6gd3`>j6=44i4094?=n9>n1<75`16694?=zj:996=4<:183!7?<39i96F>1<75rb204>5<3290;w)?74;304>N4j?1C?lm4i5c94?=n=;0;66g>7e83>>i6?=0;66sm32394?5=83:p(<6;:2`6?M5e>2B8mn5f4`83>>o6:=0;66a>7583>>{e;;?1<7:50;2x 4>3289;7E=m6:J0ef=n4?:1y'5=2=;k?0D>l9;I1bg>o3i3:17d?=4;29?j70<3:17pl<2283>1<729q/=5:51228L6d13A9jo6g;a;29?l352900e<9k:188k4132900qo==f;297?6=8r.:49450z&2<1<6;91C?o84H2c`?l2f2900e8<50;9j52b=831d=::50;9~f64b29086=4?{%3;0?5e=2B8n;5G3`a8m1g=831b=?:50;9l522=831vn>?i:187>5<7s-;387?<0:J0f3=O;hi0e9o50;9j17<722c:;i4?::m231<722wi??j50;194?6|,82?6>l:;I1a2>N4ij1b8l4?::k261<722e:;94?::a74b=83>1<7>t$0:7>4573A9i:6F>7>5;h34`?6=3f;<87>5;|`011<72<0;6=u+1969g`=O;k<0D>ol;%g3>7=n;=:186>5<7s-;387j?;I1a2>N4ij1/i=48;h65>5<>o6?h0;66a>7c83>>{e;<91<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi?8850;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg52?3:197>50z&2<15;h6;>5<>i6?k0;66sm34:94?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<57>55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a70g=83?1<7>t$0:7>fc<@:h=7E=nc:&f4?4>o3l3:17d;>:188k41e2900qo=9c;291?6=8r.:494le:J0f3=O;hi0(h>52:k72?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;?h1<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi?;750;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg5103:197>50z&2<15;h6;>5<>i6?k0;66sm37594?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a733=83?1<7>t$0:7>fc<@:h=7E=nc:&f4?4>o3l3:17d;>:188k41e2900qo=94;291?6=8r.:494le:J0f3=O;hi0(h>52:k72?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;><1<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi?::50;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg50;3:197>50z&2<15;h6;>5<>i6?k0;66sm36094?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a726=83?1<7>t$0:7>fc<@:h=7E=nc:&f4?4>o3l3:17d;>:188k41e2900qo=9f;291?6=8r.:494le:J0f3=O;hi0(h>52:k72?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;>o1<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi?:m50;794?6|,82?6nk4H2`5?M5fk2.n<7<4i5494?=n<10;66g;d;29?l362900c<9m:188yg50j3:197>50z&2<15;h6;>5<>i6?k0;66sm36c94?3=83:p(<6;:bg8L6d13A9jo6*j0;08m10=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;6;29?l2?2900e9j50;9j14<722e:;o4?::a72>=83?1<7>t$0:7>fc<@:h=7E=nc:&f4?4>o3l3:17d;>:188k41e2900qo=87;291?6=8r.:494le:J0f3=O;hi0(h>52:k72?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;?o1<7;50;2x 4>32jo0D>l9;I1bg>"b8380e9850;9j0=<722c?h7>5;h72>5<858`a>N4j?1C?lm4$d296>o3>3:17d:7:188m1b=831b9<4?::m23g<722wi?l850;194?6|,82?6<<6;I1a2>N4ij1/i=4>b:kg0?6=3`n>6=44o057>5<53;294~"60=0:>45G3c48L6gd3-o;67583>>{e:8:1<7=50;2x 4>328827E=m6:J0ef=#m90:i6gk4;29?lb22900c<9;:188yg7f13:1?7>50z&2<1<6:01C?o84H2c`?!c728o0ei:50;9j`0<722e:;94?::a5<3=8391<7>t$0:7>44>3A9i:6F5;hf6>5<85826<=O;k<0D>ol;%g3>4c1<75fd483>>i6?=0;66sm18194?5=83:p(<6;:00:?M5e>2B8mn5+e182a>oc<3:17dj::188k4132900qo?62;297?6=8r.:494>289K7g0<@:kh7)k?:0g8ma2=831bh84?::m231<722wi=4?50;194?6|,82?6<<6;I1a2>N4ij1/i=4>e:kg0?6=3`n>6=44o057>5<53;294~"60=0:>45G3c48L6gd3-o;67583>>{e91l1<7=50;2x 4>328827E=m6:J0ef=#m90:i6gk4;29?lb22900c<9;:188yg7?m3:1?7>50z&2<1<6:01C?o84H2c`?!c728o0ei:50;9j`0<722e:;94?::a5=b=8391<7>t$0:7>44>3A9i:6F5;hf6>5<85826<=O;k<0D>ol;%g3>4c1<75fd483>>i6?=0;66sm19`94?5=83:p(<6;:00:?M5e>2B8mn5+e182a>oc<3:17dj::188k4132900qo?7a;297?6=8r.:494>289K7g0<@:kh7)k?:0g8ma2=831bh84?::m231<722wi=5750;194?6|,82?6<<6;I1a2>N4ij1/i=4>e:kg0?6=3`n>6=44o057>5<53;294~"60=0:>45G3c48L6gd3-o;67583>>{e91=1<7=50;2x 4>328827E=m6:J0ef=#m90:i6gk4;29?lb22900c<9;:188yg7?>3:1?7>50z&2<1<6:01C?o84H2c`?!c728o0ei:50;9j`0<722e:;94?::a5=3=8391<7>t$0:7>44>3A9i:6F5;hf6>5<85826g=O;k<0D>ol;%g3>701<75fd483>>oc>3:17b?84;29?xd6ik0;694?:1y'5=2=9;h0D>l9;I1bg>"b838=7dj;:188ma3=831bh;4?::m231<722wi>;;50;694?6|,82?6<N4ij1/i=4=2:kg0?6=3`n>6=44ie494?=h9>>1<75rb337>5<2290;w)?74;31`>N4j?1C?lm4$d2965=nl=0;66gk5;29?lb12900ei950;9l522=831vn5<7s-;387?=d:J0f3=O;hi0(h>5219j`1<722co97>5;hf5>5<>oc=3:17dj9:188ma1=831d=::50;9~f70?290>6=4?{%3;0?75l2B8n;5G3`a8 `6=:81bh94?::kg1?6=3`n=6=44ie594?=h9>>1<75rb230>5<4290;w)?74;31=>N4j?1C?lm4$d2954=nl=0;66gk5;29?j70<3:17pl=6383>1<729q/=5:513`8L6d13A9jo6*j0;3:?lb32900ei;50;9j`3<722e:;94?::a640=8391<7>t$0:7>44>3A9i:6F5;hf6>5<85826<=O;k<0D>ol;%g3>4c1<75fd483>>i6?=0;66sm20:94?2=83:p(<6;:00a?M5e>2B8mn5+e1812>oc<3:17dj::188ma0=831d=::50;9~f4d6290?6=4?{%3;0?75j2B8n;5G3`a8 `6=:?1bh94?::kg1?6=3`n=6=44o057>5<55;294~"60=0:>i5G3c48L6gd3-o;6?>4ie694?=nl<0;66gk6;29?lb02900c<9;:188yg7e;3:197>50z&2<1<6:m1C?o84H2c`?!c72;:0ei:50;9j`0<722co:7>5;hf4>5<85826<=O;k<0D>ol;%g3>f11<75fd483>>i6?=0;66sm31a94?5=83:p(<6;:00:?M5e>2B8mn5+e1810>oc<3:17dj::188k4132900qo289K7g0<@:kh7)k?:368ma2=831bh84?::m231<722wi>4<50;794?6|,82?6<N4ij1/i=4=3:kg0?6=3`n>6=44ie494?=nl>0;66a>7583>>{e:>l1<7;50;2x 4>3288o7E=m6:J0ef=#m909?6gk4;29?lb22900ei850;9j`2<722e:;94?::a75d=83?1<7>t$0:7>44c3A9i:6F5;hf6>5<>i6?=0;66sm2g:94?3=83:p(<6;:00g?M5e>2B8mn5+e1811>oc<3:17dj::188ma0=831bh:4?::m231<722wi>4?50;794?6|,82?6<N4ij1/i=4=3:kg0?6=3`n>6=44ie494?=nl>0;66a>7583>>{e:>o1<7;50;2x 4>3288o7E=m6:J0ef=#m909?6gk4;29?lb22900ei850;9j`2<722e:;94?::a75g=83?1<7>t$0:7>44c3A9i:6F5;hf6>5<>i6?=0;66sm2g594?3=83:p(<6;:00g?M5e>2B8mn5+e1811>oc<3:17dj::188ma0=831bh:4?::m231<722wi>4>50;794?6|,82?6<N4ij1/i=4=3:kg0?6=3`n>6=44ie494?=nl>0;66a>7583>>{e:>n1<7;50;2x 4>3288o7E=m6:J0ef=#m909?6gk4;29?lb22900ei850;9j`2<722e:;94?::a75?=83?1<7>t$0:7>44c3A9i:6F5;hf6>5<>i6?=0;66sm2g494?3=83:p(<6;:00g?M5e>2B8mn5+e1811>oc<3:17dj::188ma0=831bh:4?::m231<722wi>5h50;794?6|,82?6<N4ij1/i=4=3:kg0?6=3`n>6=44ie494?=nl>0;66a>7583>>{e:>i1<7;50;2x 4>3288o7E=m6:J0ef=#m909?6gk4;29?lb22900ei850;9j`2<722e:;94?::a6<1=83>1<7>t$0:7>44e3A9i:6F5;hf6>5<5<7s-;387?=b:J0f3=O;hi0(h>5139j`1<722co97>5;hf5>5<85826a=O;k<0D>ol;%g3>fg1<75fd483>>oc>3:17dj8:188k4132900qo=?8;291?6=8r.:494>2e9K7g0<@:kh7)k?:318ma2=831bh84?::kg2?6=3`n<6=44o057>5<55;294~"60=0:>i5G3c48L6gd3-o;6?;4ie694?=nl<0;66gk6;29?lb02900c<9;:188yg4e;3:1>7>50z&2<1<6:11C?o84H2c`?!c728;0ei:50;9l522=831vn?l>:181>5<7s-;387?=8:J0f3=O;hi0(h>5109j`1<722e:;94?::a6d`=8381<7>t$0:7>44?3A9i:6F5;n340?6=3th9mi4?:383>5}#91>1=?64H2`5?M5fk2.n<7?>;hf7>5<85826==O;k<0D>ol;%g3>471<75`16694?=zj;k26=4=:183!7?<3;946F>i6?=0;66sm2`594?4=83:p(<6;:00;?M5e>2B8mn5+e1825>oc<3:17b?84;29?xd5i<0;6?4?:1y'5=2=9;20D>l9;I1bg>"b83;:7dj;:188k4132900qo299K7g0<@:kh7)k?:038ma2=831d=::50;9~f64d29096=4?{%3;0?7502B8n;5G3`a8 `6=981bh94?::m231<722wi??o50;094?6|,82?6<<7;I1a2>N4ij1/i=4>1:kg0?6=3f;<87>5;|`06=<72;0;6=u+196957><@:h=7E=nc:&f4?763`n?6=44o057>5<52;294~"60=0:>55G3c48L6gd3-o;6>1<75rb207>5<5290;w)?74;31<>N4j?1C?lm4$d2954=nl=0;66a>7583>>{e;;81<7<50;2x 4>328837E=m6:J0ef=#m90:=6gk4;29?j70<3:17pl<2183>7<729q/=5:513:8L6d13A9jo6*j0;32?lb32900c<9;:188yg56m3:1>7>50z&2<1<6:11C?o84H2c`?!c728;0ei:50;9l522=831vn?lj:181>5<7s-;387?=8:J0f3=O;hi0(h>5109j`1<722e:;94?::a760=8381<7>t$0:7>44?3A9i:6F5;n340?6=3th:n:4?:483>5}#91>1=?j4H2`5?M5fk2.n<75<>oc?3:17b?84;29?xd6j00;684?:1y'5=2=9;n0D>l9;I1bg>"b838<7dj;:188ma3=831bh;4?::kg3?6=3f;<87>5;|`15`<72<0;6=u+196957b<@:h=7E=nc:&f4?473`n?6=44ie794?=nl?0;66gk7;29?j70<3:17pl=2183>0<729q/=5:513f8L6d13A9jo6*j0;04?lb32900ei;50;9j`3<722co;7>5;n340?6=3th9:<4?:483>5}#91>1=?j4H2`5?M5fk2.n<7?8;hf7>5<>oc?3:17b?84;29?xd4180;65950;2x 4>328=h7E=m6:J0ef=]<<0jw44=8;g950<6;3;h6k4>4;35>4b=u-;:j7;4$003>0=#l10>7)j6:49'`d<23-ni685+db86?!bc2<1/=5>53:&2<4<33-o:685+e386?!c42<1/i94:;%g6>0=#m?0>7)k8:49'a=<23-o2685+e`86?!ce2<1/in4:;%gg>0=#ml0>7)ki:49'b5<23-l:685+f386?!`42<1/j94:;%d6>0=#n?0>7)h8:49'b=<23-l2685+f`86?!`e2<1/jn4:;%dg>0=#nl0>7)hi:49'556==2.:<<4:;%336?3<,8:8685+11691>"68<0>7)??6;78 4602<1/==655:&24<<23-;;m7;4$02a>0=#99i196*>0e86?!77m3?0(<>i:49'546==2.:=<4:;%326?3<,8;8685+10691>"69<0>7)?>6;78 4702<1/=<655:&25<<23-;:m7;4$03a>0=#98i196*>1e86?!76m3?0(>l<:2`2?!bb2<1/=:k51618 4462:1/=?<54:&0f7<4j81/hk4:;h6a>5<>od13:17d?72;29?l7?;3:17d=nf;29?l5e83:17d=7:18'52?=;>1e=:650:9j73<72-;<57=8;o346=4+16;972=i9>21>65f3583>!70139<7c?88;18?l54290/=:75369m52>=<21b??4?:%34=?503g;<47;4;h12>5<#9>31?:5a16:92>=n;90;6)?89;14?k7003=07d1e=:658:9j6`<72-;<57=8;o3496=4+16;904=i9>21<65f4183>!7013>:7c?88;38?l5a290/=:75409m52>=:21b?h4?:%34=?263g;<47=4;h1g>5<#9>318<5a16:90>=n;j0;6)?89;62?k7003?07d=m:18'52?=<81e=:656:9j7d<72-;<57:>;o3421465f5`83>!7013?27c?88;28?l3?290/=:75589m52>=921b9:4?:%34=?3>3g;<47<4;h75>5<#9>31945a16:97>=n=<0;6)?89;7:?k7003>07d;;:18'52?==01e=:655:9j26<72-;<57;6;o3421;65f6083>!7013?27c?88;:8?l07290/=:75589m52>=121b9k4?:%34=?3>3g;<47o4;h7f>5<#9>31945a16:9f>=n=m0;6)?89;7:?k7003i07d;l:18'52?==01e=:65d:9j1g<72-;<57;6;o3421j65f7e83>!7013=h7c?88;28?l1e290/=:757b9m52>=921b;44?:%34=?1d3g;<47<4;h5;>5<#9>31;n5a16:97>=n?>0;6)?89;5`?k7003>07d99:18'52?=?j1e=:655:9j30<72-;<579l;o3421;65f7283>!7013=h7c?88;:8?l15290/=:757b9m52>=121b;<4?:%34=?1d3g;<47o4;h53>5<#9>31;n5a16:9f>=n>l0;6)?89;5`?k7003i07d8k:18'52?=?j1e=:65d:9j2f<72-;<579l;o3421j65f6`83>!7013=h7c?88;33?>o113:1(<96:6a8j41?28;07d87:18'52?=?j1e=:651398m31=83.:;448c:l23=<6;21b:;4?:%34=?1d3g;<47?;;:k51?6=,8=26:m4n05;>43<3`2?6=4+16;93f=i9>21=;54i9194?"6?0079823>=n0;0;6)?89;5`?k7003;376g71;29 41>2>i0b<97:0;8?l>7290/=:757b9m52>=9h10e:h50;&23<<0k2d:;54>b:9j3`<72-;<579l;o345$05:>2e5<#9>31;n5a16:95`=1<7*>7884g>h6?10:j65f8683>!70132=7c?88;28?l>2290/=:75879m52>=921b4n4?:%34=?>e3g;<47>4;h:b>5<#9>314o5a16:95>=n000;6)?89;:a?k7003807d67:18'52?=0k1e=:653:9l=1<72-;<577<;o3421=65`9083>!7013387c?88;08?j?7290/=:75929m52>=;21d4k4?:%34=??43g;<47:4;n:f>5<#9>315>5a16:91>=h1m0;6)?89;;0?k7003<07b7l:18'52?=1:1e=:657:9l=g<72-;<577<;o34<3f3j6=4+16;9=6=i9>21565`9883>!7013387c?88;c8?j??290/=:75929m52>=j21d5:4?:%34=??43g;<47m4;n;5>5<#9>315>5a16:9`>=h1<0;6)?89;;0?k7003o07b6k:18'52?=1:1e=:65f:9lg4<72-;<57m?;o3421=65`b683>!7013h=7c?88;28?jd2290/=:75b79m52>=921dn>4?:%34=?d13g;<47<4;n`1>5<#9>31n;5a16:97>=hj80;6)?89;`5?k7003>07bl?:18'52?=j?1e=:655:9lec<72-;<57l9;o3421;65`ae83>!7013h=7c?88;:8?jgd290/=:75b79m52>=121dmo4?:%34=?d13g;<47o4;ncb>5<#9>31n;5a16:9f>=hi10;6)?89;`5?k7003i07bo8:18'52?=j?1e=:65d:9le3<72-;<57l9;o346=4+16;9f3=i9>21j65`a583>!7013h=7c?88;33?>if;3:1(<96:c48j41?28;07bo=:18'52?=j?1e=:651398kd7=83.:;44m6:l23=<6;21dm=4?:%34=?d13g;<47?;;:m:b?6=,8=26o84n05;>43<3fhn6=4+16;9f3=i9>21=;54ocf94?"6?00i:6`>79823>=hjj0;6)?89;`5?k7003;376amb;29 41>2k<0b<97:0;8?jdf290/=:75b79m52>=9h10co750;&23<2d:;54>b:9lf=<72-;<57l9;o345$05:>g05<#9>31n;5a16:95`=788a2>h6?10:j65`c783>!7013i>7c?88;28?je3290/=:75c49m52>=921do>4?:%34=?e23g;<47<4;na1>5<#9>31o85a16:97>=zj;?m6=4::183!7?<3;9i6F>oc=3:17dj9:188ma1=831d=?;50;9~f4d229086=4?{%3;0?75i2B8n;5G3`a8 `6=9l1bh94?::kg1?6=3f;997>5;|`2f3<72=0;6=u+196957e<@:h=7E=nc:&f4?7a3`n?6=44ie794?=nl?0;66a>2483>>{e:8i1<7=50;2x 4>3288j7E=m6:J0ef=#m90:i6gk4;29?lb22900c<<::188yg46l3:187>50z&2<1<6:j1C?o84H2c`?!c728l0ei:50;9j`0<722co:7>5;n311?6=3th9:=4?:483>5}#91>1=?k4H2`5?M5fk2.n<7?8;hf7>5<>oc?3:17b?=5;29?xu31<0;65uQ487897022m<01?8l:e58970?2m=01?8=:e6897062m>01?;i:e6897072m>0q~:63;2922}Y;jn0R>li;_6:`>X31k1U?ok4^5;;?[23>2T?5n5Q4558Z10>3W9hn6Pm;;_1`7>X3i>1U8l84^5c6?[2f<2T?m>5Q4`08Z1g63W>j<6P;9g9]0<4X30k1U85o4^5::?85e?3n970=n2;72?85>?3?:70=n1;72?85f83?:70=6f;72?85fi3?:70=n9;72?840=3?970<84;71?840;3?970<82;71?84093?970<78;71?84??3?970<76;71?84?=3?970<74;71?84bn3?9703?970f;71?856l3?970=61;3;7>;41808mk5238391d=:;0;19552383912=:;0;19;52383910=:;0;19952383926=:;0;1:?52383924=:;0;1:=5238391c=:;0;19h5238391a=:;0;19n5238391g=:;0;19>523839<2=:;0;1485rs5;4>5<4sW>2;63j57>53z\7e<=:;891h9523009`1=z{=236=4:8z\7<==:;0318;5238:903=:;0=18;523`3903=:;h:18;5238d903=::0?18;5221g903=::9n18;5221a903=::9h18;5221c903=::9318;5221:903=::9=18;52214903=::<<18;52247903=::<>18;52241903=::<818;52243903=::<:18;5225d903=::=o18;52256903=::=918;52250903=::=;18;52252903=:::l18;5222g903=:::n18;5222a903=:9jn18;521ba903=:9jh18;521bc903=:9j318;521b:903=:9j=18;521b4903=:9j?18;521b6903=::m818;522e3903=::jl18;522bg903=::m:18;522bf903=::ji18;522bc903=::j318;522b`903=::l<18;522d7903=::l>18;522d1903=::l818;522d3903=::l:18;522ed903=::mo18;522ef903=::?<18;52271903=::?k18;5227;903=:;><18;52367903=:;>>18;52361903=:;>818;52363903=:;>:18;5237d903=:;>o18;5236f903=:;>i18;5236`903=:;>k18;5236;903=:;>218;52365903=:;?o18;5237f903=:;0;18o5rs560>5<5sW>??63<11823g=z{=3n6=4;9z\7=`=:;h>18;523`0903=:;h918;523`c903=:;h318;52302903=:;9l18;521`5903=:9h<18;521`7903=:9h>18;521`1903=:9h818;521`3903=:9h:18;5218d903=:9o918;521g0903=:9o;18;521g2903=:9ll18;521dg903=:9ln18;521da903=:9lh18;521d3903=:9l:18;521ed903=:9mo18;521ef903=:9mi18;521e`903=:9mk18;521e;903=:9m218;52220903=:::;18;52222903=::;l18;5223g903=::;n18;5223a903=::;h18;5223c903=:;=218;52355903=:;=<18;52357903=:;=>18;52351903=:;=;18;52352903=:;=818;52346903=:;<818;52341903=:;18;5238390f=z{=996=4={_614>;4??0:;o5rs513>5<5sW>:j63<74823g=z{=8m6=4={_62a>;4?=0:;o5rs50f>5<5sW>:h63<72823g=z{=8o6=4={_62g>;4?;0:;o5rs50`>5<5sW>:n63<70823g=z{=8i6=4={_62e>;4?90:;o5rs50b>5<5sW>:563<6g823g=z{=9i6=4={_61<>;4?l0:;o5rs51b>5<5sW>9;63<7e823g=z{=926=4={_612>;4?j0:;o5rs51;>5<5sW>9963<7c823g=z{=9<6=4={_610>;4?h0:;o5rs515>5<5sW>9?63<78823g=z{=9>6=4={_616>;4?10:;o5rs517>5<5sW>9=63<76823g=z{=986=4={_62<>;4>l0:;o5rs50:>5<5sW>:;63<6e823g=z{=:m6=4={_1ff>;4180356s|41f94?4|V:oj70=61;4b?xu38j0;6?uQ3d;896?62?30q~:?b;296~X4m116?4?5699~w16f2909wS=j7:?0=4<1?2wx8=750;0xZ6c13492=789;|q742<72;qU?h:4=2;2>33;:7>52z\0a6=:;0;1495rs526>5<5sW9n>63<908;7>{t<9>1<793237p};0283>7}Y;l:01>7>:908yv27:3:1>vP7<7=081v9>>:181[5cm2785<470:p056=838pR>jk;<1:5?1a3ty8jk4?:3y]7ae<5:3:6:k4}r1ea?6=:rT8ho5238393d=z{:lh6=4={_1g=>;4180=j6s|3g`94?4|V:n370=61;47?xu4nh0;6?uQ3e5896?621i0q~=i9;296~X4l?16?4?57e9~w6`?2909wS=k5:?0=4<0j2wx?k950;0xZ6b33492=796;|q0b3<72;qU?i=4=2;2>2>52z\0`7=:;0;1;:5rs2d7>5<5sW9o=63<90842>{t;o91<793=>7p};1783>7}Y;o;01>7>:668yv26=3:1>vP7<7=0h1v9?;:181[5bn2785<483:p045=838pR>kj;<1:5?153ty?=?4?:3y]7`b<5:3:6:?4}r625?6=:rT8in52383935=z{=;;6=4={_1f1>;4180=i6s|41:94?4|V:nj70=61;4g?xu4nm0;6?uQ3bd896?62?i0q~=i2;296~X4kl16?4?56c9~w454290jw0=m8;342>;5?80?m63=8587e>;5mk0?m63=fd87e>;5j=0?m63=a387e>;4:m0?m63<1e87e>;4180h56s|38:94?5|5:3268?4=2;;>41e3492;7:7;|q0=<<72;q6?47516`896?e2m>0q~=n3;297~;4i=0>=63;4i:0:;o5rs2c7>5<5s49j87?8b:?0e378:05a?85>j3n>7p}6}:;h81=:l4=2c0>07<5:k=6i;4}r1:e?6=7`9>7d6=9>k01>7i:05b?85>j3;<86s|38g94?7fs49j=7?8b:?1=0<6?h16>i<54e9>6a7=nh54e9>6fc=i>54e9>6fb=nm54e9>6fg=n7516c897ee2=n01?k9:5f897c22=n01?k;:5f897c42=n01?k=:5f897c62=n01?k?:5f897ba2=n01?jj:5f897bc2=n01?89:5f897042=n01?8n:05b?84113;4;d:?107<3l2798<4;d:?105<3l279?k4;d:?17`<3l279?i4;d:?17f<3l27:oi4;d:?2gf<3l27:oo4;d:?2gd<3l27:o44;d:?2g=<3l27:o:4;d:?2g3<3l27:o84;d:?2g1<3l2wx?4m50;3685>n3;;4?<0?h63<7587`>;4?:0?h63<7387`>;4?80?h63<7187`>;4>o0?h63<7d87`>;4?m0?h63<7b87`>;4?k0?h63<7`87`>;4?00?h63<7987`>;4?>0?h63<6d87`>;4>m0?h63<928g0>;4180:4?5rs2c6>5<4s49jm7?8a:?0e<<6?h16?l851668yv5f03:1=hu23`c952d<5:;;69j4=22e>1b<5:>369j4=264>1b<5:>=69j4=266>1b<5:>?69j4=260>1b<5:>:6<9n;<174?2c349?>7:k;<160?2c349>>7?8a:?016<3l278984;d:?013<3l2789:4;d:?01=<3l278944;d:?01d<3l278:n4;d:?02g<3l278:l4;d:?02<<3l278:54;d:?022<3l278:;4;d:?020<3l278:94;d:p7d1=838=w0=n9;34f>;6i>0?h63>a787`>;6i<0?h63>a587`>;6i:0?h63>a387`>;6i80?h63>a187`>;61o0?h63>f287`>;6n;0?h63>f087`>;6n90?h63>eg87`>;6ml0?h63>ee87`>;6mj0?h63>ec87`>;6m80?h63>e187`>;6lo0?h63>dd87`>;6lm0?h63>db87`>;6lk0?h63>d`87`>;6l00?h63>d987`>;5;;0?h63=3087`>;5;90?h63=2g87`>;5:l0?h63=2e87`>;5:j0?h63=2c87`>;5:h0?h6s|28494?4|5;3>68?4=3;4>4133ty9584?:4y>6<3=9>h01?87:e6897062m?01?;i:e7897072m?0q~=>1;297~;4990>=63<0g865>;49;0:;95rs22e>5<4s49;j7?8b:?0567}::>?1=:j4=35e>4133ty95>4?:3y>623=9>>01?78:e48yv41n3:1>v3=7587e>;5?:0:;95rs35:>5<5s48<87?8d:?13`<6?=1v?8j:181840;3>j70<82;340>{t:>21<741c3487}::>81=:j4=35`>4133ty9;;4?:3y>627=9>n01?9m:057?xu50:0;6?u229:90d=::1=1=::4}r0;`?6=:r79454>7e9>6<4=9>>0q~<64;296~;5010:;9522859`0=z{;296=4={<0;3?2f3483:7?84:p6=e=838p1?68:05g?84>93;<86s|29394?4|5;2=69o4=3:6>4133ty94o4?:3y>6=0=9>n01?7?:057?xu5090;6?u229790d=::1>1=::4}r0;e?6=:r79484>7e9>6=`=9>>0q~<79;296~;50=0:;i5229g952252z?1ac<3i279ih4>759~w7`32909w0;5n00:;95rs22g>5<5s48nj7?84:?0572wx>h750;0x97cb2=k01?kk:057?xu5n:0;6?u22dg952b<5;l36<9;;|q1a=<72;q6>hj54`9>6`e=9>>0q~52z?1af<3i279io4>759~w7`62909w0;5n?0:;95rs3d3>5<5s48nn7?8d:?1b0<6?=1v?hk:181857:3>j70=?1;340>{t;9=1<741c349;o7?84:p75c=838p1>>=:057?856:3n<7p}=fb83>7}:;9;18l52312952252z?044<6?m16?=l51668yv4aj3:1>v3<0187e>;5no0:;95rs226>5<5s49;<7?8d:?04d<6?=1v?hn:18184an3>j70{t;9>1<741c349;57?84:p755=838p1?hj:05g?85703;<86s|1dc94?3|58k<68?4=0d0>41e34;j57j:;<3bf?b334;jh7j8;|q2=`<72:q6=l9516`8966d2m>01?h6:e78yv7f03:1>v3>a7865>;6i00:;95rs0;g>5<4s4;j:7?8b:?04g9b83>6}:9h?1=:l4=22a>a2<5;l36i94}r3bg?6=?r7:m94:1:?2ea<6?=16=lh5d49>5g7=l?16=o=5d69>5g1=l>16=o75d69~w4?e2908w0?n4;34f>;48h0o963=f68g1>{t9ho1<707<58km6<9;;|q2=d<72:q6=l=516`8966f2m>01?h8:e58yv7e83:1>v3>a3865>;6j80:;95rs0;:>5<4s4;j>7?8b:?04<:43894d428=?7p}>9983>6}:9h;1=:l4=22:>a2<5;l=6i94}r3a0?6=:r7:m=4:1:?2f2<6?=1v<78:18087f83;;5n<0o96s|1c:94?4|583m68?4=0`:>4133ty:5;4?:2y>5<`=9>h01>>7:e6897`22m=0q~<;d;291~;58l0>=63=57823g=::8:1h8522009`1=::8>1h:5rs326>5<4s48;i7?8b:?1=7k:438977728=?7p}=0583>6}::9n1=:l4=3;1>a2<5;=m6i:4}r025?6=:r79<:180847k3;;5?l0o96s|20194?1|5;:i68?4=337>413348::7j:;<02=l516`897?62m>01?9j:e68yv46=3:1>v3=0`865>;59?0:;95rs322>5<4s48;m7?8b:?1=56:438977?28=?7p}=0183>6}::931=:l4=3;3>a2<5;=o6i:4}r02=?6=:r79<54:1:?15d<6?=1v;5?j0o96s|20`94?4|5;:<68?4=33f>4133ty:jh4?:2y>651=9>h01?6i:e68971d2m>0q~<>f;296~;58?0>=63=218231=z{8lo6=4<{<032?70j2794h4k4:?13g>l50;0x97312<;01?:;:05a?xu5;h0;6?u2247914=::=91=:l4}r07g?6=7c9>646=l=16><<5d49>642=l?1v?=6:181842<3?:70<;2;34f>{t:=h1<7=t=377>41e348:>7j9;<020?b23ty9?54?:3y>605==816>9?516`8yv43i3:1>v3=52823g=::8>1h95rs314>5<5s48>>7;>;<074?70j2wx>9750;4x973528=i70<>6;f7?84603n>70<>a;f5?846m3n>70<=0;f6?xu5;?0;6?u2243914=:::l1=:l4}r077c9>64>=l=16>64c=l=16>?>5d59~w7522909w0<:0;72?844m3;61`==816>>j516`8yv43>3:1?v3=4g823g=::8i1h85220f9`0=z{;986=4={<07a?363488o7?8b:p613=838p1?:j:05a?846l3n=7p}>d683>7}:9o919<521d3952d52z?2b7<2927:i=4>7c9~w4c>290?w0?i2;34f>;6i00o863>ac8g1>;6im0o:6s|1e794?4|58l:68?4=0fe>41e3ty:i54?:2y>5c7=9>h01=63>dd823g=z{8o<6=4={<3e4?70j27:mi4k4:p5a5=838p1e783>3}:9ll1=:l4=0ce>a2<58h:6i;4=0`0>a0<58h<6i;4=0`:>a37>52z?2a`<2927:hn4>7c9~w4c2290>w0?je;34f>;6j80o863>b28g1>;6j>0o863>b88g0>{t9m;1<707<58ni6<9m;|q2a1<72=q6=hj516`894d42m>010q~?k0;296~;6mj0>=63>d`823g=z{8o86=4<{<3fg?70j27:n84k5:?2f3{t:;=1<707<5;9;6<9m;|q163<72;q6>9?5509>67`=9>h0q~<=5;296~;5<90>=63=2d823g=z{;8?6=4={<00b?363489h7?8b:p675=838p1?=j:438974d28=i7p}=2383>7}:::n19<5223`952d52z?17f<29279>l4>7c9~w4e42909w0?j1;72?87dl3;41e3ty:o<4?:3y>5a`==816=nl516`8yv7d83:1>v3>dd865>;6kh0:;o5rs0`e>5<5s4;oh7;>;<3`=?70j2wx=ok50;0x94bd2<;01{t9kk1<707<58i?6<9m;|q2g`<728q6=i6516`8yv4ck3:19v3>ce865>;5m?0:;o521979`1=::>l1h:5238397==z{8l?6=4={<3`g?3634;397?84:p5c3=838p1128=?7p}>f783>7}:9jk19<52195952252z?2g<<2927:454>759~w4`?2909w0?l8;72?87?13;<86s|1g;94?4|58i<68?4=0:b>4133ty:jl4?:3y>5f0==816=5l51668yv7aj3:1>v3>c4865>;60j0:;95rs0d`>5<5s4;h87;>;<3;`?70<2wx?;=50;6x97552<;01>8l:05a?87?m3n?70=61;61?xu5=>0;6?u2223914=:91o1=::4}r06{t:07<583:6<9;;|q11g<72;q6>?j5509>5<4=9>>0q~<:c;296~;5:j0>=63>928231=z{;?o6=4={<01f?3634;287?84:p60c=838p1?43|5;n96964=3f2>1><5;im6964=3af>1><5;n;6964=3ag>1><5;ih6964=3ab>1><5;i26964=3aa>1><5;o=6964=3g6>1><5;o?6964=3g0>1><5;o96964=3g2>1><5;o;6964=3fe>1><5;nn6964=3fg>1><5;<:6<9;;|q1e4<72;q6>i<5509>6gb=9>>0q~p1?j>:05a?84b=3?:70<62;f5?84e;3n?7p}=9d83>7}::jl19<522cc952254z?1gc<6?k16>h=5509>6<7=l?16>lh5d59~w7?c2909w06a6==816>ol51668yv4d>3:18v3=d1823g=::l>19<522839`2=::k;1h95rs3;`>5<5s48hh7;>;<0an=50;6x97ec28=i7083n=707c9>6`6==816>5h5d69>6d?=l=1v?76:18184di3?:70{t:j:1<7:t=3ab>41e348oi7;>;<0;a?b2348j97j;;|q1==<72;q6>n75509>6g2=9>>0q~p1?mm:05a?84cn3?:70<7f;f5?84f?3n?7p}=b383>7}::kn18l522c0952252z?1fa<6:=16>ok51668yv4e83:1?v3=bb87e>;5j;0?m63=b18231=z{;h86=4<{<0ag?75<279n?4>7e9>6g5=9>>0q~;5il0:;95rs3`2>5<4s48in7?=4:?1f5<6?m16>o?51668yv4fk3:1?v3=b`87e>;5il0?m63=ab8231=z{;km6=4<{<0ae?75<279mh4>7e9>6d`=9>>0q~;5ih0:;95rs3cg>5<4s48i57?=4:?1ef<6?m16>lj51668yv4f03:1?v3=b987e>;5ih0?m63=a98231=z{;ki6=4<{<0a7e9>6dd=9>>0q~0?m63=a987e>;5i?0:;95rs3c:>5<4s48i;7?=4:?1e=<6?m16>l751668yv4f<3:1?v3=b787e>;5i?0?m63=a58231=z{;k<6=4<{<0a2?75<279m;4>7e9>6d1=9>>0q~;5i;0:;95rs3c6>5<4s48i97?=4:?1e1<6?m16>l;51668yv4f;3:1?v3=b58261=::h81=:j4=3c0>4133ty9ho4?:4y>6`3=9>h01<69:e6894>22m?01?9i:e4896?62:<0q~5<2s48n?7?8b:?2<=2785<4<4:p6a>=83?p1?k=:05a?87?13n?70?78;f6?840l3n<70=61;10?xu5l>0;68u22d3952d<582j6i:4=0::>a3<5;=o6i84=2;2>6455z?1a5<6?k16=5l5d59>5=g=l<16>:m5d69>7<7=;81v?j::18684cn3;8b8g0>;60k0o963=7b8g2>;41808<6s|2e694?3|5;nn6<9m;<3;`?b334;3o7j:;<04f?b13492=7ij516`894>c2m?01?9m:e7896?62;o0q~<97;296~;5>?0>=63=698231=z{;<=6=47{<052?70j279:84k5:?12f279:54k6:?127279:<4k7:?11c=}::?91=:l4=346>a2<5;a3<5;<96i;4=342>a0<5;?m6i84=343>a053z?12d<29279:44:1:?12f<6?=1v?86:18184113;{t;0<1<7?k{<1787:7;<166?2?349>?7:7;<161?2?349>:7:7;<163?2?349>47:7;<16=?2?349>m7:7;<15g?2?349=n7:7;<15e?2?349=57:7;<15?l:18185303?:70=<5;340>{t;:l1<7:t=26;>41e349>m7;>;<13g?b23498:7j;;|q05g<72;q6?995509>762=9>>0q~=0:;o5234;914=:;9h1h:5233a9`1=z{:;j6=4={<172?363498?7?84:p76b=83>p1>:9:05a?85203?:70=?b;f5?855i3n?7p}<1883>7}:;=?19<52320952254z?000<6?k16?895509>75g=l>16??65d59~w67?2909w0=;4;72?85493;<86s|32`94?2|5:>?6<9m;<162?36349;m7j9;<112?b33ty8=:4?:3y>715==816?>>51668yv54i3:18v3<42823g=:;1h95rs236>5<5s49?=7;>;<11a?70<2wx?>650;6x962628=i70=:3;72?85703n<70==0;f7?xu49=0;6?u2352914=:;;n1=::4}r103?6=7c9>704==816?=65d79>74c=l=1v>?9:181853:3?:70==f;340>{t;:31<7:t=261>41e349>87;>;<13=?b13499>7j;;|q06g<72;q6?>;54`9>77d=9>>0q~=<6;296~;4;<0:>952324952253z?071<3i278>o4;a:?06<<6?=1v>4;a:?06<<3i278>:4>759~w64f2908w0=<3;310>;4:00:;i5233c952253z?077<3i278>:4;a:?060<6?=1v><7:180854:3;9863<26823a=:;;21=::4}r117?6=;r78?<4;a:?060<3i278>>4>759~w6412908w0=<1;310>;4:<0:;i52334952253z?075<3i278>>4;a:?064<6?=1v><;:18085483;9863<22823a=:;;>1=::4}r12b?6=;r78>k4;a:?064<3i278=k4>759~w6452908w0==f;310>;4:80:;i52330952253z?06`<3i278=k4;a:?05a<6?=1v>i4>259>74b=9>n01>?j:057?xu4u2346952d<5:<=68?4=3d5>a053z?017<6?k16?;:5509>6c3=l?1v>:n:180852;3;;5n<0o86s|35a94?5|5:?>6<9m;<153?36348m:7j;;|q00a<72:q6?88516`8960?2<;01?h8:e48yv53m3:1?v3<56823g=:;?319<522g59`1=z{:>m6=4<{<162wx?8>50;1x963>28=i70=9b;72?84a03n?7p}<5083>6}:;07<5;l26i:4}r156?6=7c9>5=`=l=16=5k5d49>7<7=<91v>8>:187851i3;918g0>;60o0o963<9080b>{t;?:1<7:t=24:>41e34;2=7j;;<3:4?b23492=7=j;|q01c<72=q6?;6516`894?52m>01<7>:e7896?62:n0q~=:e;290~;4>>0:;o521819`1=:9081h85238397f=z{:?o6=4;{<152?70j27:594k4:?2=6p1>8::05a?87>=3n?70?64;f6?85>939j7p}<5c83>6}:;?>1=:l4=0;6>a3<5:3:6>74}r1:1?6=9:q6?:85499>723=<116?::5499>725=<116?:<5499>727=<116?:>5499>73`=<116?:k5499>72b=<116?:m5499>72d=<116?:o5499>72?=<116?:65499>721=<116?;k5499>73b=<116>;<51668yv5??3:1>v3<77865>;4180h=6s|39494?4|5:=>68?4=2;2><252z?031<292785<462:p7=2=838p1>9<:43896?620;0q~=73;296~;4?;0>=63<908:4>{t;181<707<5:3:65h4}r1;5?6=:r78;=4:1:?0=450;0x960a2<;01>7>:8f8yv5>83:1>v3<7d865>;41802o6s|39d94?4|5:=o68?4=2;2>g`52z?03f<292785<46b:p7=b=838p1>9m:43896?620k0q~=7c;296~;4?h0>=63<908:=>{t;1h1<707<5:3:6464}r1;e?6=:r78;54:1:?0=4<>?2wx?5750;0x96102<;01>7>:848yv5?03:1>v3<6d865>;4180296s|36d94?4|5:=bj7>52z?0=6249~w6?52909w0=63;340>;4180h46s|38694?4|5;3<6i:4=37e>4423ty::94?:3y>5g1=l?16=o;51378yv71>3:1>v3>b88g2>;6j?0:>85rs04;>5<5s48:i7j9;<02g?75=2wx=;o50;0x97472m<01??k:006?x{t<9l1<7{t<9n1<7{t<9i1<7{t<9h1<7{t<9k1<7{t<931<7{t<9=1<7{t<9<1<7{t<9?1<7{t<9>1<7{t<991<7{t<981<7{t<9;1<7{t<9:1<7{t;ol1<7{t;oo1<7{t;oi1<7{t;oh1<7{t;ok1<7{t;o31<7{t;o21<77)=nb;36g>{t;o=1<7{t;o<1<7{t;o?1<7{t;o>1<7{t;o91<7{t<8<1<7{t<8?1<7{t<8>1<7{t<891<7{t<881<7{t<8;1<7{t<8:1<77)=nb;35<>{t<921<7{t;on1<7{t;o81<7{t<121<7{t<0?1<77)=nb;301>{t<0=1<7{t<0o1<7{t{t<:81<7{t<::1<7{t<;l1<7{t<;o1<7{t<;n1<7{t<;i1<7{t<;h1<7{t<;k1<7{t<:h1<7{t<:k1<7{t<:31<7{t<:21<77)=nb;372>{t<:=1<7{t<:<1<7{t<:?1<7{t<:>1<7{t<:91<7{t<;31<7{t<:n1<7{t<=91<787)=nb;37b>{zf1n?6=4={I1bg>{i0m?1<7c?3:1>vFol;|l;`d<72;qC?lm4}o:gf?6=:rB8mn5rn9f`>5<5sA9jo6sa8ef94?4|@:kh7p`7dd83>7}O;hi0qc6kf;296~N4ij1vb5k?:181M5fk2we4h?50;0xL6gd3td3i?4?:3yK7de52zJ0ef=zf1o?6=4={I1bg>{i0l?1<7b?3:1>vFol;|l;ad<72;qC?lm4}o:ff?6=:rB8mn5rn9g`>5<5sA9jo6sa8df94?4|@:kh7p`7ed83>7}O;hi0qc6jf;296~N4ij1vb5h?:181M5fk2we4k?50;0xL6gd3td3j?4?:3yK7de52zJ0ef=zf1l?6=4={I1bg>{i0o?1<7a?3:1>vFol;|l;bd<72;qC?lm4}o:ef?6=:rB8mn5rn9d`>5<5sA9jo6sa8gf94?4|@:kh7p`7fd83>7}O;hi0qc6if;296~N4ij1vb4>?:181M5fk2we5=?50;0xL6gd3td252zJ0ef=zf0:?6=4={I1bg>{i19?1<78?0;6?uG3`a8yk?7?3:1>vFol;|l:4d<72;qC?lm4}o;3f?6=:rB8mn5rn82`>5<5sA9jo6sa91f94?4|@:kh7p`60d83>7}O;hi0qc7?f;296~N4ij1vb4??:181M5fk2we;;o50;3xL6gd3td51zJ0ef=zf>k26=4>{I1bg>{i?hk1<7?tH2c`?xh0ik0;6ol;|l4ec<728qC?lm4}o5a4?6=9rB8mn5rn6`2>5<6sA9jo6sa7c094?7|@:kh7p`8b283>4}O;hi0qc9m4;295~N4ij1vb:l::182M5fk2we;o850;3xL6gd3td51zJ0ef=zf>h26=4>{I1bg>{i?kk1<7?tH2c`?xh0jk0;6ol;|l4fc<728qC?lm4}o5`4?6=9rB8mn5rn6a2>5<6sA9jo6sa7b094?7|@:kh7p`8c283>4}O;hi0qc9l4;295~N4ij1vb:m::182M5fk2we;n850;3xL6gd3td51zJ0ef=zf>i26=4>{I1bg>{i?jk1<7?tH2c`?xh0kk0;6ol;|l4gc<728qC?lm4}o5g4?6=9rB8mn5rn6f2>5<6sA9jo6sa7e094?7|@:kh7p`8d283>4}O;hi0qc9k4;295~N4ij1vb:j::182M5fk2we;i850;3xL6gd3td51zJ0ef=zf>n26=4>{I1bg>{i?mk1<7?tH2c`?xh0lk0;6ol;|l4`c<728qC?lm4}o5f4?6=9rB8mn5rn6g2>5<6sA9jo6sa7d094?7|@:kh7p`8e283>4}O;hi0qc9j4;295~N4ij1vb:k::182M5fk2we;h850;3xL6gd3td51zJ0ef=zf>o26=4>{I1bg>{i?lk1<7?tH2c`?xh0mk0;6ol;|l4ac<728qC?lm4}o5e4?6=9rB8mn5rn6d2>5<6sA9jo6sa7g094?7|@:kh7p`8f283>4}O;hi0qc9i4;295~N4ij1vb:h::182M5fk2we;k850;3xL6gd3td51zJ0ef=zf>l26=4>{I1bg>{i?ok1<7?tH2c`?xh0nk0;6ol;|l4bc<728qC?lm4}o:34?6=9rB8mn5rn922>5<6sA9jo6sa81094?7|@:kh7p`70283>4}O;hi0qc6?4;295~N4ij1vb5>::182M5fk2we4=850;3xL6gd3td3<:4?:0yK7de51zJ0ef=zf1:26=4>{I1bg>{i09k1<7?tH2c`?xh?8k0;67k3:1=vFol;|l;4c<728qC?lm4}o:24?6=9rB8mn5rn932>5<6sA9jo6sa80094?7|@:kh7p`71283>4}O;hi0qc6>4;295~N4ij1vb5?::182M5fk2we4<850;3xL6gd3td3=:4?:0yK7de51zJ0ef=zf1;26=4>{I1bg>{i08k1<7?tH2c`?xh?9k0;66k3:1=vFol;|l;5c<728qC?lm4}o:14?6=9rB8mn5rn902>5<6sA9jo6sa83094?7|@:kh7p`72283>4}O;hi0qc6=4;295~N4ij1vb5<::182M5fk2we4?850;3xL6gd3td3>:4?:0yK7de51zJ0ef=zf1826=4>{I1bg>{i0;k1<7?tH2c`?xh?:k0;65k3:1=vFol;|l;6c<728qC?lm4}o:04?6=9rB8mn5rn912>5<6sA9jo6sa82094?7|@:kh7p`73283>4}O;hi0qc6<4;295~N4ij1vb5=::182M5fk2we4>850;3xL6gd3td3?:4?:0yK7de51zJ0ef=zf1926=4>{I1bg>{i0:k1<7?tH2c`?xh?;k0;64k3:1=vFol;|l;7c<728qC?lm4}o:74?6=9rB8mn5rn962>5<6sA9jo6sa85094?7|@:kh7p`74283>4}O;hi0qc6;4;295~N4ij1vb5:::182M5fk2we49850;3xL6gd3td38:4?:0yK7de51zJ0ef=zf1>26=4>{I1bg>{i0=k1<7?tH2c`?xh?3k3:1=vFol;|l;0c<728qC?lm4}o:64?6=9rB8mn5rn972>5<6sA9jo6sa84094?7|@:kh7p`75283>4}O;hi0qc6:4;295~N4ij1vb5;::182M5fk2we48850;3xL6gd3td39:4?:0yK7de47>51zJ0ef=zf1?26=4>{I1bg>{i02k3:1=vFol;|l;1c<728qC?lm4}o:54?6=9rB8mn5rn942>5<6sA9jo6sa87094?7|@:kh7p`76283>4}O;hi0qc694;295~N4ij1vb58::182M5fk2we4;850;3xL6gd3td3::4?:0yK7de51zJ0ef=zf1<26=4>{I1bg>{i0?k1<7?tH2c`?xh?>k0;61k3:1=vFol;|l;2c<728qC?lm4}o:44?6=9rB8mn5rn952>5<6sA9jo6sa86094?7|@:kh7p`77283>4}O;hi0qc684;295~N4ij1vb59::182M5fk2we4:850;3xL6gd3td3;:4?:0yK7de51zJ0ef=zf1=26=4>{I1bg>{i0>k1<7?tH2c`?xh??k0;60k3:1=vFol;|l;3c<728qC?lm4}o:;4?6=9rB8mn5rn9:2>5<6sA9jo6sa89094?7|@:kh7p`78283>4}O;hi0qc674;295~N4ij1vb56::182M5fk2we45850;3xL6gd3td34:4?:0yK7de51zJ0ef=zf1226=4>{I1bg>{i01k1<7?tH2c`?xh?0k0;6?k3:1=vFc290:wE=nc:m<=c=83;pD>ol;|l;5<6sA9jo6sa88094?7|@:kh7p`79283>4}O;hi0qc664;295~N4ij1vb57::182M5fk2we44850;3xL6gd3td35:4?:0yK7de51zJ0ef=zf1326=4>{I1bg>{i00k1<7?tH2c`?xh?1k0;6>k3:1=vFol;|l;=c<728qC?lm4}o:b4?6=9rB8mn5rn9c2>5<6sA9jo6sa8`094?7|@:kh7p`7a283>4}O;hi0qc6n4;295~N4ij1vb5o::182M5fk2we4l850;3xL6gd3td3m:4?:0yK7de51zJ0ef=zf1k26=4>{I1bg>{i0hk1<7?tH2c`?xh?ik0;6fk3:1=vFol;|l;ec<728qC?lm4}o:a4?6=9rB8mn5rn9`2>5<6sA9jo6sa8c094?7|@:kh7p`7b283>4}O;hi0qc6m4;295~N4ij1vb5l::182M5fk2we4o850;3xL6gd3td3n:4?:0yK7de51zJ0ef=zf1h26=4>{I1bg>{i0kk1<7?tH2c`?xh?jk0;6ek3:1=vFol;|l;fc<728qC?lm4}o:`4?6=9rB8mn5rn9a2>5<6sA9jo6sa8b094?7|@:kh7p`7c283>4}O;hi0qc6l4;295~N4ij1vb5m::182M5fk2we4n850;3xL6gd3td3o:4?:0yK7de51zJ0ef=zf1i26=4>{I1bg>{i0jk1<7?tH2c`?xh?kk0;6dk3:1=vFol;|l;gc<728qC?lm4}o:g4?6=9rB8mn5rn9f2>5<6sA9jo6sa8e094?7|@:kh7p`7d283>4}O;hi0qpsr@AAxe2e==ml>?i==}ABA5{GHYqvLM \ No newline at end of file diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v index f7f6e7e9f..6f849b24c 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.v @@ -61,7 +61,7 @@ output full; // synthesis translate_off - FIFO_GENERATOR_V4_4 #( + FIFO_GENERATOR_V4_3 #( .C_COMMON_CLOCK(0), .C_COUNT_TYPE(0), .C_DATA_COUNT_WIDTH(9), diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo new file mode 100644 index 000000000..5c2da4b97 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo @@ -0,0 +1,51 @@ +/******************************************************************************* +* This file is owned and controlled by Xilinx and must be used * +* solely for design, simulation, implementation and creation of * +* design files limited to Xilinx devices or technologies. Use * +* with non-Xilinx devices or technologies is expressly prohibited * +* and immediately terminates your license. * +* * +* XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" * +* SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR * +* XILINX DEVICES. BY PROVIDING THIS DESIGN, CODE, OR INFORMATION * +* AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION * +* OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS * +* IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT, * +* AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE * +* FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY DISCLAIMS ANY * +* WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE * +* IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR * +* REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF * +* INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS * +* FOR A PARTICULAR PURPOSE. * +* * +* Xilinx products are not intended for use in life support * +* appliances, devices, or systems. Use in such applications are * +* expressly prohibited. * +* * +* (c) Copyright 1995-2007 Xilinx, Inc. * +* All rights reserved. * +*******************************************************************************/ +// The following must be inserted into your Verilog file for this +// core to be instantiated. Change the instance name and port connections +// (in parentheses) to your own signal names. + +//----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG +fifo_xlnx_512x36_2clk_36to18 YourInstanceName ( + .din(din), // Bus [35 : 0] + .rd_clk(rd_clk), + .rd_en(rd_en), + .rst(rst), + .wr_clk(wr_clk), + .wr_en(wr_en), + .dout(dout), // Bus [17 : 0] + .empty(empty), + .full(full)); + +// INST_TAG_END ------ End INSTANTIATION Template --------- + +// You must compile the wrapper file fifo_xlnx_512x36_2clk_36to18.v when simulating +// the core, fifo_xlnx_512x36_2clk_36to18. When compiling the wrapper file, be sure to +// reference the XilinxCoreLib Verilog simulation library. For detailed +// instructions, please refer to the "CORE Generator Help". + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco index a1c75dc39..9f47c073c 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco @@ -1,7 +1,7 @@ ############################################################## # # Xilinx Core Generator version K.39 -# Date: Thu Jul 29 18:10:59 2010 +# Date: Tue Aug 10 23:09:39 2010 # ############################################################## # @@ -32,7 +32,7 @@ SET verilogsim = true SET vhdlsim = false # END Project Options # BEGIN Select -SELECT Fifo_Generator family Xilinx,_Inc. 4.4 +SELECT Fifo_Generator family Xilinx,_Inc. 4.3 # END Select # BEGIN Parameters CSET almost_empty_flag=false @@ -78,5 +78,5 @@ CSET write_data_count=false CSET write_data_count_width=9 # END Parameters GENERATE -# CRC: 392ad537 +# CRC: b2f58113 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso new file mode 100644 index 000000000..f1a6f7899 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso @@ -0,0 +1,3 @@ +blkmemdp_v6_2 +blk_mem_gen_v2_6 +fifo_generator_v4_3 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt new file mode 100644 index 000000000..3abf04253 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt @@ -0,0 +1,101 @@ + + + + + + +
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + +
+
+ + + +
+
+
+
+
+
+
+
+ + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + + + + +
+
+
+
+
+ + + +
+ + + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt new file mode 100644 index 000000000..aadac46c0 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt @@ -0,0 +1,8 @@ +# Output products list for +fifo_xlnx_512x36_2clk_36to18.ngc +fifo_xlnx_512x36_2clk_36to18.v +fifo_xlnx_512x36_2clk_36to18.veo +fifo_xlnx_512x36_2clk_36to18.xco +fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +fifo_xlnx_512x36_2clk_36to18_flist.txt +fifo_xlnx_512x36_2clk_36to18_xmdf.tcl diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt new file mode 100644 index 000000000..568c757ec --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt @@ -0,0 +1,39 @@ +The following files were generated for 'fifo_xlnx_512x36_2clk_36to18' in directory +/home/matt/fpgapriv/usrp2/coregen/: + +fifo_xlnx_512x36_2clk_36to18.ngc: + Binary Xilinx implementation netlist file containing the information + required to implement the module in a Xilinx (R) FPGA. + +fifo_xlnx_512x36_2clk_36to18.v: + Verilog wrapper file provided to support functional simulation. + This file contains simulation model customization data that is + passed to a parameterized simulation model for the core. + +fifo_xlnx_512x36_2clk_36to18.veo: + VEO template file containing code that can be used as a model for + instantiating a CORE Generator module in a Verilog design. + +fifo_xlnx_512x36_2clk_36to18.xco: + CORE Generator input file containing the parameters used to + regenerate a core. + +fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt: + Please see the core data sheet. + +fifo_xlnx_512x36_2clk_36to18_flist.txt: + Text file listing all of the output files produced when a customized + core was generated in the CORE Generator. + +fifo_xlnx_512x36_2clk_36to18_readme.txt: + Text file indicating the files generated and how they are used. + +fifo_xlnx_512x36_2clk_36to18_xmdf.tcl: + ISE Project Navigator interface file. ISE uses this file to determine + how the files output by CORE Generator for the core can be integrated + into your ISE project. + + +Please see the Xilinx CORE Generator online help for further details on +generated files and how to use them. + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl new file mode 100644 index 000000000..09248b321 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl @@ -0,0 +1,68 @@ +# The package naming convention is _xmdf +package provide fifo_xlnx_512x36_2clk_36to18_xmdf 1.0 + +# This includes some utilities that support common XMDF operations +package require utilities_xmdf + +# Define a namespace for this package. The name of the name space +# is _xmdf +namespace eval ::fifo_xlnx_512x36_2clk_36to18_xmdf { +# Use this to define any statics +} + +# Function called by client to rebuild the params and port arrays +# Optional when the use context does not require the param or ports +# arrays to be available. +proc ::fifo_xlnx_512x36_2clk_36to18_xmdf::xmdfInit { instance } { +# Variable containg name of library into which module is compiled +# Recommendation: +# Required +utilities_xmdf::xmdfSetData $instance Module Attributes Name fifo_xlnx_512x36_2clk_36to18 +} +# ::fifo_xlnx_512x36_2clk_36to18_xmdf::xmdfInit + +# Function called by client to fill in all the xmdf* data variables +# based on the current settings of the parameters +proc ::fifo_xlnx_512x36_2clk_36to18_xmdf::xmdfApplyParams { instance } { + +set fcount 0 +# Array containing libraries that are assumed to exist +# Examples include unisim and xilinxcorelib +# Optional +# In this example, we assume that the unisim library will +# be magically +# available to the simulation and synthesis tool +utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library +utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18.ngc +utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18.v +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18.veo +utilities_xmdf::xmdfSetData $instance FileSet $fcount type verilog_template +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18.xco +utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18_xmdf.tcl +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + +utilities_xmdf::xmdfSetData $instance FileSet $fcount associated_module fifo_xlnx_512x36_2clk_36to18 +incr fcount + +} + +# ::gen_comp_name_xmdf::xmdfApplyParams -- cgit v1.2.3 From 6e0d78f4cbf6f0d6cda6007f11b4fb4dd4edaee9 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 12 Aug 2010 12:00:01 -0700 Subject: Found bug due to not accounting for the correct number of possible in flight READ operations that can be in the extfifo pipeline. Regenerated fifo_xlnx_512x36_2clk_18to36 to include prog_full output triggered at 1017 so that there are 6 empty spaces to accept in flight read data upon completion. Had to generate the FIFO using Coregen from ISE12.1 due to 10.1 verion not working correctly in FPGA Still have to tackle making this simulate in Icarus --- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc | 3 ++ usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v | 68 ++++++++++++++------------ usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco | 18 ++++--- usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc | 3 ++ usrp2/extramfifo/ext_fifo.v | 15 ++++-- usrp2/extramfifo/ext_fifo_tb.v | 39 +++++++++++++++ usrp2/extramfifo/nobl_fifo.v | 16 +++--- 7 files changed, 113 insertions(+), 49 deletions(-) create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc new file mode 100644 index 000000000..01deeab91 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$45540<,[o}e~g`n;"2*726&;$:,)<6;.vnt*Ydo&lbjbQwloz\144;?U9oaeP19vl73(iof;0<85?0123=>6789:;<=>;0:23456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?01084<7<9:1:"=?<;029MKVR\3KOH_O39;2=5`=683CE\XZ5psmd[cskdV~c~h}g<883:73<990BB][[:qplcZ`rdeUdk|h^cpw`ts400;2?;4118JJUSS2yxdkRhzlm]wlwct`Vdnklzj<883:4?<990DYY^ZT;fbpdYdg|d044?>0a855113922?OIX\^1HDO31483:45<9?0DYY^ZT;FLE972294:>6?7:HLSQQ11:07?754;8;0>7GAPTV9@LVF480;2<<42;MVPUSS2ME[M1?50?31?64=AGZ^X7JFB=12>586;2996B[[PTV9@JD;;80;2<:4378LQQVR\3ndyy2<5;2=`>5t:9:;jj::6,72?12<<9LM=<5;:HLSQQ11397>JSSX\^1HB^M<283:4=1:2<286869768<567<22N4L?4959:45?530;>585=231EC^ZT;rqkbYbey~rSyf}erj\evubz}636=0=5:;9MKVR\3zycjQjmqvz[qnumzbTbhintd>;>586j231CXZ_UU8q`Zbf|hUhcx`{<983:7=F:11JHI\N<1<;?DBCZH6:255NDEPB878?3HNO^L2<>99B@ATF4=437LJKR@>6:==FLMXJ0;07;@FGVD:0611JHI\N<9611JHI\M<1<;?DBCZK6:255NDEPA878?3HNO^O2<>99B@ATE4=437LJKRC>6:==FLMXI0;07;@FGVG:06h1JHI\M<983:==FLMXI050<;@NO=>GTQGIT^HI<;CW1<>DR[VCEJB?4C39@A44EKCK90OA\6;BMNILRSMM;?7NA]E^EFJ@TF\@EESD@IO69@V@GSMM;0H?5KC39GM3=CAH6;2:5KI@>24;169GMD:6<730HDO31483:2=CAH6:9384DHC?5;0384DHC?7;01OEO2>3?58@LD;9=4<7IGM<07=3>BNJ5;=2:5KIC>23;12NBN1?17:FJF9476>1OEO2=1?58@LD;:;4<7IGM<31=3>BNJ58?2:5KIC>11;1;08;EKA8719?2NBN1<7>69GMG:517<0HDL32?58@LD;;9427IGM<2394;119:FJTD:6294<7IG_A=3=3>BNXK6;2:5KIQ@?5;1BHI5;:2:5KO@>26;108;EMB842912NDM1?::1<4?AIF48?5:6J@A=3=2>BHI585:6J@A=1=2>BHI5>5:6J@A=7=2>BHI5<5:6J@A=5=2>BHI525:6J@A=;=3>BHIVXNK;5KOC>3:2=CGK6:<394DN@?54803MEI0<<17:FLF9746>1OCO2>4?58@JD;9<4<7IAM<04=3>BHJ5;<2:5KOC>2<;117:FLF9466>1OCO2=2?58@JD;::4<7IAM<36=3>BHJ58>2:5KOC>12;1:08;EMA87>9?2NDN1<6>79GKG:56>1OCO2<0?;8@JD;;80;2:5KOC>05;019:FLTD:6294<7IA_A=3=3>BHXK6;2:5KOQ@?5;16H75:DBHVC53ON87KJL4:DGG@56G>2:K16>O402CEEY^P01:8MKOSXV::46GAIUR\47><8:KMMQVX8=20ECG[P^26<>OIA]ZT<;64IOKWTZ6012CEEY][AUG4?LHN\V:;;6GAIU]352=NF@^T;7:KMMQY7=>1BBDZP0758MKOSW9=<7D@FT^2;3>OIA]U;5:5FNHV\4D11BBDZP1758MKOSW8=<7D@FT^3;3>OIA]U:5:5FNHV\5D1D69JJLRX9L=0ECG[_0D4?LHN\V8;;6GAIU]152=NF@^T>?94IOKW[7503@DBXR<;7:KMMQY5=>1BBDZP2758MKOSW;=<7D@FT^0;3>OIA]U95:5FNHV\6D11BBDZP3758MKOSW:=<7D@FT^1;3>OIA]U85:5FNHV\7D1L8;HLJPZ5D?2CEEYQ6B@6:NLEACC?2FDKDMNL59OQQ733E__>95CUU17?ISS0168J466<2D:H68=>0B<>:4:L24320968J46>;2D:=95A1027?K769=1E=<<;;O3271=I98>?7C?>559M54033G;:;95A10:7?K761:1E=?:4N0030>H6:8>0B<<=4:L26622468J441<2D:>::4N00;7>H6;=1E=>?<;O377>H6=:1E=;:4N0477>H6?:1E=5=4N0;1?K443G8;?6@=129M675H51;1E?>5A3108J0480B4=4N830?K?5;2D2?>5A9518J<343G3=?6@6729M==56^Q2h1YILJPFHPPPf=UMHNT[DJ[H^C`?WCFLV]BHYFPB09P56=TADUHCABFSHMM[FNBKB<0_B[]CD58WWPFDVK<7^\YAM]A0>UTZH>0_^\M4:VZT@553\:$kh!rg-dg}(ddbr$Aua}_sf\tkruWniTtb|?012\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4566W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;>R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?02]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3452XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:>S_k|umv277=R8&myj#|i/fa{*fjlp&GscQ}d^rmpwY`kVrd~=>?6^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\vaYwf}xTknQwos2342YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt789:T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=>>_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1236ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678:UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=:PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^uq[uhszVmhSua}0126[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYpzVzexQhc^zlv567>VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT{Qnup\cfYg{:;<:Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_vp\tkruWniTtb|?01:\V`urd};9=6[?/fpe*w`(ojr%oaew/sf\tkruWkce0=0=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<0<15>S7'nxm"h gbz-gim'{nT|cz}_ckm878592_;#j|i.sd,cf~)keas#jPpovq[goi4:49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce090=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<4<15>S7'nxm"h gbz-gim'{nT|cz}_ckm838592_;#j|i.sd,cf~)keas#jPpovq[goi4>49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce050=0:W3+bta&{l$knv!cmi{+wbXxg~ySoga_103?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\576<]9%l~k }f.e`|+ekcq%yhR~ats]amkY5:91^<"i}f/pe+be&jf`t"|k_qlwvZdnfV99<6[?/fpe*w`(ojr%oaew/sf\tkruWkceS9 gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?01213>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:;=?84U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos2344403\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=?>279V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567:;=0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?03312>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:8>:5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12377413\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=:=7:W3+bta&{l$knv!cmi{+wbXxg~ySoga_ymq45639;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0404?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789?:>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12327><]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<;?>269V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567>;8i7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?014\fab7:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?7358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678>;9<6[?/fpe*w`(ojr%oaew/sf\tkruWni7<3>328Q5)`zo$yj"ilx/aoo})ulVzexQhc=0=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`868582_;#j|i.sd,cf~)keas#jPpovq[be;<78;7X> gsd-vc)`kq$h`fv re]sjqtXoj6>2?>4U1-dvc(un&mht#mcky-q`Zvi|{Ulo181219V4*aun'xm#jmw.bnh|*tcWyd~Ril<6<14>S7'nxm"h gbz-gim'{nT|cz}_fa?<;7a3\:$kh!rg-dg}(ddbr$~iQnup\cfY79o1^<"i}f/pe+be&jf`t"|k_qlwvZadW8;m7X> gsd-vc)`kq$h`fv re]sjqtXojU9=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS>?i;T2,cw`)zo%lou lljz,vaYwf}xTknQ;1g9V4*aun'xm#jmw.bnh|*tcWyd~Ril_43e?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]55c=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[27a3\:$kh!rg-dg}(ddbr$~iQnup\cfY?:?1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyij2?>348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;978=7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh<3<12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo595>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>7:70<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlm793<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8385>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk191279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:?6;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP0378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX9;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP2378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX;;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP4378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX=;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP6378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX?;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP83;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86;2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:66;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>1:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<2<>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86?2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:26;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>5:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<28>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl8632?64U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4Y7:11^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1^31<>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:S?<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X;;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]76==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R;=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W?837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\37><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh>249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4565:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=><249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4563:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=>:249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4561:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=>8209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=3=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj949:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf595><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb1:1209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=7=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj909:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf5=5><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb161209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=;=65=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ7582_;#j|i.sd,cf~)keas#z|Ppovq[goiW;8;7X> gsd-vc)`kq$h`fv ws]sjqtXj`dT??>4U1-dvc(un&mht#mcky-tvZvi|{UiecQ;219V4*aun'xm#jmw.bnh|*quWyd~Rlfn^714>S7'nxm"h gbz-gim'~xT|cz}_ckm[3473\:$kh!rg-dg}(ddbr${Qnup\flhX?;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU3>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR7=6:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4567:>1^<"i}f/pe+be&jf`t"y}_qlwvZdnfVrd~=>?0005?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt789;9;6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}0122570<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;?3358Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678:89:6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012762=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;8<<9;T2,cw`)zo%lou lljz,swYwf}xTnd`Pxnp34535?2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>:1348Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678?837X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?0142571<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<;<=b:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4561Wkno219V4*aun'xm#jmw.bnh|*quWyd~Ril<1<14>S7'nxm"h gbz-gim'~xT|cz}_fa?5;473\:$kh!rg-dg}(ddbr${Qnup\cf:56;:0Y=!hrg,qb*adp'iggu!xr^rmpwY`k595>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh090=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm35?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>5:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg919:91^<"i}f/pe+be&jf`t"y}_qlwvZad4149<6[?/fpe*w`(ojr%oaew/vp\tkruWni753?i;T2,cw`)zo%lou lljz,swYwf}xTknQ?1g9V4*aun'xm#jmw.bnh|*quWyd~Ril_03e?P6(o{l%~k!hcy,`hn~({U{by|Pgb]15c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[67a3\:$kh!rg-dg}(ddbr${Qnup\cfY39o1^<"i}f/pe+be&jf`t"y}_qlwvZadW<;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU==k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS:?i;T2,cw`)zo%lou lljz,swYwf}xTknQ71g9V4*aun'xm#jmw.bnh|*quWyd~Ril_805?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`4949:6[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg=3=63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn692?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?7;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol090=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc939:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij29>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;?78=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<9<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo535>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]360=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU:>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]160=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU8>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]760=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU>>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]560=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU<>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef];60=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU2>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5979:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=0=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=1=1289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc95>5>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5939:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=4=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=191289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc9525>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g59?9:11^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1^31<>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:S?<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X;;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]76==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R;=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W?837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\37><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmThS7'nxm"h gbz-gim'~xT|cz}_fa\|jt789;996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01011>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt7899996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01611>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt789?996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01411>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt789=996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01:04>S7'nxm"h gm2-va)`z8$yjzh{/Lov|ZTFEVXOSH@PFVDW644a3\:$kh!rg-dh5(ul&my=#|iwgv,IhsW[KFS_KHOTV\AK76:m1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwa969:m1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwa979:j1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZ65k2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[4523\:$kh!rg-dh5(ul&my=#|iwgv,gptuWo}mxR}{aug\ip~789;7<3=9;T2,cw`)zo%l`= }d.eq5+tao~$ox|}_guepZusi}oTaxv?013?4;74=2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[hs89::0<0<6:W3+bta&{l$ka>!re-dv4(un~l#n{}r^dtbqYt|h~nS`{w01228486:11^<"i}f/pe+bj7&{n$k?!rguep*cjx}sTjzh{_g`13>S7'nxm"h gm2-va)`z8$yjzh{/dosp|Yao~Te?h4U1-dvc(un&mg<#|k/fp2*w`pn}%na}zv_guepZoXe|r;<=><0:W3+bta&{l$ka>!re-dv4(un~l#hctx]escrXaVg~t=>?000:?P6(o{l%~k!hl1,q`*auiz$yy} c1-`ewt~fl~7<3<6;T2,cw`)zo%l`= }d.eqev(u{}y$o=!laspzj`r;97827X> gsd-vc)`d9$yh"i}ar,qwqu(k9%hm|vndv?6;4>3\:$kh!rg-dh5(ul&mym~ }suq,g5)di{xrbhz33?0e?P6(o{l%~k!hl1,q`*auiz$yy} c1-dip~)odQ;Q#ib1/o26c=R8&myj#|i/fn3*wb(o{kx"}{s.a3+bkrp'mfW gsd-vc)`d9$yh"i}ar,qwqu(k9%laxv!glY7Y+aj{'gx>>5Z0.eqb+ta'nf;"j gscp*wus{&i;#{?30?00?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5979::1^<"i}f/pe+bj7&{n$ko|.sqww*e7';7>3<<;T2,cw`)zo%l`= }d.eqev(u{}y$o=!y1=1=66=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7;<78i7X> gsd-vc)`d9$yh"i}ar,qwqu(k9%}=R>Paof34566:k1^<"i}f/pe+bj7&{n$ko|.sqww*e7';T=Road123444e3\:$kh!rg-dh5(ul&mym~ }suq,g5)q9V8Tmcj?01226g=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7X;Vkeh=>?000a?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5Z2Xff~;<=>>289V4*aun'xm#jb?.sf,cwgt&{y"m>/bcqv|hb|5:5>45Z0.eqb+ta'nf;"j gscp*wus{&i:#no}rxlfp979:01^<"i}f/pe+bj7&{n$ko|.sqww*e6'jky~t`jt=0=6<=R8&myj#|i/fn3*wb(o{kx"}{s.a2+fguzpdnx1=12g9V4*aun'xm#jb?.sf,cwgt&{y"m>/fov|+ajS9W%k`?!m00e?P6(o{l%~k!hl1,q`*auiz$yy} c0-dip~)odQ:Q#ibs/op6c=R8&myj#|i/fn3*wb(o{kx"}{s.a2+bkrp'mfW?S!glq-iv4a3\:$kh!rg-dh5(ul&mym~ }suq,g4)`e|r%k`U<]/enw+kt:o1^<"i}f/pe+bj7&{n$ko|.sqww*e6'ng~t#ib[5_-chu)ez887X> gsd-vc)`d9$yh"i}ar,qwqu(k8%}=1>1229V4*aun'xm#jb?.sf,cwgt&{y"m>/w3?5;443\:$kh!rg-dh5(ul&mym~ }suq,g4)q9585>>5Z0.eqb+ta'nf;"j gscp*wus{&i:#{?33?00?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5929:k1^<"i}f/pe+bj7&{n$ko|.sqww*e6';T?000a?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5Z5Xign;<=>>2c9V4*aun'xm#jb?.sf,cwgt&{y"m>/w3\0Zhh|9:;<<S7'nxm"h gm2-va)`zhy%~~z|/scn[`kw|pUmnRgPos234575;2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex?:4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov261=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}8986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at207?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs<;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz:259V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjq05<2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex:<;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw<7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2?>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6;2R|{289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5;5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}979W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8785k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<3<\vq4>3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw33?0`?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7?3Q}t3;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6?2?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:36Vx>45Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}939:j1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=7=[wr512_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<7<1g>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0;0Pru0:?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7;3 gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8485i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=0=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc2<>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx7834:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|38?0g?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey050Pru3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=2=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?5;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9499o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;;7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5>5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~793?i;T2,cw`)zo%l`= }d.psjqt(kfex1811g9V4*aun'xm#jb?.sf,vuhsz&idycz37?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=:=5`=R8&myj#|i/fn3*wb(zyd~"m`uov\44c<]9%l~k }f.eo4+tc'{zex!lotlw[47b3\:$kh!rg-dh5(ul&x{by| cnwmpZ46m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY49l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX<8o0Y=!hrg,qb*ak8'xo#~ats-`kphsW<;n7X> gsd-vc)`d9$yh"|nup,gjsi|V<:i6[?/fpe*w`(oe:%~i!}povq+firf}U<=h5Z0.eqb+ta'nf;"j rqlwv*eh}g~T4?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?30?01?P6(o{l%~k!hl1,q`*twf}x$ob{at^f28485:2_;#j|i.sd,ci6)zm%y|cz}/bmvjqYc9585>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<2<>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?0;453\:$kh!rg-dh5(ul&x{by| cnwmpZb64<49>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=181239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>4:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;078:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S=<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_002?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[7463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W:8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S9<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_402?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[3463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W>8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S5<;;T2,cw`)zo%l`= }d.psjqt(kfexR``t12356`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8584n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:66:l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Ze~4;48j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xkp682>h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vir090!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:Tot2:>2d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pcx>4:6`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8=84n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:>6=;0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5;;29>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vf~x1?1479V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sa{{<0<\MKPX8=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5858=5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567We0>0;0:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:T`xz34?63?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,IdbcWmcmjR~ats]seaYflm:;<=Qcuu>6:16<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^nvp909<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[iss4>4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xd|~743:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Ugyy26>538Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?0^zlv979<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[}iu4;4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xpfx7?3:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Usc2;>528Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?_ymq838382_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\|jt;?7>;7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yg{6329>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vrd~171319V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|lj311<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>2:7`<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg8785n2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]sea:46;l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugc4=49j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwim6>2?h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWyko0;0=f:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{mi28>3d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok<9<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>::7c<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[44a3\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Z77:l1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&nbjkQnup\tdbX:;o0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcW:8n7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvflV>9i6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimU>>h5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhnT:?k4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoS:!ws-dsdu)oyl%{~i/ekebZvi|{U{miQ6399V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|ljPaef3456;9948;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>2:61<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[dbc89:;0?0<7:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{miQnde2345:46:=0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcWhno<=>?<5<03>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae]b`a67896>2>94U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoSljk01238384?2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaYflm:;<=28>258Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok_`fg45674148;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>::7g<]9%l~k }f.eo4+qu'n}j#if/uqtc)wzfmTjxbc_h11?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,twi`Wog`RgPmtz34554<2_;#j|i.sd,ci6){%l{l}!gqd-swva'yxdkRhzlm]j[hs89:8=8=;;T2,cw`)zo%l`= xr.etev(`xo$|~}h psmd[cskdVcTaxv?0112<6><]9%l~k }f.eo4+qu'n}j#if/uqtc)wzfmTjxbc_h]nq}678:;3S^Y?339V4*aun'xm#jb?.vp,crgt&nzm"z|f.rqkbYa}efTeR``t12357?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2?>3;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}6:2?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:56;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>0:7`<]9%l~k }f.eo4+qu'n}j#y|tr-`5*aj}q$laV>R.fo2*h75n2_;#j|i.sd,ci6){%l{l}!wrvp+f7(ods"jcT1\,div(j{;l0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&mfyu hmZ0^*bkt&dy9j6[?/fpe*w`(oe:%{!hw`q-svrt'j;$k`{w.foX7X(`ez$f?h4U1-dvc(un&mg<#y}/fubw+qt|z%h="ibuy,di^2Z&ngx"`}=3:W3+bta&{l$ka>!ws-dsdu)z~x#n? v0>3:75<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p64849?6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z<2=>318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t28685;2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~86?2?l4U1-dvc(un&mg<#y}/fubw+qt|z%h="x>_1]bja6789;9n6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z_`lg45679;h0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:S?Qnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8U8Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p6W=Ujbi>?0131=>S7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0=0=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs484956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw878512_;#j|i.sd,ci6){%l{l}!wrvp+f4(khxyuck{<2<1b>S7'nxm"h gm2-sw)`hy%{~z|/b0,chs&ngP

"x><1<17>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4:66;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:0?0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0>0:75<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p64=49n6[?/fpe*w`(oe:%{!hw`q-svrt'j8$z?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4Y3Whdo<=>?1328Q5)`zo$yj"ic0/uq+bqf{'}xx~!lolr265=R8&myj#|i/fn3*rt(o~kx"z}{s.aliu4582_;#j|i.sd,ci6){%l{l}!wrvp+fijx:8o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;878o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;978o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;:78o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;;7987X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!hmtz-ch]7U'mf=#c>329V4*aun'xm#jb?.vp,crgt&~y"inf/a0+bkrp'mfW5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m1^<"i}f/pe+bj7&~x$kzo|.vqww*afn'i8#{?30?04?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q95;5>:5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m gsd-vc)`d9$|~"ixar,twqu(ohl%o>!y1^2\ekb789::>k5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m>2g9V4*aun'xm#jb?.vp,crgt&~y"inf/a0+s7X;Vkeh=>?000e?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q9V>Tmcj?01226f=R8&myj#|i/fn3*rt(o~kx"z}{s.pbiZgkefySk{cl^k00>S7'nxm"h gm2-sw)`hy%{~z|/scn[djjgz~Tjxbc_h]nq}67899>7X> gsd-vc)`d9$|~"ixar,twqu(zhgTmac`su]eqijXaVg~t=>?001a?P6(o{l%~k!hl1,tv*apiz$|y} r`o\eikh{}UmyabPi^llp56798UBB[Q?299V4*aun'xm#jb?.vp,crgt&~y"|nm^dvhiYajVc996[?/fpe*w`(oe:%{!hw`q-svrt'{kfSk{cl^k1`>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVcTaxv?0121a>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVcTaxv?01225a=R8&myj#|i/fn3*rt(zhgT{Qjn^k25c=R8&myj#|i/fn3*rt(zhgT{Qjn^k2[4443\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d>95Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu310>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|;8?7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{3368Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkr3:=1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~by;=4:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmp3433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d;?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov;61=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}3956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8585k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<1<\vq4>3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw31?0`?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7=3Q}t3;8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp692?m4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\g|:56Vx>45Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}959:j1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=1=[wr512_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<5<1g>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir090Pru0:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7935:Zts:01^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=5=6f=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu191_sv1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir050=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~414T~y1:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|33?0b?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey090=a:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZ~hz5?5>l5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]{kw:16;k0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPxnp?3;4f3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSua}<9<1e>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vrd~1712e9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{622R|{1g9V4*aun'xm#jb?.vp,suhsz&idycz30?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=3=5c=R8&myj#|i/fn3*rt(yd~"m`uov?6;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9599o1^<"i}f/pe+bj7&~x${}`{r.alqkr;<7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5?5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~7:3?i;T2,cw`)zo%l`= xr.usjqt(kfex1911g9V4*aun'xm#jb?.vp,suhsz&idycz38?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=;=5`=R8&myj#|i/fn3*rt(yd~"m`uov\44c<]9%l~k }f.eo4+qu'~zex!lotlw[47b3\:$kh!rg-dh5(pz&}{by| cnwmpZ46m2_;#j|i.sd,ci6){%||cz}/bmvjqY49l1^<"i}f/pe+bj7&~x${}`{r.alqkrX<8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW<;n7X> gsd-vc)`d9$|~"ynup,gjsi|V<:i6[?/fpe*w`(oe:%{!xpovq+firf}U<=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T4<1<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5979:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl8692?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?33?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28185:2_;#j|i.sd,ci6){%||cz}/bmvjqYc95?5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<29>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3?3;453\:$kh!rg-dh5(pz&}{by| cnwmpZb64149>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=171209V4*aun'xm#jb?.vp,suhsz&idyczPd0]364=R8&myj#|i/fn3*rt(yd~"m`uov\`4Y6:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl8U9><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;6;2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<31?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18785:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:595>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?2;>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?1;453\:$kh!rg-dh5(pz&}{by| cnwmpZb54?49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo>191239V4*aun'xm#jb?.vp,suhsz&idyczPd3>;:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;178:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S=<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_002?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[7463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W:8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S9<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_402?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[3463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W>8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S5<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_801?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f08585:2_;#j|i.sd,ci6){%||cz}/bmvjqYc;5;5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>2=>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e1?7;453\:$kh!rg-dh5(pz&}{by| cnwmpZb44=49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo?1;1239V4*aun'xm#jb?.vp,suhsz&idyczPd2>5:74<]9%l~k }f.eo4+qu'~zex!lotlw[a5;?7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn8050=2:W3+bta&{l$ka>!ws-ttkru'je~byQk3=;=64=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y7:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U:><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q=209V4*aun'xm#jb?.vp,suhsz&idyczPd2]064=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y3:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U>><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q9209V4*aun'xm#jb?.vp,suhsz&idyczPd2]464=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y?:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U2>95Z0.eqb+ta'nf;"z| wqlwv*eh}g~Tbbz?01323>S7'nxm"h mdo,`jssW`6;2<64U1-dvc(un&gna"j`uu]j8469911^<"i}f/pe+hcj'me~xRg310<2<>S7'nxm"h mdo,`jssW`6:>3?7;T2,cw`)zo%fi`!kotv\m9746820Y=!hrg,qb*kbe&ndyyQf<06=5==R8&myj#|i/lgn+air|Vc7=80>8:W3+bta&{l$ahc dnww[l:6>7;37X> gsd-vc)jmd%ocxzPi=34:4><]9%l~k }f.ofi*bh}}Ub0<61199V4*aun'xm#`kb/emvpZo;904:;6[?/fpe*w`(elg$hb{{_h>2:4><]9%l~k }f.ofi*bh}}Ub0?>1199V4*aun'xm#`kb/emvpZo;:84:46[?/fpe*w`(elg$hb{{_h>16;7?3\:$kh!rg-nah)cg|~Te1<<>0:8Q5)`zo$yj"cjm.flqqYn4;>5=55Z0.eqb+ta'dof#iazt^k?608602_;#j|i.sd,i`k(lfSd2=6?3;?P6(o{l%~k!bel-gkprXa58<2<64U1-dvc(un&gna"j`uu]j87>9911^<"i}f/pe+hcj'me~xRg328<23>S7'nxm"h mdo,`jssW`692<64U1-dvc(un&gna"j`uu]j8669911^<"i}f/pe+hcj'me~xRg330<2<>S7'nxm"h mdo,`jssW`68>3?7;T2,cw`)zo%fi`!kotv\m9546820Y=!hrg,qb*kbe&ndyyQf<26=5==R8&myj#|i/lgn+air|Vc7?80>7:W3+bta&{l$ahc dnww[l:468=0Y=!hrg,qb*kbe&ndyyQf<5<23>S7'nxm"h mdo,`jssW`6>2<94U1-dvc(un&gna"j`uu]j8386?2_;#j|i.sd,i`k(lfSd28>058Q5)`zo$yj"cjm.flqqYn414:;6[?/fpe*w`(elg$hb{{_h>::40<]9%l~k }f.ofi*bh}}UbS=?9;T2,cw`)zo%fi`!kotv\mZ76?2_;#j|i.sd,i`k(lfSdQ>0058Q5)`zo$yj"cjm.flqqYnW8;:;6[?/fpe*w`(elg$hb{{_h]2641<]9%l~k }f.ofi*bh}}UbS<=>7:W3+bta&{l$ahc dnww[lY6<8=0Y=!hrg,qb*kbe&ndyyQf_0723>S7'nxm"h mdo,`jssW`U::<94U1-dvc(un&gna"j`uu]j[416?2_;#j|i.sd,i`k(lfSdQ>8058Q5)`zo$yj"cjm.flqqYnW83::6[?/fpe*w`(elg$hb{{_h]152=R8&myj#|i/lgn+air|VcT>=?8;T2,cw`)zo%fi`!kotv\mZ469>1^<"i}f/pe+hcj'me~xRgP2334?P6(o{l%~k!bel-gkprXaV88=:5Z0.eqb+ta'dof#iazt^k\61703\:$kh!rg-nah)cg|~TeR<:169V4*aun'xm#`kb/emvpZoX:?;<7X> gsd-vc)jmd%ocxzPi^0452=R8&myj#|i/lgn+air|VcT>5?8;T2,cw`)zo%fi`!kotv\mZ4>9?1^<"i}f/pe+hcj'me~xRgP3058Q5)`zo$yj"cjm.flqqYnW:::;6[?/fpe*w`(elg$hb{{_h]0541<]9%l~k }f.ofi*bh}}UbS><>7:W3+bta&{l$ahc dnww[lY4;8=0Y=!hrg,qb*kbe&ndyyQf_2623>S7'nxm"h mdo,`jssW`U89<84U1-dvc(un&gna"j`uu]j[1713\:$kh!rg-nah)cg|~TeR;>6:W3+bta&{l$ahc dnww[lY19?1^<"i}f/pe+hcj'me~xRgP7048Q5)`zo$yj"cjm.flqqYnW1;=7X> gsd-vc)jmd%ocxzPi^;2=>S7'nxm"h mdo,`jssWdof0=0>a:W3+bta&{l$ahc dnww[hcj48:5=l5Z0.eqb+ta'dof#iazt^ofi97668k0Y=!hrg,qb*kbe&ndyyQbel>26;7f3\:$kh!rg-nah)cg|~Tahc312<2e>S7'nxm"h mdo,`jssWdof0<:11`9V4*aun'xm#`kb/emvpZkbe5;>27;j7X> gsd-vc)jmd%ocxzPmdo?5286i2_;#j|i.sd,i`k(lfS`kb<0:=5d=R8&myj#|i/lgn+air|Vgna1?6>0;8Q5)`zo$yj"cjm.flqqYjmd6:2 gsd-vc)jmd%ocxzPmdo?6486i2_;#j|i.sd,i`k(lfS`kb<30=5d=R8&myj#|i/lgn+air|Vgna1<<>0c8Q5)`zo$yj"cjm.flqqYjmd6983?n;T2,cw`)zo%fi`!kotv\i`k;:<4:m6[?/fpe*w`(elg$hb{{_lgn87099h1^<"i}f/pe+hcj'me~xRcjm=04:4g<]9%l~k }f.ofi*bh}}Ufi`2=8?3b?P6(o{l%~k!bel-gkprXelg7>40>9:W3+bta&{l$ahc dnww[hcj4;4:m6[?/fpe*w`(elg$hb{{_lgn86699h1^<"i}f/pe+hcj'me~xRcjm=12:4g<]9%l~k }f.ofi*bh}}Ufi`2<2?3b?P6(o{l%~k!bel-gkprXelg7?>0>a:W3+bta&{l$ahc dnww[hcj4:>5=l5Z0.eqb+ta'dof#iazt^ofi9526830Y=!hrg,qb*kbe&ndyyQbel>0:4?<]9%l~k }f.ofi*bh}}Ufi`2;>0;8Q5)`zo$yj"cjm.flqqYjmd6>2<74U1-dvc(un&gna"j`uu]nah:16830Y=!hrg,qb*kbe&ndyyQbel>4:4?<]9%l~k }f.ofi*bh}}Ufi`27>0;8Q5)`zo$yj"cjm.flqqYjmd622::4U1-dvc(un&gna"imm/eaib(`jdmj"cijcb,aib)edbUfi`Qheogqeqiu'kgei lsup,vdkkgfzP

1d9V4*aun'xm#}{bmi,vaYu{}Uyij2?>0g8Q5)`zo$yj"||tcnh+wbXzz~T~hi31?3f?P6(o{l%~k!}su`oo*tcW{ySkh<3<2`>S7'nxm"h rrvahn)ulVxxxR|jg^22`>S7'nxm"h rrvahn)ulVxxxR|jg^32`>S7'nxm"h rrvahn)ulVxxxR|jg^02`>S7'nxm"h rrvahn)pzVxxxRo|rde14>S7'nxm"h rrvahn)pzVxxxRo|rde\`4473\:$kh!rg-qwqdkc&}yS}{_`qqabYc:8i0Y=!hrg,qb*tt|kf`#z|Prrv\gjke9m1^<"i}f/pe+wusjea${Q}su]`khd69l1^<"i}f/pe+wusjea${Q}su]qab:768o0Y=!hrg,qb*tt|kf`#z|Prrv\v`a;97;o7X> gsd-vc)u{}hgg"y}_sqw[wc`W9;o7X> gsd-vc)u{}hgg"y}_sqw[wc`W8k0Y^K]_@NJEVe<]ZOYS[G\ICNF7>PDK01]EHYPTXRF7>QBI:1\IOm4WSKWAZKHLLUJo6Y]IUG\IJBBWKn0[_G[E^UJ@QNXIm1\^DZJ_VKGPMYE9m1SEAGAX,ZGF%6)9)Y_YO.?.0"BWFON=2RD^NW9;YQWHLD03QY_SJ@K7:ZPPZPDKk1SSNA]E^KMBJ00:ZgiZKfbfx]i}foo33?]bjWDcecXjrrkljf=fddexxRkbpu{a?djjgz~Tjxbc6:`bgnswl2hjof{_lcqo`t43jf`h6jnt`]`kphs 9#o7io{a^alqkr/9 n0hlzn_bmvjq.5!m1omyoPcnwmp-5.l2njxlQlotlw,1/c3mkmRm`uov+1,bbf|hUhcx`{(9+g?agsiVidycz'9(d8`drfWje~by26:1<4?adn|lxy:6jfn)2*2>bnf!;";6jfn)33-2=cag":=$94dhl+57/03mce$<=&7:fjj-73!>1oec&>5(58`lh/9?#<7iga(05*2>bnf!8":6jfn)1*2>bnf!>":6jfn)7*2>bnf!<":6jfn)5*2>bnf!2":6jfn);*2>bnf5:5;6jfn=33:2=cag6:=394dhl?57803mce0<=17:fjj9736>1oec2>5?58`lh;9?427iga<0594;1&7:flqq.6!11ocxz'11+;?air|!;:%55kotv+57/?3me~x%?<)99gkpr/9=#37iazt)36-==cg|~#=;'7;emvp-70!11ocxz'19+;?air|!;2%:5kotv+6,>&8:flqq.59 20hb{{(30*<>bh}}"9?$64dnww,72.02ndyy&=5(:8`jss ;<"46j`uu*13,> =0hb{{(6+4?air|!2";6j`uu*:-2=cg|~7<364dnww846902ndyy2>1?:8`jss488546j`uu>27;>bh}}6:;364dnww84>902ndyy2>9?58`jss48437iazt=03:==cg|~7><07;emvp945611ocxz322<;?air|58?255kotv?608?3me~x1<9>99gkpr;:>437iazt=0;:==cg|~7>408;emvp94902ndyy2<0?:8`jss4:;546j`uu>06;>=18:flqq:4<7k0hb{{<2794;>;17:flqq:46>1ocxz34?58`jss4<4<7iazt=4=3>bh}}6<2:5kotv?<;12y15[7ekcV;3xb=9,gkekZabflxjxb|Pv7]2(KIIM%DDBH:?3:djbjYdgrT9<,b]kevYulVnjxlQlotlw95*dWmceSzgkti?2<)eX`hyT{Qkauc\gjsi|4:'oRhzlm]ehdatW{yS{oc=1.`[lkwdlgnbyo{inl\p|vb5;&hSx}j_doaaabblVxnk0>#c^uq[ctby4;'oR{|e^flqqYu{}7: nQznegqbiipWee|1="l_icp[jpbzofd{0>#c^rqaiiflVfjxh`ly<2/gZbh}}U|eizg=24/gZktofdTzlb21-a\vaYcmy~c18?=,b]fvwiuW`dainzfoo]w}uc:8%iTdl}Puoffvcjh4:'oRfns^coijusWog`0?#c^jbwZtt|4;'oRjnt`]`kphsW~coxe3>0-a\lduX{Ujof3?,b]vw`Ybkj7; nQlololjZekgja65)eXlfS}{_wco95*dWakxSio{a^alqkr:8%iT|ah_gwohZrozlycSckhaug\rdj:99;= nQxr^fftqn:998? nQrne\ahvsqV~c~h}g_ogdeqcX~hf69!mPpsmd[`kw|pUdk|h^cpw`tsWkg19"l_icp[sgkam7; nQrne\bpjkW}byi~fParqfvqYqie7:<<9#cnoskkci|Vdjah3iigm\|ihW<;9t>8P2bnh[4>sg:<'oRxnlhf\hjq:8%iT|gb_gkekZr~xl7:gu?7,b]svjaXn|fgSywe<3/gZkbefxrSywe<3/y60oiblihog{espg?lhmmj~xndzjrs58mkrXkea37cilbtko`==h~lxm`byn;qplcZcjx}s:86~}of]fiur~W}byi~f'0(37?uthoVof|ywPtipfwm.6!8>0|ah_dosp|Ys`{oxd%<&159svjaXmdzuRzgrdqk,6/6<2zycjQjmqvz[qnumzb#8$?;;qplcZcjx}sTxe|jsi*6-42vugnUna}zv_ujqavn/0 ;=7}|`g^gntqX|axne27:1<2f>vugnUna}zv_ujqavnXizyn~y&?)0`8twi`Wlg{xtQ{hsgplZgt{lx$<'>b:rqkbYbey~rSyf}erj\evubz}"9%vugnUna}zv_ujqavnXizyn~y&7)0f8twi`Wlg{xtQ{hsgplZgt{lx054?>0`8twi`Wlg{xtQ{hsgplZhboh~n$='>b:rqkbYbey~rSyf}erj\j`af|l":%vugnUna}zv_ujqavnXflmjxh&8)0`8twi`Wlg{xtQ{hsgplZhboh~n$5'>d:rqkbYbey~rSyf}erj\j`af|l636=06;qplcZ`rde;87}|`g^dvhiYs`{oxd%>&129svjaXn|fgSyf}erj+5,743yxdkRhzlm]wlwct`!8"=>5rne\bpjkW}byi~f'3(30?uthoVl~`aQ{hsgpl-2.9:1{~biPftno[qnumzb#9$?<;qplcZ`rdeUdk|h)4*56=wzfmTjxbc_ujqavn/? ;87}|`g^dvhiYs`{oxd%6&129svjaXn|fgSyf}erj+=,723yxdkRhzlm]wlwct`531<3?n;qplcZ`rdeUdk|h^cpw`ts 9#:m6~}of]eqijX|axneQnsrgqp-7.9h1{~biPftno[qnumzbTm~}jru*1-4ga:rqkbYa}efTxe|jsi]bwvcu|!?"=l5rne\bpjkW}byi~fParqfvq.1!8k0|ah_gwohZrozlycSl}|esv+3,7f3yxdkRhzlm]wlwct`Vkxh|{(9+2e>vugnUmyabPtipfwmYf{zoyx%7&1b9svjaXn|fgSyf}erj\evubz}626=0>a:rqkbYa}efTxe|jsi]mabgsm!:"=l5rne\bpjkW}byi~fPndebp`.6!8k0|ah_gwohZrozlycSckhaug+6,7f3yxdkRhzlm]wlwct`Vdnklzj(2+2e>vugnUmyabPtipfwmYimnki%:&1`9svjaXn|fgSyf}erj\j`af|l">% ;j7}|`g^dvhiYs`{oxdR`jg`vf,2/6i2zycjQiumn\pmtb{aUeijo{e):*5d=wzfmTjxbc_ujqavnXflmjxh&6)0a8twi`Wog`Rzgrdqk[kc`i}o757>16:pg[fjl991yhRjnt`]`kphs 9#:<6|k_ecweZeh}g~#=$??;sf\`drfWje~by&=)028vaYci}kTob{at)1*55=ulVnjxlQlotlw,1/682xoSio{a^alqkr/= ;;7jPd`vb[firf}"=%<>4re]geqgXkfex%9&119q`Zbf|hUhcx`{(9+24>tcWmkmRm`uov?4;753{nThlzn_bmvjq:?294>7jPeo48vaYu{}90~~z8;r`jp`tu<2yyy:4tswf=>sillxm`by:;wcoma0<{Ujof84ws]`hn773~xThlzn_bmvjq.7!8:0{Qkauc\gjsi|!;"==5xr^fbpdYdg|d$?'>0:uq[agsiVidycz'3(33?rtXlh~jSnaznu*7-46<{UomyoPcnwmp-3.991|~Rjnt`]`kphs ?#:<6y}_ecweZeh}g~#;$??;vp\`drfWje~by&7)028swYci}kTob{at);*57=pzVnjxlQlotlw8<<76<1|~Rka6:uq[wusuIJ{oi64@Az2>C<328qX8k4:048;>455j?ih6:69czl7<1<63g>39784$5:1>11d3tY?h7;?5;:9564e>ji1;58l;R31g?3683:1=>o68??:18277d1kj0<4;j4d42;>5<628qX8k4:048;>455j?ih6:69c:tW5=e=83;1=7?l0zQ7b?37=321=><97?=d:T7<6<5s|;8:7?4u014>5=z,82;6<74b42;>5<4n391?kuG4618^13=:r;36=831b9;?50;9l0a?=83.:4?4;fb9m5=7=821d8i650;&2<7<3nj1e=5?51:9l0a1=83.:4?4;fb9m5=7=:21d8i850;&2<7<3nj1e=5?53:9l0a3=83.:4?4;fb9m5=7=<21d8i:50;&2<7<3nj1e=5?55:9l0a4=83.:4?4;fb9m5=7=>21d8i?50;&2<7<3nj1e=5?57:9l0a6=83.:4?4;fb9m5=7=021d8nh50;&2<7<3nj1e=5?59:9l0fc=83.:4?4;fb9m5=7=i21d8nj50;&2<7<3nj1e=5?5b:9l0fe=83.:4?4;fb9m5=7=k21d8nl50;&2<7<3nj1e=5?5d:9l0fg=83.:4?4;fb9m5=7=m21d8n750;&2<7<3nj1e=5?5f:9l0f1=83.:4?4;fb9m5=7=9910c9m9:18'5=4=:038?j2d=3:1(<6=:5d`?k7?93;976a;c583>!7?:3>mo6`>80827>=h8387bf=i91;1=954o5a1>5<#91818km4n0:2>43<3f>h=7>5$0:1>1`d3g;3=7?9;:m7g5<72-;3>7:ic:l2<4<6?21d8oh50;&2<7<3nj1e=5?51998k1db290/=5<54ga8j4>628307b:kf;29 4>52=lh7c?71;3b?>i3ll0;6)?72;6eg>h6080:n65`4ef94?"60;0?jn5a19395f=f:9l0a5=83.:4?4;fb9m5=7=:910c9m7:18'5=4=:338?j2el3:1(<6=:5d`?k7?938976a;bb83>!7?:3>mo6`>80817>=n8387f4=i91;1<65f48d94?"60;0?n<5a19395>=n<0o1<7*>8387f4=i91;1>65f48f94?"60;0?n<5a19397>=n<0i1<7*>8387f4=i91;1865f48`94?"60;0?n<5a19391>=n<0k1<7*>8387f4=i91;1:65f48;94?"60;0?n<5a19393>=n8387f4=i91;1465f4`594?"60;0?n<5a1939=>=n8387f4=i91;1m65f4`794?"60;0?n<5a1939f>=n1<7*>8387f4=i91;1o65f4`194?"60;0?n<5a1939`>=n8387f4=i91;1i65f4`394?"60;0?n<5a1939b>=n<021<7*>8387f4=i91;1==54i5;4>5<#91818o?4n0:2>47<3`?>?7>5;c640?6=93:1>0c<9i:188ygb?290:6=4?{I647>"6180o46ak7;29?xd3<3:1m;4>8582g5}O<>90V9;517y1=?4?2;k1h7o5b;a95=<6938i6h4k:d827g=:10v(<7>:42a?!2?2<:27):j:42b?!70j3;!7?:3?9:6`>8083?>o2:=0;6)?72;712>h6080:76g:2283>!7?:3?9:6`>8081?>o2:;0;6)?72;712>h6080876g:2083>!7?:3?9:6`>8087?>o2:90;6)?72;712>h6080>76g:1g83>!7?:3?9:6`>8085?>o29l0;6)?72;712>h6080<76g:1e83>!7?:3?9:6`>808;?>o28l0;66g:6183>>o2>:0;66a:6783>>o29k0;6)?72;72g>h6080;76g:1`83>!7?:3?:o6`>8082?>o2900;6)?72;72g>h6080976g:1983>!7?:3?:o6`>8080?>o29>0;6)?72;72g>h6080?76g:1783>!7?:3?:o6`>8086?>o29<0;6)?72;72g>h6080=76g:1583>!7?:3?:o6`>8084?>o29:0;6)?72;72g>h6080376g:5g83>>i2980;66g:2g83>!7?:3?8<6`>8083?>o2:l0;6)?72;704>h6080:76g:2e83>!7?:3?8<6`>8081?>o2:j0;6)?72;704>h6080876g:2c83>!7?:3?8<6`>8087?>o2:h0;6)?72;704>h6080>76g:2883>!7?:3?8<6`>8085?>o2:10;6)?72;704>h6080<76g:2683>!7?:3?8<6`>808;?>i30>0;66a;9583>!7?:3>296`>8083?>i31:0;6)?72;6:1>h6080:76a;9383>!7?:3>296`>8081?>i3180;6)?72;6:1>h6080876a;9183>!7?:3>296`>8087?>i30o0;6)?72;6:1>h6080>76a;8d83>!7?:3>296`>8085?>i30m0;6)?72;6:1>h6080<76a;8b83>!7?:3>296`>808;?>i30k0;6)?72;6:1>h6080276a:3083>>o2?=0;66g:3c83>!7?:3?8o6`>8083?>o2;h0;6)?72;70g>h6080:76g:3883>!7?:3?8o6`>8081?>o2;10;6)?72;70g>h6080876g:3683>!7?:3?8o6`>8087?>o2;?0;6)?72;70g>h6080>76g:3483>!7?:3?8o6`>8085?>o2;=0;6)?72;70g>h6080<76g:3283>!7?:3?8o6`>808;?>o2;;0;6)?72;70g>h6080276a:0b83>>i28?0;66g:6983>>o3000;66g:4783>!7?:3??;6`>8083?>o2<<0;6)?72;773>h6080:76g:4583>!7?:3??;6`>8081?>o2<:0;6)?72;773>h6080876g:4383>!7?:3??;6`>8087?>o2<80;6)?72;773>h6080>76g:4183>!7?:3??;6`>8085?>o2;o0;6)?72;773>h6080<76g:3d83>!7?:3??;6`>808;?>o2;m0;6)?72;773>h6080276g:5083>!7?:3?>>6`>8083?>o2=90;6)?72;766>h6080:76g:4g83>!7?:3?>>6`>8081?>o2h6080876g:4e83>!7?:3?>>6`>8087?>o2h6080>76g:4c83>!7?:3?>>6`>8085?>o2h6080<76g:4883>!7?:3?>>6`>808;?>o2<10;6)?72;766>h6080276a;8783>>o28o0;66g;8`83>>o2?<0;66a:6383>>i2>>0;66g:6083>>i3l00;6)?72;6eg>h6080;76a;d983>!7?:3>mo6`>8082?>i3l>0;6)?72;6eg>h6080976a;d783>!7?:3>mo6`>8080?>i3l<0;6)?72;6eg>h6080?76a;d583>!7?:3>mo6`>8086?>i3l;0;6)?72;6eg>h6080=76a;d083>!7?:3>mo6`>8084?>i3l90;6)?72;6eg>h6080376a;cg83>!7?:3>mo6`>808:?>i3kl0;6)?72;6eg>h6080j76a;ce83>!7?:3>mo6`>808a?>i3kj0;6)?72;6eg>h6080h76a;cc83>!7?:3>mo6`>808g?>i3kh0;6)?72;6eg>h6080n76a;c883>!7?:3>mo6`>808e?>i3k>0;6)?72;6eg>h6080:<65`4b494?"60;0?jn5a193954=6=4+19090ce4?:%3;6?2ak2d:4<4>4:9l0f4=83.:4?4;fb9m5=7=9<10c9m>:18'5=4=:048?j2d83:1(<6=:5d`?k7?93;<76a;bg83>!7?:3>mo6`>8082<>=h8387bf=i91;1=454o5fe>5<#91818km4n0:2>4g<3f>oi7>5$0:1>1`d3g;3=7?m;:m7`a<72-;3>7:ic:l2<4<6k21d8im50;&2<7<3nj1e=5?51e98k1be290/=5<54ga8j4>628o07b:ka;29 4>52=lh7c?71;3e?>i3l:0;6)?72;6eg>h60809<65`4b:94?"60;0?jn5a193964=7:m1:l2<4<632c?5h4?:%3;6?2e92d:4<4=;:k7=a<72-;3>7:m1:l2<4<432c?5n4?:%3;6?2e92d:4<4;;:k7=g<72-;3>7:m1:l2<4<232c?5l4?:%3;6?2e92d:4<49;:k7=<<72-;3>7:m1:l2<4<032c?m54?:%3;6?2e92d:4<47;:k7e2<72-;3>7:m1:l2<4<>32c?m;4?:%3;6?2e92d:4<4n;:k7e0<72-;3>7:m1:l2<47:m1:l2<47:m1:l2<40:9j0<1=83.:4?4;b09m5=7=9810e967:188k03d290/=5<554g8j4>62910c8;m:18'5=4==:098k03f290/=5<554g8j4>62;10c8;6:18'5=4==:298k03?290/=5<554g8j4>62=10c8;8:18'5=4==:498k031290/=5<554g8j4>62?10c8;::18'5=4==:698k033290/=5<554g8j4>62110c89=:18'5=4==>90b<6>:198k016290/=5<55618j4>62810c89?:18'5=4==>90b<6>:398k00a290/=5<55618j4>62:10c88j:18'5=4==>90b<6>:598k00c290/=5<55618j4>62<10c88l:18'5=4==>90b<6>:798k00e290/=5<55618j4>62>10c88n:18'5=4==>90b<6>:998k00>290/=5<55618j4>62010c8?=:188m06c2900c979:188m0342900c88::188f11a290:6=4?{%3:5?b?3A>50;394?6|,83:699;;I64a>N3?:1d=:h50;9~f7g5290?6=4?{%3:5?b43A>=6=44i4294?=n9191<75`19694?=zj=<;6=4<:183!7>93n;7E:8e:J736=O<:1/=>:55768 `0=:2c?:7>5;h73>5<908g4>N3?l1C8:=4H518 4532<<7>5;n3;0?6=3th?9k4?:283>5}#90;1h=5G46g8L1143A>87)?<4;750>"b>380e9850;9j15<722e:494?::a03?=83?1<7>t$0;2>a2<@==n7E:83:J77>"6;=0>:95f4783>>o3?3:17d;?:188m4>42900c<6;:188yg21i3:1?7>50z&2=47=n0<729q/=4?5d59K02c<@==87E:<;%300?31<2c?:7>5;h64>5<1<75rb54;>5<3290;w)?61;f0?M20m2B?;>5+e784?l212900e8>50;9j5=5=831d=5:50;9~f100290?6=4?{%3:5?b43A>=6=44i4294?=n9191<75`19694?=zj=<=6=4;:183!7>93n87E:8e:J736=#m?0<7d:9:188m06=831b=5=50;9l5=2=831vn99>:187>5<7s-;2=7j<;I64a>N3?:1/i;48;h65>5<1<75rb553>5<3290;w)?61;f0?M20m2B?;>5+e784?l212900e8>50;9j5=5=831d=5:50;9~f771290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e:8?1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th9=94?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<>3;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb331>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a647=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5990;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn?>j:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm1c694?2=83:p(<7>:e38L11b3A>5;|`2f6<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=o>50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nag83>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f4gc290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e9hi1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th9:?4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<91;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb343>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a60`=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5=l0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<h7>54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn?;l:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm24`94?2=83:p(<7>:e38L11b3A>5;|`11d<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=ko50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nf883>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f4`0290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e9o<1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th:j84?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo?i4;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb373>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36e>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36f>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36g>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36`>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36a>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36b>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36:>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb36;>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb364>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0gb>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g:>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g;>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g4>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g5>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g6>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g7>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g0>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0g1>5<3290;w)?61;f2?M20m2B?;>5G429'562==?>0(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0f;>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a5a1=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd6l?0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm1e194?2=83:p(<7>:e38L11b3A>5;|`2`7<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi>>m50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=n1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f75>290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e::21<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th9?:4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<<6;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb316>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a662=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5;:0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a6a>=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e:m<1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi>i:50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg4c:3:197>50z&2=45;h64>5<>i60=0;66sm2e394?3=83:p(<7>:e68L11b3A>5;n3;0?6=3th9h>4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f7e129086=4?{%3:5?20l2B?;h5G4618m1?=831b=?o50;9l52b=831vn?m::180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f7dd290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k2t$0;2>11c3A>l4?::m23a<722wi>oo50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th9o>4?:283>5}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`1f=<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<90873a=O<>o0D99<;h6:>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj;i:6=4<:183!7>93>n1<75rb3`7>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm2b294?5=83:p(<7>:55g?M20m2B?;>5f4883>>o6:h0;66a>7e83>>{e:k81<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd5jo0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl=b183>1<729q/=4?51278L11b3A>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f7ce290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`1a=<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn?k8:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd5m?0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb3g6>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th9i94?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f7c4290>6=4?{%3:5?b53A>=6=44i5594?=n1<729q/=4?5d29K02c<@==87)k9:69j03<722c><7>5;h3;7?6=3f;387>5;|`132<72=0;6=u+1839`6=O<>o0D99<;%g5>2=n5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn>>=:180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f66e29086=4?{%3:5?20l2B?;h5G4618m1?=831b=?o50;9l52b=831vn?h9:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi?=o50;194?6|,83:699k;I64a>N3?:1b844?::k26d<722e:;i4?::a6c3=83>1<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`04<<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th9j94?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<53;294~"6180?;i5G46g8L1143`>26=44i00b>5<908270=O<>o0D99<;h6:>5<n1<75rb224>5<4290;w)?61;64`>N3?l1C8:=4i5;94?=n9;k1<75`16f94?=zj;l96=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e;9<1<7=50;2x 4?62==o7E:8e:J736=n<00;66g>2`83>>i6?m0;66sm2g394?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl<0483>6<729q/=4?546f8L11b3A>o313:17d;=:188m4>f2900c<9k:188yg57<3:1?7>50z&2=4<3?m1C8:k4H550?l2>2900e<349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn>><:180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f7cb290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k21<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`052<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi?1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f67f290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e;831<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th8=54?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo=>6;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb20b>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th9584?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj;386=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e:081<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd5180;694?:1y'5<7=9:?0D99j;I647>o313:17d;=:188m4>f2900c<9k:188yg4?:3:187>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f7>6290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k21<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`13c<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<908270=O<>o0D99<;h6:>5<n1<75rb2`g>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8no4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6dd290>6=4?{%3:5?b33A>=6=44i5594?=n=90;66g>8283>>i60=0;66sm3cg94?3=83:p(<7>:e08L11b3A>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a7f4=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo=l0;291?6=8r.:5<4k2:J73`=O<>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;j;1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?n:50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5c93:197>50z&2=45;h64>5<>i60=0;66sm3bd94?3=83:p(<7>:e68L11b3A>5;n3;0?6=3th8h=4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6b5290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`0`1<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn>j::186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd4l>0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb2f;>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8mk4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6gb290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`0eg<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn>ok:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd4i00;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb2c;>5<2290;w)?61;f7?M20m2B?;>5+e784?l212900e9950;9j15<722c:4>4?::m2<1<722wi?lo50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5f?3:197>50z&2=45;h64>5<1<75rb2;a>5<4290;w)?61;64`>N3?l1C8:=4i5;94?=n9;k1<75`16f94?=zj:3j6=4<:183!7>93>n1<75rb2;3>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm38;94?5=83:p(<7>:55g?M20m2B?;>5f4883>>o6:h0;66a>7e83>>{e;1o1<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd4110;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl<8b83>1<729q/=4?51278L11b3A>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f6?129086=4?{%3:5?20l2B?;h5G4618m1?=831b=?o50;9l52b=831vn>67:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi?4;50;194?6|,83:699k;I64a>N3?:1b844?::k26d<722e:;i4?::a7=0=83>1<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`0=1<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th8494?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<53;294~"6180?;i5G46g8L1143`>26=44i00b>5<908270=O<>o0D99<;h6:>5<n1<75rb2;1>5<4290;w)?61;64`>N3?l1C8:=4i5;94?=n9;k1<75`16f94?=zj:2;6=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e;li1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?ho50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5b13:197>50z&2=45;h64>5<>i60=0;66sm3d:94?3=83:p(<7>:e08L11b3A>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a7`0=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo=j5;291?6=8r.:5<4k2:J73`=O<>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;l>1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?>:50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th8?84?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:9<6=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e;:21<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd4<>0;694?:1y'5<7=9:?0D99j;I647>o313:17d;=:188m4>f2900c<9k:188yg5303:187>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f62>290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k21<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`00g<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<908270=O<>o0D99<;h6:>5<n1<75rb27f>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm34d94?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl<6183>1<729q/=4?51278L11b3A>349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn>9?:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm36394?2=83:p(<7>:e38L11b3A>5;|`02f<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn95<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<;o1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`76a<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:=c;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=8i6=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a07g=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;2983>0<729q/=4?5d49K02c<@==87)k9:39j03<722c?;7>5;h73>5<6=44o0:7>5<9;7>55;294~"6180o96F;7d9K025<,l<1>6g;6;29?l202900e8>50;9j5=3=831d=5:50;9~f141290>6=4?{%3:5?b23A>=6=44i5594?=n=90;66g>8483>>i60=0;66sm43794?3=83:p(<7>:e78L11b3A>5;n3;0?6=3th?>94?:483>5}#90;1h85G46g8L1143-o=6?5f4783>>o3?3:17d;?:188m4>22900c<6;:188yg25;3:197>50z&2=45;h64>5<1<75rb501>5<2290;w)?61;f6?M20m2B?;>5+e781?l212900e9950;9j15<722c:484?::m2<1<722wi8??50;794?6|,83:6i;4H55f?M20;2.n:7<4i5494?=n<>0;66g:0;29?l7?=3:17b?74;29?xd3:90;684?:1y'5<7=l<1C8:k4H550?!c12;1b8;4?::k73?6=3`?;6=44i0:6>5<908g1>N3?l1C8:=4$d496>o3>3:17d:8:188m06=831b=5;50;9l5=2=831vn9?k:186>5<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<8i1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`75g<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:>a;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=;26=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a04>=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;1683>0<729q/=4?5d49K02c<@==87)k9:39j03<722c?;7>5;h73>5<6=44o0:7>5<::7>55;294~"6180o96F;7d9K025<,l<1>6g;6;29?l202900e8>50;9j5=3=831d=5:50;9~f172290>6=4?{%3:5?b23A>=6=44i5594?=n=90;66g>8483>>i60=0;66sm40694?3=83:p(<7>:e78L11b3A>5;n3;0?6=3th??84?:483>5}#90;1h85G46g8L1143-o=6?5f4783>>o3?3:17d;?:188m4>22900c<6;:188yg24<3:197>50z&2=45;h64>5<1<75rb510>5<2290;w)?61;f6?M20m2B?;>5+e781?l212900e9950;9j15<722c:484?::m2<1<722wi8><50;794?6|,83:6i;4H55f?M20;2.n:7<4i5494?=n<>0;66g:0;29?l7?=3:17b?74;29?xd3;80;684?:1y'5<7=l<1C8:k4H550?!c12;1b8;4?::k73?6=3`?;6=44i0:6>5<908g1>N3?l1C8:=4$d496>o3>3:17d:8:188m06=831b=5;50;9l5=2=831vn9<6:186>5<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<8o1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`756<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:>2;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=93;9j6F;7d9K025<,l<1=l5fd`83>>ocj3:17b?8d;29?xd3>;0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;j7djn:188mad=831d=:j50;9~f77?29086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2f3<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0c1>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl>a083>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851d9j`d<722con7>5;n34`?6=3th:5k4?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd61m0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f4?d29086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2=g<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0;b>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl>9883>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851d9j`d<722con7>5;n34`?6=3th:5:4?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd61<0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f4?329086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2=6<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0;1>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl=7483>1<729q/=4?51228L11b3A>1<7>t$0;2>4573A>5;hfa>5<93;8<6F;7d9K025<,l<1>85fd`83>>ocj3:17djl:188k41c2900qo<83;291?6=8r.:5<4>309K02c<@==87)k9:0`8mag=831bho4?::kgg?6=3`no6=44o05g>5<55;294~"6180:?<5G46g8L1143-o=6?>4iec94?=nlk0;66gkc;29?lbc2900c<9k:188yg7ei3:197>50z&2=4<6;81C8:k4H550?!c12;:0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>74>ock3:17djk:188k41c2900qo<9d;290?6=8r.:5<4>319K02c<@==87)k9:3a8mag=831bho4?::kgg?6=3f;5;|`15`<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0``>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl=2183>1<729q/=4?51228L11b3A>1<7>t$0;2>4573A>5;hfa>5<93;8=6F;7d9K025<,l<1>=5fd`83>>ocj3:17djl:188mab=831d=:j50;9~f4e7290>6=4?{%3:5?7492B?;h5G4618 `0=:91bhl4?::kgf?6=3`nh6=44ief94?=h9>n1<75rb57`>5<3290;w)?61;304>N3?l1C8:=4$d4914=nlh0;66gkb;29?lbd2900c<9k:188yg41k3:197>50z&2=4<6;81C8:k4H550?!c12890eio50;9j`g<722coo7>5;hfg>5<90826c=O<>o0D99<;%g5>75>i6?m0;66sm29a94?5=83:p(<7>:00e?M20m2B?;>5+e7817>oci3:17djm:188k41c2900qo=9b;291?6=8r.:5<4>309K02c<@==87)k9:368mag=831bho4?::kgg?6=3`no6=44o05g>5<97>55;294~"6180:?<5G46g8L1143-o=6?:4iec94?=nlk0;66gkc;29?lbc2900c<9k:188yg53:3:197>50z&2=4<6;81C8:k4H550?!c12;>0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>72>ock3:17djk:188k41c2900qo=:4;291?6=8r.:5<4>309K02c<@==87)k9:368mag=831bho4?::kgg?6=3`no6=44o05g>5<55;294~"6180:?<5G46g8L1143-o=6?:4iec94?=nlk0;66gkc;29?lbc2900c<9k:188yg4>m3:197>50z&2=4<6;81C8:k4H550?!c12;>0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>72>ock3:17djk:188k41c2900qo=99;291?6=8r.:5<4>309K02c<@==87)k9:368mag=831bho4?::kgg?6=3`no6=44o05g>5<?7>55;294~"6180:?<5G46g8L1143-o=6?:4iec94?=nlk0;66gkc;29?lbc2900c<9k:188yg5383:197>50z&2=4<6;81C8:k4H550?!c12;>0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>72>ock3:17djk:188k41c2900qo<7a;291?6=8r.:5<4>309K02c<@==87)k9:368mag=831bho4?::kgg?6=3`no6=44o05g>5<55;294~"6180:?<5G46g8L1143-o=6?:4iec94?=nlk0;66gkc;29?lbc2900c<9k:188yg52:3:197>50z&2=4<6;81C8:k4H550?!c12;>0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>72>ock3:17djk:188k41c2900qo<6c;291?6=8r.:5<4>309K02c<@==87)k9:368mag=831bho4?::kgg?6=3`no6=44o05g>5<55;294~"6180:?<5G46g8L1143-o=6?:4iec94?=nlk0;66gkc;29?lbc2900c<9k:188yg50;3:187>50z&2=4<6;91C8:k4H550?!c12jo0eio50;9j`g<722coo7>5;n34`?6=3th8:h4?:583>5}#90;1=>>4H55f?M20;2.n:7mj;hfb>5<>i6?m0;66sm2`694?2=83:p(<7>:013?M20m2B?;>5+e78`a>oci3:17djm:188mae=831d=:j50;9~f600290?6=4?{%3:5?7482B?;h5G4618 `0=>2com7>5;hfa>5<93;8<6F;7d9K025<,l<1:6gka;29?lbe2900eim50;9l52b=831vn>=j:187>5<7s-;2=7?<0:J73`=O<>90(h856:kge?6=3`ni6=44iea94?=h9>n1<75rb3;a>5<2290;w)?61;305>N3?l1C8:=4$d4961=nlh0;66gkb;29?lbd2900eij50;9l52b=831vn?67:186>5<7s-;2=7?<1:J73`=O<>90(h85259j`d<722con7>5;hf`>5<6=4<:183!7>93;9j6F;7d9K025<,l<1>>5fd`83>>ocj3:17b?8d;29?xd6k:0;6>4?:1y'5<7=9;l0D99j;I647>"b>3887djn:188mad=831d=:j50;9~f74?290?6=4?{%3:5?7482B?;h5G4618 `0=9o1bhl4?::kgf?6=3`nh6=44o05g>5<54;294~"6180:?=5G46g8L1143-o=66<729q/=4?513d8L11b3A>5<7s-;2=7?=e:J73`=O<>90(h85139j`d<722e:;i4?::a6gd=8381<7>t$0;2>44b3A>5;n34`?6=3th9n44?:383>5}#90;1=?k4H55f?M20;2.n:7?=;hfb>5<90826`=O<>o0D99<;%g5>446=4=:183!7>93;9i6F;7d9K025<,l<1=?5fd`83>>i6?m0;66sm2c194?4=83:p(<7>:00f?M20m2B?;>5+e7826>oci3:17b?8d;29?xd5j80;6?4?:1y'5<7=9;o0D99j;I647>"b>3;97djn:188k41c2900qo2d9K02c<@==87)k9:008mag=831d=:j50;9~f6?629096=4?{%3:5?75m2B?;h5G4618 `0=9;1bhl4?::m23a<722wi?5h50;094?6|,83:6<N3?:1/i;4>2:kge?6=3f;5;|`05<52;294~"6180:>h5G46g8L1143-o=6<<4iec94?=h9>n1<75rb2::>5<5290;w)?61;31a>N3?l1C8:=4$d4957=nlh0;66a>7e83>>{e;1=1<7<50;2x 4?6288n7E:8e:J736=#m?0:>6gka;29?j70l3:17pl<8483>7<729q/=4?513g8L11b3A>7>50z&2=4<6:l1C8:k4H550?!c12880eio50;9l52b=831vn>6>:181>5<7s-;2=7?=e:J73`=O<>90(h85139j`d<722e:;i4?::a6f1=8381<7>t$0;2>44b3A>5;n34`?6=3th85n4?:383>5}#90;1=?k4H55f?M20;2.n:7?=;hfb>5<90826c=O<>o0D99<;%g5>75>i6?m0;66sm2g`94?5=83:p(<7>:00e?M20m2B?;>5+e7817>oci3:17djm:188k41c2900qo2g9K02c<@==87)k9:318mag=831bho4?::m23a<722wi>kj50;194?6|,83:6<N3?:1/i;4=3:kge?6=3`ni6=44o05g>5<53;294~"6180:>k5G46g8L1143-o=6?=4iec94?=nlk0;66a>7e83>>{e:ol1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg5783:1?7>50z&2=4<6:o1C8:k4H550?!c12;90eio50;9j`g<722e:;i4?::a757=8391<7>t$0;2>44a3A>5;hfa>5<90826c=O<>o0D99<;%g5>75>i6?m0;66sm33g94?3=83:p(<7>:012?M20m2B?;>5+e78g2>oci3:17djm:188mae=831bhi4?::m23a<722wi??j50;794?6|,83:6<=>;I64a>N3?:1/i;4=1:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e;>?1<7=50;2x 4?6288m7E:8e:J736=#m?0:>6gka;29?lbe2900c<9k:188yg4a13:1>7>50z&2=4<6:01C8:k4H550?lb>2900c<9k:188yg51n3:1>7>50z&2=4<6:01C8:k4H550?lb>2900c<9k:188yg55k3:197>50z&2=4<6;:1C8:k4H550?!c12;;0eio50;9j`g<722coo7>5;hfg>5<3:1908277=O<>o0D99<;%g5>70>ock3:17djk:188k44e2900c<9k:188yg7d:3:1:7>50z&2=4<6;;1C8:k4H550?!c12;<0eio50;9j`g<722coo7>5;hfg>5<5<>m7>58683>5}O<>90(<7>:0:5?_222hq26?95f;35>42=9j0:<7?8:0795a0=#m;0>7)k<:49'a1<23-ii6nh4$d591>"b03?0(h755:&fe?3<,lh196*jc;78 `b==2.ni7;4$dd91>"a83?0(k?55:&e6?3<,o9196*i4;78 c3==2.m:7;4$g591>"a03?0(k755:&ee?3<,oh196*ic;78 cb==2.mi7;4$gd91>"6890>7)??1;78 4652<1/===55:&241<23-;;97;4$025>0=#99=196*>0986?!7713?0(<>n:49'55d==2.:"6990>7)?>1;78 4752<1/=<=55:&251<23-;:97;4$035>0=#98=196*>1986?!7613?0("6:90>7)?=1;78 4452<1/=?=55:&261<23-;997;4$005>0=#9;=1?6*>8c876>"b=3?0(<6k:29'02>=91=0(996:0:4?k?b291eo=4?;o3;f`<,82n695f4`83>>o3j3:17d:86;29?lef2900e5650;&2<75$0:1>608082?>o4<3:1(<6=:248j4>62;10e>=50;&2<7<4>2d:4<4<;:k06?6=,8296>84n0:2>1=83802>h6080>76g<0;29 4>52:<0b<6>:798m7`=83.:4?4<6:l2<4<032c9i7>5$0:1>60808:?>o393:1(<6=:528j4>62910e>h50;&2<7<382d:4<4>;:k0a?6=,82969>4n0:2>7=83874>h6080876g52=:0b<6>:598m6d=83.:4?4;0:l2<4<232c8m7>5$0:1>168084?>o403:1(<6=:528j4>62110e8o50;&2<7<212d:4<4?;:k64=8386=>h6080976g:6;29 4>52<30b<6>:298m03=83.:4?4:9:l2<4<332c>87>5$0:1>0?56`>8085?>o1:3:1(<6=:4;8j4>62>10e;?50;&2<7<212d:4<47;:k54?6=,8296874n0:2><=8386=>h6080j76g:e;29 4>52<30b<6>:c98m0b=83.:4?4:9:l2<4o7>5$0:1>0?56`>808f?>o2;3:1(<6=:4;8j4>62o10e5950;&2<72d:4<4?;:k;1?6=,8296584n0:2>4=838a3>h6080;76am6;29 4>52k=0b<6>:098kg2=83.:4?4m7:l2<4<532ei?7>5$0:1>g154oc094?"60;0i;6`>8087?>ie93:1(<6=:c58j4>62<10co>50;&2<72=838a3>h6080376and;29 4>52k=0b<6>:898kde=83.:4?4m7:l2<45$0:1>g1808`?>if03:1(<6=:c58j4>62m10cl950;&2<7c=838a3>h6080:<65`a583>!7?:3h<7c?71;32?>if;3:1(<6=:c58j4>628807bo=:18'5=4=j>1e=5?51298kd7=83.:4?4m7:l2<4<6<21dm=4?:%3;6?d03g;3=7?:;:mab?6=,8296o94n0:2>40<3fhn6=4+1909f2=i91;1=:54ocf94?"60;0i;6`>8082<>=hjj0;6)?72;`4?k7?93;276amb;29 4>52k=0b<6>:0c8?jdf290/=5<5b69m5=7=9k10co750;&2<7c:9lf0<72-;3>7l8;o3;5?7c32ejm7>5$0:1>g15<#9181n:5a19395c=838`3>h6080;76al6;29 4>52j=0b<6>:098kf3=83.:4?4l7:l2<4<532eh87>5$0:1>f154ib;94?=n91l1<75f46594?=n?m0;6)?72;5`?k7?93:07d9m:18'5=4=?j1e=5?51:9j3<<72-;3>79l;o3;5?4<3`=36=4+19093f=i91;1?65f7683>!7?:3=h7c?71;68?l11290/=5<57b9m5=7==21b;84?:%3;6?1d3g;3=784;h57>5<#9181;n5a19393>=n?:0;6)?72;5`?k7?93207d9=:18'5=4=?j1e=5?59:9j34<72-;3>79l;o3;5?g<3`=;6=4+19093f=i91;1n65f6d83>!7?:3=h7c?71;a8?l0c290/=5<57b9m5=7=l21b:n4?:%3;6?1d3g;3=7k4;h4a>5<#9181;n5a1939b>=n>h0;6)?72;5`?k7?93;;76g99;29 4>52>i0b<6>:038?l0?290/=5<57b9m5=7=9;10e;950;&2<7<0k2d:4<4>3:9j23<72-;3>79l;o3;5?7332c=97>5$0:1>2e5<#9181;n5a193953=8384g>h6080:;65f8383>!7?:3=h7c?71;3;?>o?93:1(<6=:6a8j4>628307d6?:18'5=4=?j1e=5?51`98m2`=83.:4?48c:l2<4<6j21b;h4?:%3;6?1d3g;3=7?l;:k4e?6=,8296:m4n0:2>4b<3`8082b>=n0j0;6)?72;:a?k7?93:07d6n:18'5=4=0k1e=5?51:9j<<<72-;3>76m;o3;5?4<3f3?6=4+1909=6=i91;1<65`9383>!7?:3387c?71;38?j?6290/=5<5929m5=7=:21d5=4?:%3;6??43g;3=7=4;n:e>5<#91815>5a19390>=h0l0;6)?72;;0?k7?93?07b7k:18'5=4=1:1e=5?56:9l=f<72-;3>77<;o3;5?1<3f3i6=4+1909=6=i91;1465`9`83>!7?:3387c?71;;8?j?>290/=5<5929m5=7=i21d554?:%3;6??43g;3=7l4;n;4>5<#91815>5a1939g>=h1?0;6)?72;;0?k7?93n07b7::18'5=4=1:1e=5?5e:9l77<;o3;5?`<3fi86=4+1909g7=i91;1<65`c083>!7?:3i97c?71;38?xu2=o0;6;uQ54d897122mh01?9<:ec8971>2mn01?8k:ea8970d2mk0q~;:d;293`}Y<0<0R888;_751>X30?1U9;<4^432?[31>2T>=?5Q4868Z1?43W>2>6P;909]0<6X2?81U9:>4^44e?[31m2T>:i5Q57a8Z00e3W?=m6P:689]10eX2=<1U98:4=55e>a1<5=<268>4=57f>06<5=<368>4=544>06<5=<=68>4=552>06<5==;68>4=3``>04<5;hj68<4=3`;>04<5;h=68<4=3`7>04<5;h968<4=3`3>04<5;kn68<4=3gg>4>f348297;=;<0:0?353482?7;=;<0:6?353482=7;=;<0;6?353483=7;=;<0;4?35348i7;=;<16b?35349=<7;=;<155?3534>>m767;<66e?7?n27?9l4;769>00g=?m1688o57c9>00g=?01688o5799>00g=?>1688o5779>00g=?<1688o5759>00g=?:1688o5739>00g=?81688o5719>00g=>l1688o56e9>00g=>j1688o56c9>00g=>h1688o5689>00g=>11688o5669>00g=>?1688o5649>00g=0=1688o5829>00g=0;1688o5809>00g=091688o57g9>00g=?l1688o57`9>00g=>o1688o5659>00g=0j1688o58`9>00g=001v>8l:181[2??278:n4>859~w0062908wS;91:?72<<60:1688k51918yv40?3:1>vP:079>621=91>0q~;84;297~X2?=16?::5d`9>723=lh1v8;<:185<~X2=:16>l<5479>036=00c=031=640=<;5479>642=<=5479>644=646==h5479>65c=;<5479>637=;>5479>60`=8k5479>60b=8m5479>60d=8o5479>606=9h5479>61c=9j5479>61e=9l5479>61g=975479>61>=995479>5a>=5a0=5a2=5a4=5a6=i75479>6a>=i95479>6a0=i;5479>6a2=i<5479>6a7=i=5479>6`d=ho5479>6`?=h65479>6`1=h85479>6`3=h:5479>6`5=:85479>621=:?5479>626=07c=07e=07g=071=073=075=077=5479>04`=04e=04g=04>=040=042=;5479>062==5479>064=?5479>066=04c=044=1168;l5479>03?=027=5479>5g2=5g4=5g6=5dc=5de=5cd=5c?=5c1=5c3=5`g=5`>=5`0=5`2=5`4=>m5479>66d=>o5479>66?=>65479>661=>85479>663=>:5479>665=74`=74b=74d=74?=740=7gb=7ge=7g`=7f6=7f5=7a7=7a6=7a5=7a2=7a1=7d`=7g6=7dd=7d?=7dg=7`e=7`g=7`>=7`0=7`2=726=73e=h9:181[2c127?=o4>859~w6`22909wS:k8:?75d<60=1v>h;:181[2c?27?=44>859~w6`42909wS:k6:?75=<60=1v>h=:181[2c=27?=:4>859~w6`62909wS:k4:?753<60=1v>h?:181[2c:27?=84>859~w6ca2909wS:k1:?751<60=1v9?>:181[2c827??84>859~w1772909wS:lf:?771<60=1v9>i:181[2dm27??>4>859~w16b2909wS:ld:?777<60=1v9>k:181[2dk27??<4>859~w16d2909wS:lb:?775<60=1v9>m:181[2di27?>44>859~w1632909wS:l9:?75`<60=1v>h6:181[2d?27?=>4>859~w6cb2909wS:l6:?757<60=1v9>n:181[2d=27?>k4>859~w16>2909wS:l4:?76`<60=1v9>7:181[2d;27?>i4>859~w1602909wS:l2:?76f<60=1v9>9:181[2d927?>o4>859~w1622909wS:l0:?76d<60=1v9><:181[2en27?>54>859~w1652909wS:me:?762<60=1v9>>:181[2cn27?>;4>859~w1672909wS:ke:?760<60=1v>hi:181[2cl27?>94>859~w6`b2909wS:kc:?766<60=1v>hk:181[2cj27?>?4>859~w6`d2909wS:ka:?764<60=1v>hm:181[2c;27?>=4>859~w6`f2909wS:l8:?75c<60=1v>h7:181[2el27?=i4>859~w6`02909wS:mc:?75f<60=1v9l=:181[2f827?9l477:p0g6=838pR97i;<66e?3f3ty?mk4?:3y]0;3=h0>:6s|4`a94?4|V=3i70::a;76?xu3ik0;6?uQ48c8913f2<>0q~:na;296~X3101688o5629~w1de2909wS:n8:?71d<1:2wx8oo50;0xZ1g034>>m76:;|q7f<<72;qU8l84=57b>37i47>52z\7e0=:<5<5sW>j863;5`86b>{t7}YvP;a09>00g==j1v9l<:181[2>027?9l4:b:p0d?=838pR978;<66e?343ty:?44?:by>0=6=9>l01?lj:5;897gb2=301?kj:40897cc2=301?7>:5;8971b2=301>7=:5;896>72=301>=;:5;896202=301>;k:5;8yv4f;3:1>v3=a3864>;5i=0:;i5rs546>5<60r79m?4>829>03>=91>01?j6:5a897b?2=i01?j8:5a897b12=i01?j::5a897b32=i01?j=:5a897b6282870h70h70h70h70h70<86;3;7>;5?>0:4>5226390f=::>:18n5rs3c1>5<3s48j>7?74:?136<7p};6183>7}:ag=m7>53z?72g<2827?:44;7:?72d<60=1v98m:181821j3;3863;6e8ge>{t<06<5=?n6<6;;<656?be3ty?:44?:2y>03?=91>0198n:428910c2mh0q~:91;290~;3>10:4>5247595=5<5=<=6<6<;<656?70l2wx8;:50;05821?3;3863=1787g>;59<0?o63=1587g>;59:0?o63=1387g>;5980?o63=1187g>;58o0?o63=0d87g>;5>;0?o63=6087g>;5>90?o63=5g87g>;5=l0?o63=5e87g>;5=j0?o63=5c87g>;5=h0?o63=5187g>;5;5;5;5<00?o63=4987g>;5<>0?o63>d987g>;6l>0?o63>d787g>;6l<0?o63>d587g>;6l:0?o63>d387g>;6l80?o63>d187g>{tk4>849>07c=91?0194>234>9;7?75:?763<60<168?;519789143282>70:=3;3;1>;3:;0:485243395=3<5=8;6<6:;<62b?7?=27?=i4>849>04e=91?019?m:0:6?826i3;3963;1882<0=:<821=5;4=534>4>234>::7?75:?750<60<168<:519789152282>70:<4;3;1>;3;:0:485242095=3<5=9:6<6:;<604?7?=27?>44>849>04c=91?019?<:0:6?826:3;3963;5b8gf>;3=h0:5=5rs54`>5<4s4><=7?73:?735<60:168;j516f8yv21n3:1?>u246395=2<5:;<69m4=23e>1e<5:;n69m4=23g>1e<5:;h69m4=23a>1e<5:;j69m4=23:>1e<5:;369m4=235>1e<5:ho69m4=2`a>1e<5:hh6<6<;<1aa?2d349ij7:l;<1`6?2d349h<7:l;<1`5?2d349h?7:l;<1`0?2d349o=7:l;<1`b?7?;278h=4;c:?0`7<3k278h>4;c:?0`3<3k278h94;c:?0`0<3k278h:4;c:?0`=<3k278mk4;c:?0e`<3k278n=4;c:?0ef<3k278mo4;c:?0ea<3k278m44;c:?0e=<60:16?lo54b9>7d1=91901>kl:5a896ce2=i01>kn:5a896c>2=i01>k7:5a896c02=i01>k9:5a896c22=i01>k;:5a896c42=i0q~:9e;296d}:<>:1=5:4=0`7>1e<58h869m4=0`1>1e<58h:69m4=0`3>1e<58km69m4=0cf>1e<58ko69m4=0c`>1e<58lh69m4=0da>1e<58lj69m4=0d:>1e<58l369m4=0d4>1e<58l=69m4=0d6>1e<58l?69m4=0gb>1e<58o269m4=0g;>1e<58o<69m4=0g5>1e<58o>69m4=0g7>1e<58o869m4=0g1>1e<5;9h69m4=31a>1e<5;9j69m4=31:>1e<5;9369m4=314>1e<5;9=69m4=316>1e<5;9?69m4=310>1e<5:8j69m4=253>1e<5:=:69m4=24`>1e57>55z?153<28279:?4>859>64>=lk16>64e=lm1v?>k:180846>3;3863=9g8ge>;50j0om6s|20594?4|5;;>68>4=33;>41c3ty9643=91>01?7j:e`897>e2mh0q~<>9;296~;59=0><63=1`823a=z{;:i6=4<{<020?7?<2795h4kd:?1u220195=2<5;3o6il4=3:b>ad52z?157<28279=h4>7e9~w76>2908w0<>2;3;0>;51m0oh63=8`8g`>{t:8l1<706<5;8;6<9k;|q14=<72:q6>v3=11864>;5:;0:;i5rs324>5<4s48:<7?74:?1=fi:428974228=o7p}=0783>6}::9l1=5:4=3;a>ad<5;236il4}r013?6=:r79::180847m3;3863=9c8g`>;5010oh6s|1g194?3|58h?68>4=0d`>4>334;i:7jm;<3a;::ec896252mk01?h8:e`8yv7e=3:1>v3>b2864>;6j?0:;i5rs0cb>5<2s4;i?7?74:?02ga883>0}:9k81=5:4=24b>ag<5:??6io4=262>ag<5::;6il4}r3a=?6=>r7:n<4:0:?2fd<6?m16=om5dc9>5gc=lh16=n>5db9>5f4=lm1v;4==0oo63<408gg>;5no0on6s|1c`94?4|58h;68>4=0``>41c3ty:m:4?:4y>5g6=91>01>86:ec896342mk01>:?:ec897`b2mh0q~?md;296~;6io0><63>bd823a=z{8k=6=4:{<3bb?7?<278:44kc:?016ag<5:9m6io4=3d`>ad52z?2ea<2827:o>4>7e9~w4g3290>w0?nd;3;0>;4>10oo63<538gg>;4;o0oo63=fc8gf>{t9j?1<706<58i=6<9k;|q2e6<72;>:ec8965b2mk01?hn:e`8yv43>3:1>v3=63864>;5=90:495rs366>5<5s48==7;?;<07b?7?<2wx>8650;6x9706282?70<>8;fb?846i3ni70<>c;f`?xu5<=0;6?u2272915=::=o1=5:4}r063?6=;r79:=4>859>64g=lj16>60c==916>9m51968yv42=3:19v3=5d82<1=::8o1hl522329`g=::;81hi522369`f=z{;>:6=4={<06`?37348?n7?74:p602=83>p1?;k:0:7?84583nh70<=2;fb?845<3ni7p}=4183>7}::?7>53z?11f<60=16>?<5dc9>672=lh1v?=i:181842j3?;70<;9;3;0>{t:<81<7=t=37a>4>3348997jn;<0160g==916>9651968yv4293:1>v3=5`82<1=::;21hl5rs0g2>5<5s4;mo7;?;<3fe?7?<2wx=h>50;0x94`e2<:01ad<58hj6im4}r3gb?6=:r7:jl4:0:?2a=<60=1v:18087ai3;3863>b98gg>;6jh0on6s|1eg94?4|58l268>4=0g4>4>33ty:j=4?:3y>5c?=91>01v3>f9864>;6m?0:495rs0ge>5<2s4;m47?74:?2ffed83>1}:9o=1=5:4=0`f>ae<58i;6io4=0a1>ad52z?2b3<2827:i94>859~w4cc2908w0?i6;3;0>;6k90on63>c38ge>{t9mk1<706<58o86<6;;|q2af<72:q6=k;5196894e42mk01v3>f5864>;6m;0:495rs0ga>5<5s4;m87?74:?2g3><50;0x97372<:01?=l:0:7?xu5;80;6?u225d915=:::h1=5:4}r004?6=:r798h4:0:?17d<60=1v?{t:;o1<706<5;936<6;;|q16a<72;q6>9l5519>661=91>0q~<=c;296~;5<63=3782<1=z{;8i6=4={<07=?37348897?74:p67g=838p1?:7:4289753282?7p}=2883>7}::==19=5222195=251z?102<60=1v{t9jo1<706<58n<6<6;;|q2ga<72;q6=h65519>5a0=91>0q~?lc;296~;6m>0><63>d482<1=z{8ii6=4={<3f2?3734;o87?74:p5fg=838p1c883>7}:9l>19=521e095=252z?2a6<2827:h<4>859~w4e02909w0?j2;73?87c83;386s|2d094?3|58n368>4=3ga>4>334;2>7jn;<0;g?be34>>m7:>;|q2ba<72;q6=i95519>5<4=9>n0q~?ie;296~;6l?0><63>92823a=z{8lm6=4={<3g1?3734;287?8d:p656=838p17}:9m919=52184952b7>52z?2`7<2827:5:4>7e9~w7642909w0?k1;73?87>03;4=0;:>41c3ty8i?4?:5y>66e==916?hm5196894?f2mk019;n:258yv41;3:1>v3=3c864>;61h0:;i5rs347>5<5s488m7;?;<3:f?70l2wx>;;50;0x975>2<:01<7l:05g?xu5>?0;6?u222:915=:90n1=:j4}r053?6=:r79?:4:0:?2=`<6?m1v?87:181844>3?;70?6f;34`>{t:?31<706<58k;6<9k;|q12d<72;q6>>:5519>5d7=9>n0q~<9b;296~;5;:0><63>a3823a=z{;oh6=4>5z?1`<<3?279h54;7:?1`2<3?279h;4;7:?1`0<3?279h94;7:?1`7<3?279h<4;7:?1`6<3?279io4;7:?1ad<3?279i44;7:?1a=<3?279i:4;7:?1a3<3?279i84;7:?1a1<3?279i>4;7:?71f7e9>6d2=lk1v?ok:18184c13?;70{t:m:1<7:t=3f:>4>3348nn7;?;<0:b?be348h;7jn;|q1ef<72;q6>i65519>6f3=9>n0q~p1?j8:0:7?84b13?;70<6e;f`?84ej3nj7p}=a`83>7}::m<19=522b1952b54z?1`3<60=16>h65519>6o75d`9~w7g>2909w06<6;;<0f3?373482h7jl;<0a3?bf3ty9m54?:3y>6a2==916>n?516f8yv4dj3:18v3=d582<1=::l<19=5228a9`d=::k?1hl5rs3c5>5<5s48o>7;?;<0ab?70l2wx>n750;6x97b5282?70j3nj70859>6`5==916>4l5db9>6d`=lh1v?o8:18184c;3?;70{t:jk1<7:t=3f0>4>3348n97;?;<0:g?bd348i?7jn;|q1ff<72;q6>n85489>6ge=9>n0q~l522b5952b53z?1g0<31279nn4;9:?1fd<6?m1v?lk:18084d=3;9m63=bb827e9~w7de2908w0;5jh0:4l522c`952b53z?1g6<31279n54;9:?1f3<6?m1v?l6:18084d;3;9m63=b9827e9~w7d02908w0;5j?0:4l522c5952b7>53z?1g4<31279n94;9:?1f7<6?m1v?l::18084d93;9m63=b5827e9~w7d42908w0;5j;0:4l522c1952b53z?1fc<31279n=4;9:?1e`<6?m1v?l>:18084en3;9m63=b1822`9>6dc=91k01?oi:05g?xu5m80;68u22dc95=2<58386io4=0;1>ad<5;2i6io4=57b>6`55z?1a<<60=16=4:5d`9>5<5=lk16>5l5db9>00g=;l1v?ji:18684b03;3863>948ge>;61=0on63=8`8ge>;3=h08h6s|2eg94?3|5;o<6<6;;<3:2?bf34;297jm;<0;e?bd34>>m7=l;|q1`a<72h85196894?02mk01<79:e`897>>2mk019;n:2`8yv4ck3:19v3=e482<1=:9021hl521859`g=::131hn5244c97d=z{;ni6=4:{<0f0?7?<27:544ka:?2==io50;6x97c4282?70?69;fa?84?03nh70::a;1;?xu5?10;6>u2264915=::>=19=5226;952b52z?133<60=16>:75d`9~w7152909w0<81;73?840;3;626==916>:;516f8yv41m3:1:v3=7182<1=::>?1hl522619`g=::>31ho5227f9`g=::?i1hn5rs3d5>5<5s49;>7:6;<0e2?70l2wx>k950;0x9665288j70{t;;:1<741c349:;7;?;|q1b0<72:q6?=l5489>6c0=<016>k;516f8yv5793:1?v3<0c826d=::o<1=5o4=222>41c3ty8>44?:3y>75d=9>n01>?i:428yv5dl3:19v3=f7866>;4l>0:49523d`915=:;=81hi523139`d=z{;l?6=4<{<13e?2>348m97:6;<0e0?70l2wx?=>50;1x966f288j70;4890:;i5rs20;>5<5s49;m7?8d:?05`<282wx?nm50;7x97`22<801>j9:0:7?85bi3?;70=;1;fa?85783nj7p}=f283>6}:;93184522g690<=::o91=:j4}r0eb?6=;r78<44>2`9>6c2=91k01?hi:05g?xu4:>0;6?u231;952b<5:;o68>4}r1`f?6==r79j94:2:?0`0<60=16?h75519>717=lm16>kh5d`9~w7`52908w0=?8;6:?84a;3>270{t:oo1<7=t=22;>44f348m?7?7a:?1b`<6?m1v><9:18185703;{t;jk1<7;t=3d0>04<5:n?6<6;;<1f751=<016>k<5489>6c7=9>n0q~0:>l522g095=g<5;lo6<9k;|q060<72;q6?=9516f8967e2<:0q~=l9;291~;5n;0>>635<4s49;:7:6;<0e5?2>348m<7?8d:p6ce=839p1>>9:00b?84a93;3m63=fb823a=z{:8?6=4={<132?70l278=l4:0:p7f>=83?p1?h>:40896b5282?70=j6;73?854n3ni70u231790<=::o:184522dd952b53z?040<6:h16>k>519c897`e28=o7p}<2283>7}:;9?1=:j4=23:>0655z?1b5<2:278h<4>859>7`3==916?>h5de9>6cd=lh1v?kj:180857<3>2707e9~w6452909w0=?4;34`>;4910><6s|3b494?3|5;om68<4=2f3>4>3349n87;?;<10a?be348mm7jn;|q1aa<72:q6?==5489>6`c=<016>hj516f8yv4a03:1?v3<02826d=::lo1=5o4=3d:>41c3ty8><4?:3y>755=9>n01>?9:428yv50<3:1>lu22df917=:;kn18:523c`902=:;ki18:523cg902=:;kl18:523b0902=:;j:18:523b3902=:;j918:523b6902=:;m;18:523bd902=:;m:18:523e0902=:;m918:523e4902=:;m>18:523e7902=:;m=18:523e:902=:;hl18:523`g902=:;k:18:523`a902=:;hh18:523`f902=:;h318:523`:902=:;hk18:523`5902=:;li18:523d`902=:;lk18:523d;902=:;l218:523d5902=:;l<18:523d7902=:;l>18:523d1902=:;>?1=:j4}r13g?6=:r78=:4>859>77b=lh1v>?::181856n3;3863<2e8gg>{t;8>1<74>33499o7jk;|q056<72;q6?2;296~;49j0:495233a9`g=z{:;:6=4={<12f?7?<278>n4ka:p746=838p1>?n:0:7?855l3ni7p}<0g83>7}:;831=5:4=20f>ag52z?05=<60=16??k5dc9~w66c2909w0=>6;3;0>;4:l0oo6s|33d94?5|5:8j6994=24`>11<5:77b=9>n0q~<60;296~;51<0?563=95823a=z{;3j6=4={<0:1?7?i2795k4>7e9~w7g62909w0<65;34`>;5i=0om6s|29d94?4|5;3?6974=3;0>41c3ty9544?:3y>6<2=91k01?7j:05g?xu50l0;6?u228190<=::081=:j4}r0:4>8`9>6n0q~<7d;296~;51;0?563=90823a=z{;3<6=4={<0:6?7?i2795n4>7e9~w7?12909w0<61;3;e>;51k0:;i5rs35g>5<5s483>7:6;<0;5?70l2wx>5950;0x97>5282j70<7c;34`>{t:h:1<741c348j87jl;|q13f<72;q6>5?5489>6=6=9>n0q~<76;296~;5080:4l5229`952b52z?1<5<31279;k4>7e9~w7>22909w0<70;3;e>;50h0:;i5rs35b>5<5s485:50;0x971a282j70<79;34`>{t:191<74>f348347?8d:p7<`=83>p1>lk:42896g>282?70=98;fg?85?=3nj7p}6}:;kn1=5:4=2f2>06<5:?96ij4}r1:`?6=7=7=lh1v>l>:18085ej3;3863;4=80oo6s|38g94?2|5:hh68>4=2c;>4>3349=;7jm;<1;7?bf3ty8n?4?:2y>7ge=91>01>j?:42896362mh0q~=n0;290~;4jl0><63om:0:7?85113no70=79;fb?xu4j<0;6>u23cd95=2<5:n868>4=270>ab54z?0g7<28278mh4>859>73g=lk16?5h5d`9~w6d?2908w0=l2;3;0>;4l?0><63<558gf>{t;h81<7:t=2a3>06<5:kh6<6;;<15=?be3493n7jn;|q0f3<72:q6?n>5196896b32<:01>;<:e`8yv5f;3:18v3;4im0:495237c9`a=:;1n1hl5rs2`4>5<4s49h=7?74:?0`0<28278994kd:p7d3=83>p1>m<:42896ga282?70=9b;fg?85>93nj7p}6}:;j91=5:4=2f4>06<5:?>6ij4}r1b2?6=7ln:18085d<3;3863;4=<0on6s|3b794?2|5:im6<6;;<1f7?373498i7jl;<0e=?b>3ty8oh4?:5y>7a>=91>01>kl:42896252mh01?h8:ec8yv50m3:1>v3;41h0:;i5rs25g>5<5s49ji7;?;<1:=?70l2wx?:h50;0x96d72<:01>7m:05g?xu4?k0;6?u23`a915=:;0=1=:j4}r14e?6=:r78mo4:0:?0=3<6?m1v>9l:18185fl3?;70=68;34`>{t;>21<706<5:3?6<9k;|q032<72;q6?l65519>7<5=9>n0q~=89;296~;4ih0><63<94823a=z{:==6=4={<1b3?373492>7?8d:p7<6=838p1>7m:5;896?728=o7p}<9b83>7}:;0h1=?o4=2;`>41c3ty84h4?:2y>75489>7=c=9>n0q~=61;297~;41h0:>l5238295=g<5:3:6<9k;|q07=c=<016?5m516f8yv5?n3:1?v3<98826d=:;1o1=5o4=2:e>41c3ty84l4?:2y>7<>=<016?5m5489>7=g=9>n0q~=7d;297~;4110:>l5239a95=g<5:2o6<9k;|q0<=<72:q6?495489>7=g=<016?56516f8yv5?j3:1?v3<96826d=:;1k1=5o4=2:a>41c3ty84;4?:2y>7<0=<016?565489>7=0=9>n0q~=79;297~;41?0:>l5239:95=g<5:226<9k;|q0<1<72:q6?4;5489>7=0=<016?5:516f8yv5??3:1?v3<94826d=:;1<1=5o4=2:4>41c3ty84?4?:2y>7<2=<016?5:5489>7=4=9>n0q~=75;297~;41=0:>l5239695=g<5:2>6<9k;|q0<5<72:q6?4=5489>7=4=<016?5>516f8yv5?;3:1?v3<92826d=:;181=5o4=2:0>41c3ty84<4?:2y>7<4=9;k01>6?:0:b?85?93;7`g=91>01<7l:ec894?e2mh019;n:268yv5cn3:18v35rs2ff>5<3s49n47?74:?2=`m3ni70::a;12?xu4lj0;69u23d495=2<58k;6io4=0;e>ad<5=?j6>>4}r1gf?6=859>5d7=lh16=l>5dc9>00g=:o1v>jn:18785b<3;3863>a38ge>;6i80on63;5`81a>{t;m31<7=t=2g0>4>334;j>7jm;<66e?4c3ty8?44?:3y>762=91k01>=j:05g?xu4;90;6?u2326952b<5:9>6974}r10e?6=:r78?84>8`9>76`=9>n0q~=<1;296~;4;<0:;i5232490<=z{:9i6=4={<102?7?i2788=4>7e9~w6552909w0=<6;34`>;4;>0?56s|32a94?4|5:9<6<6n;<175?70l2wx?>=50;0x965028=o70=<8;6:?xu4;m0;6?u232:95=g<5:>96<9k;|q013<72;q6?>6516f896142mi0q~=;c;296~;4<>0:4l52343952b52z?002<6?m16?965489~w62c2909w0=;8;3;e>;4=;0:;i5rs267>5<5s49?47?8d:?00<<312wx?9k50;0x962>282j70=:3;34`>{t;=?1<741c349?m7:6;|q00c<72;q6?9o519c8963328=o7p}<4783>7}:;=k1=:j4=26a>1?<7>52z?00g<60h16?8;516f8yv52?3:1?v3<4c823a=:;>91hl5237g9`f=z{:<96=4={<16`?7?i278::4>7e9~w63>2909w0=:d;34`>;4=l0?56s|37194?4|5:?n6<6n;<15=0;6?u234d95=g<5:<26<9k;|q01g<72;q6?8h516f896072=30q~=95;296~;4>90:4l5237c952bo7>52z?025<6?m16?;?5489~w6012909w0=91;3;e>;4>k0:;i5rs27;>5<5s49==7?8d:?02`9>:428961428=o7p}<7183>1}:;>:1=5:4=257>ad<5:=>6il4=24e>a?52z?02f<28278:h4>7e9~w13c29099v3;2g873>;3:l0?;63;2e873>;3:j0?;63;2c873>;3:h0?;63;29873>;3:>0?;63;27873>;3:<0?;63;25873>;3::0?;63;23873>;3:80?;63;21873>;39o0?;63;1e873>;39j0?;63;1c873>;39h0?;63;18873>;3910?;63;16873>;39?0?;63;14873>;39=0?;63;34873>;3;=0?;63;32873>;3;;0?;63;30873>;3;90?;63;28873>;39l0?;63;12873>;39;0?;63=6e823a=z{=?96=4={<61b?3734>>m7m7;|q714<72;q68?k5519>00g=j11v9;?:181825l3?;70::a;`5?xu35<5s4>9n7;?;<66e?d43ty?8i4?:3y>07g==91688o5b39~w12e2909w0:=8;73?822i3h:7p};4`83>7}:<;=19=5244c9f5=z{=>26=4={<612?3734>>m7oi;|q70=<72;q68?;5519>00g=k?1v9:8:181825<3?;70::a;cf?xu35<5s4>9>7;?;<66e?gd3ty?894?:3y>077==91688o5ac9~w1242909w0:=0;73?822i3k27p};4383>7}:<8l19=5244c9e==z{=>;6=4={<62`?3734>>m7o8;|q77c<72;q6800g=i?1v9=j:181826j3?;70::a;a6?xu3;m0;6?u240c915=:<5<5s4>:57;?;<66e?g33ty??o4?:3y>04>==91688o5a29~w15f2909w0:>7;73?822i3k97p};3883>7}:<8<19=5244c9e4=z{=936=4={<621?3734>>m7o?;|q772<72;q68<:5519>00g=jo1v9;6:181824=3?;70::a;`f?xu3=10;6?u2426915=:<5<5s4>8?7;?;<66e?dc3ty?9;4?:3y>064==91688o5bb9~w1322909w0:<1;73?822i3hi7p};5583>7}:<::19=5244c9fd=z{=?86=4={<61=?3734>>m7l6;|q70f<72;q6800g=j<1v9:>:181826;3?;70::a;cb?xu3;?0;6?u2400915=:<5<5s4>>o7?8d:?71d8j:e`8961328=o70::a;642>;3=h0h56s|17094?4|5;8>6il4=307>44e3ty::i4?:3y>5f5=lk16=n<513`8yv45>3:1>v3=298gg>;5:=0:;i5rs0a7>5<5s4;h:7jl;<3`6?70l2wx??m50;0x964b2mn01><,==96<9?;|q616<72;qU98=4=569105<,==96<9>;|q7f7<72;qU8l>4=5690d6<,==96<:;;|q7f5<72;qU84h4=5690<`<,==96<:i;|q7ec<72;qU84k4=5690<,==96<8>;|q7fd<72;qU8l94=5690d1<,==96<8<;|q7f<<72;qU8l84=5690d0<,==96<8;;|q7f=<72;qU8l;4=5690d3<,==96<8:;|q7f2<72;qU8l:4=5690d2<,==96<89;|q7f3<72;qU8l=4=5690d5<,==96<88;|q7f0<72;qU8l<4=5690d4<,==96<87;|q7f1<72;qU8l?4=5690d7<,==96<86;|q7f6<72;qU8464=5690<><,==96<8n;|q7e<<72;qU8494=5690<1<,==96<8m;|q631<72;qU9::4=569122<,==96<8l;|q61c<72;qU98h4=56910`<,==96<8j;|q7ba<72;qU8i74=5690a?<,==96<9=;|q7bg<72;qU8i64=5690a><,==96<9<;|q7bd<72;qU8i94=5690a1<,==96<9;;|q7b<<72;qU8i84=5690a0<,==96<9:;|q7b=<72;qU8i;4=5690a3<,==96<99;|q7b2<72;qU8i:4=5690a2<,==96<98;|q7b0<72;qU8i<4=5690a4<,==96<97;|q7b1<72;qU8i?4=5690a7<,==96<96;|q7b6<72;qU8i>4=5690a6<,==96<9n;|q7b7<72;qU8nh4=5690f`<,==96<=n;|q7b4<72;qU8nk4=5690fc<,==96<=m;|q7b5<72;qU8nj4=5690fb<,==96<=l;|q7ac<72;qU8nm4=5690fe<,==96<=k;|q7a`<72;qU8nl4=5690fd<,==96<=j;|q7aa<72;qU8no4=5690fg<,==96<=i;|q7af<72;qU8n74=5690f?<,==96<:?;|q7ad<72;qU8n94=5690f1<,==96<:>;|q7a<<72;qU8n84=5690f0<,==96<:=;|q7a=<72;qU8n;4=5690f3<,==96<:<;|q7a2<72;qU8n:4=5690f2<,==96<::;|q7a3<72;qU8n=4=5690f5<,==96<:9;|q7a0<72;qU8n<4=5690f4<,==96<:8;|q7a1<72;qU8n?4=5690f7<,==96<:7;|q7a6<72;qU8n>4=5690f6<,==96<:6;|q7a7<72;qU8oh4=5690g`<,==96<:n;|q7a4<72;qU8ok4=5690gc<,==96<:m;|q641<72;qU8ih4=5690a`<,==96<:l;|q646<72;qU8ik4=5690ac<,==96<:k;|q647<72;qU8ij4=5690ab<,==96<:j;|q644<72;qU8im4=5690ae<,==96<;?;|q645<72;qU8il4=5690ad<,==96<;>;|q7bc<72;qU8io4=5690ag<,==96<;=;|q7b`<72;qU8i=4=5690a5<,==96<;<;|q7b3<72;qU8n64=5690f><,==96<;;;|q7ag<72;qU8oj4=5690gb<,==96<;:;|q7a5<72;qU8om4=5690ge<,==96<;9;|q64f<72;qU9=m4=56915e<,==96<;8;|q7<2<72;qU8594=5690=1<,==96<;7;|q643<72;qU9=84=569150<,==96<;n;|q674<72;qU9>?4=569167<,==96<;j;|mea?=838pD99<;|lb`d<72;qC8:=4}ocgf?6=:rB?;>5rn`f`>5<5sA>7}O<>90qcokf;296~N3?:1vblk?:181M20;2wemh?50;0xL1143tdji?4?:3yK02552zJ736=zfho?6=4={I647>{iil?1<7vF;729~jdc?2909wE:83:me`?=838pD99<;|lbad<72;qC8:=4}ocff?6=:rB?;>5rn`g`>5<5sA>7}O<>90qcojf;296~N3?:1vblh?:181M20;2wemk?50;0xL1143tdjj?4?:3yK02552zJ736=zfhl?6=4={I647>{iio?1<7vF;729~jd`?2909wE:83:mec?=838pD99<;|lbbd<72;qC8:=4}ocef?6=:rB?;>5rn`d`>5<5sA>7}O<>90qcoif;296~N3?:1vbo>?:181M20;2wen=?50;0xL1143tdi52zJ736=zfk:?6=4={I647>{ij9?1<7vF;729~jg6?2909wE:83:mf5?=838pD99<;|la4d<72;qC8:=4}o`3f?6=:rB?;>5rnc2`>5<5sA>7}O<>90qcl?f;296~N3?:1vbo??:181M20;2wen52zJ736=zfk;?6=4={I647>{ij8?1<7vF;729~j<7f290:wE:83:m=0?=83;pD99<;|l:1d<728qC8:=4}o;6f?6=9rB?;>5rn87`>5<6sA>4}O<>90qc7:f;295~N3?:1vb48?:182M20;2we5;?50;3xL1143td2:?4?:0yK02551zJ736=zf0{I647>{i1??1<7?tH550?xh>>?0;65rn84`>5<6sA>4}O<>90qc79f;295~N3?:1vb49?:182M20;2we5:?50;3xL1143td2;?4?:0yK02551zJ736=zf0=?6=4>{I647>{i1>?1<7?tH550?xh>??0;65rn85`>5<6sA>4}O<>90qc78f;295~N3?:1vb46?:182M20;2we55?50;3xL1143td24?4?:0yK02551zJ736=zf02?6=4>{I647>{i11?1<7?tH550?xh>0?0;6?290:wE:83:m==?=83;pD99<;|l:5rn8:`>5<6sA>4}O<>90qc77f;295~N3?:1vb47?:182M20;2we54?50;3xL1143td25?4?:0yK02551zJ736=zf03?6=4>{I647>{i10?1<7?tH550?xh>1?0;6?3:1=vF;729~j5rn8;`>5<6sA>4}O<>90qc76f;295~N3?:1vb4o?:182M20;2we5l?50;3xL1143td2m?4?:0yK02551zJ736=zf0k?6=4>{I647>{i1h?1<7?tH550?xh>i?0;65rn8c`>5<6sA>4}O<>90qc7nf;295~N3?:1vb4l?:182M20;2we5o?50;3xL1143td2n?4?:0yK02551zJ736=zf0h?6=4>{I647>{i1k?1<7?tH550?xh>j?0;65rn8``>5<6sA>4}O<>90qc7mf;295~N3?:1vb4m?:182M20;2we5n?50;3xL1143td2o?4?:0yK02551zJ736=zf0i?6=4>{I647>{i1j?1<7?tH550?xh>k?0;65rn8a`>5<6sA>4}O<>90qc7lf;295~N3?:1vb4j?:182M20;2we5i?50;3xL1143td2h?4?:0yK02551zJ736=zf0n?6=4>{I647>{i1m?1<7?tH550?xh>l?0;65rn8f`>5<6sA>4}O<>90qc7kf;295~N3?:1vb4k?:182M20;2we5h?50;3xL1143td2i?4?:0yK02551zJ736=zf0o?6=4>{I647>{i1l?1<7?tH550?xh>m?0;65rn8g`>5<6sA>4}O<>90qc7jf;295~N3?:1vb4h?:182M20;2we5k?50;3xL1143td2j?4?:0yK02551zJ736=zf0l?6=4>{I647>{i1o?1<7?tH550?xh>n?0;65rn8d`>5<6sA>4}O<>90qc7if;295~N3?:1vbl>?:182M20;2wem=?50;3xL1143tdj51zJ736=zfh:?6=4>{I647>{ii9?1<7?tH550?xhf8?0;65rn`2`>5<6sA>4}O<>90qco?f;295~N3?:1vbl??:182M20;2wem51zJ736=zfh;?6=4>{I647>{ii8?1<7?tH550?xhf9?0;65rn`3`>5<6sA>4}O<>90qco>f;295~N3?:1vbl?4?:0yK02551zJ736=zfh8?6=4>{I647>{ii;?1<7?tH550?xhf:?0;65rn`0`>5<6sA>4}O<>90qco=f;295~N3?:1vbl=?:182M20;2wem>?50;3xL1143tdj??4?:0yK02551zJ736=zfh9?6=4>{I647>{ii:?1<7?tH550?xhf;?0;65rn`1`>5<6sA>4}O<>90qco51zJ736=zfh>?6=4>{I647>{ii=?1<7?tH550?xhf5rn`6`>5<6sA>4}O<>90qco;f;295~N3?:1vbl;?:182M20;2wem8?50;3xL1143tdj9?4?:0yK025?7>51zJ736=zfh??6=4>{I647>{ii5rn`7`>5<6sA>4}O<>90qco:f;295~N3?:1vbl8?:182M20;2wem;?50;3xL1143tdj:?4?:0yK02551zJ736=zfh{I647>{ii??1<7?tH550?xhf>?0;65rn`4`>5<6sA>4}O<>90qco9f;295~N3?:1vbl9?:182M20;2wem:?50;3xL1143tdj;?4?:0yK02551zJ736=zfh=?6=4>{I647>{ii>?1<7?tH550?xhf??0;65rn`5`>5<6sA>4}O<>90qco8f;295~N3?:1vbl6?:182M20;2wem5?50;3xL1143tdj4?4?:0yK02551zJ736=zfh2?6=4>{I647>{ii1?1<7?tH550?xhf0?0;6?290:wE:83:me=?=83;pD99<;|lb5rn`:`>5<6sA>4}O<>90qco7f;295~N3?:1vbl7?:182M20;2wem4?50;3xL1143tdj5?4?:0yK02551zJ736=zfh3?6=4>{I647>{ii0?1<7?tH550?xhf1?0;6?3:1=vF;729~jd??290:wE:83:me5rn`;`>5<6sA>4}O<>90qco6f;295~N3?:1vblo?:182M20;2weml?50;3xL1143tdjm?4?:0yK02551zJ736=zfhk?6=4>{I647>{iih?1<7?tH550?xhfi?0;65rn`c`>5<6sA>4}O<>90qconf;295~N3?:1vbll?:182M20;2wemo?50;3xL1143tdjn?4?:0yK02551zJ736=zfhh?6=4>{I647>{iik?1<7?tH550?xhfj?0;65rn```>5<6sA>4}O<>90qcomf;295~N3?:1vblm?:182M20;2wemn?50;3xL1143tdjo?4?:0yK02551zJ736=zfhi?6=4>{I647>{iij?1<7?tH550?xhfk?0;65rn`a`>5<6sA>4}O<>90qcolf;295~N3?:1vblj?:182M20;2wemi?50;3xL1143tdjh?4?:0yK02551zJ736=zfhn?6=4>{I647>{iim?1<7?tH550?xhfl?0;6"9 > %0:?*rjx&Uhk"hffn]{hk~X=88s?;Q=cmi\73rh91$ekb?40493456712:;<=>?01274>6789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123454<80;0=>5>.130?46=AGZ^X7OKDSC?=?699o1:<7GAPTV9twi`Wlg{xtQ{hsgpl9?=878=7<>5IORVP?vugnUna}zv_ujqavnXizyn~y26:1<12>772@D[YY4rne\ahvsqV~c~h}g_ogdeqc;13:5=n5>0;MVPUSS2{nThlzn_bmvjq:>294:>6?9:HLSQQ112922?IR\Y__6IAN<0794;733821CXZ_UU8gkpr;9>0;2<5=2:020>44;:;:7?4FNQWW>AOWI5;1<3?=;38LQQVR\3ND\L2>:1<26>552@D[YY4KIC>05?699:18>7AZTQWW>AIE4:;1<3?=;249MKVR\3nbb1=::1AIWJ591<3:45E765>053?3?7;76659;077331O3M<564:;34<4<1?>05;86139:>LHW]]0JHI\M<983:4b<13CE\XZ5psmd[cskdV~c~h}g<983:72<13CE\XZ5psmd[cskdV~c~h}g_`qpawr;03:5>956:HLSQQ?=G\^[YY4kauc\gjsi|521<3?m;88LQQVR\3}ySio{a^alqkr;03:546OKDSC?4;>GCL[K78364AEFQE93902KOH_O36?:8EABUI5=546OKDSC?<;gGCL[H78364AEFQF93902KOH_L36?:8EABUJ5=5m6OKDS@?E53JO:>6MGEBI\HLEBFZOTXT^J2:AJ0>EKCH>0OAEM3:AOV<=DGDGBXYKK159@KWCXOLDN^LZFOO]JJCI03JXNMYKK1:F1?AO13MCJ0=08;EKB8469?2NBM1?>>69GMD:6:7=0HDO312<4?AOF48>556JFA=36>5803MCJ0<;16:FJE979>2NBM1<16:FJE959>2NBM1:16:FJE939>2NBM1816:FJE919>2NBM1616:FJE9?9>2NBN1>17:FJF9776>1OEO2>1?58@LD;9;4<7IGM<01=3>BNJ5;?2:5KIC>21;169GMG:617<0HDL31?58@LD;:94<7IGM<33=3>BNJ5892:5KIC>17;1908;EKA8739?2NBN1<9>69GMG:5?7=0HDL329<4?AOE4;35:6JFB=0=3>BNJ59;245KIC>05?69?2NBN1=>>79GMG:46?1OEO2;>79GMG:26?1OEO29>79GMG:06?1OEO27>79GMG:>6>1OE]O30?;8@LVF480;2:5KIQC?5;189GMUD;;3:5;6JFPC>0:3=CGH6;2:5KO@>24;169GKD:6<730HBO31483:2=CGH6:9384DNC?5;0384DNC?7;01OCO2>3?58@JD;9=4<7IAM<07=3>BHJ5;=2:5KOC>23;12NDN1?17:FLF9476>1OCO2=1?58@JD;:;4<7IAM<31=3>BHJ58?2:5KOC>11;1;08;EMA8719?2NDN1<7>69GKG:517<0HBL32?58@JD;;9427IAM<2394;119:FLTD:6294<7IA_A=3=3>BHXK6;2:5KOQ@?5;1@fdzo:7J=4GOF1?L653@;97D<=;H1;?LHN\YU;<55FNHVS[57?3@DBX]Q?299JJLRWW9937D@FTQ]30==NF@^[S=;7;HLJPUY7>11BBDZ__15:?LHN\Z^JXH94IOKW[5603@DBXR>>7:KMMQY7:>1BBDZP0258MKOSW9><7D@FT^263>OIA]U;::5FNHV\421?2CEEYQ?A69JJLRX8K=0ECG[_1A4?LHN\V:O;6GAIU]3A2=NF@^T7:KMMQY6:>1BBDZP1258MKOSW8><7D@FT^363>OIA]U:::5FNHV\521?2CEEYQ>A69JJLRX9K=0ECG[_0A4?LHN\V;O;6GAIU]2A2=NF@^T=K94IOKW[7603@DBXR<>7:KMMQY5:>1BBDZP2258MKOSW;><7D@FT^063>OIA]U9::5FNHV\621?2CEEYQ=A69JJLRX:K=0ECG[_3A4?LHN\V8O;6GAIU]1A2=NF@^T>K94IOKW[6603@DBXR=>7:KMMQY4:>1BBDZP3258MKOSW:><7D@FT^163>OIA]U8::5FNHV\72168;HLJPZ5>?2CEEYQ2F^X?QC4:NVP60JR\=UG96C\GNL6?HS_KPi0Ald`rWgqwliik2Gbbb|Yesqjkk4;;O3341=I998?7C??459M55343G;:86@>1968J47>;2D:>95A1327?K759=1E=?<;;O3171=I9;>?7C?=559M57033G;9;95A13:7?K751:1E=>:4N0130>H6;8>0B<==4:L27623468J451<2D:?:=4N060?K72;2D::>5A1618J4>43G;2?6@=029M645H50:1E>4=4N220?K56;2D8>>5A3218J6243G9>?6@<629M725;N08KN7UNEVID@AG\INL\GMCDC?1XCX\LE69PVSGKWH=0__XNL^@7?VUUI=1X__L;;U[SA64<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?01]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3457XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:9S_k|umv277=R8&myj#|i/fa{*fjlp&GscQ}d^rmpwY`kVrd~=>?3^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\vaYwf}xTknQwos2341YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW{nT|cz}_fa\|jt789?T^h}zlu306>S7'nxm"h gbz-gim'Drd~R|k_qlwvZadWqey<=>9_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]q`Zvi|{UloRv`r1233ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtXzmU{by|Pgb]{kw6781UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=>PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^uq[uhszVmhSua}0122[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYpzVzexQhc^zlv567:VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT{Qnup\cfYg{:;<>Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_vp\tkruWniTtb|?016\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZquWyd~Ril_ymq4562W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{U|~R~ats]dgZ~hz9:;:R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pws]sjqtXojUsc>?06]Qavsk|88:7X> gsd-vc)`kq$h`fv re]sjqtXj`d7=3<>;T2,cw`)zo%lou lljz,vaYwf}xTnd`32?02?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl?7;463\:$kh!rg-dg}(ddbr$~iQnup\flh;<78:7X> gsd-vc)`kq$h`fv re]sjqtXj`d793<>;T2,cw`)zo%lou lljz,vaYwf}xTnd`36?02?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl?3;463\:$kh!rg-dg}(ddbr$~iQnup\flh;078:7X> gsd-vc)`kq$h`fv re]sjqtXj`d753 gsd-vc)`kq$h`fv re]sjqtXj`dT9?>4U1-dvc(un&mht#mcky-q`Zvi|{UiecQ9219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^514>S7'nxm"h gbz-gim'{nT|cz}_ckm[=473\:$kh!rg-dg}(ddbr$~iQnup\flhX1;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0104?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789::>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123571<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?2005?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt78999;6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}0120670<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<9<8;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34526:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?5358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678<;9:6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}01256f=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;:S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:==;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123371<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<:?=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm30?03?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb>2:76<]9%l~k }f.e`|+ekcq%yhR~ats]dg949:91^<"i}f/pe+be&jf`t"|k_qlwvZad4:49<6[?/fpe*w`(ojr%oaew/sf\tkruWni783328Q5)`zo$yj"ilx/aoo})ulVzexQhc=4=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`828582_;#j|i.sd,cf~)keas#jPpovq[be;078;7X> gsd-vc)`kq$h`fv re]sjqtXoj622>f:W3+bta&{l$knv!cmi{+wbXxg~ySjmP10d8Q5)`zo$yj"ilx/aoo})ulVzexQhc^02b>S7'nxm"h gbz-gim'{nT|cz}_fa\74`<]9%l~k }f.e`|+ekcq%yhR~ats]dgZ26n2_;#j|i.sd,cf~)keas#jPpovq[beX=8l0Y=!hrg,qb*adp'iggu!}d^rmpwY`kV<:j6[?/fpe*w`(ojr%oaew/sf\tkruWniT;f:W3+bta&{l$knv!cmi{+wbXxg~ySjmP9348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;878=7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh<0<12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo585>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>0:70<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlm783<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8085>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk181279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:06;<0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hi38?05?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`404996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^211>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV;996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^011>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV9996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^611>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV?996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^411>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV=996[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^:11>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboV3956[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^f2848512_;#j|i.sd,cf~)keas#jPpovq[beXizxnkRj><3<1=>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:0>0=9:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb64=4956[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^f2808512_;#j|i.sd,cf~)keas#jPpovq[beXizxnkRj><7<1=>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:0:0=9:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6414956[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg^f28<8502_;#j|i.sd,cf~)keas#jPpovq[beXizxnkRj>_00;?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`Wm;T>?64U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4Y4:11^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1^61<>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:S8<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X>;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]46==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R6=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W08>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0106?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw67888>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0306?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw678:8>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0506?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw678<8>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0706?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]{kw678>8>7X> gsd-vc)`kq$h`fv re]sjqtXojUsc>?0902?P6(o{l%~k!hcy,`hn~({U{by|Pbhl?4;463\:$kh!rg-dg}(ddbr${Qnup\flh;978:7X> gsd-vc)`kq$h`fv ws]sjqtXj`d7>3<>;T2,cw`)zo%lou lljz,swYwf}xTnd`33?02?P6(o{l%~k!hcy,`hn~({U{by|Pbhl?0;463\:$kh!rg-dg}(ddbr${Qnup\flh;=78:7X> gsd-vc)`kq$h`fv ws]sjqtXj`d7:3<>;T2,cw`)zo%lou lljz,swYwf}xTnd`37?02?P6(o{l%~k!hcy,`hn~({U{by|Pbhl?<;473\:$kh!rg-dg}(ddbr${Qnup\flhX8;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU:>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR<=0:W3+bta&{l$knv!cmi{+rtXxg~ySoga_203?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\076<]9%l~k }f.e`|+ekcq%|~R~ats]amkY2:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV<9<6[?/fpe*w`(ojr%oaew/vp\tkruWkceS: gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?012263=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;=?94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos234475>2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>=269V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567:88=7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01113>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:8>?84U1-dvc(un&mht#mcky-tvZvi|{UiecQwos2341403\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=:>279V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567=;=0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?04312>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:=>n5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r123247X[^:9o6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012554YT_88<7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?014163=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;;?94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos23427582_;#j|i.sd,cf~)keas#z|Ppovq[be;878;7X> gsd-vc)`kq$h`fv ws]sjqtXoj6:2?>4U1-dvc(un&mht#mcky-tvZvi|{Ulo1<1219V4*aun'xm#jmw.bnh|*quWyd~Ril<2<14>S7'nxm"h gbz-gim'~xT|cz}_fa?0;473\:$kh!rg-dg}(ddbr${Qnup\cf:26;:0Y=!hrg,qb*adp'iggu!xr^rmpwY`k5<5>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh0:0=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm38?3e?P6(o{l%~k!hcy,`hn~({U{by|Pgb]35c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[47a3\:$kh!rg-dg}(ddbr${Qnup\cfY59o1^<"i}f/pe+be&jf`t"y}_qlwvZadW:;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU?=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS8?i;T2,cw`)zo%lou lljz,swYwf}xTknQ91g9V4*aun'xm#jmw.bnh|*quWyd~Ril_63e?P6(o{l%~k!hcy,`hn~({U{by|Pgb];63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn6;2?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?5;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol0?0=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc959:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij2;>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;=78=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<7<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo5=5>;5Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef>;:73<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\773<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT8?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\173<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT:?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\373<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT4?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:76;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>2:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<2=>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl8682?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:36;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>6:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<29>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl86<2?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:?6;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]36==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R?=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W;837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\77><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012360=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89::>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012160=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:8>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012760=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:>>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012560=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:!re-dv4(un~l#@czx^PBIZTCWLDTJZH[10]277=R8&myj#|i/fn3*wb(o{;%~kyit.Onq}YUIDUYHRKA_GUEP47X:;l0Y=!hrg,qb*ak8'xo#j|>.sdtbq)Je|rT^LCPRDELQQYBF8;8=6[?/fpe*w`(oe:%~i!hr0,qbr`s'Dg~tR`jxu]escrX{}ki!re-dv4(un~l#@czx^lf|qYao~Tyo{e331`>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj<1<1`>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj<0<1g>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj_10`?P6(o{l%~k!hl1,q`*au9'xm{kz ctpq[cqa|VymykP13:8Q5)`zo$yj"ic0/pg+bt6&{l|jy!jmqvz[cqa|Vli>:5Z0.eqb+ta'nf;"j gs3-vcqa|&of|ywPfvdw[l4b3\:$kh!rg-dh5(ul&my=#|iwgv,ahvsqVl|jyQf_np34565n2_;#j|i.sd,ci6)zm%l~< }fvdw+`kw|pUm{kzPi^mq45679;n0Y=!hrg,qb*ak8'xo#j|>.sdtbq)imq~Tjzh{_rvbp`:76;n0Y=!hrg,qb*ak8'xo#j|>.sdtbq)imq~Tjzh{_rvbp`:66;30Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&ij~waeu>3:7?<]9%l~k }f.eo4+tc'nxj#||tr-`4*efz{seiy2>>3;8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.abvwim}692?74U1-dvc(un&mg<#|k/fpbw+tt|z%h<"mnrs{maq:46;l0Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&mfyu hmZ2^*bk6&d;9j6[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$k`{w.foX5X(`ez$f?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"ibuy,di^4Z&ngx"`}=f:W3+bta&{l$ka>!re-dvdu)zz~x#n> glw{*bk\;T$la~ bs3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.enq}(`eR>V"jc|.lq17>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4:76;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&|:0<0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0>1:75<]9%l~k }f.eo4+tc'nxj#||tr-`4*p64:49?6[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$z<2;>3`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.t2[5Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0]2[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"x>_3]bja6789;9n6[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$zS7'nxm"h gm2-va)`zhy%~~z|/b3,gdtuqgo0<0=9:W3+bta&{l$ka>!re-dvdu)zz~x#n? c`pq}kcs4;4956[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$ol|}yogw8685n2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(ods"jcT0\,di4(j9;l0Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&mfyu hmZ3^*bkt&dy9j6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$k`{w.foX6X(`ez$f?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h="ibuy,di^5Z&ngx"`}=f:W3+bta&{l$ka>!re-dvdu)zz~x#n? glw{*bk\<3<17>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4:46;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&|:090=b:W3+bta&{l$ka>!re-dvdu)zz~x#n? v0]3[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x>_0]bja6789;9n6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$zQnne234575j2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8U?Sl`k0123576<]9%l~k }f.eo4+tc'nxj#||tr-`khv7:91^<"i}f/pe+bj7&{n$ko|.sqww*ehey;956[?/fpe*w`(oe:%~i!hr`q-vvrt'{kfShctx]efZo482_;#j|i.sd,ci6)zm%l~l}!rrvp+wgjWlg{xtQib^k\kw67899:7X> gsd-vc)`d9$yh"i}ar,qwqu(zhgTi`~{y^da[lYhz9:;<<<<;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw61=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf};986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at307?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs;;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz;259V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjq35<2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex;<;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw372<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~3>95Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu;1=>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0=0=c:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~494T~y<6;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw[f;978h7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?5;Yu|;30Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>1:7e<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2=>^pw6<=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1=12b9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq595Sz=9:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4=49o6[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az818Xz}827X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?1;4d3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw35?]qp7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot29>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6=2R|{289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5=5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}919W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8=85k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<9<\vq4f3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSua}<1<1e>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vrd~1?12`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{692?o4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;;78j7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8185i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=7=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc29>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx7;3::Zts9o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;87;m7X> gsd-vc)`d9$yh"|nup,gjsi|5;5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~7>3?i;T2,cw`)zo%l`= }d.psjqt(kfex1=11g9V4*aun'xm#jb?.sf,vuhsz&idycz34?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=7=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?2;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9199o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;07;m7X> gsd-vc)`d9$yh"|nup,gjsi|535=h5Z0.eqb+ta'nf;"j rqlwv*eh}g~T<e:W3+bta&{l$ka>!re-qtkru'je~byQ<1d9V4*aun'xm#jb?.sf,vuhsz&idyczP40g8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_43f?P6(o{l%~k!hl1,q`*twf}x$ob{at^42a>S7'nxm"h gm2-va)uxg~y#naznu]45`=R8&myj#|i/fn3*wb(zyd~"m`uov\<4c<]9%l~k }f.eo4+tc'{zex!lotlw[<453\:$kh!rg-dh5(ul&x{by| cnwmpZb64949>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=1?1239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>1:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;;7897X> gsd-vc)`d9$yh"|nup,gjsi|Vn:090=2:W3+bta&{l$ka>!re-qtkru'je~byQk1=7=67=R8&myj#|i/fn3*wb(zyd~"m`uov\`4:16;80Y=!hrg,qb*ak8'xo#~ats-`kphsWm;7;3<=;T2,cw`)zo%l`= }d.psjqt(kfexRj><9<16>S7'nxm"h gm2-va)uxg~y#naznu]g59?9:81^<"i}f/pe+bj7&{n$~}`{r.alqkrXl8U;><5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th209V4*aun'xm#jb?.sf,vuhsz&idyczPd0]164=R8&myj#|i/fn3*wb(zyd~"m`uov\`4Y4:81^<"i}f/pe+bj7&{n$~}`{r.alqkrXl8U?><5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th/bcqv|hb|5:5>45Z0.eqb+ta'nf;"z| gvcp*rus{&i:#no}rxlfp979:01^<"i}f/pe+bj7&~x$kzo|.vqww*e6'jky~t`jt=0=6<=R8&myj#|i/fn3*rt(o~kx"z}{s.a2+fguzpdnx1=12g9V4*aun'xm#jb?.vp,crgt&~y"m>/fov|+ajS9W%k`?!m00e?P6(o{l%~k!hl1,tv*apiz$|y} c0-dip~)odQ:Q#ibs/op6c=R8&myj#|i/fn3*rt(o~kx"z}{s.a2+bkrp'mfW?S!glq-iv4a3\:$kh!rg-dh5(pz&m|m~ xsuq,g4)`e|r%k`U<]/enw+kt:o1^<"i}f/pe+bj7&~x$kzo|.vqww*e6'ng~t#ib[5_-chu)ez887X> gsd-vc)`d9$|~"ixar,twqu(k8%}=1>1229V4*aun'xm#jb?.vp,crgt&~y"m>/w3?5;443\:$kh!rg-dh5(pz&m|m~ xsuq,g4)q9585>>5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#{?33?00?P6(o{l%~k!hl1,tv*apiz$|y} c0-u5929:k1^<"i}f/pe+bj7&~x$kzo|.vqww*e6';T?000a?P6(o{l%~k!hl1,tv*apiz$|y} c0-u5Z5Xign;<=>>2c9V4*aun'xm#jb?.vp,crgt&~y"m>/w3\0Zhh|9:;<<<6;T2,cw`)zo%l`= xr.etev(p{}y$o?!laspzj`r;87827X> gsd-vc)`d9$|~"ixar,twqu(k;%hm|vndv?5;4>3\:$kh!rg-dh5(pz&m|m~ xsuq,g7)di{xrbhz32?0:?P6(o{l%~k!hl1,tv*apiz$|y} c3-`ewt~fl~7?32g9V4*aun'xm#jb?.vp,crgt&~y"m=/fov|+ajS8W%k`}!mr0e?P6(o{l%~k!hl1,tv*apiz$|y} c3-dip~)odQ9Q#ibs/op6c=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+bkrp'mfW>S!glq-iv4a3\:$kh!rg-dh5(pz&m|m~ xsuq,g7)`e|r%k`U;]/enw+kt::1^<"i}f/pe+bj7&~x$kzo|.vqww*e5';7<3<<;T2,cw`)zo%l`= xr.etev(p{}y$o?!y1=3=66=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+s7;:7887X> gsd-vc)`d9$|~"ixar,twqu(k;%}=1=1229V4*aun'xm#jb?.vp,crgt&~y"m=/w3?0;4e3\:$kh!rg-dh5(pz&m|m~ xsuq,g7)q9V:Tmcj?01226g=R8&myj#|i/fn3*rt(o~kx"z}{s.a1+s7X9Vkeh=>?000a?P6(o{l%~k!hl1,tv*apiz$|y} c3-u5Z4Xign;<=>>2c9V4*aun'xm#jb?.vp,crgt&~y"m=/w3\7Zgil9:;<<=5Z0.eqb+ta'nf;"z| gvcp*rus{&ida}?=0:W3+bta&{l$ka>!ws-dsdu)z~x#nabp30;?P6(o{l%~k!hl1,tv*apiz$|y} r`o\bpjkWohTe?;4U1-dvc(un&mg<#y}/fubw+qt|z%ym`Qiumn\m7e<]9%l~k }f.eo4+qu'n}j#y|tr-qehYa}efTeRa}01236a=R8&myj#|i/fn3*rt(o~kx"z}{s.pbiZ`rdeUbSb|?01225a=R8&myj#|i/fn3*rt(zhgT{Qjn^k266=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}8?7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{1368Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkr5:=1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~by==4:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmp1433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d9?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov561=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}=986[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at90:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7<32:Zts:01^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=0=6f=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1<1_sv1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir0>0=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4:4T~y<6;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw[f;<78h7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?0;Yu|;30Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPcx>6:7e<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2:>^pw6<=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1812b9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5<5Sz=9:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4>49o6[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az828Xz}8j7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8585i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=3=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc2=>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx7?35:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|37?0b?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey050=d:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZ~hz525Sz>f:W3+bta&{l$ka>!ws-ttkru'je~by2?>0d8Q5)`zo$yj"ic0/uq+rvi|{%hcx`{<0<2b>S7'nxm"h gm2-sw)pxg~y#naznu>1:4`<]9%l~k }f.eo4+qu'~zex!lotlw8686n2_;#j|i.sd,ci6){%||cz}/bmvjq:368l0Y=!hrg,qb*ak8'}y#z~ats-`kphs4<4:j6[?/fpe*w`(oe:%{!xpovq+firf}6=2f:W3+bta&{l$ka>!ws-ttkru'je~by27>0g8Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_13f?P6(o{l%~k!hl1,tv*qwf}x$ob{at^32a>S7'nxm"h gm2-sw)pxg~y#naznu]15`=R8&myj#|i/fn3*rt(yd~"m`uov\74c<]9%l~k }f.eo4+qu'~zex!lotlw[17b3\:$kh!rg-dh5(pz&}{by| cnwmpZ36m2_;#j|i.sd,ci6){%||cz}/bmvjqY19l1^<"i}f/pe+bj7&~x${}`{r.alqkrX?8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW1897X> gsd-vc)`d9$|~"ynup,gjsi|Vn:0=0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk1=3=67=R8&myj#|i/fn3*rt(yd~"m`uov\`4:56;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;7?3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj><5<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5939:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl86=2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?37?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28=8592_;#j|i.sd,ci6){%||cz}/bmvjqYc9V:9=6[?/fpe*w`(oe:%{!xpovq+firf}Uo=R?=1:W3+bta&{l$ka>!ws-ttkru'je~byQk1^015>S7'nxm"h gm2-sw)pxg~y#naznu]g5Z5592_;#j|i.sd,ci6){%||cz}/bmvjqYc9V>9=6[?/fpe*w`(oe:%{!xpovq+firf}Uo=R;=1:W3+bta&{l$ka>!ws-ttkru'je~byQk1^415>S7'nxm"h gm2-sw)pxg~y#naznu]g5Z1592_;#j|i.sd,ci6){%||cz}/bmvjqYc9V29>6[?/fpe*w`(oe:%{!xpovq+firf}Uo>1>1239V4*aun'xm#jb?.vp,suhsz&idyczPd3>2:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;:7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn90>0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk2=6=67=R8&myj#|i/fn3*rt(yd~"m`uov\`7:26;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm87:3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj=<6<16>S7'nxm"h gm2-sw)pxg~y#naznu]g69>9:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl;U;><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?Q>209V4*aun'xm#jb?.vp,suhsz&idyczPd3]164=R8&myj#|i/fn3*rt(yd~"m`uov\`7Y4:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl;U?><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?Q:209V4*aun'xm#jb?.vp,suhsz&idyczPd3]564=R8&myj#|i/fn3*rt(yd~"m`uov\`7Y0:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl;U3=;5Z0.eqb+ta'dof#iazt^k\440<]9%l~k }f.ofi*bh}}UbS1^<"i}f/pe+hcj'me~xRgP1034?P6(o{l%~k!bel-gkprXaV;9=:5Z0.eqb+ta'dof#iazt^k\56703\:$kh!rg-nah)cg|~TeR?;169V4*aun'xm#`kb/emvpZoX9<;<7X> gsd-vc)jmd%ocxzPi^3552=R8&myj#|i/lgn+air|VcT=:?9;T2,cw`)zo%fi`!kotv\mZ46>2_;#j|i.sd,i`k(lfSdQ<179V4*aun'xm#`kb/emvpZoX<8<0Y=!hrg,qb*kbe&ndyyQf_435?P6(o{l%~k!bel-gkprXaV<::6[?/fpe*w`(elg$hb{{_h]453=R8&myj#|i/lgn+air|VcT4<84U1-dvc(un&gna"j`uu]j[<7>3\:$kh!rg-nah)cg|~Tahc30?3b?P6(o{l%~k!bel-gkprXelg7==0>a:W3+bta&{l$ahc dnww[hcj48;5=l5Z0.eqb+ta'dof#iazt^ofi97568k0Y=!hrg,qb*kbe&ndyyQbel>27;7f3\:$kh!rg-nah)cg|~Tahc315<2e>S7'nxm"h mdo,`jssWdof0<;11`9V4*aun'xm#`kb/emvpZkbe5;=2 gsd-vc)jmd%ocxzPmdo?5;7>3\:$kh!rg-nah)cg|~Tahc32?3:?P6(o{l%~k!bel-gkprXelg7?3?6;T2,cw`)zo%fi`!kotv\i`k;<7;27X> gsd-vc)jmd%ocxzPmdo?1;7>3\:$kh!rg-nah)cg|~Tahc36?3:?P6(o{l%~k!bel-gkprXelg7;3?6;T2,cw`)zo%fi`!kotv\i`k;07;27X> gsd-vc)jmd%ocxzPmdo?=;0b3\:$kh!rg-nah)`jd$ln`i!gcode+h`mji%n`i bmi\i`kXoldn~lz`r.tbhlb)kz~y#oblnms_5[)zhg%~"x=_omjjlr)zhg$h}=9x0:-vdk6j2_;#j|i.sd,i`k(|dzT~lcPre]fj4e<]9%l~k }f.ofi*rjxVxjaR|k_dl256=R8&myj#|i/scn[wbXmg;<7X> gsd-vc)uidUyijazt^gm56=R8&myj#|i/scn[rtXmg;o7X> gsd-vc)u{}hgg"|k_sqw[duumn8;7X> gsd-vc)u{}hgg"|k_sqw[duumnUo=?>4U1-dvc(un&xxxobd/sf\vvrXizxnkRj=1b9V4*aun'xm#}{bmi,vaYu{}Uhc`l>d:W3+bta&{l$~~zmlj-q`Ztt|Vidao?>e:W3+bta&{l$~~zmlj-q`Ztt|Vxnk1>11d9V4*aun'xm#}{bmi,vaYu{}Uyij2>>0g8Q5)`zo$yj"||tcnh+wbXzz~T~hi32?3g?P6(o{l%~k!}su`oo*tcW{ySkh_13g?P6(o{l%~k!}su`oo*tcW{ySkh_03g?P6(o{l%~k!}su`oo*tcW{ySkh_33g?P6(o{l%~k!}su`oo*quW{ySl}}ef03?P6(o{l%~k!}su`oo*quW{ySl}}ef]g576<]9%l~k }f.pppgjl'~xT~~zParpfcZb59j1^<"i}f/pe+wusjea${Q}su]`khd6l2_;#j|i.sd,vvredb%|~R||t^alig76m2_;#j|i.sd,vvredb%|~R||t^pfc9699l1^<"i}f/pe+wusjea${Q}su]qab:668n0Y=!hrg,qb*tt|kf`#z|Prrv\v`aX88n0Y=!hrg,qb*tt|kf`#z|Prrv\v`aX9h1^_H\PAMKBWf=R[LXTZD]FBMG0?SED12\BIZQ[YQG0?RCF;2]NNo5XRHVF[COU[]i0[_G[E^OL@@YFk2]YEYKPMNFF[G7c3QCGECV"XE@#4+7'[]_I,= > @Q@ML3^cjVCoj6Vkh^RqmhPbzzcdb<>4Xeo\Idlhz_oydaa119[`hYJageyZh||inl`?djjgz~Ti`~{yc9bhhit|Vl~`a84b`ahqubbf|hUhcx`{(7+g?agsiVidycz'7(f8`drfWje~by&7)g9geqgXkfex1650?58`gosm{x=7iga(1+5?aoi 8#<7iga(02*3>bnf!;:%:5kio*26,1'8;ekm,42.?2nbb%?:)69gmk.6> =0hd`'16+4?aoi 82";6jfn)3:-3=cag"9%:5kio*14,1<'8;ekm,74.?2nbb%<<)69gmk.5< =0hd`'24+4?aoi ;<";6jfn)04-2=cag"94$94dhl+6'8;ekm,66.?2nbb%=>)69gmk.4: =0hd`'32+4?aoi :>";6jfn)16-3=cag"?%;5kio*6-3=cag"=%;5kio*4-3=cag"3%;5kio*:-3=cag6;2:5kio>24;169gmk:6<7=0hd`314<4?aoi48<5;6jfn=34:2=cag6:4394dhl?5<813mce0<08;ekm8769?2nbb1<>>69gmk:5:7=0hd`322<4?aoi4;>5;6jfn=06:2=cag69:394dhl?62803mce0?617:fjj94>6?1oec2=>69gmk:487=0hd`330<4?aoi4:85;6jfn=10:2=cag688374dhl?70<76>1oec2<5?48`lh;;7<0hd`34?48`lh;=7<0hd`36?48`lh;?7<0hd`38?48`lh;17=0hb{{(1+4?air|!;"46j`uu*24,>bh}}":8$64dnww,43.02ndyy&>6(:8`jss 8=";6j`uu*1-2=cg|~#?$94dnww,1/03me~x%;&7:flqq.1!>1ocxz'7(58`jss 1#<7iazt);*3>bh}}6;255kotv?558?3me~x1?>>99gkpr;9;437iazt=30:==cg|~7=907;emvp972611ocxz3171ocxz31?58`jss4;4<7iazt=1=3>bh}}6?2:5kotv?1;169gkpr;1720iigi2oeg1>cjx}s8:6hffn]dakcui}eyS{:P4-"[mioip)ID^H.Heogqeqiu(8:%=#><_hr05f=aaoeTta`w_431|60X:jf`S>8{o0:0e>`nnfUs`cvP500{73Y5keaT?;z`19.emciXoldn~lz`r^t7[1*IGGO'BB@J3e68bl`hWqfetR;>2y15[7ekcV9=xb?7,gkekZabflxjxb|Pv5]7(~eX`hyTeczPcmi>4)eX`hyT}{=1.`[wbXn{oz1<"l_icp[wbXlh~jSnaznu?3(fYcagU|eizg=24/gZnf{V}ySio{a^alqkr:8%iTjxbc_gnbcvYu{}U}ma3?,b]jiujbeldmyg`n^vzt`;5$jU~hQjmcgg``bXzlm68-a\ivahfV|j`0?#c^pg[acw|a7:4)eX`hyT~~z21-a\`drfWje~byQxievk9<*dWakxSz|Pabi>4)eX}zoTinm20-a\gjkjggUh`bmd=1.`[rtXijaT`by20-a\vaYwf}xT{dj{h<33(fYr{lUm{kzPd`vb[firf}7; nQgar]bhhit|Vof|yw20-a\vaYci}kTob{at^uj`qn:99&hSbxjrgnlsZjh4:'oRy}_qlwvZqnl}b65!mPpsmd[`kw|pUu}k20-a\swYci}kTob{at^uj`qn:1%iT|kco`f\v`at58&hSiazt^pppZpfd4:'oRfns^fbpdYdg|d1="l_qplcZ`rdeUdk|h^lfcdrbWkg18>7,b]tvZbbx}b69<<#c^rqkbYbey~rSyf}erj\j`af|lU}ma3:,b]svjaXmdzuRzgrdqk[dutm{~Tzlb24-a\lduX~hfbh0>#c^rqkbYa}efTxe|jsi]bwvcu|V|j`0;?9-aliuiimg~Tblcj=gkekZ~kfqU>=?v<6^0`hnY4>}e:4!mPv`nj`Zjh4:'oR~}il]emciX|pzn18?=x24/gZvugnUmyabPtxrf95*dWdofcwPtxrf94*z;?1mekaPxml{[075p:nbd_24wk4>Xn`ldSjkaescwkwYqTt~zP159eqij03`dSnbd8:ldggsndm20c{k}fmmte>vugnUna}zv159svjaXmdzuRzgrdqk,5/6<2zycjQjmqvz[qnumzb#=$?;;qplcZcjx}sTxe|jsi*1-42vugnUna}zv_ujqavn/= ;?7}|`g^gntqX|axne&9)068twi`Wlg{xtQ{hsgpl-1.9=1{~biPelrw}Zrozlyc$5'>4:rqkbYbey~rSyf}erj+=,713yxdkRkbpu{\pmtb{a626=0>b:rqkbYbey~rSyf}erj\evubz}";%vugnUna}zv_ujqavnXizyn~y&9)0`8twi`Wlg{xtQ{hsgplZgt{lx$:'>b:rqkbYbey~rSyf}erj\evubz}"3%294:n6~}of]fiur~W}byi~fPndebp`.7!8h0|ah_dosp|Ys`{oxdR`jg`vf,4/6j2zycjQjmqvz[qnumzbTbhintd*1-4dvugnUna}zv_ujqavnXflmjxh&;)0`8twi`Wlg{xtQ{hsgplZhboh~n$8'>b:rqkbYbey~rSyf}erj\j`af|l"=%#:n6~}of]fiur~W}byi~fPndebp`.?!8h0|ah_dosp|Ys`{oxdR`jg`vf,:>58>3yxdkRhzlm30?uthoVl~`aQ{hsgpl-6.9:1{~biPftno[qnumzb#=$?<;qplcZ`rdeUdk|h)0*56=wzfmTjxbc_ujqavn/; ;87}|`g^dvhiYs`{oxd%:&129svjaXn|fgSyf}erj+1,743yxdkRhzlm]wlwct`!<"=>5rne\bpjkW}byi~f'7(30?uthoVl~`aQ{hsgpl->.9<1{~biPftno[qnumzb747>11`9svjaXn|fgSyf}erj\evubz}";%a:rqkbYa}efTxe|jsi]mabgsm!="=l5rne\bpjkW}byi~fPndebp`.?!8i0|ah_gwohZrozlycSckhaug?2xoSnbd119q`Zbf|hUhcx`{(1+24>tcWmkmRm`uov+5,773{nThlzn_bmvjq.5!8:0~iQkauc\gjsi|!9"==5}d^fbpdYdg|d$9'>0:pg[agsiVidycz'5(33?wbXlh~jSnaznu*5-46008vaYci}kTob{at=;94;34ws]geqgXkfex%:&119tvZbf|hUhcx`{(4+24>quWmkmRm`uov+2,773~xThlzn_bmvjq.0!8:0{Qkauc\gjsi|!2"=?5xr^fbpdYdg|d054?>49tvZci>2}yS}{}ABse2e7e4<8qe?ok51:l0fc<33-9io7=m6:P0`<3;l036<==b75:>7e4<81X=?8545594?74:k<<57:182>4}T=90??h47:011f31>2;i88<5yT05e>5<6280::ou\51877`7}r9:;1=6{>3383?x"6?>0:56l;4083>6b=;39owE=ne:X72?4|990:47s+1969017<,:hi69:?;h6:3?6=3`>jn7>5;n671?6=3f>8j7>5;h6b4?6=3`>257>5;n616?6=,8=269=<;o349=7>5$05:>1543g;<47?4;n614?6=,8=269=<;o34:j7>5$05:>1543g;<47=4;n62a?6=,8=269=<;o34:h7>5$05:>1543g;<47;4;n62g?6=,8=269=<;o34:n7>5$05:>1543g;<4794;n61e?6=,8=269=<;o34<3f>957>5$05:>1543g;<4774;n619;7>5$05:>1543g;<47l4;n612?6=,8=269=<;o34997>5$05:>1543g;<47j4;n610?6=,8=269=<;o349?7>5$05:>1543g;<47h4;n62e?6=,8=269=<;o341:9j7`b=83.:;44;119m52>=821b?hm50;&23<<3991e=:651:9j7`d=83.:;44;119m52>=:21b?ho50;&23<<3991e=:653:9j7`?=83.:;44;119m52>=<21b?h650;&23<<3991e=:655:9j7`0=83.:;44;119m52>=>21b?h;50;&23<<3991e=:657:9j7`2=83.:;44;119m52>=021b?h=50;&23<<3991e=:659:9j7`4=83.:;44;119m52>=i21b?h?50;&23<<3991e=:65b:9j7`6=83.:;44;119m52>=k21b?ih50;&23<<3991e=:65d:9j7ac=83.:;44;119m52>=m21b?ij50;&23<<3991e=:65f:9j7ad=83.:;44;119m52>=9910e>jn:18'52?=<8:0b<97:038?l5c13:1(<96:533?k7003;976g!7013>:<6`>79827>=n;m=1<7*>788755=i9>21=954i2f5>5<#9>318<>4n05;>43<3`9o97>5$05:>1773g;<47?9;:k0`1<72-;<57:>0:l23=<6?21b?i=50;&23<<3991e=:651998m6b5290/=:754028j41?28307d=i3;29 41>2=;;7c?88;3b?>o4n;0;6)?89;624>h6?10:n65f3g394?"6?00?==5a16:95f=f:9j7`1=83.:;44;119m52>=:910e>jl:18'52?=<8:0b<97:338?l5c93:1(<96:533?k70038976g!7013>:<6`>79817>=n<1k1<75m3`d94?7=83:pD>oj;%3;0?5fn2e:;;4?::a`6<7280;6=uG3`g8 4>32m90ci<50;9~f13=83k86<=>:04aM5fm2P?:7?9{`81=?b=j38h6?65118287)?81;341>i4k90;66g;9983>>o3=:0;6)?89;660>h6?10;76g;5383>!7013>>86`>7982?>o3=80;6)?89;660>h6?10976g;5183>!7013>>86`>7980?>o3h6?10?76g;4d83>!7013>>86`>7986?>o3h6?10=76g;4b83>!7013>>86`>7984?>o3h6?10376g;4`83>!7013>>86`>798:?>i3>k0;66g;9c83>>i31l0;66g;7d83>!7013>7983?>o3?m0;6)?89;64b>h6?10:76g;7b83>!7013>7981?>o3?k0;6)?89;64b>h6?10876g;7`83>!7013>7987?>o3?00;6)?89;64b>h6?10>76g;7983>!7013>7985?>o3?>0;6)?89;64b>h6?10<76g;7783>!7013>798;?>o31>0;66a;4983>>i3<00;66g>i31=0;6)?89;6:2>h6?10;76a;9283>!7013>2:6`>7982?>i31;0;6)?89;6:2>h6?10976a;9083>!7013>2:6`>7980?>i3190;6)?89;6:2>h6?10?76a;8g83>!7013>2:6`>7986?>i30l0;6)?89;6:2>h6?10=76a;8e83>!7013>2:6`>7984?>i30j0;6)?89;6:2>h6?10376a;8c83>!7013>2:6`>798:?>o3=l0;6)?89;66b>h6?10;76g;5e83>!7013>>j6`>7982?>o3=j0;6)?89;66b>h6?10976g;5c83>!7013>>j6`>7980?>o3=h0;6)?89;66b>h6?10?76g;5883>!7013>>j6`>7986?>o3=10;6)?89;66b>h6?10=76g;5683>!7013>>j6`>7984?>o3=?0;6)?89;66b>h6?10376g;5483>!7013>>j6`>798:?>o3ik0;66a;a883>!7013>jm6`>7983?>i3i10;6)?89;6be>h6?10:76a;a683>!7013>jm6`>7981?>i3i?0;6)?89;6be>h6?10876a;a483>!7013>jm6`>7987?>i3i=0;6)?89;6be>h6?10>76a;a283>!7013>jm6`>7985?>i3i;0;6)?89;6be>h6?10<76a;a083>!7013>jm6`>798;?>i3<<0;66a;3g83>>o3?=0;6)?89;641>h6?10;76g;7283>!7013><96`>7982?>o3?;0;6)?89;641>h6?10976g;7083>!7013><96`>7980?>o3?90;6)?89;641>h6?10?76g;6g83>!7013><96`>7986?>o3>l0;6)?89;641>h6?10=76g;6e83>!7013><96`>7984?>o3>j0;6)?89;641>h6?10376g;a183>>o3>o3ij0;66a;9`83>>i31o0;66a;9e83>>o3100;66a;2383>!7013>8?6`>7983?>i3:80;6)?89;607>h6?10:76a;2183>!7013>8?6`>7981?>i39o0;6)?89;607>h6?10876a;1d83>!7013>8?6`>7987?>i39m0;6)?89;607>h6?10>76a;1b83>!7013>8?6`>7985?>i39k0;6)?89;607>h6?10<76a;2`83>!7013>8?6`>798;?>i3:00;6)?89;607>h6?10276a;2983>!7013>8?6`>798b?>i3:>0;6)?89;607>h6?10i76a;2783>!7013>8?6`>798`?>i3:<0;6)?89;607>h6?10o76a;2583>!7013>8?6`>798f?>i3::0;6)?89;607>h6?10m76a;1`83>!7013>8?6`>79824>=h<831<7*>788776=i9>21=<54i2gg>5<#9>318<>4n05;>5=5<#9>318<>4n05;>7=54i2g:>5<#9>318<>4n05;>1=5<#9>318<>4n05;>3=6=4+16;90465<#9>318<>4n05;>==5<#9>318<>4n05;>d=5<#9>318<>4n05;>f=5<#9>318<>4n05;>`=5<#9>318<>4n05;>46<3`9om7>5$05:>1773g;<47?>;:k0`<<72-;<57:>0:l23=<6:21b?i650;&23<<3991e=:651298m6b0290/=:754028j41?28>07d=k6;29 41>2=;;7c?88;36?>o4l<0;6)?89;624>h6?10::65f3e694?"6?00?==5a16:952=32c8j>4?:%34=?2682d:;54>a:9j7c4=83.:;44;119m52>=9k10e>h>:18'52?=<8:0b<97:0a8?l5a83:1(<96:533?k7003;o76g!7013>:<6`>7982a>=n;lo1<7*>788755=i9>21=k54i2g4>5<#9>318<>4n05;>76<3`9oo7>5$05:>1773g;<47<>;:k0`4<72-;<57:>0:l23=<5:21b?i>50;&23<<3991e=:652298k6e62900e>m=:188m1>?290/=:7549;8j41?2910e968:18'52?=<130b<97:098m1>1290/=:7549;8j41?2;10e96::18'52?=<130b<97:298m1>3290/=:7549;8j41?2=10e96<:18'52?=<130b<97:498m1>5290/=:7549;8j41?2?10e96>:18'52?=<130b<97:698m1>7290/=:7549;8j41?2110c>mk:18'52?=;jo0b<97:198k6ed290/=:753bg8j41?2810c>mm:18'52?=;jo0b<97:398k6ef290/=:753bg8j41?2:10c>m6:18'52?=;jo0b<97:598k6e?290/=:753bg8j41?2<10c>m8:18'52?=;jo0b<97:798k6e1290/=:753bg8j41?2>10c>m::18'52?=;jo0b<97:998m10>290/=:7547c8j41?2910e987:18'52?=290:6=4?{%3;0?b43A9i46Foi;I1a<>N4il1d=:850;9~f6?e29086=4?{%3;0?ed3A9i46Fo3?3:17d;>:188k41e2900qo=n6;297?6=8r.:494lc:J0f==O;ho0D9<4$00e>1?d3-o;6?5f4683>>o293:17b?8b;29?xd41h0;6>4?:1y'5=2=kj1C?o64H2cf?M253-;9j7:6c:&f4?4>i6?k0;66sm3`694?3=83:p(<6;:e28L6d?3A9ji6F;2:&26c<31j1/i=4=;h64>5<>o6?h0;66a>7c83>>{e;h?1<7=50;2x 4>32ji0D>l7;I1ba>N3:2.:>k4;9b9'a5<53`><6=44i4394?=h9>h1<75rb2;:>5<2290;w)?74;f3?M5e02B8mh5G439'57`=<0i0(h>52:k73?6=3`>36=44i4394?=n9>k1<75`16`94?=zj:k86=4;:183!7?<3im7E=m8:J0e`=#m9097d:8:188m07=831b=:o50;9l52d=831vn>o=:187>5<7s-;387mi;I1a<>N4il1/i=4=;h64>5<h1<75rb2c2>5<3290;w)?74;ae?M5e02B8mh5+e181?l202900e8?50;9j52g=831d=:l50;9~f6gd290?6=4?{%3;0?ea3A9i46F<6=44i4394?=n9>k1<75`16`94?=zj:ki6=4;:183!7?<3im7E=m8:J0e`=#m9097d:8:188m07=831b=:o50;9l52d=831vn?78:187>5<7s-;387mi;I1a<>N4il1/i=48;h64>5<h1<75rb231>5<3290;w)?74;ag?M5e02B8mh5+e181?l202900e9j50;9j14<722e:;o4?::a747=83>1<7>t$0:7>fb<@:h37E=ne:&f4?4>o293:17b?8b;29?xd5?>0;694?:1y'5=2=9::0D>l7;I1ba>o3i3:17d;=:188m41c2900c<9;:188yg40>3:187>50z&2<1<6;91C?o64H2cf?l2f2900e8<50;9j52b=831d=::50;9~f712290?6=4?{%3;0?7482B8n55G3`g8m1g=831b9?4?::k23a<722e:;94?::a622=83>1<7>t$0:7>4573A9i46F>7>5;h34`?6=3f;<87>5;|`136<72=0;6=u+1969566<@:h37E=ne:k7e?6=3`?96=44i05g>5<858275=O;k20D>oj;h6b>5<>1<75rb3::>5<3290;w)?74;304>N4j11C?lk4i5c94?=n=;0;66g>7e83>>i6?=0;66sm29:94?2=83:p(<6;:013?M5e02B8mh5f4`83>>o2:3:17d?8d;29?j70<3:17pl=8683>1<729q/=5:51228L6d?3A9ji6g;a;29?l352900e<9k:188k4132900qo<76;290?6=8r.:494>319K7g><@:kn7d:n:188m04=831b=:j50;9l522=831vn?h>:187>5<7s-;387?<0:J0f==O;ho0e9o50;9j17<722c:;i4?::m231<722wi>k>50;694?6|,82?6<=?;I1a<>N4il1b8l4?::k66?6=3`;5;n340?6=3th9ik4?:583>5}#91>1=>>4H2`;?M5fm2c?m7>5;h71>5<5<54;294~"60=0:?=5G3c:8L6gb3`>j6=44i4094?=n9>n1<75`16694?=zj;oo6=4;:183!7?<3;8<6F>o6?m0;66a>7583>>{e;9>1<7:50;2x 4>3289;7E=m8:J0e`=nl7;I1ba>o3i3:17d;=:188m41c2900c<9;:188yg57:3:187>50z&2<1<6;91C?o64H2cf?l2f2900e8<50;9j52b=831d=::50;9~f666290?6=4?{%3;0?7482B8n55G3`g8m1g=831b9?4?::k23a<722e:;94?::a756=83>1<7>t$0:7>4573A9i46F>7>5;h34`?6=3f;<87>5;|`2e2<72=0;6=u+1969ga=O;k20D>oj;%g3>7=n<>0;66g;d;29?l362900c<9m:188yg7f>3:187>50z&2<15;h6g>5<6=4;:183!7?<3io7E=m8:J0e`=#m9097d:8:188m1b=831b9<4?::m23g<722wi=l:50;694?6|,82?6nj4H2`;?M5fm2.n<7<4i5594?=na283>1<729q/=5:5ce9K7g><@:kn7)k?:39j02<722c?h7>5;h72>5<858``>N4j11C?lk4$d296>o3?3:17d:k:188m07=831d=:l50;9~f4g6290?6=4?{%3;0?ec3A9i46F<6=44i5f94?=n=80;66a>7c83>>{e9h:1<7:50;2x 4>32jn0D>l7;I1ba>"b8380e9950;9j0a<722c>=7>5;n34f?6=3th:5k4?:583>5}#91>1oi5G3c:8L6gb3-o;6?5f4683>>o3l3:17d;>:188k41e2900qo52:k73?6=3`>o6=44i4394?=h9>h1<75rb32g>5<3290;w)?74;ag?M5e02B8mh5+e181?l202900e9j50;9j14<722e:;o4?::a65e=83>1<7>t$0:7>fb<@:h37E=ne:&f4?4>o293:17b?8b;29?xd58k0;694?:1y'5=2=km1C?o64H2cf?!c72;1b8:4?::k7`?6=3`?:6=44o05a>5<54;294~"60=0hh6F6g;7;29?l2c2900e8?50;9l52d=831vn?>6:187>5<7s-;387mk;I1a<>N4il1/i=4=;h64>5<>i6?k0;66sm21:94?2=83:p(<6;:bf8L6d?3A9ji6*j0;08m11=831b8i4?::k65?6=3f;5;|`142<72=0;6=u+1969ga=O;k20D>oj;%g3>7=n<>0;66g;d;29?l362900c<9m:188yg47>3:187>50z&2<15;h6g>5<8;50;694?6|,82?6nj4H2`;?M5fm2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7)k?:39j02<722c?h7>5;h72>5<858``>N4j11C?lk4$d296>o3?3:17d:k:188m07=831d=:l50;9~f735290?6=4?{%3;0?ec3A9i46F<6=44i5f94?=n=80;66a>7c83>>{e:<;1<7:50;2x 4>32jn0D>l7;I1ba>"b8380e9950;9j0a<722c>=7>5;n34f?6=3th99=4?:583>5}#91>1oi5G3c:8L6gb3-o;6?5f4683>>o3l3:17d;>:188k41e2900qo<;f;290?6=8r.:494ld:J0f==O;ho0(h>52:k73?6=3`>o6=44i4394?=h9>h1<75rb36f>5<3290;w)?74;ag?M5e02B8mh5+e181?l202900e9j50;9j14<722e:;o4?::a5c5=83>1<7>t$0:7>fb<@:h37E=ne:&f4?4>o293:17b?8b;29?xd6n;0;694?:1y'5=2=km1C?o64H2cf?!c72;1b8:4?::k7`?6=3`?:6=44o05a>5<54;294~"60=0hh6F6g;7;29?l2c2900e8?50;9l52d=831vn5<7s-;387mk;I1a<>N4il1/i=4=;h64>5<>i6?k0;66sm1dd94?2=83:p(<6;:bf8L6d?3A9ji6*j0;08m11=831b8i4?::k65?6=3f;5;|`2a`<72=0;6=u+1969ga=O;k20D>oj;%g3>7=n<>0;66g;d;29?l362900c<9m:188yg7bl3:187>50z&2<15;h6g>5<1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=ne083>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=ne183>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=ndg83>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=ndd83>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=nde83>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=ndb83>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=ndc83>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=nd`83>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=nd883>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=nd983>1<729q/=5:5ce9K7g><@:kn7E:=;%31b?2>k2.n<7<4i5594?=nce83>1<729q/=5:5ce9K7g><@:kn7)k?:39j02<722c?h7>5;h72>5<858``>N4j11C?lk4$d296>o3?3:17d:k:188m07=831d=:l50;9~f4ee290?6=4?{%3;0?ec3A9i46F<6=44i5f94?=n=80;66a>7c83>>{e9jk1<7:50;2x 4>32jn0D>l7;I1ba>"b8380e9950;9j0a<722c>=7>5;n34f?6=3th:o44?:583>5}#91>1oi5G3c:8L6gb3-o;6?5f4683>>o3l3:17d;>:188k41e2900qo?l8;290?6=8r.:494ld:J0f==O;ho0(h>52:k73?6=3`>o6=44i4394?=h9>h1<75rb0a4>5<3290;w)?74;ag?M5e02B8mh5+e181?l202900e9j50;9j14<722e:;o4?::a5f0=83>1<7>t$0:7>fb<@:h37E=ne:&f4?4>o293:17b?8b;29?xd6k<0;694?:1y'5=2=km1C?o64H2cf?!c72;1b8:4?::k7`?6=3`?:6=44o05a>5<54;294~"60=0hh6F6g;7;29?l2c2900e8?50;9l52d=831vn?==:187>5<7s-;387mk;I1a<>N4il1/i=4=;h64>5<>i6?k0;66sm22394?2=83:p(<6;:bf8L6d?3A9ji6*j0;08m11=831b8i4?::k65?6=3f;5;|`175<72=0;6=u+1969ga=O;k20D>oj;%g3>7=n<>0;66g;d;29?l362900c<9m:188yg45n3:187>50z&2<15;h6g>5<?j50;694?6|,82?6nj4H2`;?M5fm2.n<7<4i5594?=n1<729q/=5:5ce9K7g><@:kn7)k?:39j02<722c?h7>5;h72>5<858``>N4j11C?lk4$d296>o3?3:17d:k:188m07=831d=:l50;9~f74f290?6=4?{%3;0?ec3A9i46F<6=44i5f94?=n=80;66a>7c83>>{e:m>1<7;50;2x 4>32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858`a>N4j11C?lk4$d296>o3?3:17d:7:188m1b=831b9<4?::m23g<722wi>i?50;794?6|,82?6nk4H2`;?M5fm2.n<7<4i5594?=n<10;66g;d;29?l362900c<9m:188yg4c83:197>50z&2<15;h6;>5<>i6?k0;66sm2e094?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a6fc=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e:jh1<7;50;2x 4>32m:0D>l7;I1ba>"b83=0e9950;9j0=<722c>=7>5;h34e?6=3f;5;|`1ga<72<0;6=u+1969g`=O;k20D>oj;%g3>7=n<>0;66g;8;29?l2c2900e8?50;9l52d=831vn?li:180>5<7s-;387=m7:J0f==O;ho0e9o50;9j572=831d=::50;9~f7db29086=4?{%3;0?5e?2B8n55G3`g8m1g=831b=?:50;9l522=831vn?l;:187>5<7s-;387?<0:J0f==O;ho0e9o50;9j17<722c:;i4?::m231<722wi>oj50;194?6|,82?6>l8;I1a<>N4il1b8l4?::k261<722e:;94?::a6g4=83>1<7>t$0:7>4573A9i46F>7>5;h34`?6=3f;<87>5;|`1ff<72:0;6=u+19697g1<@:h37E=ne:k7e?6=3`;987>5;n340?6=3th9n=4?:583>5}#91>1=>>4H2`;?M5fm2c?m7>5;h71>5<5<53;294~"60=08n:5G3c:8L6gb3`>j6=44i007>5<858275=O;k20D>oj;h6b>5<>1<75rb3`b>5<4290;w)?74;1a3>N4j11C?lk4i5c94?=n9;>1<75`16694?=zj;kh6=4;:183!7?<3;8<6F>o6?m0;66a>7583>>{e:k31<7=50;2x 4>32:h<7E=m8:J0e`=n2583>>i6?=0;66sm2`c94?2=83:p(<6;:013?M5e02B8mh5f4`83>>o2:3:17d?8d;29?j70<3:17pl=b983>6<729q/=5:53c58L6d?3A9ji6g;a;29?l75<3:17b?84;29?xd5i10;694?:1y'5=2=9::0D>l7;I1ba>o3i3:17d;=:188m41c2900c<9;:188yg4e?3:1?7>50z&2<1<4j>1C?o64H2cf?l2f2900e<<;:188k4132900qo319K7g><@:kn7d:n:188m04=831b=:j50;9l522=831vn?l9:180>5<7s-;387=m7:J0f==O;ho0e9o50;9j572=831d=::50;9~f7g3290?6=4?{%3;0?7482B8n55G3`g8m1g=831b9?4?::k23a<722e:;94?::a6`>=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e:l<1<7;50;2x 4>32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858`a>N4j11C?lk4$d296>o3?3:17d:7:188m1b=831b9<4?::m23g<722wi>h:50;794?6|,82?6nk4H2`;?M5fm2.n<7<4i5594?=n<10;66g;d;29?l362900c<9m:188yg4b;3:197>50z&2<15;h6;>5<>i6?k0;66sm2d094?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a6`6=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e:?31<7:50;2x 4>32jl0D>l7;I1ba>"b83=0e9950;9j14<722c:;l4?::m23g<722wi>;o50;694?6|,82?6nh4H2`;?M5fm2.n<794i5594?=n=80;66g>7`83>>i6?k0;66sm27:94?2=83:p(<6;:bf8L6d?3A9ji6*j0;08m11=831b8i4?::k65?6=3f;5;|`122<72=0;6=u+1969ga=O;k20D>oj;%g3>7=n<>0;66g;d;29?l362900c<9m:188yg53i3:197>50z&2<15;h6;>5<>i6?k0;66sm35;94?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a711=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo=;6;291?6=8r.:494le:J0f==O;ho0(h>52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;=?1<7;50;2x 4>32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858g4>N4j11C?lk4$d293>o3?3:17d:7:188m07=831b=:o50;9l52d=831vn>:=:186>5<7s-;387mj;I1a<>N4il1/i=4=;h64>5<>o293:17b?8b;29?xd4<=0;684?:1y'5=2=kl1C?o64H2cf?!c72;1b8:4?::k7o6=44i4394?=h9>h1<75rb214>5<4290;w)?74;1a3>N4j11C?lk4i5c94?=n9;>1<75`16694?=zj:9=6=4<:183!7?<39i;6F>1<75rb20g>5<3290;w)?74;304>N4j11C?lk4i5c94?=n=;0;66g>7e83>>i6?=0;66sm32794?5=83:p(<6;:2`4?M5e02B8mh5f4`83>>o6:=0;66a>7583>>{e;;h1<7:50;2x 4>3289;7E=m8:J0e`=n4?:1y'5=2=;k=0D>l7;I1ba>o3i3:17d?=4;29?j70<3:17pl<2883>1<729q/=5:51228L6d?3A9ji6g;a;29?l352900e<9k:188k4132900qo=<3;297?6=8r.:494<@:kn7d:n:188m4432900c<9;:188yg55?3:187>50z&2<1<6;91C?o64H2cf?l2f2900e8<50;9j52b=831d=::50;9~f65529086=4?{%3;0?5e?2B8n55G3`g8m1g=831b=?:50;9l522=831vn><::187>5<7s-;387?<0:J0f==O;ho0e9o50;9j17<722c:;i4?::m231<722wi?>?50;194?6|,82?6>l8;I1a<>N4il1b8l4?::k261<722e:;94?::a775=83>1<7>t$0:7>4573A9i46F>7>5;h34`?6=3f;<87>5;|`075<72:0;6=u+19697g1<@:h37E=ne:k7e?6=3`;987>5;n340?6=3th8><4?:583>5}#91>1=>>4H2`;?M5fm2c?m7>5;h71>5<5<53;294~"60=08n:5G3c:8L6gb3`>j6=44i007>5<858275=O;k20D>oj;h6b>5<>1<75rb275>5<2290;w)?74;af?M5e02B8mh5+e181?l202900e9650;9j0a<722c>=7>5;n34f?6=3th8994?:483>5}#91>1h=5G3c:8L6gb3-o;6:5f4683>>o303:17d;>:188m41f2900c<9m:188yg52=3:197>50z&2<15;h6;>5<>i6?k0;66sm34594?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<47>55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a70?=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo=:a;291?6=8r.:494le:J0f==O;ho0(h>52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858`a>N4j11C?lk4$d296>o3?3:17d:7:188m1b=831b9<4?::m23g<722wi?;k50;794?6|,82?6nk4H2`;?M5fm2.n<7<4i5594?=n<10;66g;d;29?l362900c<9m:188yg51l3:197>50z&2<15;h6;>5<>i6?k0;66sm37a94?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a73g=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo=99;291?6=8r.:494le:J0f==O;ho0(h>52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;?21<7;50;2x 4>32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858`a>N4j11C?lk4$d296>o3?3:17d:7:188m1b=831b9<4?::m23g<722wi?;850;794?6|,82?6nk4H2`;?M5fm2.n<7<4i5594?=n<10;66g;d;29?l362900c<9m:188yg5003:197>50z&2<15;h6;>5<>i6?k0;66sm36594?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a723=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo=84;291?6=8r.:494le:J0f==O;ho0(h>52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;>91<7;50;2x 4>32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858`a>N4j11C?lk4$d296>o3?3:17d:7:188m1b=831b9<4?::m23g<722wi?:?50;794?6|,82?6nk4H2`;?M5fm2.n<7<4i5594?=n<10;66g;d;29?l362900c<9m:188yg5?83:197>50z&2<15;h6;>5<>i6?k0;66sm36d94?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<55;294~"60=0hi6F6g;7;29?l2?2900e9j50;9j14<722e:;o4?::a72b=83?1<7>t$0:7>fc<@:h37E=ne:&f4?4>o3l3:17d;>:188k41e2900qo=8c;291?6=8r.:494le:J0f==O;ho0(h>52:k73?6=3`>36=44i5f94?=n=80;66a>7c83>>{e;>h1<7;50;2x 4>32jo0D>l7;I1ba>"b8380e9950;9j0=<722c?h7>5;h72>5<858`a>N4j11C?lk4$d296>o3?3:17d:7:188m1b=831b9<4?::m23g<722wi?:750;794?6|,82?6nk4H2`;?M5fm2.n<7<4i5594?=n<10;66g;d;29?l362900c<9m:188yg5083:197>50z&2<15;h6;>5<>i6?k0;66sm37d94?3=83:p(<6;:bg8L6d?3A9ji6*j0;08m11=831b854?::k7`?6=3`?:6=44o05a>5<53;294~"60=0:>45G3c:8L6gb3-o;67583>>{e;0n1<7=50;2x 4>328827E=m8:J0e`=#m90:m6gk4;29?lb22900c<9;:188yg4683:1?7>50z&2<1<6:01C?o64H2cf?!c728o0ei:50;9j`0<722e:;94?::a5d?=8391<7>t$0:7>44>3A9i46F5;hf6>5<85826<=O;k20D>oj;%g3>4c1<75fd483>>i6?=0;66sm18694?5=83:p(<6;:00:?M5e02B8mh5+e182a>oc<3:17dj::188k4132900qo?63;297?6=8r.:494>289K7g><@:kn7)k?:0g8ma2=831bh84?::m231<722wi=4<50;194?6|,82?6<<6;I1a<>N4il1/i=4>e:kg0?6=3`n>6=44o057>5<53;294~"60=0:>45G3c:8L6gb3-o;67583>>{e90:1<7=50;2x 4>328827E=m8:J0e`=#m90:i6gk4;29?lb22900c<9;:188yg7?n3:1?7>50z&2<1<6:01C?o64H2cf?!c728o0ei:50;9j`0<722e:;94?::a5=c=8391<7>t$0:7>44>3A9i46F5;hf6>5<85826<=O;k20D>oj;%g3>4c1<75fd483>>i6?=0;66sm19a94?5=83:p(<6;:00:?M5e02B8mh5+e182a>oc<3:17dj::188k4132900qo?7b;297?6=8r.:494>289K7g><@:kn7)k?:0g8ma2=831bh84?::m231<722wi=5o50;194?6|,82?6<<6;I1a<>N4il1/i=4>e:kg0?6=3`n>6=44o057>5<53;294~"60=0:>45G3c:8L6gb3-o;67583>>{e9121<7=50;2x 4>328827E=m8:J0e`=#m90:i6gk4;29?lb22900c<9;:188yg7??3:1?7>50z&2<1<6:01C?o64H2cf?!c728o0ei:50;9j`0<722e:;94?::a5=0=8391<7>t$0:7>44>3A9i46F5;hf6>5<85826<=O;k20D>oj;%g3>4c1<75fd483>>i6?=0;66sm27194?2=83:p(<6;:00a?M5e02B8mh5+e1870>oc<3:17dj::188ma0=831d=::50;9~f775290?6=4?{%3;0?75j2B8n55G3`g8 `6=:<1bh94?::kg1?6=3`n=6=44o057>5<54;294~"60=0:>o5G3c:8L6gb3-o;6?;4ie694?=nl<0;66gk6;29?j70<3:17pl=6583>0<729q/=5:513f8L6d?3A9ji6*j0;3g?lb32900ei;50;9j`3<722co;7>5;n340?6=3th9=94?:483>5}#91>1=?j4H2`;?M5fm2.n<75<>oc?3:17b?84;29?xd6im0;684?:1y'5=2=9;n0D>l7;I1ba>"b838;7dj;:188ma3=831bh;4?::kg3?6=3f;<87>5;|`12f<72<0;6=u+196957b<@:h37E=ne:&f4?453`n?6=44ie794?=nl?0;66gk7;29?j70<3:17pl<1483>6<729q/=5:513;8L6d?3A9ji6*j0;32?lb32900ei;50;9l522=831vn?8=:187>5<7s-;387?=b:J0f==O;ho0(h>5429j`1<722co97>5;hf5>5<85826<=O;k20D>oj;%g3>4c1<75fd483>>i6?=0;66sm1`d94?5=83:p(<6;:00:?M5e02B8mh5+e182a>oc<3:17dj::188k4132900qo<>8;290?6=8r.:494>2c9K7g><@:kn7)k?:378ma2=831bh84?::kg2?6=3f;<87>5;|`2f4<72=0;6=u+196957d<@:h37E=ne:&f4?423`n?6=44ie794?=nl?0;66a>7583>>{e:8k1<7;50;2x 4>3288o7E=m8:J0e`=#m909<6gk4;29?lb22900ei850;9j`2<722e:;94?::a5g5=83?1<7>t$0:7>44c3A9i46F5;hf6>5<>i6?=0;66sm38794?5=83:p(<6;:00:?M5e02B8mh5+e18`3>oc<3:17dj::188k4132900qo=?e;297?6=8r.:494>289K7g><@:kn7)k?:318ma2=831bh84?::m231<722wi>kl50;194?6|,82?6<<6;I1a<>N4il1/i=4=3:kg0?6=3`n>6=44o057>5<55;294~"60=0:>i5G3c:8L6gb3-o;6??4ie694?=nl<0;66gk6;29?lb02900c<9;:188yg4?93:197>50z&2<1<6:m1C?o64H2cf?!c72;;0ei:50;9j`0<722co:7>5;hf4>5<85826a=O;k20D>oj;%g3>771<75fd483>>oc>3:17dj8:188k4132900qo2e9K7g><@:kn7)k?:368ma2=831bh84?::kg2?6=3`n<6=44o057>5<55;294~"60=0:>i5G3c:8L6gb3-o;6??4ie694?=nl<0;66gk6;29?lb02900c<9;:188yg4?83:197>50z&2<1<6:m1C?o64H2cf?!c72;;0ei:50;9j`0<722co:7>5;hf4>5<85826a=O;k20D>oj;%g3>771<75fd483>>oc>3:17dj8:188k4132900qo2e9K7g><@:kn7)k?:368ma2=831bh84?::kg2?6=3`n<6=44o057>5<7>55;294~"60=0:>i5G3c:8L6gb3-o;6??4ie694?=nl<0;66gk6;29?lb02900c<9;:188yg40n3:197>50z&2<1<6:m1C?o64H2cf?!c72;;0ei:50;9j`0<722co:7>5;hf4>5<85826a=O;k20D>oj;%g3>771<75fd483>>oc>3:17dj8:188k4132900qo2e9K7g><@:kn7)k?:368ma2=831bh84?::kg2?6=3`n<6=44o057>5<55;294~"60=0:>i5G3c:8L6gb3-o;6??4ie694?=nl<0;66gk6;29?lb02900c<9;:188yg40m3:197>50z&2<1<6:m1C?o64H2cf?!c72;;0ei:50;9j`0<722co:7>5;hf4>5<85826g=O;k20D>oj;%g3>fd1<75fd483>>oc>3:17b?84;29?xd5190;694?:1y'5=2=9;h0D>l7;I1ba>"b83<0ei:50;9j`0<722co:7>5;n340?6=3th9;i4?:583>5}#91>1=?l4H2`;?M5fm2.n<7?=;hf7>5<>i6?=0;66sm30694?3=83:p(<6;:00g?M5e02B8mh5+e18`e>oc<3:17dj::188ma0=831bh:4?::m231<722wi?=o50;794?6|,82?6<N4il1/i=4=1:kg0?6=3`n>6=44ie494?=nl>0;66a>7583>>{e:o=1<7;50;2x 4>3288o7E=m8:J0e`=#m90986gk4;29?lb22900ei850;9j`2<722e:;94?::a6g3=8381<7>t$0:7>44?3A9i46F5;n340?6=3th9n>4?:383>5}#91>1=?64H2`;?M5fm2.n<7?>;hf7>5<85826==O;k20D>oj;%g3>471<75`16694?=zj;km6=4=:183!7?<3;946F>i6?=0;66sm2`f94?4=83:p(<6;:00;?M5e02B8mh5+e1825>oc<3:17b?84;29?xd5ik0;6?4?:1y'5=2=9;20D>l7;I1ba>"b83;:7dj;:188k4132900qo299K7g><@:kn7)k?:038ma2=831d=::50;9~f7g029096=4?{%3;0?7502B8n55G3`g8 `6=981bh94?::m231<722wi>l;50;094?6|,82?6<<7;I1a<>N4il1/i=4>1:kg0?6=3f;<87>5;|`06`<72;0;6=u+196957><@:h37E=ne:&f4?763`n?6=44o057>5<52;294~"60=0:>55G3c:8L6gb3-o;6>1<75rb20b>5<5290;w)?74;31<>N4j11C?lk4$d2954=nl=0;66a>7583>>{e;;21<7<50;2x 4>328837E=m8:J0e`=#m90:=6gk4;29?j70<3:17pl<2783>7<729q/=5:513:8L6d?3A9ji6*j0;32?lb32900c<9;:188yg55<3:1>7>50z&2<1<6:11C?o64H2cf?!c728;0ei:50;9l522=831vn><=:181>5<7s-;387?=8:J0f==O;ho0(h>5109j`1<722e:;94?::a776=8381<7>t$0:7>44?3A9i46F5;n340?6=3th9o=4?:383>5}#91>1=?64H2`;?M5fm2.n<7?>;hf7>5<85826==O;k20D>oj;%g3>471<75`16694?=zj8h<6=4::183!7?<3;9h6F=5fd583>>oc=3:17dj9:188ma1=831d=::50;9~f4d>290>6=4?{%3;0?75l2B8n55G3`g8 `6=:?1bh94?::kg1?6=3`n=6=44ie594?=h9>>1<75rb33f>5<2290;w)?74;31`>N4j11C?lk4$d2965=nl=0;66gk5;29?lb12900ei950;9l522=831vn?5<7s-;387?=d:J0f==O;ho0(h>5279j`1<722co97>5;hf5>5<5fd583>>oc=3:17dj9:188ma1=831d=::50;9~f6?42903;7>50z&2<1<6?j1C?o64H2cf?_212hq26?95e;35>42=9k0m6<;51682g?{#98l196*>2186?!b?2<1/h44:;%fb>0=#lk0>7)jl:49'`a<23-;3<7=4$0:2>1=#m80>7)k=:49'a6<23-o?685+e486?!c12<1/i:4:;%g;>0=#m00>7)kn:49'ag<23-oh685+ee86?!cb2<1/ik4:;%d3>0=#n80>7)h=:49'b6<23-l?685+f486?!`12<1/j:4:;%d;>0=#n00>7)hn:49'bg<23-lh685+fe86?!`b2<1/jk4:;%334?3<,8::685+11091>"68:0>7)??4;78 4622<1/==855:&242<23-;;47;4$02:>0=#99k196*>0c86?!77k3?0(<>k:49'55c==2.:"69:0>7)?>4;78 4722<1/=<855:&252<23-;:47;4$03:>0=#98k196*>1c86?!76k3?0(7:4$2`7>6d43-nm685f4c83>>o3k3:17dm7:188mf?=831b=5<50;9j5=5=831b?o?50;9j7g4=831b?:4?:%34=?513g;<47>4;h16>5<#9>31?;5a16:95>=n;=0;6)?89;15?k7003807d=<:18'52?=;?1e=:653:9j77<72-;<57=9;o3421965f3183>!70139=7c?88;48?l4a290/=:75379m52>=?21b>h4?:%34=?513g;<4764;h0g>5<#9>31?;5a16:9=>=n<80;6)?89;63?k7003:07d=i:18'52?=<91e=:651:9j7`<72-;<57:?;o3421?65f3b83>!7013>;7c?88;68?l5e290/=:75419m52>==21b?l4?:%34=?273g;<4784;h1:>5<#9>318=5a16:93>=n;10;6)?89;63?k7003207d;n:18'52?==01e=:650:9j1=<72-;<57;6;o3421>65f5783>!7013?27c?88;18?l32290/=:75589m52>=<21b994?:%34=?3>3g;<47;4;h40>5<#9>31945a16:92>=n>;0;6)?89;7:?k7003=07d8>:18'52?==01e=:658:9j25<72-;<57;6;o3421m65f5d83>!7013?27c?88;`8?l3c290/=:75589m52>=k21b9n4?:%34=?3>3g;<47j4;h7a>5<#9>31945a16:9a>=n=:0;6)?89;7:?k7003l07d9k:18'52?=?j1e=:650:9j3g<72-;<579l;o3421>65f7983>!7013=h7c?88;18?l10290/=:757b9m52>=<21b;;4?:%34=?1d3g;<47;4;h56>5<#9>31;n5a16:92>=n?=0;6)?89;5`?k7003=07d9<:18'52?=?j1e=:658:9j37<72-;<579l;o3421m65f7183>!7013=h7c?88;`8?l0b290/=:757b9m52>=k21b:i4?:%34=?1d3g;<47j4;h4`>5<#9>31;n5a16:9a>=n>k0;6)?89;5`?k7003l07d8n:18'52?=?j1e=:651198m3?=83.:;448c:l23=<6921b:54?:%34=?1d3g;<47?=;:k53?6=,8=26:m4n05;>45<3`<=6=4+16;93f=i9>21=954i7794?"6?0079821>=n0=0;6)?89;5`?k7003;=76g73;29 41>2>i0b<97:058?l>5290/=:757b9m52>=9110e5?50;&23<<0k2d:;54>9:9j<5<72-;<579l;o345$05:>2e5<#9>31;n5a16:95f=k1<7*>7884g>h6?10:h65f6g83>!7013=h7c?88;3f?>o1<3:1(<96:6a8j41?28l07d68:18'52?=0?1e=:650:9j<0<72-;<5769;o3421<65f8`83>!70132i7c?88;38?l>>290/=:758c9m52>=:21b454?:%34=?>e3g;<47=4;n;7>5<#9>315>5a16:94>=h1;0;6)?89;;0?k7003;07b7>:18'52?=1:1e=:652:9l=5<72-;<577<;o3421865`8d83>!7013387c?88;78?j?c290/=:75929m52>=>21d5n4?:%34=??43g;<4794;n;a>5<#9>315>5a16:9<>=h1h0;6)?89;;0?k7003307b76:18'52?=1:1e=:65a:9l==<72-;<577<;o3421o65`9783>!7013387c?88;f8?j?2290/=:75929m52>=m21d4i4?:%34=??43g;<47h4;na2>5<#9>31o=5a16:94>=hjo0;6)?89;a3?k7003;07bl8:18'52?=j?1e=:650:9lf0<72-;<57l9;o3421>65`b383>!7013h=7c?88;18?jd6290/=:75b79m52>=<21dn=4?:%34=?d13g;<47;4;nce>5<#9>31n;5a16:92>=hil0;6)?89;`5?k7003=07bok:18'52?=j?1e=:658:9lef<72-;<57l9;o3421m65`a`83>!7013h=7c?88;`8?jg?290/=:75b79m52>=k21dm:4?:%34=?d13g;<47j4;nc5>5<#9>31n;5a16:9a>=hi<0;6)?89;`5?k7003l07bo;:18'52?=j?1e=:651198kd5=83.:;44m6:l23=<6921dm?4?:%34=?d13g;<47?=;:mb5?6=,8=26o84n05;>45<3fk;6=4+16;9f3=i9>21=954o8d94?"6?00i:6`>79821>=hjl0;6)?89;`5?k7003;=76amd;29 41>2k<0b<97:058?jdd290/=:75b79m52>=9110col50;&23<2d:;54>9:9lfd<72-;<57l9;o345$05:>g05<#9>31n;5a16:95f=1<7*>788a2>h6?10:h65`a883>!7013h=7c?88;3f?>i>m3:1(<96:c48j41?28l07bm9:18'52?=k<1e=:650:9lg1<72-;<57m:;o3421>65`c383>!7013i>7c?88;18?xd5=o0;684?:1y'5=2=9;o0D>l7;I1ba>"b83;87dj;:188ma3=831bh;4?::kg3?6=3f;997>5;|`2f0<72:0;6=u+196957g<@:h37E=ne:&f4?7b3`n?6=44ie794?=h9;?1<75rb0`5>5<3290;w)?74;31g>N4j11C?lk4$d295c=nl=0;66gk5;29?lb12900c<<::188yg46k3:1?7>50z&2<1<6:h1C?o64H2cf?!c728o0ei:50;9j`0<722e:>84?::a64b=83>1<7>t$0:7>44d3A9i46F5;hf6>5<5fd583>>oc=3:17dj9:188ma1=831d=?;50;9~w1?02903wS:67:?126ml;_1`f>X4kh1U?n74^2a;?[5d?2T8o;5Q3b78Z1g>3W>j46P;a69]0d07S:n4:\7e6=Y;_6:0>X31:1U84<4^5;2?[2>82T?4k5Q49g8Z1>c3W>3o6P;8c9>7g?=l;16?l:5509>77d4==816?l?5509>7de==816?ll5509>621==;16>:85539>623==;16>::5539>625==;16>5o5539>6=?==;16>565539>6=1==;16>585539>6c7==;16>k>5539>6``==;16>hk5539>6`b==;16?=:5539>755==;16?=<5539>757==;16?=>5539>6g2==;16>o<5539>6g6==;16>lk5539>6de==;16>lo5539>6d>==;16>l85539>6d2==;16??j5539>77d==;16??75539>771==;16??;5539>775==;16???5539>74`==;16?4=5191896?42:h:70=63;7b?85>;3?370=63;74?85>;3?=70=63;76?85>;3??70=63;40?85>;3<970=63;42?85>;3<;70=63;7e?85>;3?n70=63;7g?85>;3?h70=63;7a?85>;3?870=63;:4?85>;32>7p};9883>6}Y<0301>o;:05b?85>13;{t4;f7?xu30h0;686t^5:b?85>j3><70=6a;64?85>13><70=n3;64?85f:3><70=n1;64?84>?3><70<70<70<70<703><70<:5;64?842<3><70<:3;64?842:3><70<:1;64?84283><70<;f;64?843m3><70<;4;64?843;3><70<;2;64?84393><70<;0;64?844n3><70<<70<<70?lc;64?87dj3><70?la;64?87d13><70?l8;64?87d?3><70?l6;64?87d=3><70?l4;64?84c<3><70<70<70<70<70<703><70<70<70<70<70<9a;64?84103><70<97;64?85003><70=87;64?850>3><70=85;64?850<3><70=83;64?850:3><70=81;64?85?83><70=8f;64?850m3><70=8d;64?850k3><70=8b;64?850i3><70=89;64?85083><70=9f;64?85>;3>i7p};4483>7}Y<=?01>?=:05a?xu3i90;697t^5c3?85f>3><70=n4;64?85f=3><70=nc;64?85fj3><70=>2;64?85693><70?n7;64?87f>3><70?n5;64?87f<3><70?n3;64?87f:3><70?n1;64?87f83><70?6f;64?87a;3><70?i2;64?87a93><70?i0;64?87bn3><70?je;64?87bl3><70?jc;64?87bj3><70?j1;64?87b83><70?kf;64?87cm3><70?kd;64?87ck3><70?kb;64?87ci3><70?k9;64?87c03><70<<2;64?84493><70<<0;64?845n3><70<=e;64?845l3><70<=c;64?845j3><70<=a;64?853i3><70=;9;64?85303><70=;7;64?853>3><70=;5;64?853;3><70=;2;64?853<3><70=:6;64?852<3><70=:5;64?852?3><70=:8;64?85213><70=:a;64?852j3><70=:c;64?851m3><70=9d;64?851k3><70=9b;64?851i3><70=99;64?85103><70=97;64?851>3><70=63;6`?xu3;=0;6?uQ4308961?28=i7p};3383>7}Y<;;01>98:05a?xu3;80;6?uQ4328961128=i7p};3183>7}Y<8l01>9::05a?xu3:o0;6?uQ40g8961328=i7p};2d83>7}Y<8n01>9<:05a?xu3:m0;6?uQ40a8961528=i7p};2b83>7}Y<8h01>9>:05a?xu3;m0;6?uQ43c896>728=i7p};3b83>7}Y<;301>9i:05a?xu3;k0;6?uQ43:8961b28=i7p};3`83>7}Y<;=01>9k:05a?xu3;00;6?uQ4348961d28=i7p};3983>7}Y<;?01>9m:05a?xu3;>0;6?uQ4368961f28=i7p};3783>7}Y<;901>96:05a?xu3;<0;6?uQ40c8961728=i7p};2c83>7}Y<8301>8i:05a?xu3980;6?uQ3df896?42130q~:?f;296~X4mj16?4=56`9~w16b2909wS=jb:?0=6<112wx8=j50;0xZ6cf3492?787;|q74f<72;qU?h74=2;0>31;n7>52z\0a==:;091:;5rs52:>5<5sW9n:63<92851>{t<921<7;32?7p};0683>7}Y;l>01>7<:918yv27>3:1>vP7<5=011v9>::181[5b:2785>472:p052=838pR>k>;<1:7?>63ty?<>4?:3y]7`6<5:3865>4}r636?6=:rT8hk5238193c=z{=::6=4={_1ga>;41:02d52z\0`3=:;091;45rs2d;>5<5sW9o963<9284<>{t;o=1<7;3=<7p}7}Y;m901>7<:648yv5a=3:1>vP7<5=?<1v9?7:181[5a;2785>484:p041=838pR>h=;<1:7?>f3ty?=;4?:3y]7c7<5:386:=4}r621?6=:rT8j=52381937=z{=;?6=4={_1fb>;41:0<=6s|40194?4|V:on70=63;53?xu39;0;6?uQ3d5896?42?o0q~:?a;296~X4lj16?4=56e9~w6`a2909wS=k1:?0=6<1k2wx?k:50;0xZ6b73492?78m;|q276<72hq6?oo5164897142=k01?69:5c897cc2=k01>>?:5c897d12=k01?o;:5c8964a2=k01>?i:5c896?42j30q~=6a;297~;41k0>=63<9`823g=:;031855rs2;a>5<5s492n7?8b:?0=ao;:5:896g228=i7p}7}:;h<1=:l4=2c;>a253z?0=d<29278544>7c9>7o;:18085f<3;;4i10o96s|38a94?2|5:k86<9n;<1b6?70i278m<4>7`9>7>0q~=n0;295d}:;h91=:l4=3;4>41f348o87:k;<0g7?2c348o=7:k;<0g4?2c348o>7:k;<0`b?2c348hi7:k;<0`g?2c348hn7?8a:?1ga<3l279i54;d:?1a2<3l279i;4;d:?1a0<3l279i94;d:?1a6<3l279i?4;d:?1a4<3l279i=4;d:?1`c<3l279:44>7`9>63g=9>k01?87:5f897002=n0q~=6f;2963}:;h81=:l4=32f>1b<5;:o69j4=32`>1b<5;:i69j4=32b>1b<5;:269j4=32;>1b<5;:<69j4=325>1b<5;?=69j4=376>1b<5;??69j4=370>1b<5;?969j4=372>1b<5;?;69j4=36e>1b<5;>n69j4=367>1b<5;>869j4=361>1b<5;>:69j4=363>1b<5;9m69j4=31f>1b<5;9o69j4=31`>1b<58io69j4=0a`>1b<58ii69j4=0ab>1b<58i269j4=0a;>1b<58i<69j4=0a5>1b<58i>69j4=0a7>1b514y>7d7=9>h01>97:5f896102=n01>99:5f896122=n01>9;:5f896142=n01>9=:5f896162=n01>6?:5f8961a2=n01>9j:5f8961c2=n01>9l:5f8961e2=n01>9n:5f8961>2=n01>9?:5f8960a2=n01>7::e6896?428297p}6}:;hi1=:o4=2ca>41f349j47?84:p7dg=83;nw0=nc;34f>;49;0?h63<1087`>;4;4<10?h63<4687`>;4;4<:0:;l5235090a=:;=>18i5234490a=:;<>1=:o4=276>1b<5:?<69j4=27;>1b<5:?269j4=27b>1b<5:?i69j4=27`>1b<5:1b<5:1b<5:1b<5:<369j4=244>1b<5:<=69j4}r1b=?6=:?q6?ll516`894g02=n01:5f894`72=n012=n01:5f897572=n01?0>=63=988231=z{;3<6=4:{<0:3?70j279:94k4:?124?>:438967328=?7p}<1083>6}:;8;1=:l4=236>a3<5:;?6i;4}r046?6=:r79;:4;a:?133<6?=1v?9l:181840?3;6=4={<043?70<279544k6:p627=838p1?99:5c8971228=?7p}=7c83>7}::><1=:j4=3:3>4133ty9;=4?:3y>623=::51668yv40i3:1>v3=74823a=::>l1=::4}r05b?6=:r79;94;a:?136<6?=1v?96:181840<3;759~w7>22909w0<7a;6b?84?13;<86s|29d94?4|5;2j6<9k;<0:0?70<2wx>4850;0x97>f28=?70<69;f6?xu50=0;6?u229;90d=::121=::4}r0;a?6=:r79444>7e9>6<5=9>>0q~<73;296~;5010?m63=868231=z{;2o6=4={<0;759~w7>52909w0<77;6b?84?>3;<86s|29a94?4|5;2<6<9k;<0:5?70<2wx>5l50;0x97>128=o70<60;340>{t:li1<71g<5;l;6<9;;|q1b3<72;q6>k?516f897`e28=?7p}<0g83>7}::o;1=::4=237>a052z?1b5<3i279ik4>759~w7`22909w0;5nh0:;95rs3gb>5<5s48nj7:n;<0fa?70<2wx>k:50;0x97ca28=o70{t:l31<71g<5;oo6<9;;|q1b6<72;q6>hk516f897`?28=?7p}=f383>7}::ln1=:j4=3d4>4133ty9jk4?:3y>752=v3<05823a=:;9o1=::4}r124?6=:r78<94>759>742=l>1v?hj:181857;3>j70=?2;340>{t;921<741c349;h7?84:p6cb=838p1>>=:5c8966628=?7p}<0683>7}:;981=:j4=22`>4133ty9jn4?:3y>757=51668yv57>3:1>v3<00823a=:;9h1=::4}r131?6=:r78<=4>7e9>75g=9>>0q~?ja;291~;6i>0>=63>f2823g=:9h31h8521``9`1=:9hn1h:5rs0;f>5<4s4;j;7?8b:?04`=838p128=?7p}>9e83>6}:9h<1=:l4=22g>a3<5;lj6i;4}r3be?6=:r7:m84:1:?2eg<6?=1v<7l:18087f=3;;5nh0o;6s|1`a94?1|58k?68?4=0cg>41334;jj7j:;<3a5?b134;i?7j8;<3a3?b034;i57j8;|q2=g<72:q6=l:516`8966d2m?01?h6:e78yv7fm3:1>v3>a2865>;6io0:;95rs0;b>5<4s4;j?7?8b:?04f9883>6}:9h81=:l4=22a>a3<5;l36i;4}r3a6?6=:r7:m<4:1:?2f6<6?=1v<77:18087f93;;5n10o;6s|1c694?4|58k;68?4=0`4>4133ty:5:4?:2y>5d6=9>h01>>n:e7897`02m?0q~?m8;296~;61o0>=63>b88231=z{83=6=4<{<3:b?70j2789j50;7x976b2<;01?;9:05a?84683n>70<>2;f7?846<3n<7p}=0483>6}::9o1=:l4=3;7>a3<5;2:6i;4}r03b?6=:r79;:180847l3;;5080o86s|20394?4|5;:h68?4=331>4133ty9<>4?:2y>65e=9>h01?7<:e7897>72m?0q~<>3;293~;58k0>=63=158231=::8<1h85220:9`3=::8k1h:5220g9`2=::;:1h:5rs321>5<4s48;n7?8b:?1=6n:438977128=?7p}=0083>6}::9k1=:l4=3;1>a3<5;=m6i;4}r023?6=:r79<44:1:?15=<6?=1v?>?:18084713;;5?o0o86s|20;94?4|5;:368?4=33b>4133ty:jk4?:2y>65>=9>h01?7>:e78971b2m?0q~<>b;296~;58>0>=63=1d8231=z{8ln6=4<{<033?70j2795<4k4:?13`u2214952d<5;3;6i:4=35g>a252z?113<29279894>7c9~w75f2909w0<:5;72?843;3;6<9m;<024?b3348:>7j:;<020?b13ty9?44?:3y>602==816>9<516`8yv43j3:1?v3=55823g=::881h;522069`0=z{;936=4={<067?36348?=7?8b:p61g=838p1?;<:05a?846<3n?7p}=3683>7}::<819<52252952d56z?117<6?k16><85d59>64>=l<16>64c=l<16>?>5d49~w7512909w0<:1;72?844n3;8>5509>66c=9>h0q~<;7;290~;5=90:;o5220c9`1=::8i1h95220f9`1=z{;9?6=4={<07b?363488h7?8b:p610=839p1?:i:05a?846k3n>70<>d;f6?xu5;:0;6?u225g914=:::i1=:l4}r071?6=:r798h4>7c9>64b=l?1v{t9m<1<707<58o;6<9m;|q2a<<72=q6=k<516`894g>2m>01=63>dg823g=z{8o36=4<{<3e5?70j27:mo4k6:?2ea0;6?u21g2952d<58ko6i:4}r3g7?6=:r7:ik4:1:?2`a<6?k1vag8g0>;6j80o963>b28g2>;6j>0o963>b88g1>{t9m81<707<58nh6<9m;|q2a0<720101v3>ee865>;6lk0:;o5rs0g7>5<3s4;nh7?8b:?2f650;0x94cd2<;01u21da952d<58h>6i;4=0`5>a352z?2ag<2927:h44>7c9~w4c52909w0?jb;34f>;6j?0o:6s|23;94?4|5;>?68?4=311>41e3ty9>54?:3y>615==816>>?516`8yv45?3:1>v3=43865>;5;90:;o5rs305>5<5s48?=7;>;<01b?70j2wx>?;50;0x97272<;01?{t:;;1<707<5;8j6<9m;|q2g6<72;q6=h?5509>5fb=9>h0q~?l2;296~;6m90>=63>cb823g=z{8i:6=4={<3gb?3634;hn7?8b:p5f6=838p1bg83>7}:9mn19<521b;952d52z?2`f<2927:o54>7c9~w4dc2909w0?kb;72?87d?3;41e3ty:no4?:3y>5a?==816=n;516`8yv7ei3:1>v3>d9865>;6k=0:;o5rs0af>5<6s4;o47?8b:p6ac=83?p1{t9o=1<707<58236<9;;|q2b=<72;q6=n65509>5=?=9>>0q~?i9;296~;6k>0>=63>8`8231=z{8lj6=4={<3`2?3634;3n7?84:p5cd=838p1d28=?7p}>fb83>7}:9j>19<5219f952254z?177<29278:h4>7c9>5=c=l=16?4=5409~w7302909w0<<1;72?87?m3;<86s|24:94?4|5;9;68?4=0:e>4133ty9944?:3y>67`==816=4>51668yv42i3:1>v3=2d865>;6180:;95rs37a>5<5s489h7;>;<3:6?70<2wx>8m50;0x974d2<;01<7<:057?xu5=m0;6?u223`914=:90>1=::4}r06a?6=:r79>l4:1:?2=0<6?=1v?8?:1821~;5l=0?463=d287<>;5l80?463=d187<>;5l;0?463=cg87<>;5kl0?463=cb87<>;5kk0?463=ce87<>;5m10?463=e687<>;5m?0?463=e487<>;5m=0?463=e287<>;5m;0?463=e087<>;5m90?463=dg87<>;5>80:;95rs3c0>5<5s48o87;>;<0ab?70<2wx>no50;6x97b328=i70<3n<704>7c9>6`1==816>4:5d79>6g3=l=1v?o?:18184c93?:70{t:j=1<7:t=3f2>41e348n97;>;<0:7?b1348i=7j;;|q1=c<72;q6>i>5509>6gd=9>>0q~=83>p1?j=:05a?84b>3?:70<63;f4?84e;3n?7p}=9d83>7}::jl19<522cc952254z?1gc<6?k16>h=5509>6<4=l?16>lj5d59~w7?c2909w06fe==816>o951668yv4d:3:18v3=cb823g=::l:19<522829`0=::h=1h95rs3;b>5<5s48hn7;>;<0a2?70<2wx>n?50;6x97ee28=i7083n=707c9>6`7==816>4?5d79>6d?=l=1v?l;:18184en3>j70{t:j:1<7443348h<7?84:p6g4=839p1?lj:5c897d32=k01?l=:057?xu5j<0;6>u22cg9572<5;h?6<9k;<0a1?70<2wx>o>50;1x97dc2=k01?l=:5c897d728=?7p}=b283>6}::kn1=?:4=3`1>41c348i?7?84:p6dc=839p1?ll:5c897d72=k01?oj:057?xu5j80;6>u22ca9572<5;h;6<9k;<0a5?70<2wx>lm50;1x97de2=k01?oj:5c897gd28=?7p}=ag83>6}::kh1=?:4=3cf>41c348jj7?84:p6dg=839p1?ln:5c897gd2=k01?on:057?xu5im0;6>u22cc9572<5;kh6<9k;<0b`?70<2wx>l650;1x97d>2=k01?on:5c897g?28=?7p}=ac83>6}::k31=?:4=3cb>41c348jn7?84:p6d0=839p1?l7:5c897g?2=k01?o9:057?xu5i00;6>u22c:9572<5;k36<9k;<0b=?70<2wx>l:50;1x97d02=k01?o9:5c897g328=?7p}=a683>6}::k=1=?:4=3c5>41c348j;7?84:p6d3=839p1?l9:007?84f<3;im50;7x97c128=i70?77;f7?87?>3n>70<70;f4?85>;39?7p}=dc83>0}::l?1=:l4=0:;>a2<582<6i;4=3:3>a0<5:386>=4}r0ge?6==r79i94>7c9>5=?=l=16=565d49>62`=l>16?4=5339~w7b>290>w0;60h0o863>888g1>;5?o0o:63<92805>{t:m21<7;t=3g1>41e34;3n7j;;<3;e?b23486`7=9>h01<6l:e6894>e2m?01?9j:e4896?42;l0q~h5rs3f6>5<3s48oj7?8b:?2;l50;1x970>2<;01?8n:438970d28=?7p}=6883>7}::?31=:l4=34`>a252z?12=<29279:94>759~w7012903w0<98;34f>;5>:0o863=658g1>;5>j0o:63=638g2>;5>80o:63=5g8g2>;5>90o:6s|27f94?4|5;<<68?4=340>4133ty9:84?:9y>631=9>h01?8<:e4897032m=01?8l:e7897052m?01?8>:e58973a2m=01?8?:e58yv5>03:1=iu235c90==:;=31855235:90==:;==1855235490==:;=?1855235190==:;=81855235690==:;<<1855234690==:;6d53ty8=h4?:3y>71g==816?>951668yv5393:18v3<4`823g=:;5<5s49?57;>;<102?70<2wx?9>50;6x962>28=i70=:b;72?857l3n<70==e;f7?xu49j0;6?u235:914=:;:?1=::4}r10b?6=7c9>70g==816?=j5d79>77e=l=1v>?m:181853?3?:70=<4;340>{t;:o1<7:t=264>41e349>57;>;<13g?b03499m7j;;|q05d<72;q6?985509>765=9>>0q~=7?84:p76e=83>p1>:::05a?852?3?:70=?b;f4?855>3n?7p}<1683>7}:;=919<52322952254z?006<6?k16?8;5509>75g=l>16??<5d59~w6712909w0=;2;72?855n3;<86s|32;94?2|5:>96<9m;<160?36349;m7j9;<114?b33ty8=54?:3y>712==816?>?51668yv54j3:18v3<45823g=:;<<19<5231`9`3=:;;>1h95rs20g>5<5s498;7:n;<11`?70<2wx?>650;0x9650288?70=<8;340>{t;;h1<7=t=215>1g<5:8o69o4=20a>4133ty8>h4?:2y>760=9;>01>69o4=20a>1g<5:826<9;;|q06f<72:q6?>;51368964e28=o70==c;340>{t;;=1<7=t=217>1g<5:8269o4=204>4133ty8>l4?:2y>762=9;>01><6:05g?855i3;<86s|33794?5|5:9869o4=204>1g<5:8>6<9;;|q06=<72:q6?>=51368964028=o70==8;340>{t;;91<7=t=211>1g<5:8>69o4=200>4133ty8>;4?:2y>764=9;>01><::05g?855>3;<86s|33394?5|5:9:69o4=200>1g<5:8:6<9;;|q061<72:q6?>?51368964428=o70==4;340>{t;8l1<7=t=213>1g<5:8:69o4=23e>4133ty8>?4?:2y>766=9;>01><>:05g?855:3;<86s|33294?5|5:8m6<<;;<12b?70l278>=4>759~w62c2908w0=:6;34f>;4>10>=63=f98g2>{t;=h1<7=t=277>41e349=:7;>;<0e3?b13ty88n4?:2y>703=9>h01>88:43897`02m>0q~=;e;297~;4=>0:;o5237;914=::o21h95rs26e>5<4s49>47?8b:?02d<29279j44k6:p706=839p1>;6:05a?851j3?:70u234c952d<5:a0>7>53z?01g<6?k16?;j5509>6cg=l=1v>;<:180852k3;;5nk0o86s|37694?2|5:4?:5y>73e=9>h01<7?:e6894>a2m?01>7<:2g8yv51:3:18v3<6c823g=:90;1h9521829`0=:;091?i5rs242>5<3s49=m7?8b:?2=750;6x960>28=i70?63;f7?87>:3n>70=63;1a?xu4=o0;69u237:952d<583?6i:4=0;0>a3<5:386>o4}r16a?6=7c9>5<3=l=16=4:5d49>7<5=;01v>;k:180851>3;948g1>;41:0846s|38594?74s49<47:7;<143?2?349<:7:7;<141?2?349<87:7;<147?2?349<>7:7;<145?2?3493<7:7;<14b?2?3497?84:p7=?=838p1>97:43896?42j;0q~=78;296~;4?>0>=63<928:0>{t;1=1<707<5:3864<4}r1;2?6=:r78;84:1:?0=6<>92wx?5;50;0x96132<;01>7<:828yv5?<3:1>v3<72865>;41:03j6s|39194?4|5:=968?4=2;0>=c7>52z?034<292785>46d:p7<4=838p1>6?:43896?420i0q~=61;296~;4?o0>=63<928ab>{t;0:1<707<5:3864l4}r1;b?6=:r78;i4:1:?0=6<>i2wx?5k50;0x961d2<;01>7<:8;8yv5?l3:1>v3<7c865>;41:0246s|39a94?4|5:=j68?4=2;0><152z?03<<292785>466:p7=g=838p1>9?:43896?420?0q~=71;296~;4>o0>=63<928;`>{t:a3<5;<;6<<:;|q0=1<72;q6?4;5166896?42j20q~=66;296~;5100o863=5g8260=z{87p}>6983>7}::8o1h;5220a957352z?165279=i4>249~yv2693:1>vP00<4mm1/?lj517a8yv27n3:1>vP00<4mj1/?lj517f8yv27m3:1>vP00<4mk1/?lj517g8yv27l3:1>vP00<4mh1/?lj517d8yv27k3:1>vP00<4m01/?lj51268yv27j3:1>vP00<4m11/?lj512;8yv2713:1>vP00<4m?1/?lj512a8yv2703:1>vP00<4m<1/?lj51558yv27?3:1>vP00<4m=1/?lj51428yv27>3:1>vP00<4m:1/?lj51438yv27=3:1>vP00<4m;1/?lj51408yv27<3:1>vP00<4m81/?lj51418yv27;3:1>vP00<4m91/?lj51468yv27:3:1>vP00<4lo1/?lj51478yv2793:1>vP00<4ll1/?lj51448yv2783:1>vP00<4lm1/?lj51458yv5am3:1>vP00<4lk1/?lj514:8yv5al3:1>vP00<4lh1/?lj514;8yv5ak3:1>vP00<4l01/?lj514c8yv5aj3:1>vP00<4l11/?lj514`8yv5ai3:1>vP00<4l>1/?lj514a8yv5a13:1>vP00<4l?1/?lj514f8yv5a03:1>vP00<4l<1/?lj514g8yv5a?3:1>vP00<4l=1/?lj514d8yv5a>3:1>vP00<4l:1/?lj51728yv5a=3:1>vP00<4l;1/?lj51738yv2603:1>vP00<4n:1/?lj51708yv26?3:1>vP00<4n;1/?lj51718yv26>3:1>vP00<4n81/?lj51768yv26=3:1>vP00<4n91/?lj51778yv26<3:1>vP00<4mo1/?lj51748yv26;3:1>vP00<4ml1/?lj51758yv26:3:1>vP00<4m>1/?lj517:8yv27i3:1>vP00<4lj1/?lj517;8yv5an3:1>vP00<4l81/?lj517c8yv5a<3:1>vP00<4l91/?lj517`8yv2?i3:1>vP;8`9>00<30h1/?lj51628yv2>?3:1>vP;969>00<31>1/?lj51278yv2>13:1>vP;989>00<3101/?lj51248yv2f83:1>vP;a19>00<3i91/?lj51258yv2fj3:1>vP;ac9>00<3ik1/?lj512:8yv24<3:1>vP;239>00<3:;1/?lj512c8yv24:3:1>vP;209>00<3:81/?lj512`8yv2493:1>vP;219>00<3:91/?lj512f8yv2483:1>vP;1g9>00<39o1/?lj512g8yv25n3:1>vP;1d9>00<39l1/?lj512d8yv25m3:1>vP;1e9>00<39m1/?lj51528yv25l3:1>vP;1b9>00<39j1/?lj51538yv25k3:1>vP;1c9>00<39k1/?lj51508yv24l3:1>vP;2`9>00<3:h1/?lj51518yv24k3:1>vP;289>00<3:01/?lj51568yv24j3:1>vP;299>00<3:11/?lj51578yv24i3:1>vP;269>00<3:>1/?lj51548yv2413:1>vP;279>00<3:?1/?lj515:8yv2403:1>vP;249>00<3:<1/?lj515;8yv24?3:1>vP;259>00<3:=1/?lj515c8yv24>3:1>vP;229>00<3::1/?lj515`8yv24=3:1>vP;1`9>00<39h1/?lj515a8yv25j3:1>vP;189>00<3901/?lj515f8yv24n3:1>vP;3g9>00<3;o1/?lj515g8yv23=3:1>vP;449>00<3<<1/?lj515d8yxh?l=0;6?uG3`g8yk>c=3:1>vFoj;|l;`=<72;qC?lk4}o:g=?6=:rB8mh5rn9fb>5<5sA9ji6sa8e`94?4|@:kn7p`7db83>7}O;ho0qc6kd;296~N4il1vb5jj:181M5fm2we4ih50;0xL6gb3td3i=4?:3yK7dc52zJ0e`=zf1o96=4={I1ba>{i0l91<7b=3:1>vFoj;|l;a=<72;qC?lk4}o:f=?6=:rB8mh5rn9gb>5<5sA9ji6sa8d`94?4|@:kn7p`7eb83>7}O;ho0qc6jd;296~N4il1vb5kj:181M5fm2we4hh50;0xL6gb3td3j=4?:3yK7dc52zJ0e`=zf1l96=4={I1ba>{i0o91<7a=3:1>vFoj;|l;b=<72;qC?lk4}o:e=?6=:rB8mh5rn9db>5<5sA9ji6sa8g`94?4|@:kn7p`7fb83>7}O;ho0qc6id;296~N4il1vb5hj:181M5fm2we4kh50;0xL6gb3td2<=4?:3yK7dc52zJ0e`=zf0:96=4={I1ba>{i1991<78=0;6?uG3`g8yk?7=3:1>vFoj;|l:4=<72;qC?lk4}o;3=?6=:rB8mh5rn82b>5<5sA9ji6sa91`94?4|@:kn7p`60b83>7}O;ho0qc7?d;296~N4il1vb4>j:181M5fm2we5=h50;0xL6gb3td2==4?:3yK7dc51zJ0e`=zf>k<6=4>{I1ba>{i?h21<7?tH2cf?xh0i00;6oj;|l4ea<728qC?lk4}o5ba?6=9rB8mh5rn6ce>5<6sA9ji6sa7c294?7|@:kn7p`8b083>4}O;ho0qc9m2;295~N4il1vb:l<:182M5fm2we;o:50;3xL6gb3td51zJ0e`=zf>h<6=4>{I1ba>{i?k21<7?tH2cf?xh0j00;6oj;|l4fa<728qC?lk4}o5aa?6=9rB8mh5rn6`e>5<6sA9ji6sa7b294?7|@:kn7p`8c083>4}O;ho0qc9l2;295~N4il1vb:m<:182M5fm2we;n:50;3xL6gb3td51zJ0e`=zf>i<6=4>{I1ba>{i?j21<7?tH2cf?xh0k00;6oj;|l4ga<728qC?lk4}o5`a?6=9rB8mh5rn6ae>5<6sA9ji6sa7e294?7|@:kn7p`8d083>4}O;ho0qc9k2;295~N4il1vb:j<:182M5fm2we;i:50;3xL6gb3td51zJ0e`=zf>n<6=4>{I1ba>{i?m21<7?tH2cf?xh0l00;6oj;|l4`a<728qC?lk4}o5ga?6=9rB8mh5rn6fe>5<6sA9ji6sa7d294?7|@:kn7p`8e083>4}O;ho0qc9j2;295~N4il1vb:k<:182M5fm2we;h:50;3xL6gb3td51zJ0e`=zf>o<6=4>{I1ba>{i?l21<7?tH2cf?xh0m00;6oj;|l4aa<728qC?lk4}o5fa?6=9rB8mh5rn6ge>5<6sA9ji6sa7g294?7|@:kn7p`8f083>4}O;ho0qc9i2;295~N4il1vb:h<:182M5fm2we;k:50;3xL6gb3td51zJ0e`=zf>l<6=4>{I1ba>{i?o21<7?tH2cf?xh0n00;6oj;|l4ba<728qC?lk4}o5ea?6=9rB8mh5rn6de>5<6sA9ji6sa81294?7|@:kn7p`70083>4}O;ho0qc6?2;295~N4il1vb5><:182M5fm2we4=:50;3xL6gb3td3<84?:0yK7dc51zJ0e`=zf1:<6=4>{I1ba>{i0921<7?tH2cf?xh?800;67i3:1=vFoj;|l;4a<728qC?lk4}o:3a?6=9rB8mh5rn92e>5<6sA9ji6sa80294?7|@:kn7p`71083>4}O;ho0qc6>2;295~N4il1vb5?<:182M5fm2we4<:50;3xL6gb3td3=84?:0yK7dc51zJ0e`=zf1;<6=4>{I1ba>{i0821<7?tH2cf?xh?900;66i3:1=vFoj;|l;5a<728qC?lk4}o:2a?6=9rB8mh5rn93e>5<6sA9ji6sa83294?7|@:kn7p`72083>4}O;ho0qc6=2;295~N4il1vb5<<:182M5fm2we4?:50;3xL6gb3td3>84?:0yK7dc51zJ0e`=zf18<6=4>{I1ba>{i0;21<7?tH2cf?xh?:00;65i3:1=vFoj;|l;6a<728qC?lk4}o:1a?6=9rB8mh5rn90e>5<6sA9ji6sa82294?7|@:kn7p`73083>4}O;ho0qc6<2;295~N4il1vb5=<:182M5fm2we4>:50;3xL6gb3td3?84?:0yK7dc51zJ0e`=zf19<6=4>{I1ba>{i0:21<7?tH2cf?xh?;00;64i3:1=vFoj;|l;7a<728qC?lk4}o:0a?6=9rB8mh5rn91e>5<6sA9ji6sa85294?7|@:kn7p`74083>4}O;ho0qc6;2;295~N4il1vb5:<:182M5fm2we49:50;3xL6gb3td3884?:0yK7dc51zJ0e`=zf1><6=4>{I1ba>{i0=21<7?tH2cf?xh?<00;63i3:1=vFoj;|l;0a<728qC?lk4}o:7a?6=9rB8mh5rn96e>5<6sA9ji6sa84294?7|@:kn7p`75083>4}O;ho0qc6:2;295~N4il1vb5;<:182M5fm2we48:50;3xL6gb3td3984?:0yK7dc:7>51zJ0e`=zf1?<6=4>{I1ba>{i0<21<7?tH2cf?xh?=00;62i3:1=vFoj;|l;1a<728qC?lk4}o:6a?6=9rB8mh5rn97e>5<6sA9ji6sa87294?7|@:kn7p`76083>4}O;ho0qc692;295~N4il1vb58<:182M5fm2we4;:50;3xL6gb3td3:84?:0yK7dc51zJ0e`=zf1<<6=4>{I1ba>{i0?21<7?tH2cf?xh?>00;61i3:1=vFoj;|l;2a<728qC?lk4}o:5a?6=9rB8mh5rn94e>5<6sA9ji6sa86294?7|@:kn7p`77083>4}O;ho0qc682;295~N4il1vb59<:182M5fm2we4::50;3xL6gb3td3;84?:0yK7dc51zJ0e`=zf1=<6=4>{I1ba>{i0>21<7?tH2cf?xh??00;60i3:1=vFoj;|l;3a<728qC?lk4}o:4a?6=9rB8mh5rn95e>5<6sA9ji6sa89294?7|@:kn7p`78083>4}O;ho0qc672;295~N4il1vb56<:182M5fm2we45:50;3xL6gb3td3484?:0yK7dc51zJ0e`=zf12<6=4>{I1ba>{i0121<7?tH2cf?xh?000;6?i3:1=vFe290:wE=ne:m<=e=83;pD>oj;|l;5<6sA9ji6sa88294?7|@:kn7p`79083>4}O;ho0qc662;295~N4il1vb57<:182M5fm2we44:50;3xL6gb3td3584?:0yK7dc51zJ0e`=zf13<6=4>{I1ba>{i0021<7?tH2cf?xh?100;6>i3:1=vFoj;|l;=a<728qC?lk4}o::a?6=9rB8mh5rn9;e>5<6sA9ji6sa8`294?7|@:kn7p`7a083>4}O;ho0qc6n2;295~N4il1vb5o<:182M5fm2we4l:50;3xL6gb3td3m84?:0yK7dc51zJ0e`=zf1k<6=4>{I1ba>{i0h21<7?tH2cf?xh?i00;6fi3:1=vFoj;|l;ea<728qC?lk4}o:ba?6=9rB8mh5rn9ce>5<6sA9ji6sa8c294?7|@:kn7p`7b083>4}O;ho0qc6m2;295~N4il1vb5l<:182M5fm2we4o:50;3xL6gb3td3n84?:0yK7dc51zJ0e`=zf1h<6=4>{I1ba>{i0k21<7?tH2cf?xh?j00;6ei3:1=vFoj;|l;fa<728qC?lk4}o:aa?6=9rB8mh5rn9`e>5<6sA9ji6sa8b294?7|@:kn7p`7c083>4}O;ho0qc6l2;295~N4il1vb5m<:182M5fm2we4n:50;3xL6gb3td3o84?:0yK7dc51zJ0e`=zf1i<6=4>{I1ba>{i0j21<7?tH2cf?xh?k00;6di3:1=vFoj;|l;ga<728qC?lk4}o:`a?6=9rB8mh5rn9ae>5<6sA9ji6sa8e294?7|@:kn7p`7d083>4}O;ho0qc6k2;295~N4il1vb5j<:182M5fm2wvqpNOCzc4g?b7l==jn5sO@Cy3yEFWstJK \ No newline at end of file diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index a506d71e2..c7e8f6cfb 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -57,10 +57,18 @@ module ext_fifo .dout(write_data), // Bus [17 : 0] .full(full1), .empty(empty1)); - assign dst_rdy_o = ~full1; + + assign dst_rdy_o = ~full1; + +/* -----\/----- EXCLUDED -----\/----- + assign space_avail = ~full2; + assign data_avail = ~empty1; + assign read_data = write_data; + -----/\----- EXCLUDED -----/\----- */ + // External FIFO running at ext clock rate and 18 bit width. - nobl_fifo #(.WIDTH(EXT_WIDTH),.DEPTH(DEPTH)) + nobl_fifo #(.WIDTH(EXT_WIDTH),.DEPTH(DEPTH),.FDEPTH(DEPTH)) nobl_fifo_i1 ( .clk(ext_clk), @@ -94,7 +102,8 @@ module ext_fifo .rd_en(dst_rdy_i), .dout(dataout), // Bus [35 : 0] .full(full2), - .almost_full(almost_full2), + .almost_full(), + .prog_full(almost_full2), .empty(empty2)); assign src_rdy_o = ~empty2; diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v index 38df4a285..a93d524d5 100644 --- a/usrp2/extramfifo/ext_fifo_tb.v +++ b/usrp2/extramfifo/ext_fifo_tb.v @@ -51,6 +51,44 @@ module ext_fifo_tb(); always #4 ext_clk <= ~ext_clk; + initial + begin + rst <= 1; + repeat (5) @(negedge int_clk); + rst <= 0; + @(negedge int_clk); + while (datain < 10000) + begin + @(negedge int_clk); + datain <= datain + dst_rdy_o; + src_rdy_i <= dst_rdy_o; + end + end // initial begin + + + initial + begin + repeat (20) @(negedge int_clk); + + // Fall through fifo, first output already valid + if (dataout !== ref_dataout) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + + while (ref_dataout < 10000) + begin + @(negedge int_clk); + ref_dataout <= ref_dataout + src_rdy_o ; + dst_rdy_i <= src_rdy_o; + if ((dataout !== ref_dataout) && src_rdy_o) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + @(negedge int_clk); + dst_rdy_i <= 0; + repeat(6) @(negedge int_clk); + end + end + + +/* -----\/----- EXCLUDED -----\/----- initial begin @@ -112,6 +150,7 @@ module ext_fifo_tb(); end // initial begin + -----/\----- EXCLUDED -----/\----- */ /////////////////////////////////////////////////////////////////////////////////// // Simulation control // /////////////////////////////////////////////////////////////////////////////////// diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index 7ddb517c7..03e3f5223 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -5,7 +5,7 @@ // "full" and "empty" flags. module nobl_fifo - #(parameter WIDTH=18,DEPTH=19) + #(parameter WIDTH=18,DEPTH=19,FDEPTH=10) ( input clk, input rst, @@ -27,9 +27,9 @@ module nobl_fifo input upstream_full // (Connect to almost full flag upstream) ); - reg [DEPTH-1:0] capacity; - reg [DEPTH-1:0] wr_pointer; - reg [DEPTH-1:0] rd_pointer; + reg [FDEPTH-1:0] capacity; + reg [FDEPTH-1:0] wr_pointer; + reg [FDEPTH-1:0] rd_pointer; wire [DEPTH-1:0] address; reg supress; reg data_avail_int; // Data available with high latency from ext FIFO flag @@ -51,7 +51,7 @@ module nobl_fifo always @(posedge clk) if (rst) begin - capacity <= 1 << (DEPTH-1); + capacity <= 1 << (FDEPTH-1); wr_pointer <= 0; rd_pointer <= 0; space_avail <= 0; @@ -60,9 +60,11 @@ module nobl_fifo end else begin - space_avail <= ~((capacity == 0) || (read&&write) || (capacity == 1 && write) ); + // No space available if: + // Capacity is already zero; Capacity is 1 and write is asserted (lookahead); both read and write are asserted (collision) + space_avail <= ~((capacity == 0) || (read&&write) || ((capacity == 1) && write) ); // Capacity has 1 cycle delay so look ahead here for corner case of read of last item in FIFO. - data_avail_int <= ~((capacity == (1 << (DEPTH-1))) || (read&&write) || (capacity == ((1 << (DEPTH-1))-1) && read) ); + data_avail_int <= ~((capacity == (1 << (FDEPTH-1))) || (read&&write) || ((capacity == ((1 << (FDEPTH-1))-1)) && read) ); supress <= read && write; wr_pointer <= wr_pointer + write; rd_pointer <= rd_pointer + ((~write && read) || supress); -- cgit v1.2.3 From fe79353d6a4cc395dc78bb55159815c9233d1eff Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 12 Aug 2010 12:28:13 -0700 Subject: Bringing all coregen files checked in into sync --- usrp2/coregen/fifo_generator_ug175.pdf | Bin 1069823 -> 2895895 bytes usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo | 12 +-- .../coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt | 6 +- .../fifo_xlnx_512x36_2clk_18to36_readme.txt | 22 +++-- .../coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl | 8 +- usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo | 12 +-- ...k_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt | 101 --------------------- .../coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt | 6 +- .../fifo_xlnx_512x36_2clk_36to18_readme.txt | 22 +++-- .../coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl | 8 +- 10 files changed, 60 insertions(+), 137 deletions(-) delete mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt diff --git a/usrp2/coregen/fifo_generator_ug175.pdf b/usrp2/coregen/fifo_generator_ug175.pdf index 2c3e3c200..5fba6029c 100644 Binary files a/usrp2/coregen/fifo_generator_ug175.pdf and b/usrp2/coregen/fifo_generator_ug175.pdf differ diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo index cd949ccaa..c962fddfa 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo @@ -23,7 +23,7 @@ * appliances, devices, or systems. Use in such applications are * * expressly prohibited. * * * -* (c) Copyright 1995-2007 Xilinx, Inc. * +* (c) Copyright 1995-2009 Xilinx, Inc. * * All rights reserved. * *******************************************************************************/ // The following must be inserted into your Verilog file for this @@ -32,16 +32,16 @@ //----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG fifo_xlnx_512x36_2clk_18to36 YourInstanceName ( - .din(din), // Bus [17 : 0] - .rd_clk(rd_clk), - .rd_en(rd_en), .rst(rst), .wr_clk(wr_clk), + .rd_clk(rd_clk), + .din(din), // Bus [17 : 0] .wr_en(wr_en), - .almost_full(almost_full), + .rd_en(rd_en), .dout(dout), // Bus [35 : 0] + .full(full), .empty(empty), - .full(full)); + .prog_full(prog_full)); // INST_TAG_END ------ End INSTANTIATION Template --------- diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt index 18ba3e664..2f8d522f6 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_flist.txt @@ -1,8 +1,12 @@ # Output products list for +_xmsgs/pn_parser.xmsgs +fifo_generator_ug175.pdf +fifo_xlnx_512x36_2clk_18to36.gise fifo_xlnx_512x36_2clk_18to36.ngc fifo_xlnx_512x36_2clk_18to36.v fifo_xlnx_512x36_2clk_18to36.veo fifo_xlnx_512x36_2clk_18to36.xco -fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +fifo_xlnx_512x36_2clk_18to36.xise fifo_xlnx_512x36_2clk_18to36_flist.txt +fifo_xlnx_512x36_2clk_18to36_readme.txt fifo_xlnx_512x36_2clk_18to36_xmdf.tcl diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt index e0d45849d..03829e876 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_readme.txt @@ -1,5 +1,12 @@ The following files were generated for 'fifo_xlnx_512x36_2clk_18to36' in directory -/home/matt/fpgapriv/usrp2/coregen/: +/home/ianb/ettus/sram_fifo/fpgapriv/usrp2/coregen/ + +fifo_generator_ug175.pdf: + Please see the core data sheet. + +fifo_xlnx_512x36_2clk_18to36.gise: + ISE Project Navigator support file. This is a generated file and should + not be edited directly. fifo_xlnx_512x36_2clk_18to36.ngc: Binary Xilinx implementation netlist file containing the information @@ -18,12 +25,9 @@ fifo_xlnx_512x36_2clk_18to36.xco: CORE Generator input file containing the parameters used to regenerate a core. -fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt: - Please see the core data sheet. - -fifo_xlnx_512x36_2clk_18to36_flist.txt: - Text file listing all of the output files produced when a customized - core was generated in the CORE Generator. +fifo_xlnx_512x36_2clk_18to36.xise: + ISE Project Navigator support file. This is a generated file and should + not be edited directly. fifo_xlnx_512x36_2clk_18to36_readme.txt: Text file indicating the files generated and how they are used. @@ -33,6 +37,10 @@ fifo_xlnx_512x36_2clk_18to36_xmdf.tcl: how the files output by CORE Generator for the core can be integrated into your ISE project. +fifo_xlnx_512x36_2clk_18to36_flist.txt: + Text file listing all of the output files produced when a customized + core was generated in the CORE Generator. + Please see the Xilinx CORE Generator online help for further details on generated files and how to use them. diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl index f20d53f64..9b9b1f37a 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_xmdf.tcl @@ -36,6 +36,10 @@ utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim incr fcount +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_generator_ug175.pdf +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36.ngc utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc incr fcount @@ -52,10 +56,6 @@ utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_51 utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip incr fcount -utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt -utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView -incr fcount - utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_18to36_xmdf.tcl utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView incr fcount diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo index 5c2da4b97..e93be1591 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.veo @@ -23,7 +23,7 @@ * appliances, devices, or systems. Use in such applications are * * expressly prohibited. * * * -* (c) Copyright 1995-2007 Xilinx, Inc. * +* (c) Copyright 1995-2009 Xilinx, Inc. * * All rights reserved. * *******************************************************************************/ // The following must be inserted into your Verilog file for this @@ -32,15 +32,15 @@ //----------- Begin Cut here for INSTANTIATION Template ---// INST_TAG fifo_xlnx_512x36_2clk_36to18 YourInstanceName ( - .din(din), // Bus [35 : 0] - .rd_clk(rd_clk), - .rd_en(rd_en), .rst(rst), .wr_clk(wr_clk), + .rd_clk(rd_clk), + .din(din), // Bus [35 : 0] .wr_en(wr_en), + .rd_en(rd_en), .dout(dout), // Bus [17 : 0] - .empty(empty), - .full(full)); + .full(full), + .empty(empty)); // INST_TAG_END ------ End INSTANTIATION Template --------- diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt deleted file mode 100644 index 3abf04253..000000000 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - -

- - - - - - - - - - - - - - -
-
- - - - - - - - - - - -
-
- - - -
-
-
-
-
-
-
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - -
-
-
- - - - - - - -
-
-
-
-
- - - -
- - - diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt index aadac46c0..54c85b15e 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_flist.txt @@ -1,8 +1,12 @@ # Output products list for +_xmsgs/pn_parser.xmsgs +fifo_generator_ug175.pdf +fifo_xlnx_512x36_2clk_36to18.gise fifo_xlnx_512x36_2clk_36to18.ngc fifo_xlnx_512x36_2clk_36to18.v fifo_xlnx_512x36_2clk_36to18.veo fifo_xlnx_512x36_2clk_36to18.xco -fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +fifo_xlnx_512x36_2clk_36to18.xise fifo_xlnx_512x36_2clk_36to18_flist.txt +fifo_xlnx_512x36_2clk_36to18_readme.txt fifo_xlnx_512x36_2clk_36to18_xmdf.tcl diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt index 568c757ec..3efc586bf 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_readme.txt @@ -1,5 +1,12 @@ The following files were generated for 'fifo_xlnx_512x36_2clk_36to18' in directory -/home/matt/fpgapriv/usrp2/coregen/: +/home/ianb/ettus/sram_fifo/fpgapriv/usrp2/coregen/ + +fifo_generator_ug175.pdf: + Please see the core data sheet. + +fifo_xlnx_512x36_2clk_36to18.gise: + ISE Project Navigator support file. This is a generated file and should + not be edited directly. fifo_xlnx_512x36_2clk_36to18.ngc: Binary Xilinx implementation netlist file containing the information @@ -18,12 +25,9 @@ fifo_xlnx_512x36_2clk_36to18.xco: CORE Generator input file containing the parameters used to regenerate a core. -fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt: - Please see the core data sheet. - -fifo_xlnx_512x36_2clk_36to18_flist.txt: - Text file listing all of the output files produced when a customized - core was generated in the CORE Generator. +fifo_xlnx_512x36_2clk_36to18.xise: + ISE Project Navigator support file. This is a generated file and should + not be edited directly. fifo_xlnx_512x36_2clk_36to18_readme.txt: Text file indicating the files generated and how they are used. @@ -33,6 +37,10 @@ fifo_xlnx_512x36_2clk_36to18_xmdf.tcl: how the files output by CORE Generator for the core can be integrated into your ISE project. +fifo_xlnx_512x36_2clk_36to18_flist.txt: + Text file listing all of the output files produced when a customized + core was generated in the CORE Generator. + Please see the Xilinx CORE Generator online help for further details on generated files and how to use them. diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl index 09248b321..5161c1826 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_xmdf.tcl @@ -36,6 +36,10 @@ utilities_xmdf::xmdfSetData $instance FileSet $fcount type logical_library utilities_xmdf::xmdfSetData $instance FileSet $fcount logical_library unisim incr fcount +utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_generator_ug175.pdf +utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView +incr fcount + utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18.ngc utilities_xmdf::xmdfSetData $instance FileSet $fcount type ngc incr fcount @@ -52,10 +56,6 @@ utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_51 utilities_xmdf::xmdfSetData $instance FileSet $fcount type coregen_ip incr fcount -utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.ngc_xst.xrpt -utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView -incr fcount - utilities_xmdf::xmdfSetData $instance FileSet $fcount relative_path fifo_xlnx_512x36_2clk_36to18_xmdf.tcl utilities_xmdf::xmdfSetData $instance FileSet $fcount type AnyView incr fcount -- cgit v1.2.3 From ac0ce6f558baf9c2b55df3fbe21a8b1f596d8f72 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 12 Aug 2010 12:57:02 -0700 Subject: Adding in files that probably didn;t exist in the ISE10.1 version of coregen --- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.gise | 30 ++ usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf | 0 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise | 374 ++++++++++++++++++++++++ usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.gise | 30 ++ usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise | 374 ++++++++++++++++++++++++ 5 files changed, 808 insertions(+) create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.gise create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.gise create mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.gise b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.gise new file mode 100644 index 000000000..c18cf3bf0 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.gise @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf new file mode 100644 index 000000000..e69de29bb diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise new file mode 100644 index 000000000..05048a43b --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise @@ -0,0 +1,374 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.gise b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.gise new file mode 100644 index 000000000..d0c862319 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.gise @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise new file mode 100644 index 000000000..d9013a131 --- /dev/null +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise @@ -0,0 +1,374 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
-- cgit v1.2.3 From 030d98cef5133072ca53dddbb62669c57810c387 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 12 Aug 2010 13:05:55 -0700 Subject: Edited FIFO instance to delete port that was not regenerated after reconfiguration --- usrp2/extramfifo/ext_fifo.v | 1 - 1 file changed, 1 deletion(-) diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index c7e8f6cfb..398e5ef81 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -102,7 +102,6 @@ module ext_fifo .rd_en(dst_rdy_i), .dout(dataout), // Bus [35 : 0] .full(full2), - .almost_full(), .prog_full(almost_full2), .empty(empty2)); assign src_rdy_o = ~empty2; -- cgit v1.2.3 From bbe1965c18bb97d4a4d7b3cde1c343d147c23278 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 12 Aug 2010 14:35:06 -0700 Subject: Regenerated FIFO's for extfifo. There are problems with certain configurations it seems. It is important that the fifo_xlnx_512x36_2clk_18to36 is generated with the "almost_full" pin even though it is not used in the application. if this pin is omitted the FPGA image doesn't work correctly --- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf | 0 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc | 2 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v | 6 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.veo | 1 + usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco | 6 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise | 310 +-------------------- ...12x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso | 3 - ...k_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt | 102 ------- usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc | 2 +- usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco | 2 +- usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise | 310 +-------------------- ...12x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso | 3 - 12 files changed, 19 insertions(+), 728 deletions(-) delete mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf delete mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso delete mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt delete mode 100644 usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ncf deleted file mode 100644 index e69de29bb..000000000 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc index 27be491b9..3b3a07ee7 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc @@ -1,3 +1,3 @@ XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e -$46b40<,[o}e~g`n;"2*726&;$:,)<6;.vnt*Ydo&lbjbQwloz\144;?U9oaeP19vl73(iof;0<85?0123=>6789:;<=>;0:23456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?01084<7<9:1:"=?<;029MKVR\3KOH_O39;2=5`=683CE\XZ5psmd[cskdV~c~h}g<883:73<990BB][[:qplcZ`rdeUdk|h^cpw`ts400;2?;4118JJUSS2yxdkRhzlm]wlwct`Vdnklzj<883:4?<990DYY^ZT;fbpdYdg|d044?>0a855113922?OIX\^1HDO31483:45<9?0DYY^ZT;FLE972294:>6?7:HLSQQ11:07?754;8;0>7GAPTV9@LVF480;2<<42;MVPUSS2ME[M1?50?31?64=AGZ^X7JFB=12>586;2996B[[PTV9@JD;;80;2<:4378LQQVR\3ndyy2<5;2=`>5t:9:;jj::6,72?12<<9LM=<5;:HLSQQ11397>JSSX\^1HB^M<283:4=1:2<286869768<567<22N4L?4959:45?530;>585=231EC^ZT;rqkbYbey~rSyf}erj\evubz}636=0=5:;9MKVR\3zycjQjmqvz[qnumzbTbhintd>;>586j231CXZ_UU8q`Zbf|hUhcx`{<983:7=F:11JHI\N<1<;?DBCZH6:255NDEPB878?3HNO^L2<>99B@ATF4=437LJKR@>6:==FLMXJ0;07;@FGVD:0611JHI\N<9611JHI\M<1<;?DBCZK6:255NDEPA878?3HNO^O2<>99B@ATE4=437LJKRC>6:==FLMXI0;07;@FGVG:06h1JHI\M<983:==FLMXI050<;@NO=>GTQGIT^HI<;CW1<>DR[VCEJB?4C39@A44EKCK90OA\6;BMNILRSMM;?7NA]E^EFJ@TF\@EESD@IO69@V@GSMM;0H?5KC39GM3=CAH6;2:5KI@>24;169GMD:6<730HDO31483:2=CAH6:9384DHC?5;0384DHC?7;01OEO2>3?58@LD;9=4<7IGM<07=3>BNJ5;=2:5KIC>23;12NBN1?17:FJF9476>1OEO2=1?58@LD;:;4<7IGM<31=3>BNJ58?2:5KIC>11;1;08;EKA8719?2NBN1<7>69GMG:517<0HDL32?58@LD;;9427IGM<2394;119:FJTD:6294<7IG_A=3=3>BNXK6;2:5KIQ@?5;1BHI5;:2:5KO@>26;108;EMB842912NDM1?::1<4?AIF48?5:6J@A=3=2>BHI585:6J@A=1=2>BHI5>5:6J@A=7=2>BHI5<5:6J@A=5=2>BHI525:6J@A=;=3>BHIVXNK;5KOC>3:2=CGK6:<394DN@?54803MEI0<<17:FLF9746>1OCO2>4?58@JD;9<4<7IAM<04=3>BHJ5;<2:5KOC>2<;117:FLF9466>1OCO2=2?58@JD;::4<7IAM<36=3>BHJ58>2:5KOC>12;1:08;EMA87>9?2NDN1<6>79GKG:56>1OCO2<0?;8@JD;;80;2:5KOC>05;019:FLTD:6294<7IA_A=3=3>BHXK6;2:5KOQ@?5;16H75:DBHVC53ON87KJL4:DGG@564IOKWTZ6702CEEY^P00:8MKOSXV:946GAIUR\46>;8:KMMQVX8<20ECG[P^25<>OIA]ZT<:74IOKWWQGSM>1BBDZP0158MKOSW9;<7D@FT^213>OIA]U;?:5FNHV\411J7:KMMQY7N>1BBDZP1158MKOSW8;<7D@FT^313>OIA]U:?:5FNHV\511769JJLRX91=0ECG[_0;4?LHN\V;J;6GAIU]2F2=NF@^T=N94IOKW[4B03@DBXR?J7:KMMQY6N>1BBDZP2158MKOSW;;<7D@FT^013>OIA]U9?:5FNHV\611N94IOKW[7B03@DBXR1BBDZP3158MKOSW:;<7D@FT^113>OIA]U8?:5FNHV\711;8;HLJPZ51?2CEEYQ<769JJLRX;1=0ECG[_2;4?LHN\V9J;6GAIU]0F2=NF@^T?N94IOKW[6B03@DBXR=J7:KMMQY4N?1BBDZPA79JJLRXJ:1BB[<4LH08HJ0?7C??559M55033G;;;95A11:7?K771:1E=<:4N0330>H698>0B1468J471<2D:=::4N03;0>H69090B<<;;O3141=I9;;?7C?=259M57533G;9895A1377?K75>=1E=?9<;O300>H6;890B<:<;O367>H6>=1E=;:<;O347>H60:1E=4=4N320?K46;2D9>>5A2218J7243G8>?6@=629M625H48;1E8?5A539M37=I1:1E5<=4N800?K?4;2D28>5A9418J<043G30\L\[a:RJJZDR[@NSn6^FN^@VWKGJM:1[^H?4Q09Qa>TFEK;=S^?7_R15e>TBIMUME_][c:PFEAYPAM^CSLm4RDCG[ROC\AUI=6]>3:QJIZEHDECXEB@PCIG@O3=TG\XHI:5\RWCO[D1<[[\J@RL;;RQQE1=T[[H?7YW_E208Q5)`zo$yj"ilx/aoo})JpfxT~iQnup\cfYg{:;<=Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_sf\tkruWniTtb|?013\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4565W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;?R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?05]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3453XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:=S_k|umv277=R8&myj#|i/fa{*fjlp&GscQ}d^rmpwY`kVrd~=>?7^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\swYwf}xTknQwos2345YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt789;T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=>=_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1237ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678=UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=;PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^uq[uhszVmhSua}0125[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYpzVzexQhc^zlv567?VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT{Qnup\cfYg{:;<5Q]erwop4463\:$kh!rg-dg}(ddbr$~iQnup\flh;878:7X> gsd-vc)`kq$h`fv re]sjqtXj`d7=3<>;T2,cw`)zo%lou lljz,vaYwf}xTnd`32?02?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl?7;463\:$kh!rg-dg}(ddbr$~iQnup\flh;<78:7X> gsd-vc)`kq$h`fv re]sjqtXj`d793<>;T2,cw`)zo%lou lljz,vaYwf}xTnd`36?02?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl?3;463\:$kh!rg-dg}(ddbr$~iQnup\flh;078;7X> gsd-vc)`kq$h`fv re]sjqtXj`dT4U1-dvc(un&mht#mcky-q`Zvi|{UiecQ>219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^014>S7'nxm"h gbz-gim'{nT|cz}_ckm[6473\:$kh!rg-dg}(ddbr$~iQnup\flhX<;:0Y=!hrg,qb*adp'iggu!}d^rmpwYeagU>>=5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbR8=0:W3+bta&{l$knv!cmi{+wbXxg~ySoga_603?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\<70<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<=<8;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34566:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?1358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw6788;9:6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}012162=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;><<9;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34555?2_;#j|i.sd,cf~)keas#jPpovq[goiWqey<=><2348Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678=8<7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?016263=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;9?94U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos234075>2_;#j|i.sd,cf~)keas#jPpovq[goiWqey<=>9299V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567>8;9;6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}012567d<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<;Qmde212>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:<>:5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12334473\:$kh!rg-dg}(ddbr$~iQnup\cf:76;:0Y=!hrg,qb*adp'iggu!}d^rmpwY`k5;5>=5Z0.eqb+ta'nis"nbdx.pg[uhszVmh0?0=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm33?03?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb>7:76<]9%l~k }f.e`|+ekcq%yhR~ats]dg939:91^<"i}f/pe+be&jf`t"|k_qlwvZad4?49<6[?/fpe*w`(ojr%oaew/sf\tkruWni7;30d8Q5)`zo$yj"ilx/aoo})ulVzexQhc^22b>S7'nxm"h gbz-gim'{nT|cz}_fa\54`<]9%l~k }f.e`|+ekcq%yhR~ats]dgZ46n2_;#j|i.sd,cf~)keas#jPpovq[beX;8l0Y=!hrg,qb*adp'iggu!}d^rmpwY`kV>:j6[?/fpe*w`(ojr%oaew/sf\tkruWniT9f:W3+bta&{l$knv!cmi{+wbXxg~ySjmP70d8Q5)`zo$yj"ilx/aoo})ulVzexQhc^:12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo5:5>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>2:70<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlm7>3<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8685>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk1:1279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:26;<0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hi36?05?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`4>49:6[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg=:=60=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnU;>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]260=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnU9>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]060=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnU?>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]660=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnU=>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]460=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnU3>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g5969:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=3=6<=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=1<1289V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabYc9595>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g5929:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=7=6<=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=181289V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabYc95=5>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g59>9:11^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1^21<>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:S<<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X:;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]06==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R:=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W<837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\27><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmThS7'nxm"h gbz-gim'{nT|cz}_fa\|jt789;996[?/fpe*w`(ojr%oaew/sf\tkruWniTtb|?01011>S7'nxm"h gbz-gim'{nT|cz}_fa\|jt7899996[?/fpe*w`(ojr%oaew/sf\tkruWniTtb|?01611>S7'nxm"h gbz-gim'{nT|cz}_fa\|jt789?996[?/fpe*w`(ojr%oaew/sf\tkruWniTtb|?01411>S7'nxm"h gbz-gim'{nT|cz}_fa\|jt789=9=6[?/fpe*w`(ojr%oaew/vp\tkruWkce0<0=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<3<15>S7'nxm"h gbz-gim'~xT|cz}_ckm868592_;#j|i.sd,cf~)keas#z|Ppovq[goi4=49=6[?/fpe*w`(ojr%oaew/vp\tkruWkce080=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<7<15>S7'nxm"h gbz-gim'~xT|cz}_ckm828592_;#j|i.sd,cf~)keas#z|Ppovq[goi4149=6[?/fpe*w`(ojr%oaew/vp\tkruWkce040=0:W3+bta&{l$knv!cmi{+rtXxg~ySoga_003?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\676<]9%l~k }f.e`|+ekcq%|~R~ats]amkY4:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV>9<6[?/fpe*w`(ojr%oaew/vp\tkruWkceS8582_;#j|i.sd,cf~)keas#z|Ppovq[goiW08=7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01213>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:;=?84U1-dvc(un&mht#mcky-tvZvi|{UiecQwos2344403\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=?>279V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567:;=0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?03312>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:8>:5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r12377413\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=:=7:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq45639;<0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?0404?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt789?:>;5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r12327><]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<;?>269V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567>;8i7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?014\fab7:?1^<"i}f/pe+be&jf`t"y}_qlwvZdnfVrd~=>?7358Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678>;9<6[?/fpe*w`(ojr%oaew/vp\tkruWni7<3>328Q5)`zo$yj"ilx/aoo})pzVzexQhc=0=65=R8&myj#|i/fa{*fjlp&}yS}`{r^e`868582_;#j|i.sd,cf~)keas#z|Ppovq[be;<78;7X> gsd-vc)`kq$h`fv ws]sjqtXoj6>2?>4U1-dvc(un&mht#mcky-tvZvi|{Ulo181219V4*aun'xm#jmw.bnh|*quWyd~Ril<6<14>S7'nxm"h gbz-gim'~xT|cz}_fa?<;473\:$kh!rg-dg}(ddbr${Qnup\cf:>68l0Y=!hrg,qb*adp'iggu!xr^rmpwY`kV::j6[?/fpe*w`(ojr%oaew/vp\tkruWniT=f:W3+bta&{l$knv!cmi{+rtXxg~ySjmP30d8Q5)`zo$yj"ilx/aoo})pzVzexQhc^62b>S7'nxm"h gbz-gim'~xT|cz}_fa\14`<]9%l~k }f.e`|+ekcq%|~R~ats]dgZ06n2_;#j|i.sd,cf~)keas#z|Ppovq[beX?8l0Y=!hrg,qb*adp'iggu!xr^rmpwY`kV2:j6[?/fpe*w`(ojr%oaew/vp\tkruWniT5?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?4;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol0<0=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc949:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij2<>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;<78=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<4<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo5<5>;5Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef>4:70<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlm743<9;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd8<85=2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkR>=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZ75=2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkR<=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZ55=2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkR:=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZ35=2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkR8=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZ15=2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkR6=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZ?512_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkRj><0<1=>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:0?0=9:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb64:4956[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg^f2818512_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkRj><4<1=>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:0;0=9:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb64>4956[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg^f28=8512_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkRj><8<1<>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:S<<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X:;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]06==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R:=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W<837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\27><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmThS7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj<1<1`>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj<0<1g>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj_10`?P6(o{l%~k!hl1,q`*au9'xm{kz ctpq[cqa|VymykP1278Q5)`zo$yj"ic0/pg+bt6&{l|jy!lusp\br`sWz~jxhQbuy2344:76:<0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`Yj}q:;<<2?>016?P6(o{l%~k!hl1,q`*au9'xm{kz ctpq[cqa|VymykPmtz3457;979=7X> gsd-vc)`d9$yh"i}1/pescr(k|xySkyit^qweqcXe|r;<=?31?31<>S7'nxm"h gm2-va)`z8$yjzh{/dosp|Yao~Tjo<8;T2,cw`)zo%l`= }d.eq5+tao~$i`~{y^dtbqYn:o1^<"i}f/pe+bj7&{n$k?!rguep*cjx}sTjzh{_h]nq}67899;7X> gsd-vc)`d9$yh"i}1/pescr(mdzuRhxfu]j[hs89:;=?74U1-dvc(un&mg<#|k/fpbw+tt|z%h<"mnrs{maq:76;30Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&ij~waeu>2:7?<]9%l~k }f.eo4+tc'nxj#||tr-`4*efz{seiy2=>3;8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.abvwim}682?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"ibuy,di^6Z&ng:"`?=f:W3+bta&{l$ka>!re-dvdu)zz~x#n> glw{*bk\9T$la~ bs3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.enq}(`eR8V"jc|.lq1b>S7'nxm"h gm2-va)`zhy%~~z|/b2,chs&ngP?P hmr,nw7`<]9%l~k }f.eo4+tc'nxj#||tr-`4*aj}q$laV:R.fop*hu5;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(~86;2?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"x><0<17>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4:56;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&|:0>0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0>7:7d<]9%l~k }f.eo4+tc'nxj#||tr-`4*p6W9Ujbi>?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4Y6Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l0.t2[7Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0]0[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h<"x>_5]mkq6789;956[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$ol|}yogw858512_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(khxyuck{<0<1=>S7'nxm"h gm2-va)`zhy%~~z|/b3,gdtuqgo0?0=9:W3+bta&{l$ka>!re-dvdu)zz~x#n? c`pq}kcs4:49j6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$k`{w.foX4X(`e8$f=?h4U1-dvc(un&mg<#|k/fpbw+tt|z%h="ibuy,di^7Z&ngx"`}=f:W3+bta&{l$ka>!re-dvdu)zz~x#n? glw{*bk\:T$la~ bs3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.enq}(`eR9V"jc|.lq1b>S7'nxm"h gm2-va)`zhy%~~z|/b3,chs&ngP8P hmr,nw75<]9%l~k }f.eo4+tc'nxj#||tr-`5*p64949?6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$z<2>>318Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t28785;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8682?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x><5<1f>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4Y7Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t2[4Yffm:;<=?=b:W3+bta&{l$ka>!re-dvdu)zz~x#n? v0]1[dhc89:;=?l4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x>_2]bja6789;9n6[?/fpe*w`(oe:%~i!hr`q-vvrt'j;$z=5Z0.eqb+ta'nf;"j gscp*wus{&ida}?=9:W3+bta&{l$ka>!re-dvdu)zz~x#ob_dosp|YajVc8<6[?/fpe*w`(oe:%~i!hr`q-vvrt'{kfShctx]efZoXg{:;<==>;T2,cw`)zo%l`= }d.eqev(u{}y$~lcPelrw}Z`eW`Ud~=>?0000?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs:=1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by?=4:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmp7433\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|d??:4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov761=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}?986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at707?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs?;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz7289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5:5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}969W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8485k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<0<\vq4>3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw32?0`?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7>3Q}t3;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp682?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:46Vx>45Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}929:j1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=6=[wr512_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<4<1g>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir080Pru0:?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7:37Uyx?74U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:06;i0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>4:Zts:h1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQwos>3:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|31?0b?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey0?0=a:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZ~hz595>l5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]{kw:36;k0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPxnp?1;4f3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSua}<7<1e>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vrd~1912`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{632?j4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;07Uyxf:W3+bta&{l$ka>!re-qtkru'je~by2>>0d8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{<3<2b>S7'nxm"h gm2-va)uxg~y#naznu>0:4`<]9%l~k }f.eo4+tc'{zex!lotlw8186n2_;#j|i.sd,ci6)zm%y|cz}/bmvjq:268l0Y=!hrg,qb*ak8'xo#~ats-`kphs4?4:j6[?/fpe*w`(oe:%~i!}povq+firf}6<2e:W3+bta&{l$ka>!re-qtkru'je~byQ?1d9V4*aun'xm#jb?.sf,vuhsz&idyczP10g8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_33f?P6(o{l%~k!hl1,q`*twf}x$ob{at^12a>S7'nxm"h gm2-va)uxg~y#naznu]75`=R8&myj#|i/fn3*wb(zyd~"m`uov\14c<]9%l~k }f.eo4+tc'{zex!lotlw[37b3\:$kh!rg-dh5(ul&x{by| cnwmpZ16m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY?:;1^<"i}f/pe+bj7&{n$~}`{r.alqkrXl86;2?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?31?01?P6(o{l%~k!hl1,q`*twf}x$ob{at^f28785:2_;#j|i.sd,ci6)zm%y|cz}/bmvjqYc9595>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<2;>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?1;453\:$kh!rg-dh5(ul&x{by| cnwmpZb64?49>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=191239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>;:77<]9%l~k }f.eo4+tc'{zex!lotlw[a7X8;;0Y=!hrg,qb*ak8'xo#~ats-`kphsWm;T=??4U1-dvc(un&mg<#|k/srmpw)dg|dSi?P2338Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3\777<]9%l~k }f.eo4+tc'{zex!lotlw[a7X<;;0Y=!hrg,qb*ak8'xo#~ats-`kphsWm;T9??4U1-dvc(un&mg<#|k/srmpw)dg|dSi?P6338Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3\377<]9%l~k }f.eo4+tc'{zex!lotlw[a7X0;>0Y=!hrg,qb*ak8'xo#~ats-`kphsWge<=>>3g9V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Snw30?1e?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,IdbcWmcmjR~ats]seaYflm:;<=Qly=3=7c=R8&myj#|i/fn3*rt(o~kx"j~i.vpsb*KflmUoekhPpovq[ugcWhno<=>?_b{?6;5a3\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(EhnoSigif^rmpwYwimUjhi>?01]`}959;o1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[f;<79m7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Ydq5?5?k5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567Wjs7:3=i;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Uhu1913g9V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Snw38?1e?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,IdbcWmcmjR~ats]seaYflm:;<=Qly=;=04=R8&myj#|i/fn3*rt(o~kx"j~i.vpsb*KflmUoekhPpovq[ugcWhno<=>?_mww8469<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[iss484?:6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xd|~7=3QFNW]305=R8&myj#|i/fn3*rt(o~kx"j~i.vpsb*KflmUoekhPpovq[ugcWhno<=>?_mww878382_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\hpr;;7>;7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yk}}6?29>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vf~x1;1419V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sa{{<7<74>S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pltv?3;273\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(EhnoSigif^rmpwYwimUjhi>?01]oqq:?6=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5358<5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567Wqey0<>1419V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sua}<0<74>S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pxnp?6;273\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(EhnoSigif^rmpwYwimUjhi>?01]{kw:46=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Z~hz5>58=5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567Wqey080;0:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:Ttb|36?63?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,IdbcWmcmjR~ats]seaYflm:;<=Qwos>4:16<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^zlv9>9<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[}iu4048<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwim6:<378m7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvfl5=5>k5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhn743S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae]16`=R8&myj#|i/fn3*rt(o~kx"j~i.vpsb*bnnoU{by|Pp`f\77c<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[14b3\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Z35m2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaY1:l1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&nbjkQnup\tdbX?;o0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcW18n7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvflV3846[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>24;503\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Zgcl9:;<1?1369V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|ljPaef3456;:79<7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvflVkoh=>?0=1=72=R8&myj#|i/fn3*rt(o~kx"j~i.vpsb*bnnoU{by|Pp`f\eab789:783=8;T2,cw`)zo%l`= xr.etev(`xo$|~}h dhde[uhszVzjhRokd1234939;>1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&nbjkQnup\tdbXimn;<=>36?14?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,`l`aWyd~R~nd^cg`56785=5?:5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhnTmij?012?<;503\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Zgcl9:;<1712`9V4*aun'xm#jb?.vp,crgt&nzm"z|f.rqkbYa}efTe><4U1-dvc(un&mg<#y}/fubw+awn'}y|k!rne\bpjkW`Ufyu>?0217?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,twi`Wog`RgPmtz34556=:>0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%{~biPftno[lYj}q:;<>?7399V4*aun'xm#jb?.vp,crgt&nzm"z|f.rqkbYa}efTeRczx12374>X[^:8>6[?/fpe*w`(oe:%{!hw`q-cu`){zm#}|`g^dvhiYnWge<=>>389V4*aun'xm#jb?.vp,crgt&nzm"z|f.rqkbYa}efTeR``t12354YNF_U;>45Z0.eqb+ta'nf;"z| gvcp*rus{&i:#no}rxlfp969:01^<"i}f/pe+bj7&~x$kzo|.vqww*e6'jky~t`jt=3=6<=R8&myj#|i/fn3*rt(o~kx"z}{s.a2+fguzpdnx1<1289V4*aun'xm#jb?.vp,crgt&~y"m>/bcqv|hb|595>k5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#jczx/en_5[)od;%a</fov|+ajS;W%k`}!mr0e?P6(o{l%~k!hl1,tv*apiz$|y} c0-dip~)odQ8Q#ibs/op6c=R8&myj#|i/fn3*rt(o~kx"z}{s.a2+bkrp'mfW9S!glq-iv443\:$kh!rg-dh5(pz&m|m~ xsuq,g4)q95:5>>5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#{?31?00?P6(o{l%~k!hl1,tv*apiz$|y} c0-u5949::1^<"i}f/pe+bj7&~x$kzo|.vqww*e6';7?3<<;T2,cw`)zo%l`= xr.etev(p{}y$o?000a?P6(o{l%~k!hl1,tv*apiz$|y} c0-u5Z7Xign;<=>>2c9V4*aun'xm#jb?.vp,crgt&~y"m>/w3\6Zgil9:;<<o5Z0.eqb+ta'nf;"z| gvcp*rus{&i:#{?P4^cm`56788827X> gsd-vc)`d9$|~"ixar,twqu(k;%hm|vndv?4;4>3\:$kh!rg-dh5(pz&m|m~ xsuq,g7)di{xrbhz31?0:?P6(o{l%~k!hl1,tv*apiz$|y} c3-`ewt~fl~7>3<6;T2,cw`)zo%l`= xr.etev(p{}y$o?!laspzj`r;;78m7X> gsd-vc)`d9$|~"ixar,twqu(k;%laxv!glY3Y+aj9'g:>k5Z0.eqb+ta'nf;"z| gvcp*rus{&i9#jczx/en_4[)ody%a~ gsd-vc)`d9$|~"ixar,twqu(k;%}=1?1229V4*aun'xm#jb?.vp,crgt&~y"m=/w3?6;443\:$kh!rg-dh5(pz&m|m~ xsuq,g7)q9595>>5Z0.eqb+ta'nf;"z| gvcp*rus{&i9#{?34?0a?P6(o{l%~k!hl1,tv*apiz$|y} c3-u5Z6Xign;<=>>2c9V4*aun'xm#jb?.vp,crgt&~y"m=/w3\5Zgil9:;<<o5Z0.eqb+ta'nf;"z| gvcp*rus{&i9#{?P3^cm`567888i7X> gsd-vc)`d9$|~"ixar,twqu(k;%}=R:Paof34566:91^<"i}f/pe+bj7&~x$kzo|.vqww*ehey;9<6[?/fpe*w`(oe:%{!hw`q-svrt'jef|?<7;T2,cw`)zo%l`= xr.etev(p{}y$~lcPftno[cdXa;?0Y=!hrg,qb*ak8'}y#jyns/uppv)uidUmyabPi3f8Q5)`zo$yj"ic0/uq+bqf{'}xx~!}al]eqijXaVg~t=>?03g8Q5)`zo$yj"ic0/uq+bqf{'}xx~!}al]eqijXaVg~t=>?003g?P6(o{l%~k!hl1,tv*tfeV}ySh`Pi03e?P6(o{l%~k!hl1,tv*tfeV}ySh`Pi0]266=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}8?7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{1368Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkr5:=1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~by==4:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmp1433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d9?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov561=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}=986[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at907?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphs1;30Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPcx>3:7e<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2?>^pw6<=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1?12b9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5;5Sz=9:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4;49o6[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az878Xz}827X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?7;4d3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw33?]qp7?<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2;>3a8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6?2R|{289V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5?5>n5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}939W{~956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8385k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<7<\vq4>3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw37?0`?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7;3Q}t3;8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp632?m4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\g|:?6Vx>l5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]{kw:76;k0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPxnp?5;4f3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSua}<3<1e>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vrd~1=12`9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{6?2?o4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\|jt;=78j7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8385i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=5=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc27>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx75311g9V4*aun'xm#jb?.vp,suhsz&idycz31?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=0=5c=R8&myj#|i/fn3*rt(yd~"m`uov?7;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9299o1^<"i}f/pe+bj7&~x${}`{r.alqkr;=7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5<5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~7;3?i;T2,cw`)zo%l`= xr.usjqt(kfex1611g9V4*aun'xm#jb?.vp,suhsz&idycz39?3f?P6(o{l%~k!hl1,tv*qwf}x$ob{at^22a>S7'nxm"h gm2-sw)pxg~y#naznu]25`=R8&myj#|i/fn3*rt(yd~"m`uov\64c<]9%l~k }f.eo4+qu'~zex!lotlw[67b3\:$kh!rg-dh5(pz&}{by| cnwmpZ26m2_;#j|i.sd,ci6){%||cz}/bmvjqY29l1^<"i}f/pe+bj7&~x${}`{r.alqkrX>8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW>;n7X> gsd-vc)`d9$|~"ynup,gjsi|V2:i6[?/fpe*w`(oe:%{!xpovq+firf}U2>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<2?>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3?5;453\:$kh!rg-dh5(pz&}{by| cnwmpZb64;49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=1=1239V4*aun'xm#jb?.vp,suhsz&idyczPd0>7:74<]9%l~k }f.eo4+qu'~zex!lotlw[a7;=7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn:0;0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk1=5=67=R8&myj#|i/fn3*rt(yd~"m`uov\`4:?6;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;753<>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_102?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[4463\:$kh!rg-dh5(pz&}{by| cnwmpZb6W;8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S><>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_502?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[0463\:$kh!rg-dh5(pz&}{by| cnwmpZb6W?8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S:<>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_902?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[<453\:$kh!rg-dh5(pz&}{by| cnwmpZb54949>6[?/fpe*w`(oe:%{!xpovq+firf}Uo>1?1239V4*aun'xm#jb?.vp,suhsz&idyczPd3>1:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;;7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn9090=2:W3+bta&{l$ka>!ws-ttkru'je~byQk2=7=67=R8&myj#|i/fn3*rt(yd~"m`uov\`7:16;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm87;3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj=<9<16>S7'nxm"h gm2-sw)pxg~y#naznu]g69?9:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl;U;><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?Q>209V4*aun'xm#jb?.vp,suhsz&idyczPd3]164=R8&myj#|i/fn3*rt(yd~"m`uov\`7Y4:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl;U?><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?Q:209V4*aun'xm#jb?.vp,suhsz&idyczPd3]564=R8&myj#|i/fn3*rt(yd~"m`uov\`7Y0:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl;U3><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?Q6259V4*aun'xm#jb?.vp,suhsz&idyczPnnv34576?2_;#j|i.sd,i`k(lfSd2?>0:8Q5)`zo$yj"cjm.flqqYn48:5=55Z0.eqb+ta'dof#iazt^k?548602_;#j|i.sd,i`k(lfSd2>2?3;?P6(o{l%~k!bel-gkprXa5;82<64U1-dvc(un&gna"j`uu]j8429911^<"i}f/pe+hcj'me~xRg314<2<>S7'nxm"h mdo,`jssW`6::3?7;T2,cw`)zo%fi`!kotv\m9706820Y=!hrg,qb*kbe&ndyyQf<0:=5==R8&myj#|i/lgn+air|Vc7=40>7:W3+bta&{l$ahc dnww[l:66820Y=!hrg,qb*kbe&ndyyQf<32=5==R8&myj#|i/lgn+air|Vc7><0>8:W3+bta&{l$ahc dnww[l:5:7;37X> gsd-vc)jmd%ocxzPi=00:4><]9%l~k }f.ofi*bh}}Ub0?:1199V4*aun'xm#`kb/emvpZo;:<4:46[?/fpe*w`(elg$hb{{_h>12;7?3\:$kh!rg-nah)cg|~Te1<8>0:8Q5)`zo$yj"cjm.flqqYn4;25=55Z0.eqb+ta'dof#iazt^k?6<86?2_;#j|i.sd,i`k(lfSd2=>0:8Q5)`zo$yj"cjm.flqqYn4::5=55Z0.eqb+ta'dof#iazt^k?748602_;#j|i.sd,i`k(lfSd2<2?3;?P6(o{l%~k!bel-gkprXa5982<64U1-dvc(un&gna"j`uu]j8629911^<"i}f/pe+hcj'me~xRg334<23>S7'nxm"h mdo,`jssW`682<94U1-dvc(un&gna"j`uu]j8186?2_;#j|i.sd,i`k(lfSd2:>058Q5)`zo$yj"cjm.flqqYn4?4:;6[?/fpe*w`(elg$hb{{_h>4:41<]9%l~k }f.ofi*bh}}Ub050>7:W3+bta&{l$ahc dnww[l:>68<0Y=!hrg,qb*kbe&ndyyQf_135?P6(o{l%~k!bel-gkprXaV;:;6[?/fpe*w`(elg$hb{{_h]2441<]9%l~k }f.ofi*bh}}UbS7:W3+bta&{l$ahc dnww[lY6:8=0Y=!hrg,qb*kbe&ndyyQf_0123>S7'nxm"h mdo,`jssW`U:8<94U1-dvc(un&gna"j`uu]j[436?2_;#j|i.sd,i`k(lfSdQ>6058Q5)`zo$yj"cjm.flqqYnW8=:;6[?/fpe*w`(elg$hb{{_h]2<41<]9%l~k }f.ofi*bh}}UbS<7>6:W3+bta&{l$ahc dnww[lY59>1^<"i}f/pe+hcj'me~xRgP2134?P6(o{l%~k!bel-gkprXaV8:=:5Z0.eqb+ta'dof#iazt^k\67703\:$kh!rg-nah)cg|~TeR<<169V4*aun'xm#`kb/emvpZoX:=;<7X> gsd-vc)jmd%ocxzPi^0652=R8&myj#|i/lgn+air|VcT>;?8;T2,cw`)zo%fi`!kotv\mZ409>1^<"i}f/pe+hcj'me~xRgP2934?P6(o{l%~k!bel-gkprXaV82=;5Z0.eqb+ta'dof#iazt^k\741<]9%l~k }f.ofi*bh}}UbS>>>7:W3+bta&{l$ahc dnww[lY498=0Y=!hrg,qb*kbe&ndyyQf_2023>S7'nxm"h mdo,`jssW`U8?<94U1-dvc(un&gna"j`uu]j[626?2_;#j|i.sd,i`k(lfSdQ<5048Q5)`zo$yj"cjm.flqqYnW=;=7X> gsd-vc)jmd%ocxzPi^722>S7'nxm"h mdo,`jssW`U==;5Z0.eqb+ta'dof#iazt^k\340<]9%l~k }f.ofi*bh}}UbS5?9;T2,cw`)zo%fi`!kotv\mZ?612_;#j|i.sd,i`k(lfS`kb<1<2e>S7'nxm"h mdo,`jssWdof0<>11`9V4*aun'xm#`kb/emvpZkbe5;:2 gsd-vc)jmd%ocxzPmdo?5686i2_;#j|i.sd,i`k(lfS`kb<06=5d=R8&myj#|i/lgn+air|Vgna1?:>0c8Q5)`zo$yj"cjm.flqqYjmd6::3?n;T2,cw`)zo%fi`!kotv\i`k;9>4:m6[?/fpe*w`(elg$hb{{_lgn84>99h1^<"i}f/pe+hcj'me~xRcjm=3::4?<]9%l~k }f.ofi*bh}}Ufi`2>>0c8Q5)`zo$yj"cjm.flqqYjmd69<3?n;T2,cw`)zo%fi`!kotv\i`k;:84:m6[?/fpe*w`(elg$hb{{_lgn87499h1^<"i}f/pe+hcj'me~xRcjm=00:4g<]9%l~k }f.ofi*bh}}Ufi`2=4?3b?P6(o{l%~k!bel-gkprXelg7>80>a:W3+bta&{l$ahc dnww[hcj4;<5=l5Z0.eqb+ta'dof#iazt^ofi94068k0Y=!hrg,qb*kbe&ndyyQbel>1<;7f3\:$kh!rg-nah)cg|~Tahc328<2=>S7'nxm"h mdo,`jssWdof0?0>a:W3+bta&{l$ahc dnww[hcj4::5=l5Z0.eqb+ta'dof#iazt^ofi95668k0Y=!hrg,qb*kbe&ndyyQbel>06;7f3\:$kh!rg-nah)cg|~Tahc332<2e>S7'nxm"h mdo,`jssWdof0>:11`9V4*aun'xm#`kb/emvpZkbe59>2<74U1-dvc(un&gna"j`uu]nah:46830Y=!hrg,qb*kbe&ndyyQbel>7:4?<]9%l~k }f.ofi*bh}}Ufi`2:>0;8Q5)`zo$yj"cjm.flqqYjmd6=2<74U1-dvc(un&gna"j`uu]nah:06830Y=!hrg,qb*kbe&ndyyQbel>;:4?<]9%l~k }f.ofi*bh}}Ufi`26>668Q5)`zo$yj"cjm.eai+aeen$ln`in.oefgf(een%i`fQbel]dakcui}ey#{ocie,`wqt(zhggcb~T0\,qeh(u'z9Tbbgaiu,qeh)cx{kf"i~>8y15*wgj9k1^<"i}f/pe+hcj'}g{Sob_sf\ak7d3\:$kh!rg-nah)seyUym`Q}d^gm541<]9%l~k }f.pbiZtbofSh`>d:W3+bta&{l$~~zmlj-q`Ztt|Vkx~hi=0:W3+bta&{l$~~zmlj-q`Ztt|Vkx~hiPd003?P6(o{l%~k!}su`oo*tcW{ySl}}ef]g64e<]9%l~k }f.pppgjl'{nT~~zPcnoa5a=R8&myj#|i/sqwfim(zmUyyQlol`25`=R8&myj#|i/sqwfim(zmUyyQ}ef>3:4c<]9%l~k }f.pppgjl'{nT~~zPrde?5;7b3\:$kh!rg-qwqdkc&xoS}{_sgd8786l2_;#j|i.sd,vvredb%yhR||t^pfcZ66l2_;#j|i.sd,vvredb%yhR||t^pfcZ76l2_;#j|i.sd,vvredb%yhR||t^pfcZ46l2_;#j|i.sd,vvredb%|~R||t^cpv`a582_;#j|i.sd,vvredb%|~R||t^cpv`aXl88;7X> gsd-vc)u{}hgg"y}_sqw[duumnUo>5XECa8SWOSMVGDHHQNc:UQMQCXEFNNSOj4WSKWAZQNL]BTMi5XRHVF[ROC\AUI=i5WIMKM\(^CJ):%=-][UC"3*4&F[JCB96V@RB[5?]USD@H<7U][_FLG3>^T\V\HOo5W_BMQAZOINF<0TilPIed8\anXX{cfZh||inl24>^ceVGjfb|Yesqjkk773QnfS@gaosTfvvohfj1j``a|t^gntqe3hffc~zPftno2>dfkb{h6lncjws[hguclx87nbdd:fbpdYdg|d$='k;ecweZeh}g~#=$j4d`vb[firf}"9%i5kauc\gjsi|!9"h6jnt`]`kphs =#o7io{a^alqkr/= n0hlzn_bmvjq.1!m1omyoPcnwmp-1.l2njxlQlotlw,=/c3mkmRm`uov+=,`:>5803mhbxh|}6:fjj-6.>2nbb%?&7:fjj-77!>1oec&>1(58`lh/9;#<7iga(01*3>bnf!;?%:5kio*21,12nbb%<&6:fjj-5.>2nbb%:&6:fjj-3.>2nbb%8&6:fjj-1.>2nbb%6&6:fjj-?.>2nbb1>17:fjj9776>1oec2>1?58`lh;9;4<7iga<01=3>bnf5;?2:5kio>21;14=7iga<9<5?aoi404<7iazt)2*3>bh}}":%55kotv+55/?3me~x%?>)99gkpr/9;#37iazt)30-==cg|~#=9'7;emvp-72!11ocxz'17+;?air|!;<%55kotv+5=/?3me~x%?6)69gkpr/: 20hb{{(32*<>bh}}"9=$64dnww,74.02ndyy&=3(:8`jss ;>"46j`uu*11,>bh}}"95$94dnww,6/?3me~x%=?)99gkpr/;8#37iazt)11-==cg|~#?>'7;emvp-53!11ocxz'34+4?air|!>";6j`uu*6-2=cg|~#:$94dnww,2/03me~x%6&7:flqq.>!>1ocxz30?:8`jss48:546j`uu>25;>bh}}6:9364dnww840902ndyy2>7?:8`jss482546j`uu>2=;199gkpr;:<437iazt=05:==cg|~7>:07;emvp94?611ocxz328<4?air|58546j`uu>04;>?18:flqq:4:720hb{{<21=<>bh}}6883o4dnww863=8720hb{{<27=3>bh}}682:5kotv?0;169gkpr;07=0hb{{<8<;?`bnn;dlh85jmqvz6c=aaoeTkh`jr`vlvZp1W8&+Tdbfny"@KWC'Oldn~lz`r!31*47d3ocmcRvcny]657~4>V8h`fQ>8um026g`nnfUs`cvP500{73Y5keaT=5z`37.emciXoldn~lz`r^t5[4*|kVbjRgat^aoo86+kVbjR}}su?3(fYulVlyi|3>,b]fjddkmVxxxR}vnb?2(fYoizUyhRjnt`]`kphs59&hSiga_vkgpm;60%iTdl}Pws]geqgXkfex0>#c^dvhiYadhmxS}{_wco95*dW`g{`hcjnucwmjhX|pzn1?"l_tqf[`kemmnnhR|jg<2/gZquWoxn}0?#c^wpaZbh}}Uyy3>,b]vjacunee|Saax=1.`[mgtWf|n~kb`w<2/gZvumeejhRbntdl`}86+kVndyyQxievk960+kVgxkb`Pv`n>5)eXzmUoi}zg=431(fYbz{eySd`eebvjkkYsqyo6#c^jbwZgkefySk{cl<2/gZnf{Vxxx0?#c^fbpdYdg|dSzgkti?24)eX`hyT{Qncj?3(fYr{lUnon3?,b]`khkhfVigcne20-a\swYfkbUgcz3?,b]q`Zvi|{U|eizg=8.`[pubWo}mxRjnt`]`kphs59&hSeo|_`nnkvrXmdzu0>#c^pg[agsiVidyczPwhfwl8?+kVe}ihcov]okr;7$jU|~R~ats]tmaro58:'oR~}of]fiur~W}s{i0>#c^uq[agsiVidyczPwhfwl877$jU{~hb`ae]qabu:9%iThb{{_sqw[sgk59&hSeo|_ecweZeh}g~6005/gjkwggoexR`nmd?emciXpedsS8?=x24\6fjlW82c>8#c^tbhlbXdf}6ky3;(fYwzfmTjxbc_u{sa87+kVgnab|v_u{sa87+u:<0jdh`_ynm|Z36:q9=S?mck^3;pj51WocmcRijndpbpjtX~?U:Su}{_068bpjkl2cefhm{dckwawtc3`dainz|bhvfvw14:rqkbYbey~rSyf}erj+4,733yxdkRkbpu{\pmtb{a":%<:4psmd[`kw|pUdk|h)0*51=wzfmTi`~{y^vkv`uo :#:86~}of]fiur~W}byi~f'4(37?uthoVof|ywPtipfwm.2!8>0|ah_dosp|Ys`{oxd%8&159svjaXmdzuRzgrdqk,2/6<2zycjQjmqvz[qnumzb#4$?9;qplcZcjx}sTxe|jsi>;>586j2zycjQjmqvz[qnumzbTm~}jru*3-4dvugnUna}zv_ujqavnXizyn~y&=)0`8twi`Wlg{xtQ{hsgplZgt{lx$>'>b:rqkbYbey~rSyf}erj\evubz}"?%vugnUna}zv_ujqavnXflmjxh&>)0`8twi`Wlg{xtQ{hsgplZhboh~n$?'>b:rqkbYbey~rSyf}erj\j`af|l"8%vugnUna}zv_ujqavnXflmjxh27:1<:?uthoVl~`a?<;qplcZ`rdeUdk|h)2*56=wzfmTjxbc_ujqavn/9 ;87}|`g^dvhiYs`{oxd%<&129svjaXn|fgSyf}erj+7,743yxdkRhzlm]wlwct`!>"=>5rne\bpjkW}byi~f'5(30?uthoVl~`aQ{hsgpl-0.9:1{~biPftno[qnumzb#;$?<;qplcZ`rdeUdk|h):*56=wzfmTjxbc_ujqavn/1 ;>7}|`g^dvhiYs`{oxd1750?3b?uthoVl~`aQ{hsgplZgt{lx$='>a:rqkbYa}efTxe|jsi]bwvcu|!;"=l5rne\bpjkW}byi~fParqfvq.5!8k0|ah_gwohZrozlycSl}|esv+7,7f3yxdkRhzlm]wlwct`Vkxh|{(5+2e>vugnUmyabPtipfwmYf{zoyx%;&1`9svjaXn|fgSyf}erj\evubz}"=%vugnUmyabPtipfwmYimnki%>&1`9svjaXn|fgSyf}erj\j`af|l":%#:m6~}of]eqijX|axneQaefcwa->.9h1{~biPftno[qnumzbTbhintd*:-4etcWjf`==5}d^fbpdYdg|d$='>0:pg[agsiVidycz'1(33?wbXlh~jSnaznu*1-464ws]geqgXkfex%?&119tvZbf|hUhcx`{(3+24>quWmkmRm`uov+7,773~xThlzn_bmvjq.3!8:0{Qkauc\gjsi|!?"==5xr^fbpdYdg|d$;'>0:uq[agsiVidycz'7(33?rtXlh~jSnaznu*;-46<{UomyoPcnwmp-?.9;1|~Rjnt`]`kphs400;285xr^gm2>quW{yqMNc3g8DE~62O0?63>><6s\4e87`<o8lc;0ff13:0yP0c<3l0036<==b7a`>7ce9k1}X<6m:182>4<6ihqX8k4;d88;>455j?ih6?km1c9'01?=9;o0Z9;8:3yv561=92:?54?;|&23c<612h?hn4?:2g97?5bsA>?;6T;5;0x5=<693w/=4>54ea8 1322=ni7d;<3;29?j37=3:17d;;8;29?j2b83:17b:ka;29?l34k3:17d;<5;29?j2fl3:1(<6>:5f3?k7?83:07b:nc;29 4>62=n;7c?70;38?j2fj3:1(<6>:5f3?k7?83807b:na;29 4>62=n;7c?70;18?j2f13:1(<6>:5f3?k7?83>07b:n8;29 4>62=n;7c?70;78?j2f>3:1(<6>:5f3?k7?83<07b:n5;29 4>62=n;7c?70;58?j2f<3:1(<6>:5f3?k7?83207b:n3;29 4>62=n;7c?70;;8?j2f:3:1(<6>:5f3?k7?83k07b:n1;29 4>62=n;7c?70;`8?j2f83:1(<6>:5f3?k7?83i07b:6f;29 4>62=n;7c?70;f8?j2>m3:1(<6>:5f3?k7?83o07b:6d;29 4>62=n;7c?70;d8?j2>j3:1(<6>:5f3?k7?83;;76a;9`83>!7?93>o<6`>81825>=h<031<7*>8087`5=i91:1=?54o5;;>5<#91;18i>4n0:3>45<3f>2;7>5$0:2>1b73g;3<7?;;:m7=3<72-;3=7:k0:l2<5<6=21d84;50;&2<4<3l91e=5>51798k1?3290/=5?54e28j4>728=07b:63;29 4>62=n;7c?70;3;?>i31;0;6)?71;6g4>h6090:565`4c194?"6080?h=5a19295d=d:9l0d`=83.:4<4;d19m5=6=9l10c9oj:18'5=7=:5f3?k7?838;76a;9b83>!7?93>o<6`>81815>=h<0;1<7*>8087`5=i91:1>?54o5;3>5<#91;18i>4n0:3>75<3`><87>5$0:2>1>23g;3<7>4;h647?6=,82:696:;o3;4?7<3`><>7>5$0:2>1>23g;3<7<4;h645?6=,82:696:;o3;4?5<3`><<7>5$0:2>1>23g;3<7:4;h65b?6=,82:696:;o3;4?3<3`>=i7>5$0:2>1>23g;3<784;h65`?6=,82:696:;o3;4?1<3`>5$0:2>1>23g;3<764;h64f?6=,82:696:;o3;4??<3`>5$0:2>1>23g;3<7o4;h64=?6=,82:696:;o3;4?d<3`><47>5$0:2>1>23g;3<7m4;h643?6=,82:696:;o3;4?b<3`><:7>5$0:2>1>23g;3<7k4;h641?6=,82:696:;o3;4?`<3`>=o7>5$0:2>1>23g;3<7??;:k72g<72-;3=7:75:l2<5<6921b9?950;9a01>=83;1<7>tH564?!7>83>?46a>7d83>>{el00;6<4?:1yK011<,83;6i74oe:94?=zj=>1<7o9:04f>4gfsA>?;6T;5;357?=:109m7j5a;`9g?7?28;1>o4j:e8f>4>=:k0957?>:b8a>d<5i3836p*>9187`c=#<10?hi5+4d87``=#9>k1=:j4i5d:>5<#91;18ko4n0:3>5=5<#91;18ko4n0:3>7=54i5d6>5<#91;18ko4n0:3>1=5<#91;18ko4n0:3>3=5<#91;18ko4n0:3>==5<5<5<#91;18k>4n0:3>4=5<#91;18k>4n0:3>6=5<#91;18k>4n0:3>0=5<#91;18k>4n0:3>2=5<6=44i420>5<#91;19=:4n0:3>5=5<#91;19=:4n0:3>7=54i5de>5<#91;19=:4n0:3>1=5<#91;19=:4n0:3>3=5<#91;19=:4n0:3>==5<#91;18;74n0:3>5=5<#91;18;74n0:3>7=6=4+193903?54o547>5<#91;18;74n0:3>1=5<#91;18;74n0:3>3=5<#91;18;74n0:3>==5<36=44i42e>5<#91;19<>4n0:3>5=5<#91;19<>4n0:3>7=54i42a>5<#91;19<>4n0:3>1=5<#91;19<>4n0:3>3=5<#91;19<>4n0:3>==5<5<5<#91;195=5<#91;197=54i435>5<#91;191=6=4+193914d5<#91;193=5<#91;19==5<#91;19?84n0:3>5=5<#91;19?84n0:3>7=54i402>5<#91;19?84n0:3>1=5<#91;19?84n0:3>3=5<#91;19?84n0:3>==5<5<26=44o415>5<5<5<#91;18i>4n0:3>4=5<#91;18i>4n0:3>6=5<#91;18i>4n0:3>0=5<#91;18i>4n0:3>2=5<#91;18i>4n0:3><=5<#91;18i>4n0:3>g=5<#91;18i>4n0:3>a=5<#91;18i>4n0:3>c=4;n6:e?6=,82:69j?;o3;4?7632e?544?:%3;5?2c82d:4=4>2:9l0<>=83.:4<4;d19m5=6=9:10c978:18'5=7=>3:1(<6>:5f3?k7?83;>76a;9483>!7?93>o<6`>81822>=h<0>1<7*>8087`5=i91:1=:54o5;0>5<#91;18i>4n0:3>4><3f>2>7>5$0:2>1b73g;3<7?6;:m7f6<72-;3=7:k0:l2<5<6i21d8o<50;&2<4<3l91e=5>51c98k1d6290/=5?54e28j4>728i07b:m0;29 4>62=n;7c?70;3g?>i3io0;6)?71;6g4>h6090:i65`4`g94?"6080?h=5a19295c=4;n6:g?6=,82:69j?;o3;4?4632e?5<4?:%3;5?2c82d:4=4=2:9l0<6=83.:4<4;d19m5=6=::10e99;:18'5=7=<1?0b<6?:198m114290/=5?54978j4>72810e99=:18'5=7=<1?0b<6?:398m116290/=5?54978j4>72:10e99?:18'5=7=<1?0b<6?:598m10a290/=5?54978j4>72<10e98j:18'5=7=<1?0b<6?:798m10c290/=5?54978j4>72>10e99l:18'5=7=<1?0b<6?:998m11e290/=5?54978j4>72010e99n:18'5=7=<1?0b<6?:`98m11>290/=5?54978j4>72k10e997:18'5=7=<1?0b<6?:b98m110290/=5?54978j4>72m10e999:18'5=7=<1?0b<6?:d98m112290/=5?54978j4>72o10e98l:18'5=7=<1?0b<6?:028?l21j3:1(<6>:5:6?k7?83;:76g;5b83>>i2;90;6)?71;706>h6090;76a:2g83>!7?93?8>6`>8182?>i2:l0;6)?71;706>h6090976a:2e83>!7?93?8>6`>8180?>i2:j0;6)?71;706>h6090?76a:2c83>!7?93?8>6`>8186?>i2:h0;6)?71;706>h6090=76a:2883>!7?93?8>6`>8184?>i2:10;6)?71;706>h6090376a:4783>!7?93??;6`>8183?>i2<<0;6)?71;773>h6090:76a:4583>!7?93??;6`>8181?>i2<:0;6)?71;773>h6090876a:4383>!7?93??;6`>8187?>i2<80;6)?71;773>h6090>76a:4183>!7?93??;6`>8185?>i2;o0;6)?71;773>h6090<76a:3d83>!7?93??;6`>818;?>i2;m0;6)?71;773>h6090276a;e783>>o3m80;66a;6`83>>o2:>0;66a:3883>>d3=:0;6<4?:1y'5<6=l01C88<4H564?jb?2900qo::4;295?6=8r.:5=4;499K004<@=><7b?8e;29?xd5i80;694?:1y'5<6=l:1C88<4H564?!c02>1b8;4?::k64?6=3`;3>7>5;n3;7?6=3th8944?:583>5}#90:1h<5G4408L1203-o<6?5f4783>>o3k3:17d;?:188k4>42900qo=:8;290?6=8r.:5=4k1:J717=O<==0(h952:k72?6=3`>h6=44i4294?=h9191<75rb517>5<4290;w)?60;f3?M22:2B?8:5G429'563==:20(h952:k72?6=3`?;6=44o0:0>5<8j7>53;294~"6190o<6F;539K011<@=90(<=::41;?!c02;1b8;4?::k64?6=3f;3?7>5;|`776<72:0;6=u+1829`5=O<<80D9:8;I60?!74=3?846*j7;08m10=831b9=4?::m2<6<722wi8>j50;794?6|,83;6i:4H571?M23?2B??6*>34867==n42900qo:05?3-o<6?5f4783>>o283:17b?73;29?xd3;;0;684?:1y'5<6=l=1C88<4H564?M243-;897;<8:k72?6=3`><6=44i4294?=n9181<75`19194?=zj=9h6=4;:183!7>83n87E::2:J702=#m>0<7d:9:188m06=831b=5<50;9l5=5=831vn9=m:187>5<7s-;2<7j<;I666>N3<>1/i:48;h65>5<5<3290;w)?60;f0?M22:2B?8:5+e684?l212900e8>50;9j5=4=831d=5=50;9~f122290?6=4?{%3:4?b43A>>>6F;469'a2<03`>=6=44i4294?=n9181<75`19194?=zj=>?6=4;:183!7>83n87E::2:J702=#m>0<7d:9:188m06=831b=5<50;9l5=5=831vn??::187>5<7s-;2<7j>;I666>N3<>1/i:4=;h65>5<>i60:0;66sm20694?2=83:p(<7?:e38L1353A>?;6*j7;08m10=831b8n4?::k64?6=3f;3?7>5;|`156<72=0;6=u+1829`4=O<<80D9:8;%g4>7=n50z&2=55;h6`>5<83n:7E::2:J702=#m>097d:9:188m1e=831b9=4?::m2<6<722wi><>50;694?6|,83;6i?4H571?M23?2.n;7<4i5494?=n1<729q/=4>5d09K004<@=><7)k8:39j03<722c?o7>5;h73>5<918g5>N3=;1C8994$d596>o3>3:17d:l:188m06=831d=5=50;9~f76c290?6=4?{%3:4?b63A>>>6F;469'a2<53`>=6=44i5a94?=n=90;66a>8283>>{e9k91<7:50;2x 4?72m;0D9;=;I673>"b?380e9850;9j0f<722c><7>5;n3;7?6=3th:n?4?:583>5}#90:1h<5G4408L1203-o<6?5f4783>>o3k3:17d;?:188k4>42900qo?m1;290?6=8r.:5=4k1:J717=O<==0(h952:k72?6=3`>h6=44i4294?=h9191<75rb0`3>5<3290;w)?60;f2?M22:2B?8:5+e681?l212900e9m50;9j15<722e:4>4?::a5d`=83>1<7>t$0;3>a7<@=?97E:;7:&f3?4>o283:17b?73;29?xd6il0;694?:1y'5<6=l81C88<4H564?!c02;1b8;4?::k7g?6=3`?;6=44o0:0>5<54;294~"6190o=6F;539K011<,l=1>6g;6;29?l2d2900e8>50;9l5=5=831vn5<7s-;2<7j>;I666>N3<>1/i:4=;h65>5<>i60:0;66sm1``94?2=83:p(<7?:e38L1353A>?;6*j7;08m10=831b8n4?::k64?6=3f;3?7>5;|`124<72=0;6=u+1829`4=O<<80D9:8;%g4>7=n50z&2=55;h6`>5<83n:7E::2:J702=#m>097d:9:188m1e=831b9=4?::m2<6<722wi>8k50;694?6|,83;6i?4H571?M23?2.n;7<4i5494?=n1<729q/=4>5d09K004<@=><7)k8:39j03<722c?o7>5;h73>5<918g5>N3=;1C8994$d596>o3>3:17d:l:188m06=831d=5=50;9~f73e290?6=4?{%3:4?b63A>>>6F;469'a2<53`>=6=44i5a94?=n=90;66a>8283>>{e:"b?380e9850;9j0f<722c><7>5;n3;7?6=3th9944?:583>5}#90:1h<5G4408L1203-o<6?5f4783>>o3k3:17d;?:188k4>42900qo?ib;290?6=8r.:5=4k1:J717=O<==0(h952:k72?6=3`>h6=44i4294?=h9191<75rb0db>5<3290;w)?60;f2?M22:2B?8:5+e681?l212900e9m50;9j15<722e:4>4?::a5c?=83>1<7>t$0;3>a7<@=?97E:;7:&f3?4>o283:17b?73;29?xd6n10;694?:1y'5<6=l81C88<4H564?!c02;1b8;4?::k7g?6=3`?;6=44o0:0>5<54;294~"6190o=6F;539K011<,l=1>6g;6;29?l2d2900e8>50;9l5=5=831vn5<7s-;2<7j>;I666>N3<>1/i:4=;h65>5<>i60:0;66sm1g794?2=83:p(<7?:e38L1353A>?;6*j7;08m10=831b8n4?::k64?6=3f;3?7>5;|`2b1<72=0;6=u+1829`4=O<<80D9:8;%g4>7=n50z&2=55;h6`>5<m6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<n6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<o6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<h6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<i6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<j6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<26=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<36=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<<6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<=6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<6=4;:183!7>83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=O<:1/=>;552:8 `1=:2c?:7>5;h6`>5<83n:7E::2:J702=#m>097d:9:188m1e=831b9=4?::m2<6<722wi=i850;694?6|,83;6i?4H571?M23?2.n;7<4i5494?=nd483>1<729q/=4>5d09K004<@=><7)k8:39j03<722c?o7>5;h73>5<918g5>N3=;1C8994$d596>o3>3:17d:l:188m06=831d=5=50;9~f4b4290?6=4?{%3:4?b63A>>>6F;469'a2<53`>=6=44i5a94?=n=90;66a>8283>>{e9m81<7:50;2x 4?72m;0D9;=;I673>"b?380e9850;9j0f<722c><7>5;n3;7?6=3th:h<4?:583>5}#90:1h<5G4408L1203-o<6?5f4783>>o3k3:17d;?:188k4>42900qo?k0;290?6=8r.:5=4k1:J717=O<==0(h952:k72?6=3`>h6=44i4294?=h9191<75rb0ae>5<3290;w)?60;f2?M22:2B?8:5+e681?l212900e9m50;9j15<722e:4>4?::a66d=83>1<7>t$0;3>a7<@=?97E:;7:&f3?4>o283:17b?73;29?xd5;h0;694?:1y'5<6=l81C88<4H564?!c02;1b8;4?::k7g?6=3`?;6=44o0:0>5<54;294~"6190o=6F;539K011<,l=1>6g;6;29?l2d2900e8>50;9l5=5=831vn?=7:187>5<7s-;2<7j>;I666>N3<>1/i:4=;h65>5<>i60:0;66sm22594?2=83:p(<7?:e38L1353A>?;6*j7;08m10=831b8n4?::k64?6=3f;3?7>5;|`173<72=0;6=u+1829`4=O<<80D9:8;%g4>7=n50z&2=55;h6`>5<83n:7E::2:J702=#m>097d:9:188m1e=831b9=4?::m2<6<722wi>>=50;694?6|,83;6i?4H571?M23?2.n;7<4i5494?=n1<729q/=4>5d09K004<@=><7)k8:39j03<722c?o7>5;h73>5<918g6>N3=;1C8994$d596>o3>3:17d:8:188m1e=831b9=4?::m2<6<722wi>i950;794?6|,83;6i<4H571?M23?2.n;7<4i5494?=n<>0;66g;c;29?l372900c<6<:188yg4c>3:197>50z&2=55;h64>5<>i60:0;66sm2e794?3=83:p(<7?:e08L1353A>?;6*j7;08m10=831b8:4?::k7g?6=3`?;6=44o0:0>5<55;294~"6190o>6F;539K011<,l=1>6g;6;29?l202900e9m50;9j15<722e:4>4?::a6a5=83?1<7>t$0;3>a4<@=?97E:;7:&f3?4>o3k3:17d;?:188k4>42900qo<6=44i5a94?=n=90;66a>8283>>{e:m:1<7;50;2x 4?72m>0D9;=;I673>"b?3=0e9850;9j02<722c><7>5;h3;6?6=3f;3?7>5;|`1`7<72<0;6=u+1829`7=O<<80D9:8;%g4>7=n50;9l5=5=831vn?m::180>5<7s-;2<7::1:J717=O<==0e9750;9j57d=831d=:m50;9~f7e329086=4?{%3:4?2292B?9?5G4558m1?=831b=?l50;9l52e=831vn?lm:187>5<7s-;2<7?<6:J717=O<==0e9750;9j17<722c:444?::m23f<722wi>n=50;194?6|,83;69;>;I666>N3<>1b844?::k26g<722e:;n4?::a6g?=83>1<7>t$0;3>4513A>>>6F;469j0<<722c>>7>5;h3;=?6=3f;5;|`1g7<72:0;6=u+1829007<@=?97E:;7:k7=?6=3`;9n7>5;n34g?6=3th9n:4?:583>5}#90:1=>84H571?M23?2c?57>5;h71>5<5<53;294~"6190?9<5G4408L1203`>26=44i00a>5<918273=O<<80D9:8;h6:>5<i1<75rb3a3>5<4290;w)?60;665>N3=;1C8994i5;94?=n9;h1<75`16a94?=zj;h86=4;:183!7>83;8:6F;539K011>o6000;66a>7b83>>{e:kl1<7=50;2x 4?72=?:7E::2:J702=n<00;66g>2c83>>i6?j0;66sm2c394?2=83:p(<7?:015?M22:2B?8:5f4883>>o2:3:17d?79;29?j70k3:17pl=bd83>6<729q/=4>54438L1353A>?;6g;9;29?l75j3:17b?8c;29?xd5io0;694?:1y'5<6=9:<0D9;=;I673>o313:17d;=:188m4>>2900c<9l:188yg4el3:1?7>50z&2=5<3=81C88<4H564?l2>2900e<379K004<@=><7d:6:188m04=831b=5750;9l52e=831vn?kn:186>5<7s-;2<7j=;I666>N3<>1/i:4=;h65>5<>o283:17b?73;29?xd5m00;684?:1y'5<6=l;1C88<4H564?!c02;1b8;4?::k73?6=3`>h6=44i4294?=h9191<75rb3g;>5<2290;w)?60;f1?M22:2B?8:5+e681?l212900e9950;9j0f<722c><7>5;n3;7?6=3th9i:4?:483>5}#90:1h?5G4408L1203-o<6?5f4783>>o3?3:17d:l:188m06=831d=5=50;9~f7c1290>6=4?{%3:4?b53A>>>6F;469'a2<53`>=6=44i5594?=n0<729q/=4>5d39K004<@=><7)k8:39j03<722c?;7>5;h6`>5<83n97E::2:J702=#m>097d:9:188m11=831b8n4?::k64?6=3f;3?7>5;|`1a6<72<0;6=u+1829`7=O<<80D9:8;%g4>7=n50;9l5=5=831vn?k=:186>5<7s-;2<7j=;I666>N3<>1/i:4=;h65>5<>o283:17b?73;29?xd5?<0;694?:1y'5<6=l:1C88<4H564?!c02>1b8;4?::k64?6=3`;3>7>5;n3;7?6=3th9;;4?:583>5}#90:1h>5G4408L1203-o<6:5f4783>>o283:17d?72;29?j7?;3:17pl=7183>1<729q/=4>5d09K004<@=><7)k8:39j03<722c?o7>5;h73>5<918g5>N3=;1C8994$d596>o3>3:17d:l:188m06=831d=5=50;9~f66629086=4?{%3:4?2292B?9?5G4558m1?=831b=?l50;9l52e=831vn>>n:180>5<7s-;2<7::1:J717=O<==0e9750;9j57d=831d=:m50;9~f7`2290?6=4?{%3:4?74>2B?9?5G4558m1?=831b9?4?::k2<<<722e:;n4?::a75?=8391<7>t$0;3>1363A>>>6F;469j0<<722c:>o4?::m23f<722wi>k:50;694?6|,83;6<=9;I666>N3<>1b844?::k66?6=3`;357>5;n34g?6=3th8<54?:283>5}#90:188?4H571?M23?2c?57>5;h31f?6=3f;5;|`1b6<72=0;6=u+1829560<@=?97E:;7:k7=?6=3`?96=44i0::>5<918714=O<<80D9:8;h6:>5<5<7>54;294~"6190:?;5G4408L1203`>26=44i4094?=n9131<75`16a94?=zj::=6=4<:183!7>83>>=6F;539K011i1<75rb3d2>5<3290;w)?60;302>N3=;1C8994i5;94?=n=;0;66g>8883>>i6?j0;66sm31794?5=83:p(<7?:572?M22:2B?8:5f4883>>o6:k0;66a>7b83>>{e:o:1<7:50;2x 4?7289=7E::2:J702=n<00;66g:2;29?l7?13:17b?8c;29?xd48=0;6>4?:1y'5<6=<<;0D9;=;I673>o313:17d?=b;29?j70k3:17pl=eg83>1<729q/=4>51248L1353A>?;6g;9;29?l352900e<66:188k41d2900qo=?3;297?6=8r.:5=4;509K004<@=><7d:6:188m44e2900c<9l:188yg4bm3:187>50z&2=5<6;?1C88<4H564?l2>2900e8<50;9j5=?=831d=:m50;9~f66529086=4?{%3:4?2292B?9?5G4558m1?=831b=?l50;9l52e=831vn?kk:187>5<7s-;2<7?<6:J717=O<==0e9750;9j17<722c:444?::m23f<722wi>hm50;694?6|,83;6<=9;I666>N3<>1b844?::k66?6=3`;357>5;n34g?6=3th8=;4?:583>5}#90:1h<5G4408L1203-o<6?5f4783>>o3k3:17d;?:188k4>42900qo=>e;290?6=8r.:5=4k1:J717=O<==0(h952:k72?6=3`>h6=44i4294?=h9191<75rb23g>5<3290;w)?60;f2?M22:2B?8:5+e681?l212900e9m50;9j15<722e:4>4?::a74e=83>1<7>t$0;3>a7<@=?97E:;7:&f3?4>o283:17b?73;29?xd49k0;694?:1y'5<6=l81C88<4H564?!c02;1b8;4?::k7g?6=3`?;6=44o0:0>5<54;294~"6190o=6F;539K011<,l=1>6g;6;29?l2d2900e8>50;9l5=5=831vn>?6:187>5<7s-;2<7j>;I666>N3<>1/i:4=;h65>5<>i60:0;66sm30:94?2=83:p(<7?:e38L1353A>?;6*j7;08m10=831b8n4?::k64?6=3f;3?7>5;|`052<72=0;6=u+1829`4=O<<80D9:8;%g4>7=n50z&2=55;h6`>5<83n97E::2:J702=#m>097d:9:188m11=831b8n4?::k64?6=3f;3?7>5;|`1=1<72=0;6=u+1829560<@=?97E:;7:k7=?6=3`?96=44i0::>5<918273=O<<80D9:8;h6:>5<i1<75rb3;1>5<3290;w)?60;302>N3=;1C8994i5;94?=n=;0;66g>8883>>i6?j0;66sm28394?2=83:p(<7?:015?M22:2B?8:5f4883>>o2:3:17d?79;29?j70k3:17pl=9183>1<729q/=4>51248L1353A>?;6g;9;29?l352900e<66:188k41d2900qo<71;290?6=8r.:5=4>379K004<@=><7d:6:188m04=831b=5750;9l52e=831vn?6?:187>5<7s-;2<7?<6:J717=O<==0e9750;9j17<722c:444?::m23f<722wi>:h50;694?6|,83;6<=9;I666>N3<>1b844?::k66?6=3`;357>5;n34g?6=3th9;h4?:583>5}#90:1=>84H571?M23?2c?57>5;h71>5<5<54;294~"6190:?;5G4408L1203`>26=44i4094?=n9131<75`16a94?=zj:>i6=4;:183!7>83;8:6F;539K011>o6000;66a>7b83>>{e;=k1<7:50;2x 4?7289=7E::2:J702=n<00;66g:2;29?l7?13:17b?8c;29?xd4<00;694?:1y'5<6=9:<0D9;=;I673>o313:17d;=:188m4>>2900c<9l:188yg5303:187>50z&2=5<6;?1C88<4H564?l2>2900e8<50;9j5=?=831d=:m50;9~f620290?6=4?{%3:4?74>2B?9?5G4558m1?=831b9?4?::k2<<<722e:;n4?::a76>=83>1<7>t$0;3>4513A>>>6F;469j0<<722c>>7>5;h3;=?6=3f;5;|`072<72=0;6=u+1829560<@=?97E:;7:k7=?6=3`?96=44i0::>5<918273=O<<80D9:8;h6:>5<i1<75rb216>5<3290;w)?60;302>N3=;1C8994i5;94?=n=;0;66g>8883>>i6?j0;66sm32694?2=83:p(<7?:015?M22:2B?8:5f4883>>o2:3:17d?79;29?j70k3:17pl0<729q/=4>5d39K004<@=><7)k8:39j03<722c?;7>5;h6`>5<83n?7E::2:J702=#m>0<7d:9:188m11=831b9=4?::k2<7<722e:4>4?::a7d2=83?1<7>t$0;3>a4<@=?97E:;7:&f3?4>o3k3:17d;?:188k4>42900qo=n6;291?6=8r.:5=4k2:J717=O<==0(h952:k72?6=3`><6=44i5a94?=n=90;66a>8283>>{e;h=1<7;50;2x 4?72m80D9;=;I673>"b?380e9850;9j02<722c?o7>5;h73>5<918g6>N3=;1C8994$d596>o3>3:17d:8:188m1e=831b9=4?::m2<6<722wi?l650;794?6|,83;6i<4H571?M23?2.n;7<4i5494?=n<>0;66g;c;29?l372900c<6<:188yg5f13:197>50z&2=55;h64>5<>i60:0;66sm3``94?3=83:p(<7?:e08L1353A>?;6*j7;08m10=831b8:4?::k7g?6=3`?;6=44o0:0>5<55;294~"6190o>6F;539K011<,l=1>6g;6;29?l202900e9m50;9j15<722e:4>4?::a7<>=83?1<7>t$0;3>a4<@=?97E:;7:&f3?4>o3k3:17d;?:188k4>42900qo=67;291?6=8r.:5=4k2:J717=O<==0(h952:k72?6=3`><6=44i5a94?=n=90;66a>8283>>{e;0?1<7;50;2x 4?72m80D9;=;I673>"b?380e9850;9j02<722c?o7>5;h73>5<918g6>N3=;1C8994$d596>o3>3:17d:8:188m1e=831b9=4?::m2<6<722wi?4850;794?6|,83;6i<4H571?M23?2.n;7<4i5494?=n<>0;66g;c;29?l372900c<6<:188yg5>:3:197>50z&2=55;h64>5<>i60:0;66sm38394?3=83:p(<7?:e08L1353A>?;6*j7;08m10=831b8:4?::k7g?6=3`?;6=44o0:0>5<55;294~"6190o>6F;539K011<,l=1>6g;6;29?l202900e9m50;9j15<722e:4>4?::a7=`=83?1<7>t$0;3>a4<@=?97E:;7:&f3?4>o3k3:17d;?:188k4>42900qo=60;291?6=8r.:5=4k4:J717=O<==0(h957:k72?6=3`><6=44i4294?=n9181<75`19194?=zj:286=4<:183!7>83>>=6F;539K011i1<75rb2:1>5<4290;w)?60;665>N3=;1C8994i5;94?=n9;h1<75`16a94?=zj:=36=4;:183!7>83;8:6F;539K011>o6000;66a>7b83>>{e;1;1<7=50;2x 4?72=?:7E::2:J702=n<00;66g>2c83>>i6?j0;66sm36494?2=83:p(<7?:015?M22:2B?8:5f4883>>o2:3:17d?79;29?j70k3:17pl<8183>6<729q/=4>54438L1353A>?;6g;9;29?l75j3:17b?8c;29?xd4?=0;694?:1y'5<6=9:<0D9;=;I673>o313:17d;=:188m4>>2900c<9l:188yg50n3:1?7>50z&2=5<3=81C88<4H564?l2>2900e<379K004<@=><7d:6:188m04=831b=5750;9l52e=831vn>9j:180>5<7s-;2<7::1:J717=O<==0e9750;9j57d=831d=:m50;9~f617290?6=4?{%3:4?74>2B?9?5G4558m1?=831b9?4?::k2<<<722e:;n4?::a72b=8391<7>t$0;3>1363A>>>6F;469j0<<722c:>o4?::m23f<722wi?;k50;694?6|,83;6<=9;I666>N3<>1b844?::k66?6=3`;357>5;n34g?6=3th8;n4?:283>5}#90:188?4H571?M23?2c?57>5;h31f?6=3f;5;|`02f<72=0;6=u+1829560<@=?97E:;7:k7=?6=3`?96=44i0::>5<918714=O<<80D9:8;h6:>5<5<54;294~"6190:?;5G4408L1203`>26=44i4094?=n9131<75`16a94?=zj:=j6=4<:183!7>83>>=6F;539K011i1<75rb24;>5<3290;w)?60;302>N3=;1C8994i5;94?=n=;0;66g>8883>>i6?j0;66sm3b294?3=83:p(<7?:e08L1353A>?;6*j7;08m10=831b8:4?::k7g?6=3`?;6=44o0:0>5<55;294~"6190o>6F;539K011<,l=1>6g;6;29?l202900e9m50;9j15<722e:4>4?::a7gc=83?1<7>t$0;3>a4<@=?97E:;7:&f3?4>o3k3:17d;?:188k4>42900qo=md;291?6=8r.:5=4k2:J717=O<==0(h952:k72?6=3`><6=44i5a94?=n=90;66a>8283>>{e;ki1<7;50;2x 4?72m80D9;=;I673>"b?380e9850;9j02<722c?o7>5;h73>5<918g6>N3=;1C8994$d596>o3>3:17d:8:188m1e=831b9=4?::m2<6<722wi?oo50;794?6|,83;6i<4H571?M23?2.n;7<4i5494?=n<>0;66g;c;29?l372900c<6<:188yg5e13:197>50z&2=55;h64>5<>i60:0;66sm3c:94?3=83:p(<7?:e08L1353A>?;6*j7;08m10=831b8:4?::k7g?6=3`?;6=44o0:0>5<55;294~"6190o>6F;539K011<,l=1>6g;6;29?l202900e9m50;9j15<722e:4>4?::a055=83?1<7>t$0;3>a3<@=?97E:;7:&f3?4>o283:17d?74;29?j7?;3:17pl;0383>0<729q/=4>5d49K004<@=><7)k8:39j03<722c?;7>5;h73>5<5<;=7>55;294~"6190o96F;539K011<,l=1>6g;6;29?l202900e8>50;9j5=2=831d=5=50;9~f167290>6=4?{%3:4?b23A>>>6F;469'a2<53`>=6=44i5594?=n=90;66g>8583>>i60:0;66sm3gd94?3=83:p(<7?:e78L1353A>?;6*j7;08m10=831b8:4?::k64?6=3`;387>5;n3;7?6=3th8jh4?:483>5}#90:1h85G4408L1203-o<6?5f4783>>o3?3:17d;?:188m4>32900c<6<:188yg5ak3:197>50z&2=55;h64>5<5<2290;w)?60;f6?M22:2B?8:5+e681?l212900e9950;9j15<722c:494?::m2<6<722wi?ko50;794?6|,83;6i;4H571?M23?2.n;7<4i5494?=n<>0;66g:0;29?l7?<3:17b?73;29?xd4n00;684?:1y'5<6=l<1C88<4H564?!c02;1b8;4?::k73?6=3`?;6=44i0:7>5<918g1>N3=;1C8994$d596>o3>3:17d:8:188m06=831b=5:50;9l5=5=831vn>h8:186>5<7s-;2<7j:;I666>N3<>1/i:4=;h65>5<>o60=0;66a>8283>>{e;o<1<7;50;2x 4?72m?0D9;=;I673>"b?380e9850;9j02<722c><7>5;h3;0?6=3f;3?7>5;|`0b0<72<0;6=u+1829`0=O<<80D9:8;%g4>7=n42900qo=i4;291?6=8r.:5=4k5:J717=O<==0(h952:k72?6=3`><6=44i4294?=n91>1<75`19194?=zj:l86=4::183!7>83n>7E::2:J702=#m>097d:9:188m11=831b9=4?::k2<1<722e:4>4?::a7c7=83?1<7>t$0;3>a3<@=?97E:;7:&f3?4>o283:17d?74;29?j7?;3:17pl0<729q/=4>5d49K004<@=><7)k8:39j03<722c?;7>5;h73>5<5<55;294~"6190o96F;539K011<,l=1>6g;6;29?l202900e8>50;9j5=2=831d=5=50;9~f6cb290>6=4?{%3:4?b23A>>>6F;469'a2<53`>=6=44i5594?=n=90;66g>8583>>i60:0;66sm3df94?3=83:p(<7?:e78L1353A>?;6*j7;08m10=831b8:4?::k64?6=3`;387>5;n3;7?6=3th8in4?:483>5}#90:1h85G4408L1203-o<6?5f4783>>o3?3:17d;?:188m4>32900c<6<:188yg5bj3:197>50z&2=55;h64>5<5<2290;w)?60;f6?M22:2B?8:5+e681?l212900e9950;9j15<722c:494?::m2<6<722wi?h750;794?6|,83;6i;4H571?M23?2.n;7<4i5494?=n<>0;66g:0;29?l7?<3:17b?73;29?xd4m10;684?:1y'5<6=l<1C88<4H564?!c02;1b8;4?::k73?6=3`?;6=44i0:7>5<918g1>N3=;1C8994$d596>o3>3:17d:8:188m06=831b=5:50;9l5=5=831vn9>7:186>5<7s-;2<7j:;I666>N3<>1/i:4=;h65>5<>o60=0;66a>8283>>{e<9=1<7;50;2x 4?72m?0D9;=;I673>"b?380e9850;9j02<722c><7>5;h3;0?6=3f;3?7>5;|`743<72<0;6=u+1829`0=O<<80D9:8;%g4>7=n42900qo:?5;291?6=8r.:5=4k5:J717=O<==0(h952:k72?6=3`><6=44i4294?=n91>1<75`19194?=zj=:?6=4::183!7>83n>7E::2:J702=#m>097d:9:188m11=831b9=4?::k2<1<722e:4>4?::a7cb=83?1<7>t$0;3>a3<@=?97E:;7:&f3?4>o283:17d?74;29?j7?;3:17pl0<729q/=4>5d49K004<@=><7)k8:39j03<722c?;7>5;h73>5<5<55;294~"6190o96F;539K011<,l=1>6g;6;29?l202900e8>50;9j5=2=831d=5=50;9~f6c1290>6=4?{%3:4?b23A>>>6F;469'a2<53`>=6=44i5594?=n=90;66g>8583>>i60:0;66sm45394?5=83:p(<7?:013?M22:2B?8:5+e682e>ocj3:17djl:188k41d2900qo:<6;297?6=8r.:5=4>319K004<@=><7)k8:0c8mad=831bhn4?::m23f<722wi><950;194?6|,83;6<=?;I666>N3<>1/i:4>e:kgf?6=3`nh6=44o05`>5<53;294~"6190:?=5G4408L1203-o<67b83>>{e9h;1<7=50;2x 4?7289;7E::2:J702=#m>0:i6gkb;29?lbd2900c<9l:188yg7f83:1?7>50z&2=5<6;91C88<4H564?!c028o0eil50;9j`f<722e:;n4?::a5<`=8391<7>t$0;3>4573A>>>6F;469'a2<6m2con7>5;hf`>5<918275=O<<80D9:8;%g4>4c>i6?j0;66sm18f94?5=83:p(<7?:013?M22:2B?8:5+e682a>ocj3:17djl:188k41d2900qo?6c;297?6=8r.:5=4>319K004<@=><7)k8:0g8mad=831bhn4?::m23f<722wi=4l50;194?6|,83;6<=?;I666>N3<>1/i:4>e:kgf?6=3`nh6=44o05`>5<53;294~"6190:?=5G4408L1203-o<67b83>>{e9031<7=50;2x 4?7289;7E::2:J702=#m>0:i6gkb;29?lbd2900c<9l:188yg7>03:1?7>50z&2=5<6;91C88<4H564?!c028o0eil50;9j`f<722e:;n4?::a5<1=8391<7>t$0;3>4573A>>>6F;469'a2<6m2con7>5;hf`>5<918275=O<<80D9:8;%g4>4c>i6?j0;66sm18794?5=83:p(<7?:013?M22:2B?8:5+e682a>ocj3:17djl:188k41d2900qo?64;297?6=8r.:5=4>319K004<@=><7)k8:0g8mad=831bhn4?::m23f<722wi=4=50;194?6|,83;6<=?;I666>N3<>1/i:4>e:kgf?6=3`nh6=44o05`>5<7>53;294~"6190:?=5G4408L1203-o<67b83>>{e90;1<7=50;2x 4?7289;7E::2:J702=#m>0:i6gkb;29?lbd2900c<9l:188yg40<3:187>50z&2=5<6;81C88<4H564?!c02jn0eil50;9j`f<722coh7>5;n34g?6=3th9=44?:583>5}#90:1=>?4H571?M23?2.n;7<:;hfa>5<>i6?j0;66sm1c594?2=83:p(<7?:012?M22:2B?8:5+e6811>ocj3:17djl:188mab=831d=:m50;9~f715290>6=4?{%3:4?74:2B?9?5G4558 `1=9k1bho4?::kgg?6=3`no6=44ieg94?=h9>i1<75rb33a>5<2290;w)?60;306>N3=;1C8994$d5965=nlk0;66gkc;29?lbc2900eik50;9l52e=831vn5<7s-;2<7?<2:J717=O<==0(h95219j`g<722coo7>5;hfg>5<83;8>6F;539K011<,l=1>?5fdc83>>ock3:17djk:188mac=831d=:m50;9~f70d290?6=4?{%3:4?7492B?9?5G4558 `1=:j1bho4?::kgg?6=3`no6=44o05`>5<53;294~"6190:?=5G4408L1203-o<67b83>>{e9kh1<7=50;2x 4?7289;7E::2:J702=#m>0:i6gkb;29?lbd2900c<9l:188yg46n3:187>50z&2=5<6;81C88<4H564?!c02;?0eil50;9j`f<722coh7>5;n34g?6=3th:ni4?:583>5}#90:1=>?4H571?M23?2.n;7<:;hfa>5<>i6?j0;66sm23394?3=83:p(<7?:011?M22:2B?8:5+e6814>ocj3:17djl:188mab=831bhh4?::m23f<722wi=oh50;794?6|,83;6<==;I666>N3<>1/i:4=0:kgf?6=3`nh6=44ief94?=nll0;66a>7b83>>{e<::1<7:50;2x 4?7289:7E::2:J702=#m>0>=6gkb;29?lbd2900eij50;9l52e=831vn?8m:186>5<7s-;2<7?<2:J717=O<==0(h95129j`g<722coo7>5;hfg>5<83;8<6F;539K011<,l=1>>5fdc83>>ock3:17b?8c;29?xd50k0;6>4?:1y'5<6=9::0D9;=;I673>"b?3887djm:188mae=831d=:m50;9~f632290>6=4?{%3:4?74:2B?9?5G4558 `1=:=1bho4?::kgg?6=3`no6=44ieg94?=h9>i1<75rb261>5<2290;w)?60;306>N3=;1C8994$d5961=nlk0;66gkc;29?lbc2900eik50;9l52e=831vn>;;:186>5<7s-;2<7?<2:J717=O<==0(h95259j`g<722coo7>5;hfg>5<:6=4::183!7>83;8>6F;539K011<,l=1>95fdc83>>ock3:17djk:188mac=831d=:m50;9~f7?c290>6=4?{%3:4?74:2B?9?5G4558 `1=:=1bho4?::kgg?6=3`no6=44ieg94?=h9>i1<75rb3:b>5<2290;w)?60;306>N3=;1C8994$d5961=nlk0;66gkc;29?lbc2900eik50;9l52e=831vn>;<:186>5<7s-;2<7?<2:J717=O<==0(h95259j`g<722coo7>5;hfg>5<;6=4::183!7>83;8>6F;539K011<,l=1>95fdc83>>ock3:17djk:188mac=831d=:m50;9~f7?d290>6=4?{%3:4?74:2B?9?5G4558 `1=:=1bho4?::kgg?6=3`no6=44ieg94?=h9>i1<75rb3::>5<2290;w)?60;306>N3=;1C8994$d5961=nlk0;66gkc;29?lbc2900eik50;9l52e=831vn>;=:186>5<7s-;2<7?<2:J717=O<==0(h95259j`g<722coo7>5;hfg>5<83;8>6F;539K011<,l=1>95fdc83>>ock3:17djk:188mac=831d=:m50;9~f7?e290>6=4?{%3:4?74:2B?9?5G4558 `1=:=1bho4?::kgg?6=3`no6=44ieg94?=h9>i1<75rb3:;>5<2290;w)?60;306>N3=;1C8994$d5961=nlk0;66gkc;29?lbc2900eik50;9l52e=831vn?o<:187>5<7s-;2<7?<1:J717=O<==0(h95cd9j`g<722coo7>5;hfg>5<918274=O<<80D9:8;%g4>3=nlk0;66gkc;29?lbc2900c<9l:188yg54m3:187>50z&2=5<6;81C88<4H564?!c02?1bho4?::kgg?6=3`no6=44o05`>5<n7>55;294~"6190:??5G4408L1203-o<6i94ie`94?=nlj0;66gkd;29?lbb2900c<9l:188yg4>i3:197>50z&2=5<6;;1C88<4H564?!c02;>0eil50;9j`f<722coh7>5;hff>5<918277=O<<80D9:8;%g4>72>ocl3:17djj:188k41d2900qo<=4;297?6=8r.:5=4>319K004<@=><7)k8:318mad=831bhn4?::m23f<722wi=n<50;194?6|,83;6<=?;I666>N3<>1/i:4=3:kgf?6=3`nh6=44o05`>5<54;294~"6190:?<5G4408L1203-o<6c483>1<729q/=4>51238L1353A>?;6*j7;3e?lbe2900eim50;9j`a<722e:;n4?::a70e=8391<7>t$0;3>4573A>>>6F;469'a2<6:2con7>5;hf`>5<91826c=O<<80D9:8;%g4>4483;9j6F;539K011<,l=1=?5fdc83>>i6?j0;66sm2c:94?4=83:p(<7?:00e?M22:2B?8:5+e6826>ocj3:17b?8c;29?xd5j?0;6?4?:1y'5<6=9;l0D9;=;I673>"b?3;97djm:188k41d2900qo2g9K004<@=><7)k8:008mad=831d=:m50;9~f7d529096=4?{%3:4?75n2B?9?5G4558 `1=9;1bho4?::m23f<722wi>o>50;094?6|,83;6<N3<>1/i:4>2:kgf?6=3f;5;|`1e`<72;0;6=u+182957`<@=?97E:;7:&f3?753`ni6=44o05`>5<52;294~"6190:>k5G4408L1203-o<6<<4ie`94?=h9>i1<75rb254>5<5290;w)?60;31b>N3=;1C8994$d5957=nlk0;66a>7b83>>{e;>?1<7<50;2x 4?7288m7E::2:J702=#m>0:>6gkb;29?j70k3:17pl<7283>7<729q/=4>513d8L1353A>?;6*j7;31?lbe2900c<9l:188yg5093:1>7>50z&2=5<6:o1C88<4H564?!c02880eil50;9l52e=831vn>8i:181>5<7s-;2<7?=f:J717=O<==0(h95139j`g<722e:;n4?::a73b=8381<7>t$0;3>44a3A>>>6F;469'a2<6:2con7>5;n34g?6=3th8:o4?:383>5}#90:1=?h4H571?M23?2.n;7?=;hfa>5<91826c=O<<80D9:8;%g4>4483;9j6F;539K011<,l=1=?5fdc83>>i6?j0;66sm39694?4=83:p(<7?:00e?M22:2B?8:5+e6826>ocj3:17b?8c;29?xd5n00;6>4?:1y'5<6=9::0D9;=;I673>"b?3887djm:188mae=831d=:m50;9~f7`f29086=4?{%3:4?7482B?9?5G4558 `1=::1bho4?::kgg?6=3f;5;|`1bg<72:0;6=u+1829566<@=?97E:;7:&f3?443`ni6=44iea94?=h9>i1<75rb3d`>5<4290;w)?60;304>N3=;1C8994$d5966=nlk0;66gkc;29?j70k3:17pl=fe83>6<729q/=4>51228L1353A>?;6*j7;00?lbe2900eim50;9l52e=831vn?hj:180>5<7s-;2<7?<0:J717=O<==0(h95229j`g<722coo7>5;n34g?6=3th9jk4?:283>5}#90:1=>>4H571?M23?2.n;7<<;hfa>5<83;8<6F;539K011<,l=1>>5fdc83>>ock3:17b?8c;29?xd5n?0;6>4?:1y'5<6=9::0D9;=;I673>"b?3887djm:188mae=831d=:m50;9~f64c290>6=4?{%3:4?74:2B?9?5G4558 `1=l?1bho4?::kgg?6=3`no6=44ieg94?=h9>i1<75rb20`>5<2290;w)?60;306>N3=;1C8994$d5964=nlk0;66gkc;29?lbc2900eik50;9l52e=831vn>;k:180>5<7s-;2<7?<0:J717=O<==0(h95139j`g<722coo7>5;n34g?6=3th9j54?:383>5}#90:1=?o4H571?M23?2com7>5;n34g?6=3th8>k4?:383>5}#90:1=?o4H571?M23?2com7>5;n34g?6=3th8>o4?:483>5}#90:1=>:4H571?M23?2.n;7<>;hfa>5<>ocm3:17b?=c;29?xd5::0;6;4?:1y'5<6=9:90D9;=;I673>"b?38=7djm:188mae=831bhi4?::kga?6=3f;9o7>5;n34g?6=3th:o<4?:783>5}#90:1=>=4H571?M23?2.n;7<9;hfa>5<>ocm3:17b?=c;29?j70k3:17pl;2d83>=1=83:pD9:8;%3:4?7?=2P?97ot9;04>c<6>3;?6"b:3?0(h=55:&f0?3<,l?196*lb;ae?!c?2<1/i44:;%gb>0=#mk0>7)kl:49'aa<23-on685+eg86?!`72<1/j<4:;%d1>0=#n:0>7)h;:49'b0<23-l=685+f686?!`?2<1/j44:;%db>0=#nk0>7)hl:49'ba<23-ln685+fg86?!7783?0(<>>:49'554==2.:<>4:;%330?3<,8:>685+11491>"68>0>7)??8;78 46>2<1/==o55:&24g<23-;;o7;4$02g>0=#99o196*>0g86?!7683?0(:49'544==2.:=>4:;%320?3<,8;>685+10491>"69>0>7)?>8;78 47>2<1/=0=#98o196*>1g86?!7583?0(<<>:49'574==2.:>>4:;%310?3<,88>685+13491>"6:>0>7)?=8;18 4>f2=80(h855:&2?o7?76:&70a<60?1e5h4?;oa3>5=i91=1=?5a19:961=i<=o1=?5a45d961=#kj0hj6*>8e87?l2f2900e9l50;9j01g=831bol4?::k;6=8183?>o4=3:1(<6>:248j4>72810e>:50;&2<4<4>2d:4=4=;:k07?6=,82:6>84n0:3>6=80802>h6090?76g<1;29 4>62:<0b<6?:498m66=83.:4<4<6:l2<5<132c9j7>5$0:2>60818;?>o5l3:1(<6>:248j4>72010e9?50;&2<4<382d:4=4?;:k0b?6=,82:69>4n0:3>4=80874>h6090976g62=:0b<6?:298m6e=83.:4<4;0:l2<5<332c8n7>5$0:2>168185?>o413:1(<6>:528j4>72>10e>650;&2<4<382d:4=47;:k6e?6=,82:6874n0:3>5=8086=>h6090:76g:7;29 4>62<30b<6?:398m00=83.:4<4:9:l2<5<432c>97>5$0:2>0?56`>8186?>o1;3:1(<6>:4;8j4>72?10e;<50;&2<4<212d:4=48;:k55?6=,82:6874n0:3>==8086=>h6090276g:f;29 4>62<30b<6?:`98m0c=83.:4<4:9:l2<5h7>5$0:2>0?56`>818g?>o2j3:1(<6>:4;8j4>72l10e8=50;&2<4<212d:4=4i;:k;3?6=,82:6584n0:3>5=808;2>h6090:76am8;29 4>62k=0b<6?:198kg0=83.:4<4m7:l2<5<632ei87>5$0:2>g18180?>ie:3:1(<6>:c58j4>72=10co?50;&2<43=808a3>h6090<76ane;29 4>62k=0b<6?:998kdb=83.:4<4m7:l2<5<>32ejo7>5$0:2>g1818a?>if13:1(<6>:c58j4>72j10cl650;&2<4`=808a3>h6090m76an5;29 4>62k=0b<6?:028?jg3290/=5?5b69m5=6=9810cl=50;&2<42:9le7<72-;3=7l8;o3;4?7432ej=7>5$0:2>g15<#91;1n:5a192950=808a3>h6090::65`bd83>!7?93h<7c?70;34?>iel3:1(<6>:c58j4>728207bll:18'5=7=j>1e=5>51898kgd=83.:4<4m7:l2<5<6i21dnl4?:%3;5?d03g;3<7?m;:ma=?6=,82:6o94n0:3>4e<3fh>6=4+1939f2=i91:1=i54o`c94?"6080i;6`>8182a>=h1o0;6)?71;`4?k7?83;m76al8;29 4>62j=0b<6?:198kf0=83.:4<4l7:l2<5<632eh97>5$0:2>f18180?>od13:17d?7e;29?l23j3:17d9k:18'5=7=?j1e=5>50:9j3g<72-;3=79l;o3;4?7<3`=26=4+19393f=i91:1>65f7983>!7?93=h7c?70;18?l10290/=5?57b9m5=6=<21b;;4?:%3;5?1d3g;3<7;4;h56>5<#91;1;n5a19292>=n?=0;6)?71;5`?k7?83=07d9<:18'5=7=?j1e=5>58:9j37<72-;3=79l;o3;4??<3`=:6=4+19393f=i91:1m65f7183>!7?93=h7c?70;`8?l0b290/=5?57b9m5=6=k21b:i4?:%3;5?1d3g;3<7j4;h4`>5<#91;1;n5a1929a>=n>k0;6)?71;5`?k7?83l07d8n:18'5=7=?j1e=5>51198m3?=83.:4<48c:l2<5<6921b:54?:%3;5?1d3g;3<7?=;:k53?6=,82:6:m4n0:3>45<3`<=6=4+19393f=i91:1=954i7794?"608081821>=n0=0;6)?71;5`?k7?83;=76g73;29 4>62>i0b<6?:058?l>5290/=5?57b9m5=6=9110e5?50;&2<4<0k2d:4=4>9:9j<5<72-;3=79l;o3;4?7f32c5$0:2>2e5<#91;1;n5a19295f=
k1<7*>8084g>h6090:h65f6g83>!7?93=h7c?70;3f?>o1<3:1(<6>:6a8j4>728l07d6l:18'5=7=0k1e=5>50:9j65`9583>!7?93387c?70;28?j?5290/=5?5929m5=6=921d5<4?:%3;5??43g;3<7<4;n;3>5<#91;15>5a19297>=h0o0;6)?71;;0?k7?83>07b6j:18'5=7=1:1e=5>55:9l=a<72-;3=77<;o3;4?0<3f3h6=4+1939=6=i91:1;65`9c83>!7?93387c?70;:8?j?f290/=5?5929m5=6=121d544?:%3;5??43g;3<7o4;n;;>5<#91;15>5a1929f>=h1>0;6)?71;;0?k7?83i07b79:18'5=7=1:1e=5>5d:9l=0<72-;3=77<;o3;4?c<3f2o6=4+1939=6=i91:1j65`c283>!7?93i97c?70;28?je6290/=5?5c39m5=6=921v8=<:185[34;279;94kc:?137X2;?1U8h;4^41b?[2b>2T?:55Q4758Z1013W>=96P;659]035X2<=1U99=4^461?[3392T>8=5Q52d8Z05b3W?8h6P:319]17`X2:11688=5d99>06b==9168><5519>06e==9168>l5519>06g==91689;5519>012==916>ol5539>6g?==;16>o95539>6g3==;16>o=5539>6g7==;16>lh5539>6db==;16>hm519;897?32<801?7<:40897?52<801?7>:40897?72<801?6>:40897>72<801?9i:408971b2<801?9k:408962e2<801>:n:408962>2<801>:7:40896202<801>=7:40896502<801>=9:40896522<801>=;:408961?2<801>99:40896132<801>9=:40896172<801>8j:408960d2<801>8n:408960?2<8019;3:l0;3:l0<563;2d84<>;3:l0<;63;2d842>;3:l0<963;2d840>;3:l0;3:l0<=63;2d844>;3:l0=i63;2d85`>;3:l0=o63;2d85f>;3:l0=m63;2d85=>;3:l0=463;2d853>;3:l0=:63;2d851>;3:l03863;2d8;7>;3:l03>63;2d8;5>;3:l03<63;2d84b>;3:l0;3:l0=j63;2d850>;3:l03o63;2d8;e>;3:l0356s|52794?5|V<9>70:;3;;0:4?5rs355>5<5sW>om63=7782<6=z{<>36=4;{_77<>;4=k0oh63<5b8gf>;4=m0on6s|53594?0?sW?9;63=a0872>;3;=0?:63;32872>;3;;0?:63;3b872>;3;k0?:63;3`872>;59<0?:63=15872>;59:0?:63=13872>;5980?:63=11872>;58o0?:63=0d872>;58m0?:63=60872>;5>90?:63=5g872>;5=l0?:63=5e872>;5=j0?:63=5c872>;5=h0?:63=58872>;5;5;5;5<00?:63=49872>;5<>0?:63=47872>;6l>0?:63>d7872>;6l<0?:63>d5872>;6l:0?:63>d3872>;6l80?:63>d1872>;6ko0?:63=d9872>;5l>0?:63=d7872>;5l<0?:63=d5872>;5l:0?:63=d0872>;5l90?:63=d3872>;5mh0?:63=e8872>;5m10?:63=e6872>;5m?0?:63=e4872>;5m=0?:63=e2872>;5m;0?:63=74872>;5??0?:63=71872>;5>o0?:63;02872>;38;0?:63;00872>;3890?:63;4nl0?:63;4nk0?:63;4n00?:63;4n>0?:63;4n<0?:63;4n:0?:63;4n90?:63;4ml0?:63;4mj0?:63;4mh0?:63;4m10?:63;08872>;3810?:63;06872>;38?0?:63;04872>;38=0?:63;4n;0?:63;4m?0?:63;2d87f>{t;<31<7;4=10?:63;3g872>;3;m0?:63;3d872>;3<<0?:63;45872>;6j:0?:63>b3872>;6j80?:63>b1872>;6io0?:63>ad872>;6im0?:63>ab872>;6ik0?:63>fc872>;6nh0?:63>f8872>;6n10?:63>f6872>;6n?0?:63>f4872>;6n=0?:63>f2872>;6m00?:63>e9872>;6m>0?:63>e7872>;6m<0?:63>e5872>;6m:0?:63>e3872>;6m80?:63=3c872>;5;h0?:63=38872>;5;10?:63=36872>;5;?0?:63=34872>;5;=0?:63=32872>;5;;0?:63<17872>;49l0?:63<1e872>;49j0?:63<1c872>;49h0?:63<18872>;4910?:63<16872>;49<0?:63<28872>;4i<0?:63;4i=0?:63;4i>0?:63;4i10?:63;4ik0?:63;4110?:63<96872>;41<0?:63<95872>;41?0?:63<93872>;4180?:63<92872>;40o0?:63<91872>;4k90?:63;4jl0?:63;4jj0?:63;4jh0?:63;4j10?:63;3:l0?m6s|33;94?4|V<:>70==9;3;7>{t;jk1<7{t;j21<7{t;j<1<7{t;j>1<770=j8;3;7>{t;l?1<7{t;l91<7{t;l;1<7{t;ml1<7{t;jn1<7{t;mo1<7{t;mi1<7{t;mk1<7{t;m=1<7{t;m?1<7{t;m91<7{t;m;1<73;3?6s|3e294?4|V=kn70=i5;3;7>{t;jl1<7{t;ji1<7{t<1<1<77}Y<>9019vP;739>07c==11v96=:181[20927?>h4:7:p0=7=838pR99?;<61a?313ty?4=4?:3y]03`<5=8n68;4}r64b?6=:rT?:h5243g911=z{==n6=4={_65`>;3:l0=?6s|49d94?4|V==h70:=e;41?xu30l0;6?uQ46`8914b21?0q~:7d;296~X3?h168?k5609~w1>d2909wS:89:?76`<182wx85l50;0xZ11?34>9i7;i;|q70c357>52z\733=:<;o19i5rs5:;>5<5sW><963;2d86g>{t<1=1<77}Yk1845237:90<=z{;k96=4={<0b5?37348j?7?8c:p06?=83;3w0;3;j0:4>522e:90f=::m=18n522e490f=::m?18n522e690f=::m918n522e390f=::m:1=5<4=3f1>1e<5;oj69m4=3g:>1e<5;o369m4=3g4>1e<5;o=69m4=3g6>1e<5;o?69m4=3g0>1e<5;o969m4=356>4>5348<:7?72:?135<3k279:k4;c:p6d7=83>p1?o>:0:0?840:3nn70:<0;fa?841j3nh7p};4383>7?|5:?269m4=27;>1e<5=>?6<6<;<3a7?2d34;i>7:l;<3a5?2d34;i<7:l;<3bb?2d34;ji7:l;<3b`?2d34;jo7:l;<3bf?2d34;mn7:l;<3ee?2d34;m57:l;<3e7:l;<3f5?2d3488n7:l;<00e?2d348857:l;<0070>==916?8l516a8yv5203:19v3<5982<6=:;8?7?73:?777<3?2wx8>:50;0x9153282870:<6;fa?xu3;l0;6>u242d915=:<:n18:5242g95=58j7>52z?77c<60:1689?5dc9~w1552908w0:<3;73?824:3;3?63;378gg>{t<:n1<7=t=51g>4>434>8i7;?;<675?bd3ty??84?:5y>06e=918019=m:0:1?824i3;3>63;37823f=z{=936=4=6z?77g<60:16><;54b9>642=<=54b9>644=646==h54b9>65c==j54b9>637=;>54b9>60`=8k54b9>60b=8m54b9>60d=8o54b9>60?=9h54b9>61c=9j54b9>61e=9l54b9>61g=9754b9>61>=9954b9>610=5a0=5a2=5a4=5a6=4>334>;=7?74:?745<60=16?kh5196896`b282?70=ic;3;0>;4nk0:49523gc95=2<5:l26<6;;<1e859>7c0=91>01>h::0:7?85a<3;38634>3349nj7?74:?0a`<60=16?hj5196896cd282?70=jb;3;0>;4mh0:49523d;95=2<5:o36<6;;<63=?7?<27?<54>859>051=91>019>9:0:7?827=3;3863;0582<1=:;on1=5:4=2d1>4>3349n;7?74:?0a3<60=168>>5db9>07c=91l0q~:;0;297~;3<<0:4?5245695=4<5=>:6<9l;|q706<72;3p19:::0:0?856>3>h70=>e;6`?856l3>h70=>c;6`?856j3>h70=>a;6`?85613>h70=>8;6`?856?3>h70=>5;6`?85f=3>h70=n3;3;6>;4i=0?o63;4i>0?o63;4i10?o63;4ik0?o63;4110?o63<9687g>;41<0?o63<9587g>;41?0?o63<9387g>;4180?o63<9287g>;40o0?o63<9182<7=:;j:18n523cd90f=:;ko18n523cf90f=:;ki18n523c`90f=:;kk18n523c;90f=:;k218n523c590f=z{;?36=4:{<021?37348==7?73:?152=m50;1x9772282870<6e;fa?84?j3ni7p}=1783>7}::8>19=52205952e53z?151<60:16>4j5db9>6=g=lj1v??7:181846;3?;70<>9;34g>{t:9k1<7=t=330>4>43482h7jj;<0;e?bb3ty9=l4?:7y>644==916>=839p1??>:0:0?84>k3nn70<79;ff?xu59l0;6?u2202915=::8l1=:m4}r033?6=;r79==4>829>6565db9~w7472909w0=k5519>672=9>i0q~5228c9`f=::1=1hn5rs305>5<5s48;h7;?;<013?70k2wx>=:50;1x976c282870<6a;ff?84??3nn7p}>f383>0}:9k919=521g`95=5<58h>6im4=0`4>ad<58h26ik4}r3be?6=4>829>703=lk16?9<5dc9>6c0=lj1v{t9h31<7:t=0`1>4>4349>97jk;<176?bc349;<7jl;|q2f3<72;q6=o?5519>5g1=9>i0q~?n8;290~;6j80:4>523469`g=:;=;1ho522gd9`f=z{8h36=49{<3a4?3734;i57?8c:?2fgp1b`83>7}:9hl19=521c`952e54z?2ec<60:16?8=5dc9>716=lk16>kj5db9~w4dd2909w0?ne;73?87el3;5db==916=oh516a8yv7f<3:18v3>ae82<6=:;<81ho5232d9`g=::oh1hn5rs0a3>5<5s4;jo7;?;<3`6?70k2wx=l=50;6x94gd282870=:2;fg?854n3no70829>707=lk16?>k5dc9>6c?=lj1v?:::18184193?;70<;f;3;7>{t:=>1<706<5;>n6<6<;|q112<72=q6>;>5191897702mh01??6:ea8977e2mn0q~<;3;296~;5=o0><63=4e82<6=z{;?=6=4<{<06b?7?;279=44kd:?15g9<50;0x973b2<:01?:l:0:0?xu5=<0;6?u224g95=5<5;;i6il4}r075?6=:r799i4:0:?10g<60:1v?;;:186842l3;3?63=1e8gf>;59o0oo63=208ga>;5::0oh6s|25294?4|5;?h68>4=36b>4>43ty99>4?:5y>60e=91901??i:ef897462mh01?<<:ea8yv44n3:1>v3=5c864>;5<00:4>5rs371>5<4s48>n7?73:?164>4kb:p66c=838p1?;n:428972?28287p}=5083>6}::ad<5;8<6im4}r00`?6=:r79944:0:?102<60:1v?;?:18184213;3?63=268gf>{t9l:1<706<58o26<6<;|q2`c<72;q6=ko5519>5`>=9190q~?i1;290~;6nh0:4>521c79`g=:9k=1hn521c;9`a=z{8nn6=4={<3e=?3734;n;7?73:p5c6=839p1829>5g?=lk1v{t9lo1<7;t=0d4>4>434;in7jm;<3a`?bd34;ij7jj;<3`5?bc3ty:ho4?:3y>5c0==916=h:51918yv7bl3:18v3>f782<6=:9kn1hi521cd9`g=:9j;1hn5rs0fb>5<5s4;m97;?;<3f7?7?;2wx=hm50;1x94`2282870?mf;f`?87d93ni7p}>d883>7}:9o>19=521d095=553z?2b1<60:16=n<5dc9>5f3=lj1v{t9lk1<74>434;h97jm;|q174<72;q6>9h5519>66d=9190q~<<0;296~;5<63=3`82<6=z{;8m6=4={<07`?37348857?73:p67c=838p1?:l:428975?28287p}=2e83>7}::=h19=5222595=552z?10d<28279?;4>829~w74e2909w0<;9;73?844=3;3?6s|23c94?4|5;>368>4=317>4>43ty9>44?:3y>611==916>>=51918yv4503:1>v3=47864>;5;;0:4>5rs31`>5<6s48?:7?73:p5fc=838p1ce83>7}:9l219=521e495=552z?2a2<2827:h84>829~w4ee2909w0?j6;73?87c<3;3?6s|1bc94?4|58o>68>4=0f0>4>43ty:o44?:3y>5`2==916=i<51918yv7d03:1>v3>e2864>;6l80:4>5rs0a4>5<5s4;n>7;?;<3g4?7?;2wx=n850;0x94c62<:01ad<5;2i6im4=50f>1752z?2`3<2827:5<4>7b9~w4`c2909w0?k5;73?87>:3;4=0;0>41d3ty:jk4?:3y>5a5==916=4:516a8yv4783:1>v3>d3864>;61<0:;n5rs322>5<5s4;o=7;?;<3:2?70k2wx>=<50;0x94b72<:01<78:05`?xu58:0;6?u21bd915=:9021=:m4}r1a2?6=07c=;>1v?8=:181844i3?;70?69;34g>{t:?91<706<583j6<9l;|q121<72;q6>>65519>5i0q~<95;296~;5;>0><63>9b823f=z{;<=6=4={<002?3734;2h7?8c:p631=838p1?=::42894?b28=h7p}=6983>7}:::>19=5218d952e52z?176<2827:m=4>7b9~w70f2909w0<<2;73?87f93;7:8;<0fe?20348n57:8;<0f8<7jk;<05f?70k279m>4kc:p6de=838p1?j7:42897e228=h7p}=cg83>1}::m21=5=4=3gb>06<5;3n6im4=3a5>ad52z?1`2<28279o94>7b9~w7eb290?w0;5m00><63=9e8gf>;5jj0on6s|2`c94?4|5;n=68>4=3a0>41d3ty9oi4?:5y>6a0=91901?k7:42897?c2mn01?ln:e`8yv4f13:1>v3=d4864>;5k;0:;n5rs3a`>5<3s48o97?73:?1a2<282795n4kb:?1f=l650;0x97b32<:01?m>:05`?xu5kk0;69u22e695=5<5;o=68>4=3;`>ab<5;h=6il4}r0b3?6=:r79h>4:0:?1g5<6?j1v?mn:18784c;3;3?63=e4864>;51k0on63=b58gf>{t:h?1<706<5;hn6<9l;|q1g=<72=q6>i?5191897c42<:01?7n:e`897d72mh0q~<63=be823f=z{;i<6=4;{<0g4?7?;279i?4:0:?1=d1}::m81=5=4=3g7>06<5;3i6ij4=3`1>ad52z?1g0<31279no4>7b9~w7e12909w0;5k?0:;n5rs3`:>5<4s48h87:6;<0af?2>348i57?8c:p6ge=839p1?m;:00a?84ej3;3563=bb823f=z{;h<6=4<{<0`7?2>348i57:6;<0a3?70k2wx>oo50;1x97e4288i70;5jh0:;n5rs3`6>5<4s48h>7:6;<0a3?2>348i97?8c:p6g>=839p1?m=:00a?84e?3;3563=b9823f=z{;h86=4<{<0`5?2>348i97:6;<0a7?70k2wx>o850;1x97e6288i70;5j?0:;n5rs3`2>5<4s48h<7:6;<0a7?2>348i=7?8c:p6g2=839p1?m?:00a?84e;3;3563=b5823f=z{;km6=4<{<0ab?2>348i=7:6;<0bb?70k2wx>o<50;1x97da288i70;5j;0:;n5rs3cg>5<4s48ii7:6;<0bb?2>348jh7?8c:p6g6=839p1?lj:00a?84fn3;3563=b1823f=z{;kn6=4<{<0a`?75j279mi4>889>6dc=9>i0q~521809`g=:90;1hn5229c9`g=:<;o1?k5rs3fe>5<2s48n47?73:?2=6h4<3ni70?63;f`?84?13ni70:=e;1g?xu5lm0;68u22d495=5<583>6il4=0;7>ae<5;226ij4=50f>6e55z?1a0<60:16=485dc9>5<3=lj16>565dc9>07c=;k1v?jm:18684b<3;3?63>968gf>;61?0oo63=898g`>;3:l08m6s|2ec94?3|5;o86<6<;<3:9i7=6;|q1`<<72=q6>h<5191894??2mi01?68:ef8914b2:20q~<87;297~;5?<0><63=77864>;5?10:;n5rs356>5<5s48<97?73:?13=:?50;0x97172<:01?9=:05`?xu5>l0;6;u226295=5<5;=?6ij4=351>ab<5;=36ij4=34`>ad<5;;5?;0oo63=798gg>;5>j0oo63=6c8g`>{t:o?1<71?<5;l>6<9l;|q1b3<72;q6?=?513`897`128=h7p}<1g83>7}:;9;1=:m4=235>0653z?04d<31279j84;9:?1b1<6?j1v>>?:180857i3;9n63=f482<<=:;9:1=:m4}r117b9>74c==91v>o>:18684a=3?970=nb;3;7>;4jo0><63<438ga>;4890on6s|2g194?5|5::26974=3d7>1?<5;l86<9l;|q1bc<72:q6?=7513`897`3282270{t;;=1<741d349:h7;?;|q0e5<72k:5539>7dg=91901>lj:42896262mi01?hi:e`8yv4a:3:1?v3<0987=>;5n:0?563=f3823f=z{;ln6=4<{<134>889>6cc=9>i0q~==6;296~;4810:;n5230a915=z{:3m6=4:{<0e7?35349j57?73:?0fa<282788<4ke:?1b`k?50;1x96602=301?h=:5;897`628=h7p}=fe83>6}:;9=1=?l4=3d1>4>>348mh7?8c:p773=838p1>>8:05`?856j3?;7p}<9d83>0}::o819?523`:95=5<5:hh68>4=263>ae<5;lo6il4}r0e4?6=;r78<;4;9:?1b4<31279j=4>7b9~w7`d2908w0=?6;31f>;5n80:44522ga952e52z?043<6?j16?w0;4<90oi63=fb8gf>{t:ll1<7=t=226>1?<5;l;6974=3ge>41d3ty9jo4?:2y>753=9;h01?h?:0::?84aj3;6<9l;<12=?373ty85n4?:4y>6c6==;16?l85191896df2<:01>=i:ea897`e2mh0q~;5ml0:;n5rs3db>5<4s49;87?=b:?1ac<60016>ko516a8yv55:3:1>v3<05823f=:;8219=5rs2;a>5<2s48nj7;=;<1b1?7?;278n44:0:?07c><:5;897cb2=301?kk:05`?xu5n00;6>u2311957d<5;on6<66;<0e=?70k2wx???50;0x966428=h70=>7;73?xu41h0;68u22dg917=:;h>1=5=4=2`;>06<5:9n6im4=3d:>ad53z?047<31279ii4;9:?1af<6?j1v?h8:180857:3;9n63=ee82<<=::o21=:m4}r114?6=:r787b9>743==91v>;l:1814~;5mj0>>63;4i:0?;63;4i?0?;63;4ih0?;63;4i00?;63;4ij0?;63<99873>;41>0?;63<94873>;41=0?;63<97873>;41;0?;63<90873>;41:0?;63<8g873>;4190?;63;4jo0?;63;4jm0?;63;4jk0?;63;4j00?;63;4j>0?;63<5e823f=z{::i6=4={<122?7?;278>n4kb:p742=838p1>?j:0:0?855k3no7p}<1283>7}:;8n1=5=4=20a>ac7>52z?05f<60:16??l5de9~w6762909w0=>b;3;7>;4:k0oo6s|30294?4|5:;j6<6<;<11f?be3ty874?=91901>v3<1982<6=:;;n1ho5rs22g>5<5s49:;7?73:?06a44:0:?06f<6?j1v?6i:18184><3>270<63;34g>{t:031<74>>3482i7?8c:p6d6=838p1?7;:05`?84f;3ni7p}=8d83>7}::0918452280952e52z?1=6<60016>4j516a8yv4?l3:1>v3=9387=>;5180:;n5rs3;4>5<5s482>7?79:?1=f<6?j1v?6l:18184>93>270<60;34g>{t:0<1<74>>3482n7?8c:p6<3=838p1?7?:0::?84>i3;41d3ty94;4?:3y>6=7=91301?6m:05`?xu51o0;6?u2293952e<5;k86ij4}r04f?6=:r794=4;9:?13c<6?j1v?6::18184?83;3563=8`823f=z{;=j6=4={<04b?2>34841d3ty94>4?:3y>62c=91301?67:05`?xu50;0;6?u226f95=?<5;2<6<9l;|q003<72;q6?9l5489>71g=9>i0q~=:0;296~;4;7>52z?00g<6?j16?8l5dc9~w6222909w0=;a;6:?85313;j6<66;<160?70k2wx?9:50;0x962>2=301>:7:05`?xu4711=9>i0q~=;d;296~;4<10:4452340952e52z?002<60016?8?516a8yv54;3:1>v3<3987=>;4;>0:;n5rs21g>5<5s49847?79:?007<6?j1v>;9:18185403;{t;:81<71?<5:9=6<9l;|q07f<72;q6?>9519;8962628=h7p}<3083>7}:;:<18452327952e52z?073<60016?9>516a8yv5483:1>v3<3487=>;4;=0:;n5rs21b>5<5s49897?79:?07c<6?j1v>=6:181854<3;3563<3d823f=z{:2<6=4;{<1b1?373492=7?73:?017p1>o<:42896>a282870=:1;fg?85113ni7p}<9883>1}:;h91=5=4=2`4>06<5:9n6ij4=3d;>ag54z?0e1<282785=4>829>707=lj16?;l5dc9~w6>?290?w0=n6;73?85>:3;3?63<538gg>;4>o0on6s|39;94?2|5:k<68>4=2;0>4>4349>?7jj;<145?be3ty84n4?:5y>7dg==916?485191896332mi01>98:e`8yv5?i3:18v3;41=0:4>523419`f=:;>91ho5rs2:a>5<3s49j57;?;<1:1?7?;278994ke:?03078:0:0?852=3nn70=89;fa?xu40l0;69u23`a915=:;021=5=4=276>ae<5:2?6il4}r1b6?6=829>7f6==916?9<5db9>6c0=lk1v>88:18185>03?;70=73;34g>{t;?<1<706<5:296<9l;|q021<72;q6?4;5519>7=6=9>i0q~=93;296~;41=0><63<7g823f=z{:<>6=4={<1:2?373493=7?8c:p737=838p1>7=:428961c28=h7p}<6183>7}:;0;19=5236a952e7>52z?0=6<28278;h4>7b9~w63b2909w0=7f;73?850i3;4=25a>41d3ty8;54?:3y>7=5=<016?:6516a8yv5?<3:1>v3<82826g=:;1>1=:m4}r142?6=;r784?4;9:?03=<31278;;4>7b9~w61>2908w0=72;31f>;4?10:445236;952e53z?0<4<31278;;4;9:?031<6?j1v>98:18085?93;9n63<7782<<=:;>=1=:m4}r146?6=;r784=4;9:?031<31278;?4>7b9~w6122908w0=70;31f>;4?=0:4452367952e53z?03c<31278;?4;9:?035<6?j1v>9<:180850n3;9n63<7382<<=:;>91=:m4}r15a?6=;r78;h4;9:?035<31278:h4>7b9~w6162908w0=8e;31f>;4?90:4452363952e53z?03a<31278:h4;9:?02f<6?j1v>8i:180850l3;9n63<6d82<<=:;?l1=:m4}r15e?6=;r78;n4;9:?02f<31278:l4>7b9~w60c2908w0=8c;31f>;4>j0:445237f952e53z?03g<31278:l4;9:?02=<6?j1v>8m:180850j3;9n63<6`82<<=:;?h1=:m4}r15=?6=;r78;l4>2c9>73>=91301>86:05`?xu4j<0;69u23cd95=5<583j6il4=0;:>ae<5=8n6>;4}r1a0?6=829>507c=;=1v>l<:18785el3;3?63>9b8gf>;61k0oo63;2d807>{t;k81<7:t=2``>4>434;2h7jm;<3:g?bd34>9i7==;|q0f4<72=q6?ol5191894?b2mh01<7k:ea8914b2:;0q~=m0;290~;4jh0:4>5218d9`g=:90o1hn5243g975=z{:km6=4;{<1a=?7?;27:m=4kb:?2=ch4=f:p7dc=83>p1>l7:0:0?87f93ni70?n0;f`?825m38n7p}6}:;k=1=5=4=0c2>ae<5=8n6?j4}r605?6=:054=<>168=?5469>056=<>16?kh5469>7cc=<>16?km5469>7cd=<>16?ko5469>7c?=<>16?k65469>7c1=<>16?k85469>7c3=<>16?k:5469>7c5=<>16?k?5469>7c6=<>16?hh5469>7`c=<>16?hj5469>7`e=<>16?hl5469>7`g=<>16?h75469>7`>=<>168=75469>05>=<>168=95469>050=<>168=;5469>052=<>16?kj5469>7c4=<>16?h95469>7`0=<>16>;m516a8yv25>3:1>v3;02864>;3:l0h46s|43794?4|5=:968>4=50f>g>987>52z?744<2827?>h4m6:p075=838p19>?:428914b2k>0q~:=2;296~;4no0><63;2d8a7>{t<;;1<706<5=8n6o<4}r62b?6=:r78jn4:0:?76`v3;3:l0jj6s|40a94?4|5:l268>4=50f>f0:n7>52z?0b=<2827?>h4ne:p04g=838p1>h8:428914b2hn0q~:>9;296~;4n?0><63;2d8bg>{t<821<706<5=8n6ll4}r623?6=:r78j94:0:?76`v3;3:l0j;6s|40194?4|5:l;68>4=50f>d0:>7>52z?0ac<2827?>h4l5:p047=838p1>kj:428914b2h?0q~:>0;296~;4mm0><63;2d8b0>{t<9l1<706<5=8n6l=4}r63a?6=:r78io4:0:?76`v3;3:l0j<6s|41`94?4|5:o368>4=50f>g`9h7>52z?74<<2827?>h4me:p07e=838p19>7:428914b2j>0q~:=b;296~;38>0><63;2d8a`>{t<;k1<706<5=8n6om4}r61=?6=:r7?<84:0:?76`v3;3:l0i56s|43294?4|5:l968>4=50f>g3:97>52z?0a2<2827?>h4na:p05g=838p1>k9:428914b20l0q~:=f;296~;3;90:;n5243g9gd=z{87}::;=1hi52231952e52z?2g07b9~w6e62908w0=:c;34g>;3:l0?8l5243g9g<=z{:8i6=4={<11`?bb3499n7?=c:p512=838p1>70:;:416?!23>3;=i6s|52a94?4|V<9h70:;:41`?!23>3;=j6s|53594?4|V<8<70:;:404?!23>3;<<6s|49494?4|V==?70:;:557?!23>3;?86s|49694?4|V==870:;:550?!23>3;?j6s|49194?4|V==970:;:551?!23>3;>46s|49094?4|V==:70:;:552?!23>3;>m6s|49394?4|V==;70:;:553?!23>3;>n6s|49294?4|V=3;>o6s|46d94?4|V=3;>i6s|46g94?4|V=3;>j6s|49d94?4|V==h70:;:55`?!23>3;=<6s|49g94?4|V==i70:;:55a?!23>3;==6s|49f94?4|V==j70:;:55b?!23>3;=>6s|49a94?4|V==270:;:55:?!23>3;=?6s|49`94?4|V==370:;:55;?!23>3;=86s|49c94?4|V==<70:;:554?!23>3;=96s|49;94?4|V===70:;:555?!23>3;=:6s|49:94?4|V==>70:;:556?!23>3;=;6s|49594?4|V=3;=46s|46f94?4|V=3;=56s|55:94?4|V<>370:;:46;?!23>3;=m6s|52194?4|V<9870:;:410?!23>3;=o6s|4e394?4|V=ko70:;:5cg?!23>3;<=6s|4bd94?4|V=kh70:;:5c`?!23>3;<>6s|4bg94?4|V=ki70:;:5ca?!23>3;3;<86s|4ba94?4|V=k270:;:5c:?!23>3;<96s|4b`94?4|V=k370:;:5c;?!23>3;<:6s|4b;94?4|V=k=70:;:5c5?!23>3;<;6s|4b:94?4|V=k>70:;:5c6?!23>3;<46s|4b594?4|V=k?70:;:5c7?!23>3;<56s|4b494?4|V=k870:;:5c0?!23>3;8m6s|4b794?4|V=k970:;:5c1?!23>3;8n6s|4b694?4|V=k:70:;:5c2?!23>3;8o6s|4b194?4|V=k;70:;:5c3?!23>3;8h6s|4b094?4|V=3m70:;:5;e?!23>3;8i6s|4b394?4|V=3n70:;:5;f?!23>3;8j6s|4b294?4|V=3o70:;:5;g?!23>3;?<6s|4cg94?4|V=3i70:;:5;a?!23>3;?=6s|4cf94?4|V=3j70:;:5;b?!23>3;?>6s|4ca94?4|V=3270:;:5;:?!23>3;??6s|4c`94?4|V=3370:;:5;;?!23>3;?96s|4cc94?4|V=3<70:;:5;4?!23>3;?:6s|4c;94?4|V=3=70:;:5;5?!23>3;?;6s|4c:94?4|V=3>70:;:5;6?!23>3;?46s|4c594?4|V=3?70:;:5;7?!23>3;?56s|4c494?4|V=3870:;:5;0?!23>3;?m6s|4c794?4|V=3970:;:5;1?!23>3;?n6s|4e:94?4|V=h870:;:5`0?!23>3;?o6s|4e594?4|V=h970:;:5`1?!23>3;?h6s|4e494?4|V=h:70:;:5`2?!23>3;?i6s|4e794?4|V=h;70:;:5`3?!23>3;><6s|4e694?4|V=km70:;:5ce?!23>3;>=6s|4e194?4|V=kn70:;:5cf?!23>3;>>6s|4e094?4|V=k<70:;:5c4?!23>3;>?6s|4bc94?4|V=3h70:;:5;`?!23>3;>86s|4cd94?4|V=3:70:;:5;2?!23>3;>96s|4c694?4|V=3;70:;:5;3?!23>3;>:6s|4d294?4|V=o;70:;:5g3?!23>3;>;6s|4ec94?4|V=nj70:;:5fb?!23>3;>56s|51794?4|V<:>70:;:426?!23>3;>h6srn`65>5<5sA>?;6saa5594?4|@=><7p`n4983>7}O<==0qco;9;296~N3<>1vbl:n:181M23?2wem9l50;0xL1203tdj8n4?:3yK01152zJ702=zfh>n6=4={I673>{ii=l1<7vF;469~jd352909wE:;7:me05=838pD9:8;|lb11<72;qC8994}oc61?6=:rB?8:5rn`75>5<5sA>?;6saa4594?4|@=><7p`n5983>7}O<==0qco:9;296~N3<>1vbl;n:181M23?2wem8l50;0xL1203tdj9n4?:3yK011h7>52zJ702=zfh?n6=4={I673>{ii90;6?uG4558ykg193:1>vF;469~jd052909wE:;7:me35=838pD9:8;|lb21<72;qC8994}oc51?6=:rB?8:5rn`45>5<5sA>?;6saa7594?4|@=><7p`n6983>7}O<==0qco99;296~N3<>1vbl8n:181M23?2wem;l50;0xL1203tdj:n4?:3yK01152zJ702=zfh{ii?l1<7vF;469~jd152909wE:;7:me25=838pD9:8;|lb31<72;qC8994}oc41?6=:rB?8:5rn`55>5<5sA>?;6saa6594?4|@=><7p`n7983>7}O<==0qco89;296~N3<>1vbl9n:181M23?2wem:l50;0xL1203tdj;n4?:3yK01152zJ702=zfh=n6=4={I673>{ii>l1<7vF;469~jd>52909wE:;7:me=5=838pD9:8;|l;=a<728qC8994}o:gf?6=9rB?8:5rn9f`>5<6sA>?;6sa8ef94?7|@=><7p`7dd83>4}O<==0qc6kf;295~N3<>1vb5k?:182M23?2we4h?50;3xL1203td3i?4?:0yK01151zJ702=zf1o?6=4>{I673>{i0l?1<7?tH564?xh?m?0;6b?3:1=vF;469~j=c?290:wE:;7:m<`?=83;pD9:8;|l;ad<728qC8994}o:ff?6=9rB?8:5rn9g`>5<6sA>?;6sa8df94?7|@=><7p`7ed83>4}O<==0qc6jf;295~N3<>1vb5h?:182M23?2we4k?50;3xL1203td3j?4?:0yK01151zJ702=zf1l?6=4>{I673>{i0o?1<7?tH564?xh?n?0;6a?3:1=vF;469~j=`?290:wE:;7:m5<6sA>?;6sa8gf94?7|@=><7p`7fd83>4}O<==0qc6if;295~N3<>1vb4>?:182M23?2we5=?50;3xL1203td251zJ702=zf0:?6=4>{I673>{i19?1<7?tH564?xh>8?0;65<6sA>?;6sa91f94?7|@=><7p`60d83>4}O<==0qc7?f;295~N3<>1vb4??:182M23?2we551zJ702=zf0;?6=4>{I673>{i18?1<7?tH564?xh>9?0;65<6sA>?;6sa90f94?7|@=><7p`61d83>4}O<==0qc7>f;295~N3<>1vb4?4?:0yK01151zJ702=zf08?6=4>{I673>{i1;?1<7?tH564?xh>:?0;65<6sA>?;6sa93f94?7|@=><7p`62d83>4}O<==0qc7=f;295~N3<>1vb4=?:182M23?2we5>?50;3xL1203td2??4?:0yK01151zJ702=zf09?6=4>{I673>{i1:?1<7?tH564?xh>;?0;65<6sA>?;6sa92f94?7|@=><7p`63d83>4}O<==0qc71vb4:?:182M23?2we59?50;3xL1203td28?4?:0yK01151zJ702=zf0>?6=4>{I673>{i1=?1<7?tH564?xh>5<6sA>?;6sa95f94?7|@=><7p`64d83>4}O<==0qc7;f;295~N3<>1vb4;?:182M23?2we58?50;3xL1203td29?4?:0yK011?7>51zJ702=zf0??6=4>{I673>{i1=?0;65<6sA>?;6sa94f94?7|@=><7p`65d83>4}O<==0qc7:f;295~N3<>1vb48?:182M23?2we5;?50;3xL1203td2:?4?:0yK01151zJ702=zf0{I673>{i1??1<7?tH564?xh>>?0;65<6sA>?;6sa97f94?7|@=><7p`66d83>4}O<==0qc79f;295~N3<>1vb49?:182M23?2we5:?50;3xL1203td2;?4?:0yK01151zJ702=zf0=?6=4>{I673>{i1>?1<7?tH564?xh>??0;65<6sA>?;6sa96f94?7|@=><7p`67d83>4}O<==0qc78f;295~N3<>1vb46?:182M23?2we55?50;3xL1203td24?4?:0yK01151zJ702=zf02?6=4>{I673>{i11?1<7?tH564?xh>0?0;6?290:wE:;7:m==?=83;pD9:8;|l:5<6sA>?;6sa99f94?7|@=><7p`68d83>4}O<==0qc77f;295~N3<>1vb47?:182M23?2we54?50;3xL1203td25?4?:0yK01151zJ702=zf03?6=4>{I673>{i10?1<7?tH564?xh>1?0;6?3:1=vF;469~j5<6sA>?;6sa98f94?7|@=><7p`69d83>4}O<==0qc76f;295~N3<>1vb4o?:182M23?2we5l?50;3xL1203td2m?4?:0yK01151zJ702=zf0k?6=4>{I673>{i1h?1<7?tH564?xh>i?0;65<6sA>?;6sa9`f94?7|@=><7p`6ad83>4}O<==0qc7nf;295~N3<>1vb4l?:182M23?2we5o?50;3xL1203td2n?4?:0yK01151zJ702=zf0h?6=4>{I673>{i1k?1<7?tH564?xh>j?0;65<6sA>?;6sa9cf94?7|@=><7p`6bd83>4}O<==0qc7mf;295~N3<>1vb4m?:182M23?2we5n?50;3xL1203td2o?4?:0yK01151zJ702=zf0i?6=4>{I673>{i1j?1<7?tH564?xh>k?0;65<6sA>?;6sa9bf94?7|@=><7p`6cd83>4}O<==0qc7lf;295~N3<>1vb4j?:182M23?2we5i?50;3xL1203td2h?4?:0yK01151zJ702=zf0n?6=4>{I673>{i1m?1<7?tH564?xh>l?0;65<6sA>?;6sa9ef94?7|@=><7p`6dd83>4}O<==0qc7kf;295~N3<>1vb4k?:182M23?2we5h?50;3xL1203td2i?4?:0yK01151zJ702=zf0o?6=4>{I673>{i1l?1<7?tH564?xh>m?0;65<6sA>?;6sa9df94?7|@=><7p`6ed83>4}O<==0qc7jf;295~N3<>1vb4h?:182M23?2we5k?50;3xL1203td2j?4?:0yK01151zJ702=zf0l?6=4>{I673>{i1o?1<7?tH564?xh>n?0;65<6sA>?;6sa9gf94?7|@=><7p`6fd83>4}O<==0qc7if;295~N3<>1vbl>?:182M23?2wem=?50;3xL1203tdj51zJ702=zfh:?6=4>{I673>{ii9?1<7?tH564?xhf8?0;65<6sA>?;6saa1f94?7|@=><7p`n0d83>4}O<==0qco?f;295~N3<>1vbl??:182M23?2wem51zJ702=zfh;?6=4>{I673>{ii8?1<7?tH564?xhf9?0;65<6sA>?;6saa0f94?7|@=><7p`n1d83>4}O<==0qco>f;295~N3<>1vbl?4?:0yK01151zJ702=zfh8?6=4>{I673>{ii;?1<7?tH564?xhf:?0;65<6sA>?;6saa3f94?7|@=><7p`n2d83>4}O<==0qco=f;295~N3<>1vbl=?:182M23?2wem>?50;3xL1203tdj??4?:0yK01151zJ702=zfh9?6=4>{I673>{ii:?1<7?tH564?xhf;?0;65<6sA>?;6saa2f94?7|@=><7p`n3d83>4}O<==0qco1vbl:?:182M23?2wem9?50;3xL1203tdj8?4?:0yK01151zJ702=zfh>?6=4>{I673>{ii=?1<7?tH564?x{zuIJHwnr@ARxyEF \ No newline at end of file +$45540<,[o}e~g`n;"2*726&;$:,)<6;.vnt*Ydo&lbjbQwloz\144;?U9oaeP19vl73(iof;0<85?0123=>6789:;<=>;0:23456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?01084<7<9:1:"=?<;029MKVR\3KOH_O39;2=5`=683CE\XZ5psmd[cskdV~c~h}g<883:73<990BB][[:qplcZ`rdeUdk|h^cpw`ts400;2?;4118JJUSS2yxdkRhzlm]wlwct`Vdnklzj<883:4?<990DYY^ZT;fbpdYdg|d044?>0a855113922?OIX\^1HDO31483:45<9?0DYY^ZT;FLE972294:>6?7:HLSQQ11:07?754;8;0>7GAPTV9@LVF480;2<<42;MVPUSS2ME[M1?50?31?64=AGZ^X7JFB=12>586;2996B[[PTV9@JD;;80;2<:4378LQQVR\3ndyy2<5;2=`>5t:9:;jj::6,72?12<<9LM=<5;:HLSQQ11397>JSSX\^1HB^M<283:4=1:2<286869768<567<22N4L?4959:45?530;>585=231EC^ZT;rqkbYbey~rSyf}erj\evubz}636=0=5:;9MKVR\3zycjQjmqvz[qnumzbTbhintd>;>586j231CXZ_UU8q`Zbf|hUhcx`{<983:7=F:11JHI\N<1<;?DBCZH6:255NDEPB878?3HNO^L2<>99B@ATF4=437LJKR@>6:==FLMXJ0;07;@FGVD:0611JHI\N<9611JHI\M<1<;?DBCZK6:255NDEPA878?3HNO^O2<>99B@ATE4=437LJKRC>6:==FLMXI0;07;@FGVG:06h1JHI\M<983:==FLMXI050<;@NO=>GTQGIT^HI<;CW1<>DR[VCEJB?4C39@A44EKCK90OA\6;BMNILRSMM;?7NA]E^EFJ@TF\@EESD@IO69@V@GSMM;0H?5KC39GM3=CAH6;2:5KI@>24;169GMD:6<730HDO31483:2=CAH6:9384DHC?5;0384DHC?7;01OEO2>3?58@LD;9=4<7IGM<07=3>BNJ5;=2:5KIC>23;12NBN1?17:FJF9476>1OEO2=1?58@LD;:;4<7IGM<31=3>BNJ58?2:5KIC>11;1;08;EKA8719?2NBN1<7>69GMG:517<0HDL32?58@LD;;9427IGM<2394;119:FJTD:6294<7IG_A=3=3>BNXK6;2:5KIQ@?5;1BHI5;:2:5KO@>26;108;EMB842912NDM1?::1<4?AIF48?5:6J@A=3=2>BHI585:6J@A=1=2>BHI5>5:6J@A=7=2>BHI5<5:6J@A=5=2>BHI525:6J@A=;=3>BHIVXNK;5KOC>3:2=CGK6:<394DN@?54803MEI0<<17:FLF9746>1OCO2>4?58@JD;9<4<7IAM<04=3>BHJ5;<2:5KOC>2<;117:FLF9466>1OCO2=2?58@JD;::4<7IAM<36=3>BHJ58>2:5KOC>12;1:08;EMA87>9?2NDN1<6>79GKG:56>1OCO2<0?;8@JD;;80;2:5KOC>05;019:FLTD:6294<7IA_A=3=3>BHXK6;2:5KOQ@?5;16H75:DBHVC53ON87KJL4:DGG@56G>2:K16>O402CEEY^P01:8MKOSXV::46GAIUR\47><8:KMMQVX8=20ECG[P^26<>OIA]ZT<;64IOKWTZ6012CEEY][AUG4?LHN\V:;;6GAIU]352=NF@^T;7:KMMQY7=>1BBDZP0758MKOSW9=<7D@FT^2;3>OIA]U;5:5FNHV\4D11BBDZP1758MKOSW8=<7D@FT^3;3>OIA]U:5:5FNHV\5D1D69JJLRX9L=0ECG[_0D4?LHN\V8;;6GAIU]152=NF@^T>?94IOKW[7503@DBXR<;7:KMMQY5=>1BBDZP2758MKOSW;=<7D@FT^0;3>OIA]U95:5FNHV\6D11BBDZP3758MKOSW:=<7D@FT^1;3>OIA]U85:5FNHV\7D1L8;HLJPZ5D?2CEEYQ6B@6:NLEACC?2FDKDMNL59OQQ733E__>95CUU17?ISS0168J466<2D:H68=>0B<>:4:L24320968J46>;2D:=95A1027?K769=1E=<<;;O3271=I98>?7C?>559M54033G;:;95A10:7?K761:1E=?:4N0030>H6:8>0B<<=4:L26622468J441<2D:>::4N00;7>H6;=1E=>?<;O377>H6=:1E=;:4N0477>H6?:1E=5=4N0;1?K443G8;?6@=129M675H51;1E?>5A3108J0480B4=4N830?K?5;2D2?>5A9518J<343G3=?6@6729M==56^Q2h1YILJPFHPPPf=UMHNT[DJ[H^C`?WCFLV]BHYFPB09P56=TADUHCABFSHMM[FNBKB<0_B[]CD58WWPFDVK<7^\YAM]A0>UTZH>0_^\M4:VZT@553\:$kh!rg-dg}(ddbr$Aua}_sf\tkruWniTtb|?012\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4566W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;>R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?02]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3452XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:>S_k|umv277=R8&myj#|i/fa{*fjlp&GscQ}d^rmpwY`kVrd~=>?6^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\vaYwf}xTknQwos2342YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt789:T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=>>_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1236ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678:UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=:PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^uq[uhszVmhSua}0126[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYpzVzexQhc^zlv567>VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT{Qnup\cfYg{:;<:Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_vp\tkruWniTtb|?01:\V`urd};9=6[?/fpe*w`(ojr%oaew/sf\tkruWkce0=0=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<0<15>S7'nxm"h gbz-gim'{nT|cz}_ckm878592_;#j|i.sd,cf~)keas#jPpovq[goi4:49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce090=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<4<15>S7'nxm"h gbz-gim'{nT|cz}_ckm838592_;#j|i.sd,cf~)keas#jPpovq[goi4>49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce050=0:W3+bta&{l$knv!cmi{+wbXxg~ySoga_103?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\576<]9%l~k }f.e`|+ekcq%yhR~ats]amkY5:91^<"i}f/pe+be&jf`t"|k_qlwvZdnfV99<6[?/fpe*w`(ojr%oaew/sf\tkruWkceS9 gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?01213>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:;=?84U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos2344403\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=?>279V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567:;=0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?03312>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:8>:5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12377413\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=:=7:W3+bta&{l$knv!cmi{+wbXxg~ySoga_ymq45639;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0404?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789?:>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12327><]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<;?>269V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567>;8i7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?014\fab7:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?7358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678>;9<6[?/fpe*w`(ojr%oaew/sf\tkruWni7<3>328Q5)`zo$yj"ilx/aoo})ulVzexQhc=0=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`868582_;#j|i.sd,cf~)keas#jPpovq[be;<78;7X> gsd-vc)`kq$h`fv re]sjqtXoj6>2?>4U1-dvc(un&mht#mcky-q`Zvi|{Ulo181219V4*aun'xm#jmw.bnh|*tcWyd~Ril<6<14>S7'nxm"h gbz-gim'{nT|cz}_fa?<;7a3\:$kh!rg-dg}(ddbr$~iQnup\cfY79o1^<"i}f/pe+be&jf`t"|k_qlwvZadW8;m7X> gsd-vc)`kq$h`fv re]sjqtXojU9=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS>?i;T2,cw`)zo%lou lljz,vaYwf}xTknQ;1g9V4*aun'xm#jmw.bnh|*tcWyd~Ril_43e?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]55c=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[27a3\:$kh!rg-dg}(ddbr$~iQnup\cfY?:?1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyij2?>348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;978=7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh<3<12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo595>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>7:70<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlm793<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8385>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk191279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:?6;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP0378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX9;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP2378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX;;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP4378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX=;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP6378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX?;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP83;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86;2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:66;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>1:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<2<>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86?2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:26;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>5:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<28>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl8632?64U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4Y7:11^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1^31<>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:S?<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X;;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]76==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R;=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W?837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\37><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh>249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4565:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=><249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4563:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=>:249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4561:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=>8209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=3=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj949:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf595><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb1:1209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=7=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj909:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf5=5><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb161209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=;=65=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ7582_;#j|i.sd,cf~)keas#z|Ppovq[goiW;8;7X> gsd-vc)`kq$h`fv ws]sjqtXj`dT??>4U1-dvc(un&mht#mcky-tvZvi|{UiecQ;219V4*aun'xm#jmw.bnh|*quWyd~Rlfn^714>S7'nxm"h gbz-gim'~xT|cz}_ckm[3473\:$kh!rg-dg}(ddbr${Qnup\flhX?;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU3>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR7=6:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4567:>1^<"i}f/pe+be&jf`t"y}_qlwvZdnfVrd~=>?0005?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt789;9;6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}0122570<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;?3358Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678:89:6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012762=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;8<<9;T2,cw`)zo%lou lljz,swYwf}xTnd`Pxnp34535?2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>:1348Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678?837X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?0142571<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<;<=b:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4561Wkno219V4*aun'xm#jmw.bnh|*quWyd~Ril<1<14>S7'nxm"h gbz-gim'~xT|cz}_fa?5;473\:$kh!rg-dg}(ddbr${Qnup\cf:56;:0Y=!hrg,qb*adp'iggu!xr^rmpwY`k595>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh090=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm35?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>5:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg919:91^<"i}f/pe+be&jf`t"y}_qlwvZad4149<6[?/fpe*w`(ojr%oaew/vp\tkruWni753?i;T2,cw`)zo%lou lljz,swYwf}xTknQ?1g9V4*aun'xm#jmw.bnh|*quWyd~Ril_03e?P6(o{l%~k!hcy,`hn~({U{by|Pgb]15c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[67a3\:$kh!rg-dg}(ddbr${Qnup\cfY39o1^<"i}f/pe+be&jf`t"y}_qlwvZadW<;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU==k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS:?i;T2,cw`)zo%lou lljz,swYwf}xTknQ71g9V4*aun'xm#jmw.bnh|*quWyd~Ril_805?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`4949:6[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg=3=63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn692?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?7;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol090=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc939:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij29>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;?78=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<9<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo535>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]360=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU:>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]160=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU8>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]760=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU>>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]560=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU<>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef];60=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU2>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5979:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=0=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=1=1289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc95>5>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5939:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=4=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=191289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc9525>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g59?9:11^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1^31<>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:S?<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X;;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]76==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R;=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W?837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\37><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmThS7'nxm"h gbz-gim'~xT|cz}_fa\|jt789;996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01011>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt7899996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01611>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt789?996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01411>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt789=996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01:04>S7'nxm"h gm2-va)`z8$yjzh{/Lov|ZTFEVXOSH@PFVDW644a3\:$kh!rg-dh5(ul&my=#|iwgv,IhsW[KFS_KHOTV\AK76:m1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwa969:m1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwa979:j1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZ65k2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[4523\:$kh!rg-dh5(ul&my=#|iwgv,gptuWo}mxR}{aug\ip~789;7<3=9;T2,cw`)zo%l`= }d.eq5+tao~$ox|}_guepZusi}oTaxv?013?4;74=2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[hs89::0<0<6:W3+bta&{l$ka>!re-dv4(un~l#n{}r^dtbqYt|h~nS`{w01228486:11^<"i}f/pe+bj7&{n$k?!rguep*cjx}sTjzh{_g`13>S7'nxm"h gm2-va)`z8$yjzh{/dosp|Yao~Te?h4U1-dvc(un&mg<#|k/fp2*w`pn}%na}zv_guepZoXe|r;<=><0:W3+bta&{l$ka>!re-dv4(un~l#hctx]escrXaVg~t=>?000:?P6(o{l%~k!hl1,q`*auiz$yy} c1-`ewt~fl~7<3<6;T2,cw`)zo%l`= }d.eqev(u{}y$o=!laspzj`r;97827X> gsd-vc)`d9$yh"i}ar,qwqu(k9%hm|vndv?6;4>3\:$kh!rg-dh5(ul&mym~ }suq,g5)di{xrbhz33?0e?P6(o{l%~k!hl1,q`*auiz$yy} c1-dip~)odQ;Q#ib1/o26c=R8&myj#|i/fn3*wb(o{kx"}{s.a3+bkrp'mfW gsd-vc)`d9$yh"i}ar,qwqu(k9%laxv!glY7Y+aj{'gx>>5Z0.eqb+ta'nf;"j gscp*wus{&i;#{?30?00?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5979::1^<"i}f/pe+bj7&{n$ko|.sqww*e7';7>3<<;T2,cw`)zo%l`= }d.eqev(u{}y$o=!y1=1=66=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7;<78i7X> gsd-vc)`d9$yh"i}ar,qwqu(k9%}=R>Paof34566:k1^<"i}f/pe+bj7&{n$ko|.sqww*e7';T=Road123444e3\:$kh!rg-dh5(ul&mym~ }suq,g5)q9V8Tmcj?01226g=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7X;Vkeh=>?000a?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5Z2Xff~;<=>>289V4*aun'xm#jb?.sf,cwgt&{y"m>/bcqv|hb|5:5>45Z0.eqb+ta'nf;"j gscp*wus{&i:#no}rxlfp979:01^<"i}f/pe+bj7&{n$ko|.sqww*e6'jky~t`jt=0=6<=R8&myj#|i/fn3*wb(o{kx"}{s.a2+fguzpdnx1=12g9V4*aun'xm#jb?.sf,cwgt&{y"m>/fov|+ajS9W%k`?!m00e?P6(o{l%~k!hl1,q`*auiz$yy} c0-dip~)odQ:Q#ibs/op6c=R8&myj#|i/fn3*wb(o{kx"}{s.a2+bkrp'mfW?S!glq-iv4a3\:$kh!rg-dh5(ul&mym~ }suq,g4)`e|r%k`U<]/enw+kt:o1^<"i}f/pe+bj7&{n$ko|.sqww*e6'ng~t#ib[5_-chu)ez887X> gsd-vc)`d9$yh"i}ar,qwqu(k8%}=1>1229V4*aun'xm#jb?.sf,cwgt&{y"m>/w3?5;443\:$kh!rg-dh5(ul&mym~ }suq,g4)q9585>>5Z0.eqb+ta'nf;"j gscp*wus{&i:#{?33?00?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5929:k1^<"i}f/pe+bj7&{n$ko|.sqww*e6';T?000a?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5Z5Xign;<=>>2c9V4*aun'xm#jb?.sf,cwgt&{y"m>/w3\0Zhh|9:;<<S7'nxm"h gm2-va)`zhy%~~z|/scn[`kw|pUmnRgPos234575;2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex?:4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov261=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}8986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at207?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs<;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz:259V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjq05<2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex:<;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw<7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2?>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6;2R|{289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5;5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}979W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8785k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<3<\vq4>3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw33?0`?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7?3Q}t3;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6?2?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:36Vx>45Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}939:j1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=7=[wr512_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<7<1g>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0;0Pru0:?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7;3 gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8485i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=0=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc2<>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx7834:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|38?0g?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey050Pru3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=2=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?5;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9499o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;;7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5>5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~793?i;T2,cw`)zo%l`= }d.psjqt(kfex1811g9V4*aun'xm#jb?.sf,vuhsz&idycz37?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=:=5`=R8&myj#|i/fn3*wb(zyd~"m`uov\44c<]9%l~k }f.eo4+tc'{zex!lotlw[47b3\:$kh!rg-dh5(ul&x{by| cnwmpZ46m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY49l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX<8o0Y=!hrg,qb*ak8'xo#~ats-`kphsW<;n7X> gsd-vc)`d9$yh"|nup,gjsi|V<:i6[?/fpe*w`(oe:%~i!}povq+firf}U<=h5Z0.eqb+ta'nf;"j rqlwv*eh}g~T4?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?30?01?P6(o{l%~k!hl1,q`*twf}x$ob{at^f28485:2_;#j|i.sd,ci6)zm%y|cz}/bmvjqYc9585>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<2<>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?0;453\:$kh!rg-dh5(ul&x{by| cnwmpZb64<49>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=181239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>4:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;078:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S=<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_002?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[7463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W:8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S9<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_402?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[3463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W>8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S5<;;T2,cw`)zo%l`= }d.psjqt(kfexR``t12356`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8584n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:66:l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Ze~4;48j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xkp682>h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vir090!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:Tot2:>2d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pcx>4:6`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8=84n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:>6=;0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5;;29>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vf~x1?1479V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sa{{<0<\MKPX8=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5858=5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567We0>0;0:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:T`xz34?63?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,IdbcWmcmjR~ats]seaYflm:;<=Qcuu>6:16<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^nvp909<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[iss4>4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xd|~743:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Ugyy26>538Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?0^zlv979<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[}iu4;4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xpfx7?3:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Usc2;>528Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?_ymq838382_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\|jt;?7>;7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yg{6329>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vrd~171319V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|lj311<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>2:7`<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg8785n2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]sea:46;l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugc4=49j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwim6>2?h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWyko0;0=f:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{mi28>3d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok<9<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>::7c<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[44a3\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Z77:l1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&nbjkQnup\tdbX:;o0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcW:8n7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvflV>9i6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimU>>h5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhnT:?k4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoS:!ws-dsdu)oyl%{~i/ekebZvi|{U{miQ6399V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|ljPaef3456;9948;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>2:61<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[dbc89:;0?0<7:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{miQnde2345:46:=0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcWhno<=>?<5<03>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae]b`a67896>2>94U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoSljk01238384?2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaYflm:;<=28>258Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok_`fg45674148;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>::7g<]9%l~k }f.eo4+qu'n}j#if/uqtc)wzfmTjxbc_h11?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,twi`Wog`RgPmtz34554<2_;#j|i.sd,ci6){%l{l}!gqd-swva'yxdkRhzlm]j[hs89:8=8=;;T2,cw`)zo%l`= xr.etev(`xo$|~}h psmd[cskdVcTaxv?0112<6><]9%l~k }f.eo4+qu'n}j#if/uqtc)wzfmTjxbc_h]nq}678:;3S^Y?339V4*aun'xm#jb?.vp,crgt&nzm"z|f.rqkbYa}efTeR``t12357?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2?>3;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}6:2?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:56;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>0:7`<]9%l~k }f.eo4+qu'n}j#y|tr-`5*aj}q$laV>R.fo2*h75n2_;#j|i.sd,ci6){%l{l}!wrvp+f7(ods"jcT1\,div(j{;l0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&mfyu hmZ0^*bkt&dy9j6[?/fpe*w`(oe:%{!hw`q-svrt'j;$k`{w.foX7X(`ez$f?h4U1-dvc(un&mg<#y}/fubw+qt|z%h="ibuy,di^2Z&ngx"`}=3:W3+bta&{l$ka>!ws-dsdu)z~x#n? v0>3:75<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p64849?6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z<2=>318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t28685;2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~86?2?l4U1-dvc(un&mg<#y}/fubw+qt|z%h="x>_1]bja6789;9n6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z_`lg45679;h0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:S?Qnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8U8Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p6W=Ujbi>?0131=>S7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0=0=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs484956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw878512_;#j|i.sd,ci6){%l{l}!wrvp+f4(khxyuck{<2<1b>S7'nxm"h gm2-sw)`hy%{~z|/b0,chs&ngP

"x><1<17>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4:66;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:0?0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0>0:75<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p64=49n6[?/fpe*w`(oe:%{!hw`q-svrt'j8$z?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4Y3Whdo<=>?1328Q5)`zo$yj"ic0/uq+bqf{'}xx~!lolr265=R8&myj#|i/fn3*rt(o~kx"z}{s.aliu4582_;#j|i.sd,ci6){%l{l}!wrvp+fijx:8o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;878o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;978o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;:78o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;;7987X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!hmtz-ch]7U'mf=#c>329V4*aun'xm#jb?.vp,crgt&~y"inf/a0+bkrp'mfW5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m1^<"i}f/pe+bj7&~x$kzo|.vqww*afn'i8#{?30?04?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q95;5>:5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m gsd-vc)`d9$|~"ixar,twqu(ohl%o>!y1^2\ekb789::>k5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m>2g9V4*aun'xm#jb?.vp,crgt&~y"inf/a0+s7X;Vkeh=>?000e?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q9V>Tmcj?01226f=R8&myj#|i/fn3*rt(o~kx"z}{s.pbiZgkefySk{cl^k00>S7'nxm"h gm2-sw)`hy%{~z|/scn[djjgz~Tjxbc_h]nq}67899>7X> gsd-vc)`d9$|~"ixar,twqu(zhgTmac`su]eqijXaVg~t=>?001a?P6(o{l%~k!hl1,tv*apiz$|y} r`o\eikh{}UmyabPi^llp56798UBB[Q?299V4*aun'xm#jb?.vp,crgt&~y"|nm^dvhiYajVc996[?/fpe*w`(oe:%{!hw`q-svrt'{kfSk{cl^k1`>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVcTaxv?0121a>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVcTaxv?01225a=R8&myj#|i/fn3*rt(zhgT{Qjn^k25c=R8&myj#|i/fn3*rt(zhgT{Qjn^k2[4443\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d>95Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu310>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|;8?7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{3368Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkr3:=1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~by;=4:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmp3433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d;?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov;61=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}3956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8585k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<1<\vq4>3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw31?0`?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7=3Q}t3;8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp692?m4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\g|:56Vx>45Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}959:j1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=1=[wr512_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<5<1g>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir090Pru0:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7935:Zts:01^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=5=6f=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu191_sv1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir050=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~414T~y1:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|33?0b?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey090=a:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZ~hz5?5>l5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]{kw:16;k0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPxnp?3;4f3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSua}<9<1e>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vrd~1712e9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{622R|{1g9V4*aun'xm#jb?.vp,suhsz&idycz30?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=3=5c=R8&myj#|i/fn3*rt(yd~"m`uov?6;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9599o1^<"i}f/pe+bj7&~x${}`{r.alqkr;<7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5?5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~7:3?i;T2,cw`)zo%l`= xr.usjqt(kfex1911g9V4*aun'xm#jb?.vp,suhsz&idycz38?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=;=5`=R8&myj#|i/fn3*rt(yd~"m`uov\44c<]9%l~k }f.eo4+qu'~zex!lotlw[47b3\:$kh!rg-dh5(pz&}{by| cnwmpZ46m2_;#j|i.sd,ci6){%||cz}/bmvjqY49l1^<"i}f/pe+bj7&~x${}`{r.alqkrX<8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW<;n7X> gsd-vc)`d9$|~"ynup,gjsi|V<:i6[?/fpe*w`(oe:%{!xpovq+firf}U<=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T4<1<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5979:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl8692?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?33?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28185:2_;#j|i.sd,ci6){%||cz}/bmvjqYc95?5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<29>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3?3;453\:$kh!rg-dh5(pz&}{by| cnwmpZb64149>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=171209V4*aun'xm#jb?.vp,suhsz&idyczPd0]364=R8&myj#|i/fn3*rt(yd~"m`uov\`4Y6:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl8U9><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;6;2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<31?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18785:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:595>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?2;>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?1;453\:$kh!rg-dh5(pz&}{by| cnwmpZb54?49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo>191239V4*aun'xm#jb?.vp,suhsz&idyczPd3>;:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;178:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S=<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_002?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[7463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W:8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S9<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_402?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[3463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W>8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S5<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_801?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f08585:2_;#j|i.sd,ci6){%||cz}/bmvjqYc;5;5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>2=>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e1?7;453\:$kh!rg-dh5(pz&}{by| cnwmpZb44=49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo?1;1239V4*aun'xm#jb?.vp,suhsz&idyczPd2>5:74<]9%l~k }f.eo4+qu'~zex!lotlw[a5;?7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn8050=2:W3+bta&{l$ka>!ws-ttkru'je~byQk3=;=64=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y7:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U:><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q=209V4*aun'xm#jb?.vp,suhsz&idyczPd2]064=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y3:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U>><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q9209V4*aun'xm#jb?.vp,suhsz&idyczPd2]464=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y?:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U2>95Z0.eqb+ta'nf;"z| wqlwv*eh}g~Tbbz?01323>S7'nxm"h mdo,`jssW`6;2<64U1-dvc(un&gna"j`uu]j8469911^<"i}f/pe+hcj'me~xRg310<2<>S7'nxm"h mdo,`jssW`6:>3?7;T2,cw`)zo%fi`!kotv\m9746820Y=!hrg,qb*kbe&ndyyQf<06=5==R8&myj#|i/lgn+air|Vc7=80>8:W3+bta&{l$ahc dnww[l:6>7;37X> gsd-vc)jmd%ocxzPi=34:4><]9%l~k }f.ofi*bh}}Ub0<61199V4*aun'xm#`kb/emvpZo;904:;6[?/fpe*w`(elg$hb{{_h>2:4><]9%l~k }f.ofi*bh}}Ub0?>1199V4*aun'xm#`kb/emvpZo;:84:46[?/fpe*w`(elg$hb{{_h>16;7?3\:$kh!rg-nah)cg|~Te1<<>0:8Q5)`zo$yj"cjm.flqqYn4;>5=55Z0.eqb+ta'dof#iazt^k?608602_;#j|i.sd,i`k(lfSd2=6?3;?P6(o{l%~k!bel-gkprXa58<2<64U1-dvc(un&gna"j`uu]j87>9911^<"i}f/pe+hcj'me~xRg328<23>S7'nxm"h mdo,`jssW`692<64U1-dvc(un&gna"j`uu]j8669911^<"i}f/pe+hcj'me~xRg330<2<>S7'nxm"h mdo,`jssW`68>3?7;T2,cw`)zo%fi`!kotv\m9546820Y=!hrg,qb*kbe&ndyyQf<26=5==R8&myj#|i/lgn+air|Vc7?80>7:W3+bta&{l$ahc dnww[l:468=0Y=!hrg,qb*kbe&ndyyQf<5<23>S7'nxm"h mdo,`jssW`6>2<94U1-dvc(un&gna"j`uu]j8386?2_;#j|i.sd,i`k(lfSd28>058Q5)`zo$yj"cjm.flqqYn414:;6[?/fpe*w`(elg$hb{{_h>::40<]9%l~k }f.ofi*bh}}UbS=?9;T2,cw`)zo%fi`!kotv\mZ76?2_;#j|i.sd,i`k(lfSdQ>0058Q5)`zo$yj"cjm.flqqYnW8;:;6[?/fpe*w`(elg$hb{{_h]2641<]9%l~k }f.ofi*bh}}UbS<=>7:W3+bta&{l$ahc dnww[lY6<8=0Y=!hrg,qb*kbe&ndyyQf_0723>S7'nxm"h mdo,`jssW`U::<94U1-dvc(un&gna"j`uu]j[416?2_;#j|i.sd,i`k(lfSdQ>8058Q5)`zo$yj"cjm.flqqYnW83::6[?/fpe*w`(elg$hb{{_h]152=R8&myj#|i/lgn+air|VcT>=?8;T2,cw`)zo%fi`!kotv\mZ469>1^<"i}f/pe+hcj'me~xRgP2334?P6(o{l%~k!bel-gkprXaV88=:5Z0.eqb+ta'dof#iazt^k\61703\:$kh!rg-nah)cg|~TeR<:169V4*aun'xm#`kb/emvpZoX:?;<7X> gsd-vc)jmd%ocxzPi^0452=R8&myj#|i/lgn+air|VcT>5?8;T2,cw`)zo%fi`!kotv\mZ4>9?1^<"i}f/pe+hcj'me~xRgP3058Q5)`zo$yj"cjm.flqqYnW:::;6[?/fpe*w`(elg$hb{{_h]0541<]9%l~k }f.ofi*bh}}UbS><>7:W3+bta&{l$ahc dnww[lY4;8=0Y=!hrg,qb*kbe&ndyyQf_2623>S7'nxm"h mdo,`jssW`U89<84U1-dvc(un&gna"j`uu]j[1713\:$kh!rg-nah)cg|~TeR;>6:W3+bta&{l$ahc dnww[lY19?1^<"i}f/pe+hcj'me~xRgP7048Q5)`zo$yj"cjm.flqqYnW1;=7X> gsd-vc)jmd%ocxzPi^;2=>S7'nxm"h mdo,`jssWdof0=0>a:W3+bta&{l$ahc dnww[hcj48:5=l5Z0.eqb+ta'dof#iazt^ofi97668k0Y=!hrg,qb*kbe&ndyyQbel>26;7f3\:$kh!rg-nah)cg|~Tahc312<2e>S7'nxm"h mdo,`jssWdof0<:11`9V4*aun'xm#`kb/emvpZkbe5;>27;j7X> gsd-vc)jmd%ocxzPmdo?5286i2_;#j|i.sd,i`k(lfS`kb<0:=5d=R8&myj#|i/lgn+air|Vgna1?6>0;8Q5)`zo$yj"cjm.flqqYjmd6:2 gsd-vc)jmd%ocxzPmdo?6486i2_;#j|i.sd,i`k(lfS`kb<30=5d=R8&myj#|i/lgn+air|Vgna1<<>0c8Q5)`zo$yj"cjm.flqqYjmd6983?n;T2,cw`)zo%fi`!kotv\i`k;:<4:m6[?/fpe*w`(elg$hb{{_lgn87099h1^<"i}f/pe+hcj'me~xRcjm=04:4g<]9%l~k }f.ofi*bh}}Ufi`2=8?3b?P6(o{l%~k!bel-gkprXelg7>40>9:W3+bta&{l$ahc dnww[hcj4;4:m6[?/fpe*w`(elg$hb{{_lgn86699h1^<"i}f/pe+hcj'me~xRcjm=12:4g<]9%l~k }f.ofi*bh}}Ufi`2<2?3b?P6(o{l%~k!bel-gkprXelg7?>0>a:W3+bta&{l$ahc dnww[hcj4:>5=l5Z0.eqb+ta'dof#iazt^ofi9526830Y=!hrg,qb*kbe&ndyyQbel>0:4?<]9%l~k }f.ofi*bh}}Ufi`2;>0;8Q5)`zo$yj"cjm.flqqYjmd6>2<74U1-dvc(un&gna"j`uu]nah:16830Y=!hrg,qb*kbe&ndyyQbel>4:4?<]9%l~k }f.ofi*bh}}Ufi`27>0;8Q5)`zo$yj"cjm.flqqYjmd622::4U1-dvc(un&gna"imm/eaib(`jdmj"cijcb,aib)edbUfi`Qheogqeqiu'kgei lsup,vdkkgfzP

1d9V4*aun'xm#}{bmi,vaYu{}Uyij2?>0g8Q5)`zo$yj"||tcnh+wbXzz~T~hi31?3f?P6(o{l%~k!}su`oo*tcW{ySkh<3<2`>S7'nxm"h rrvahn)ulVxxxR|jg^22`>S7'nxm"h rrvahn)ulVxxxR|jg^32`>S7'nxm"h rrvahn)ulVxxxR|jg^02`>S7'nxm"h rrvahn)pzVxxxRo|rde14>S7'nxm"h rrvahn)pzVxxxRo|rde\`4473\:$kh!rg-qwqdkc&}yS}{_`qqabYc:8i0Y=!hrg,qb*tt|kf`#z|Prrv\gjke9m1^<"i}f/pe+wusjea${Q}su]`khd69l1^<"i}f/pe+wusjea${Q}su]qab:768o0Y=!hrg,qb*tt|kf`#z|Prrv\v`a;97;o7X> gsd-vc)u{}hgg"y}_sqw[wc`W9;o7X> gsd-vc)u{}hgg"y}_sqw[wc`W8k0Y^K]_@NJEVe<]ZOYS[G\ICNF7>PDK01]EHYPTXRF7>QBI:1\IOm4WSKWAZKHLLUJo6Y]IUG\IJBBWKn0[_G[E^UJ@QNXIm1\^DZJ_VKGPMYE9m1SEAGAX,ZGF%6)9)Y_YO.?.0"BWFON=2RD^NW9;YQWHLD03QY_SJ@K7:ZPPZPDKk1SSNA]E^KMBJ00:ZgiZKfbfx]i}foo33?]bjWDcecXjrrkljf=fddexxRkbpu{a?djjgz~Tjxbc6:`bgnswl2hjof{_lcqo`t43jf`h6jnt`]`kphs 9#o7io{a^alqkr/9 n0hlzn_bmvjq.5!m1omyoPcnwmp-5.l2njxlQlotlw,1/c3mkmRm`uov+1,bbf|hUhcx`{(9+g?agsiVidycz'9(d8`drfWje~by26:1<4?adn|lxy:6jfn)2*2>bnf!;";6jfn)33-2=cag":=$94dhl+57/03mce$<=&7:fjj-73!>1oec&>5(58`lh/9?#<7iga(05*2>bnf!8":6jfn)1*2>bnf!>":6jfn)7*2>bnf!<":6jfn)5*2>bnf!2":6jfn);*2>bnf5:5;6jfn=33:2=cag6:=394dhl?57803mce0<=17:fjj9736>1oec2>5?58`lh;9?427iga<0594;1&7:flqq.6!11ocxz'11+;?air|!;:%55kotv+57/?3me~x%?<)99gkpr/9=#37iazt)36-==cg|~#=;'7;emvp-70!11ocxz'19+;?air|!;2%:5kotv+6,>&8:flqq.59 20hb{{(30*<>bh}}"9?$64dnww,72.02ndyy&=5(:8`jss ;<"46j`uu*13,> =0hb{{(6+4?air|!2";6j`uu*:-2=cg|~7<364dnww846902ndyy2>1?:8`jss488546j`uu>27;>bh}}6:;364dnww84>902ndyy2>9?58`jss48437iazt=03:==cg|~7><07;emvp945611ocxz322<;?air|58?255kotv?608?3me~x1<9>99gkpr;:>437iazt=0;:==cg|~7>408;emvp94902ndyy2<0?:8`jss4:;546j`uu>06;>=18:flqq:4<7k0hb{{<2794;>;17:flqq:46>1ocxz34?58`jss4<4<7iazt=4=3>bh}}6<2:5kotv?<;12y15[7ekcV;3xb=9,gkekZabflxjxb|Pv7]2(KIIM%DDBH:?3:djbjYdgrT9<,b]kevYulVnjxlQlotlw95*dWmceSzgkti?2<)eX`hyT{Qkauc\gjsi|4:'oRhzlm]ehdatW{yS{oc=1.`[lkwdlgnbyo{inl\p|vb5;&hSx}j_doaaabblVxnk0>#c^uq[ctby4;'oR{|e^flqqYu{}7: nQznegqbiipWee|1="l_icp[jpbzofd{0>#c^rqaiiflVfjxh`ly<2/gZbh}}U|eizg=24/gZktofdTzlb21-a\vaYcmy~c18?=,b]fvwiuW`dainzfoo]w}uc:8%iTdl}Puoffvcjh4:'oRfns^coijusWog`0?#c^jbwZtt|4;'oRjnt`]`kphsW~coxe3>0-a\lduX{Ujof3?,b]vw`Ybkj7; nQlololjZekgja65)eXlfS}{_wco95*dWakxSio{a^alqkr:8%iT|ah_gwohZrozlycSckhaug\rdj:99;= nQxr^fftqn:998? nQrne\ahvsqV~c~h}g_ogdeqcX~hf69!mPpsmd[`kw|pUdk|h^cpw`tsWkg19"l_icp[sgkam7; nQrne\bpjkW}byi~fParqfvqYqie7:<<9#cnoskkci|Vdjah3iigm\|ihW<;9t>8P2bnh[4>sg:<'oRxnlhf\hjq:8%iT|gb_gkekZr~xl7:gu?7,b]svjaXn|fgSywe<3/gZkbefxrSywe<3/y60oiblihog{espg?lhmmj~xndzjrs58mkrXkea37cilbtko`==h~lxm`byn;qplcZcjx}s:86~}of]fiur~W}byi~f'0(37?uthoVof|ywPtipfwm.6!8>0|ah_dosp|Ys`{oxd%<&159svjaXmdzuRzgrdqk,6/6<2zycjQjmqvz[qnumzb#8$?;;qplcZcjx}sTxe|jsi*6-42vugnUna}zv_ujqavn/0 ;=7}|`g^gntqX|axne27:1<2f>vugnUna}zv_ujqavnXizyn~y&?)0`8twi`Wlg{xtQ{hsgplZgt{lx$<'>b:rqkbYbey~rSyf}erj\evubz}"9%vugnUna}zv_ujqavnXizyn~y&7)0f8twi`Wlg{xtQ{hsgplZgt{lx054?>0`8twi`Wlg{xtQ{hsgplZhboh~n$='>b:rqkbYbey~rSyf}erj\j`af|l":%vugnUna}zv_ujqavnXflmjxh&8)0`8twi`Wlg{xtQ{hsgplZhboh~n$5'>d:rqkbYbey~rSyf}erj\j`af|l636=06;qplcZ`rde;87}|`g^dvhiYs`{oxd%>&129svjaXn|fgSyf}erj+5,743yxdkRhzlm]wlwct`!8"=>5rne\bpjkW}byi~f'3(30?uthoVl~`aQ{hsgpl-2.9:1{~biPftno[qnumzb#9$?<;qplcZ`rdeUdk|h)4*56=wzfmTjxbc_ujqavn/? ;87}|`g^dvhiYs`{oxd%6&129svjaXn|fgSyf}erj+=,723yxdkRhzlm]wlwct`531<3?n;qplcZ`rdeUdk|h^cpw`ts 9#:m6~}of]eqijX|axneQnsrgqp-7.9h1{~biPftno[qnumzbTm~}jru*1-4ga:rqkbYa}efTxe|jsi]bwvcu|!?"=l5rne\bpjkW}byi~fParqfvq.1!8k0|ah_gwohZrozlycSl}|esv+3,7f3yxdkRhzlm]wlwct`Vkxh|{(9+2e>vugnUmyabPtipfwmYf{zoyx%7&1b9svjaXn|fgSyf}erj\evubz}626=0>a:rqkbYa}efTxe|jsi]mabgsm!:"=l5rne\bpjkW}byi~fPndebp`.6!8k0|ah_gwohZrozlycSckhaug+6,7f3yxdkRhzlm]wlwct`Vdnklzj(2+2e>vugnUmyabPtipfwmYimnki%:&1`9svjaXn|fgSyf}erj\j`af|l">% ;j7}|`g^dvhiYs`{oxdR`jg`vf,2/6i2zycjQiumn\pmtb{aUeijo{e):*5d=wzfmTjxbc_ujqavnXflmjxh&6)0a8twi`Wog`Rzgrdqk[kc`i}o757>16:pg[fjl991yhRjnt`]`kphs 9#:<6|k_ecweZeh}g~#=$??;sf\`drfWje~by&=)028vaYci}kTob{at)1*55=ulVnjxlQlotlw,1/682xoSio{a^alqkr/= ;;7jPd`vb[firf}"=%<>4re]geqgXkfex%9&119q`Zbf|hUhcx`{(9+24>tcWmkmRm`uov?4;753{nThlzn_bmvjq:?294>7jPeo48vaYu{}90~~z8;r`jp`tu<2yyy:4tswf=>sillxm`by:;wcoma0<{Ujof84ws]`hn773~xThlzn_bmvjq.7!8:0{Qkauc\gjsi|!;"==5xr^fbpdYdg|d$?'>0:uq[agsiVidycz'3(33?rtXlh~jSnaznu*7-46<{UomyoPcnwmp-3.991|~Rjnt`]`kphs ?#:<6y}_ecweZeh}g~#;$??;vp\`drfWje~by&7)028swYci}kTob{at);*57=pzVnjxlQlotlw8<<76<1|~Rka6:uq[wusuIJ{oi64@Az2>C<328qX8k4:048;>455j?ih6>=:48ym0=2=92d?4849;%6;6?20k2wX8i4:048;>455j?ih6>=:489P57e==8:1<7?<2c4`g?54==30_9j550294?74:k:082g5}T<847:011f3ed2:9>845+467957b<^=286?uz12495>s6;>0;7p*>8182=>d2810;6>h53;1eM20;2P?970603`?>j7>5;n6;3?6=3f?8=7>5;h740?6=3f?;o7>5;n732?6=3`?=47>5;h755?6=3f>o57>5$0:1>1`d3g;3=7>4;n6go;7>5$0:1>1`d3g;3=7<4;n6g2?6=,82969hl;o3;5?5<3f>o97>5$0:1>1`d3g;3=7:4;n6g0?6=,82969hl;o3;5?3<3f>o>7>5$0:1>1`d3g;3=784;n6g5?6=,82969hl;o3;5?1<3f>o<7>5$0:1>1`d3g;3=764;n6`b?6=,82969hl;o3;5??<3f>hi7>5$0:1>1`d3g;3=7o4;n6``?6=,82969hl;o3;5?d<3f>ho7>5$0:1>1`d3g;3=7m4;n6`f?6=,82969hl;o3;5?b<3f>hm7>5$0:1>1`d3g;3=7k4;n6`=?6=,82969hl;o3;5?`<3f>h;7>5$0:1>1`d3g;3=7??;:m7g3<72-;3>7:ic:l2<4<6921d8n;50;&2<7<3nj1e=5?51398k1e3290/=5<54ga8j4>628907b:l3;29 4>52=lh7c?71;37?>i3k;0;6)?72;6eg>h6080:965`4b394?"60;0?jn5a193953=9:9l0a`=83.:4?4;fb9m5=7=9h10c9jj:18'5=4=:0`8?j2cl3:1(<6=:5d`?k7?93;h76a;db83>!7?:3>mo6`>8082`>=h8387bf=i91;1=h54o5fb>5<#91818km4n0:2>4`<3f>o?7>5$0:1>1`d3g;3=77:ic:l2<4<5921d8oj50;&2<7<3nj1e=5?52398k1dd290/=5<54ga8j4>62;907d:n0;29 4>52=h:7c?71;28?l2>n3:1(<6=:5`2?k7?93;07d:6e;29 4>52=h:7c?71;08?l2>l3:1(<6=:5`2?k7?93907d:6c;29 4>52=h:7c?71;68?l2>j3:1(<6=:5`2?k7?93?07d:6a;29 4>52=h:7c?71;48?l2>13:1(<6=:5`2?k7?93=07d:n8;29 4>52=h:7c?71;:8?l2f?3:1(<6=:5`2?k7?93307d:n6;29 4>52=h:7c?71;c8?l2f=3:1(<6=:5`2?k7?93h07d:n4;29 4>52=h:7c?71;a8?l2f;3:1(<6=:5`2?k7?93n07d:n2;29 4>52=h:7c?71;g8?l2f93:1(<6=:5`2?k7?93l07d:68;29 4>52=h:7c?71;33?>o31>0;6)?72;6a5>h6080:=65f54194?=e<>>1<7?50;2xL1143-;2=7:84:m23c<722wih54?:083>5}O<>90(<7>:e:8ka1=831vn9:50;c5>4>328i;wE:83:X71?71s;31>54=a;f9e?d=k3;36ao4=9;32>f62910e8<;:18'5=4==;<0b<6>:098m044290/=5<55348j4>62;10e8<=:18'5=4==;<0b<6>:298m046290/=5<55348j4>62=10e8:498m07a290/=5<55348j4>62?10e8?j:18'5=4==;<0b<6>:698m07c290/=5<55348j4>62110e8>j:188m0072900e88<:188k0012900e8?m:18'5=4==8i0b<6>:198m07f290/=5<550a8j4>62810e8?6:18'5=4==8i0b<6>:398m07?290/=5<550a8j4>62:10e8?8:18'5=4==8i0b<6>:598m071290/=5<550a8j4>62<10e8?::18'5=4==8i0b<6>:798m073290/=5<550a8j4>62>10e8?<:18'5=4==8i0b<6>:998m03a2900c8?>:188m04a290/=5<55228j4>62910e8:098m04c290/=5<55228j4>62;10e8:298m04e290/=5<55228j4>62=10e8:498m04>290/=5<55228j4>62?10e8<7:18'5=4==::0b<6>:698m040290/=5<55228j4>62110c968:188k1?3290/=5<54878j4>62910c97<:18'5=4=<0?0b<6>:098k1?5290/=5<54878j4>62;10c97>:18'5=4=<0?0b<6>:298k1?7290/=5<54878j4>62=10c96i:18'5=4=<0?0b<6>:498k1>b290/=5<54878j4>62?10c96k:18'5=4=<0?0b<6>:698k1>d290/=5<54878j4>62110c96m:18'5=4=<0?0b<6>:898k0562900e89;:188m05e290/=5<552a8j4>62910e8=n:18'5=4==:i0b<6>:098m05>290/=5<552a8j4>62;10e8=7:18'5=4==:i0b<6>:298m050290/=5<552a8j4>62=10e8=9:18'5=4==:i0b<6>:498m052290/=5<552a8j4>62?10e8=;:18'5=4==:i0b<6>:698m054290/=5<552a8j4>62110e8==:18'5=4==:i0b<6>:898k06d2900c8>9:188m00?2900e966:188m021290/=5<55558j4>62910e8:::18'5=4====0b<6>:098m023290/=5<55558j4>62;10e8:<:18'5=4====0b<6>:298m025290/=5<55558j4>62=10e8:>:18'5=4====0b<6>:498m027290/=5<55558j4>62?10e8=i:18'5=4====0b<6>:698m05b290/=5<55558j4>62110e8=k:18'5=4====0b<6>:898m036290/=5<55408j4>62910e8;?:18'5=4==<80b<6>:098m02a290/=5<55408j4>62;10e8:j:18'5=4==<80b<6>:298m02c290/=5<55408j4>62=10e8:l:18'5=4==<80b<6>:498m02e290/=5<55408j4>62?10e8:n:18'5=4==<80b<6>:698m02>290/=5<55408j4>62110e8:7:18'5=4==<80b<6>:898k1>12900e8>i:188m1>f2900e89::188k0052900c888:188m0062900c9j6:18'5=4=:198k1b?290/=5<54ga8j4>62810c9j8:18'5=4=:398k1b1290/=5<54ga8j4>62:10c9j::18'5=4=:598k1b3290/=5<54ga8j4>62<10c9j=:18'5=4=:798k1b6290/=5<54ga8j4>62>10c9j?:18'5=4=:998k1ea290/=5<54ga8j4>62010c9mj:18'5=4=:`98k1ec290/=5<54ga8j4>62k10c9ml:18'5=4=:b98k1ee290/=5<54ga8j4>62m10c9mn:18'5=4=:d98k1e>290/=5<54ga8j4>62o10c9m8:18'5=4=:028?j2d>3:1(<6=:5d`?k7?93;:76a;c483>!7?:3>mo6`>80826>=h1<7*>8387bf=i91;1=>54o5a0>5<#91818km4n0:2>42<3f>h>7>5$0:1>1`d3g;3=7?:;:m7g4<72-;3>7:ic:l2<4<6>21d8n>50;&2<7<3nj1e=5?51698k1da290/=5<54ga8j4>628207b:me;29 4>52=lh7c?71;3:?>i3lo0;6)?72;6eg>h6080:m65`4eg94?"60;0?jn5a19395g=e:9l0ag=83.:4?4;fb9m5=7=9o10c9j<:18'5=4=:328?j2d03:1(<6=:5d`?k7?938:76a;be83>!7?:3>mo6`>80816>=h8387bf=i91;1>>54i5c3>5<#91818o?4n0:2>5=5<#91818o?4n0:2>7=54i5;`>5<#91818o?4n0:2>1=5<#91818o?4n0:2>3=5<#91818o?4n0:2>==5<#91818o?4n0:2>d=6=4+19090g75<#91818o?4n0:2>f=5<#91818o?4n0:2>`=5<#91818o?4n0:2>46<3`>2;7>5$0:1>1d63g;3=7?>;:k7<=<722e>9n4?:%3;6?32m2d:4<4?;:m61g<72-;3>7;:e:l2<4<632e>9l4?:%3;6?32m2d:4<4=;:m61<<72-;3>7;:e:l2<4<432e>954?:%3;6?32m2d:4<4;;:m612<72-;3>7;:e:l2<4<232e>9;4?:%3;6?32m2d:4<49;:m610<72-;3>7;:e:l2<4<032e>994?:%3;6?32m2d:4<47;:m637<72-;3>7;83:l2<4<732e>;<4?:%3;6?30;2d:4<4>;:m635<72-;3>7;83:l2<4<532e>:k4?:%3;6?30;2d:4<4<;:m62`<72-;3>7;83:l2<4<332e>:i4?:%3;6?30;2d:4<4:;:m62f<72-;3>7;83:l2<4<132e>:o4?:%3;6?30;2d:4<48;:m62d<72-;3>7;83:l2<4:44?:%3;6?30;2d:4<46;:m657<722c>9>4?::m620<722h?;k4?:083>5}#90;1h55G46g8L1143fn<6=44}c6;4?6=93:1908731=O<>o0D99<;n34b?6=3th9m?4?:583>5}#90;1h>5G46g8L1143-o=6:5f4783>>o283:17d?73;29?j7?<3:17pl;6183>6<729q/=4?5d19K02c<@==87E:<;%300?31<2.n:7<4i5494?=n=90;66a>8583>>{eN3;2.:?94:659'a3<53`>=6=44i4294?=h91>1<75rb57e>5<4290;w)?61;f3?M20m2B?;>5G429'562==?>0(h852:k72?6=3`?;6=44o0:7>5<=57>55;294~"6180o86F;7d9K025<@=90(<=;:447?l212900e9950;9j15<722c:4>4?::m2<1<722wi8;o50;194?6|,83:6i>4H55f?M20;2B??6*>358621=#m?097d:9:188m06=831d=5:50;9~f13b290>6=4?{%3:5?b33A>19;:4i5494?=n<>0;66g:0;29?l7?;3:17b?74;29?xd3>10;694?:1y'5<7=l:1C8:k4H550?!c12>1b8;4?::k64?6=3`;3?7>5;n3;0?6=3th?::4?:583>5}#90;1h>5G46g8L1143-o=6:5f4783>>o283:17d?73;29?j7?<3:17pl;6783>1<729q/=4?5d29K02c<@==87)k9:69j03<722c><7>5;h3;7?6=3f;387>5;|`734<72=0;6=u+1839`6=O<>o0D99<;%g5>2=n1b8;4?::k64?6=3`;3?7>5;n3;0?6=3th9=;4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<>5;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb337>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a645=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd59;0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn???:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm21d94?2=83:p(<7>:e38L11b3A>5;|`14`<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=o<50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nb083>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f4ga290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e9ho1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th:mi4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo?nc;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb341>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a637=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5>90;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<j7>54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn?;j:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm24f94?2=83:p(<7>:e38L11b3A>5;|`11f<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=km50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nfc83>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f4`>290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e9o21<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th:j:4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo?i6;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0d6>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a5c2=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5=90;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5<00;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd5<10;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd5<>0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6mh0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m00;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m10;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m>0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m?0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m<0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m=0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m:0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m;0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6l10;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm1e794?2=83:p(<7>:e38L11b3A>5;|`2`1<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=i?50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nd183>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f75e290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e::k1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th9?44?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<<8;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb314>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a660=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5;<0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn?=<:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm2e;94?3=83:p(<7>:e08L11b3A>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a6a1=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e:m?1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi>i<50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg4c93:197>50z&2=45;h64>5<1<75rb3f0>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th9o;4?:283>5}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`1g0<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th9nn4?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<53;294~"6180?;i5G46g8L1143`>26=44i00b>5<908270=O<>o0D99<;h6:>5<n1<75rb3a0>5<4290;w)?61;64`>N3?l1C8:=4i5;94?=n9;k1<75`16f94?=zj;h36=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e:j81<7=50;2x 4?62==o7E:8e:J736=n<00;66g>2`83>>i6?m0;66sm2c494?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl=c083>6<729q/=4?546f8L11b3A>o313:17d;=:188m4>f2900c<9k:188yg4d83:1?7>50z&2=4<3?m1C8:k4H550?l2>2900e<349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn?li:180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f7d7290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k2t$0;2>11c3A>l4?::m23a<722wi>lk50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th9io4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f7cf290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`1a2<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn?k9:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd5m<0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb3g7>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th9i>4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f711290?6=4?{%3:5?b43A>=6=44i4294?=n9191<75`19694?=zj;=<6=4;:183!7>93n87E:8e:J736=#m?0<7d:9:188m06=831b=5=50;9l5=2=831vn?9>:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm26294?2=83:p(<7>:e38L11b3A>5;|`047<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th85}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`1b3<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<90873a=O<>o0D99<;h6:>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj::26=4<:183!7>93>n1<75rb3d7>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm31:94?5=83:p(<7>:55g?M20m2B?;>5f4883>>o6:h0;66a>7e83>>{e:o91<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd48>0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl=f383>1<729q/=4?51278L11b3A>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f66229086=4?{%3:5?20l2B?;h5G4618m1?=831b=?o50;9l52b=831vn?h?:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi?=:50;194?6|,83:699k;I64a>N3?:1b844?::k26d<722e:;i4?::a6``=83>1<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`046<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th9ih4?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:;<6=4;:183!7>93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi?1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f67d290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e;8h1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th8=l4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo=>9;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb23;>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a740=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd4:h0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb3;6>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm28694?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl=9283>1<729q/=4?51278L11b3A>349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn?7>:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi>5<50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th94<4?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj;=m6=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e:>o1<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd4jm0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb2`a>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8nn4?:483>5}#90;1h95G46g8L1143-o=6:5f4783>>o3?3:17d;?:188m4>42900c<6;:188yg5em3:197>50z&2=45;h64>5<>i60=0;66sm3cd94?3=83:p(<7>:e08L11b3A>5<7>55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a7f6=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo=l1;291?6=8r.:5<4k2:J73`=O<>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;j91<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?i?50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5dn3:197>50z&2=45;h64>5<1<75rb2f3>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8h?4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6b4290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`0`0<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn>j8:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd4l10;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb2ce>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8mh4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6d7290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`0ea<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn>o6:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd4i10;684?:1y'5<7=l=1C8:k4H550?!c12>1b8;4?::k73?6=3`?;6=44i0:0>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?l950;794?6|,83:6i:4H55f?M20;2.n:794i5494?=n<>0;66g:0;29?l7?;3:17b?74;29?xd41k0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl<9`83>6<729q/=4?546f8L11b3A>o313:17d;=:188m4>f2900c<9k:188yg5>13:1?7>50z&2=4<3?m1C8:k4H550?l2>2900e<349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn>77:180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f6>d290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k2t$0;2>11c3A>l4?::m23a<722wi?5o50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th85;4?:283>5}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`0<=<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<90873a=O<>o0D99<;h6:>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:3?6=4<:183!7>93>n1<75rb2:7>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm38194?5=83:p(<7>:55g?M20m2B?;>5f4883>>o6:h0;66a>7e83>>{e;181<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd41;0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl<8183>1<729q/=4?51278L11b3A>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;lh1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?h750;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5b03:197>50z&2=45;h64>5<>i60=0;66sm3d594?3=83:p(<7>:e08L11b3A>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a7`3=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo=j4;291?6=8r.:5<4k2:J73`=O<>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;l91<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908270=O<>o0D99<;h6:>5<n1<75rb216>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm32494?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl<3683>1<729q/=4?51278L11b3A>349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn>:8:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi?9650;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th8844?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:>i6=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e;7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd4=l0;694?:1y'5<7=9:?0D99j;I647>o313:17d;=:188m4>f2900c<9k:188yg52n3:187>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f607290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k21<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`035<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`76c<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:=e;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=8o6=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a07e=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;2c83>0<729q/=4?5d49K02c<@==87)k9:39j03<722c?;7>5;h73>5<6=44o0:7>5<9m7>55;294~"6180o96F;7d9K025<,l<1>6g;6;29?l202900e8>50;9j5=3=831d=5:50;9~f14?290>6=4?{%3:5?b23A>=6=44i5594?=n=90;66g>8483>>i60=0;66sm43594?3=83:p(<7>:e78L11b3A>5;n3;0?6=3th?>;4?:483>5}#90;1h85G46g8L1143-o=6?5f4783>>o3?3:17d;?:188m4>22900c<6;:188yg25=3:197>50z&2=45;h64>5<1<75rb507>5<2290;w)?61;f6?M20m2B?;>5+e781?l212900e9950;9j15<722c:484?::m2<1<722wi8?=50;794?6|,83:6i;4H55f?M20;2.n:7<4i5494?=n<>0;66g:0;29?l7?=3:17b?74;29?xd3:;0;684?:1y'5<7=l<1C8:k4H550?!c12;1b8;4?::k73?6=3`?;6=44i0:6>5<908g1>N3?l1C8:=4$d496>o3>3:17d:8:188m06=831b=5;50;9l5=2=831vn95<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<8l1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`75a<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:>c;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=;i6=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a04g=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;1883>0<729q/=4?5d49K02c<@==87)k9:39j03<722c?;7>5;h73>5<6=44o0:7>5<:47>55;294~"6180o96F;7d9K025<,l<1>6g;6;29?l202900e8>50;9j5=3=831d=5:50;9~f170290>6=4?{%3:5?b23A>=6=44i5594?=n=90;66g>8483>>i60=0;66sm40494?3=83:p(<7>:e78L11b3A>5;n3;0?6=3th?=84?:483>5}#90;1h85G46g8L1143-o=6?5f4783>>o3?3:17d;?:188m4>22900c<6;:188yg26<3:197>50z&2=45;h64>5<1<75rb516>5<2290;w)?61;f6?M20m2B?;>5+e781?l212900e9950;9j15<722c:484?::m2<1<722wi8>:50;794?6|,83:6i;4H55f?M20;2.n:7<4i5494?=n<>0;66g:0;29?l7?=3:17b?74;29?xd3;:0;684?:1y'5<7=l<1C8:k4H550?!c12;1b8;4?::k73?6=3`?;6=44i0:6>5<908g1>N3?l1C8:=4$d496>o3>3:17d:8:188m06=831b=5;50;9l5=2=831vn9=>:186>5<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<::1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`76<<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:>e;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=;86=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a044=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;6e83>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851`9j`d<722con7>5;n34`?6=3th9=54?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd6i;0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f4g629086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2e5<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0;e>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl>9d83>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851d9j`d<722con7>5;n34`?6=3th:5n4?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd61h0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f4?>29086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2==<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0;4>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl>9783>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851d9j`d<722con7>5;n34`?6=3th:594?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd61;0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f712290?6=4?{%3:5?7482B?;h5G4618 `0=km1bhl4?::kgf?6=3`nh6=44o05g>5<54;294~"6180:?=5G46g8L1143-o=6?;4iec94?=nlk0;66gkc;29?j70l3:17pl>b983>1<729q/=4?51228L11b3A>t$0;2>4563A>5;hfa>5<>i6?m0;66sm20a94?3=83:p(<7>:012?M20m2B?;>5+e7814>oci3:17djm:188mae=831bhi4?::m23a<722wi=oo50;794?6|,83:6<=>;I64a>N3?:1/i;4=0:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:>31<7;50;2x 4?6289:7E:8e:J736=#m?09>6gka;29?lbe2900eim50;9j`a<722e:;i4?::a63b=83>1<7>t$0;2>4573A>5;hfa>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd6jj0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f747290?6=4?{%3:5?7482B?;h5G4618 `0=:<1bhl4?::kgf?6=3`nh6=44o05g>5<54;294~"6180:?=5G46g8L1143-o=6?;4iec94?=nlk0;66gkc;29?j70l3:17pl=2383>0<729q/=4?51238L11b3A>5;n34`?6=3th:o=4?:483>5}#90;1=>?4H55f?M20;2.n:75<>ocl3:17b?8d;29?xd3=j0;694?:1y'5<7=9::0D99j;I647>"b>3?:7djn:188mad=831bhn4?::m23a<722wi>;m50;794?6|,83:6<=>;I64a>N3?:1/i;4>3:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:0l1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg4?k3:1?7>50z&2=4<6:o1C8:k4H550?!c12;90eio50;9j`g<722e:;i4?::a73d=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm34794?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?9<50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e;?k1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a702=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm35394?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi>4k50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:1h1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a73?=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm34194?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?9>50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:0n1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a6=g=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm37:94?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?8<50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e;:l1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a6t$0;2>4563A>5;hfa>5<>i6?m0;66sm29;94?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?:=50;694?6|,83:6<=?;I64a>N3?:1/i;4le:kge?6=3`ni6=44iea94?=h9>n1<75rb24f>5<3290;w)?61;304>N3?l1C8:=4$d49g`=nlh0;66gkb;29?lbd2900c<9k:188yg4f<3:187>50z&2=4<6;91C8:k4H550?!c12jo0eio50;9j`g<722coo7>5;n34`?6=3th8::4?:583>5}#90;1=>>4H55f?M20;2.n:784iec94?=nlk0;66gkc;29?j70l3:17pl<5083>1<729q/=4?51228L11b3A>5;|`07`<72=0;6=u+1839566<@==n7E:83:&f2?0>ock3:17b?8d;29?xd51k0;684?:1y'5<7=9:;0D99j;I647>"b>38?7djn:188mad=831bhn4?::kg`?6=3f;5;|`1<=<72<0;6=u+1839567<@==n7E:83:&f2?433`nj6=44ie`94?=nlj0;66gkd;29?j70l3:17pl=2483>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h85229j`d<722con7>5;n34`?6=3th9>54?:583>5}#90;1=>>4H55f?M20;2.n:7?i;hfb>5<>i6?m0;66sm1b494?2=83:p(<7>:013?M20m2B?;>5+e782b>oci3:17djm:188mae=831d=:j50;9~f61329086=4?{%3:5?75n2B?;h5G4618 `0=9;1bhl4?::kgf?6=3f;5;|`1fa<72;0;6=u+183957c<@==n7E:83:&f2?753`nj6=44o05g>5<52;294~"6180:>h5G46g8L1143-o=6<<4iec94?=h9>n1<75rb3`:>5<5290;w)?61;31a>N3?l1C8:=4$d4957=nlh0;66a>7e83>>{e:k=1<7<50;2x 4?6288n7E:8e:J736=#m?0:>6gka;29?j70l3:17pl=b483>7<729q/=4?513g8L11b3A>7>50z&2=4<6:l1C8:k4H550?!c12880eio50;9l52b=831vn?l>:181>5<7s-;2=7?=e:J73`=O<>90(h85139j`d<722e:;i4?::a6d`=8381<7>t$0;2>44b3A>5;n34`?6=3th85<4?:383>5}#90;1=?k4H55f?M20;2.n:7?=;hfb>5<90826`=O<>o0D99<;%g5>4493;9i6F;7d9K025<,l<1=?5fd`83>>i6?m0;66sm39`94?4=83:p(<7>:00f?M20m2B?;>5+e7826>oci3:17b?8d;29?xd4000;6?4?:1y'5<7=9;o0D99j;I647>"b>3;97djn:188k41c2900qo=77;296?6=8r.:5<4>2d9K02c<@==87)k9:008mag=831d=:j50;9~f6>229096=4?{%3:5?75m2B?;h5G4618 `0=9;1bhl4?::m23a<722wi?5=50;094?6|,83:6<N3?:1/i;4>2:kge?6=3f;5;|`0<4<72;0;6=u+183957c<@==n7E:83:&f2?753`nj6=44o05g>5<52;294~"6180:>h5G46g8L1143-o=6<<4iec94?=h9>n1<75rb2;`>5<5290;w)?61;31a>N3?l1C8:=4$d4957=nlh0;66a>7e83>>{e:ok1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg4aj3:1?7>50z&2=4<6:o1C8:k4H550?!c12;90eio50;9j`g<722e:;i4?::a6ce=8391<7>t$0;2>44a3A>5;hfa>5<90826c=O<>o0D99<;%g5>75>i6?m0;66sm2gg94?5=83:p(<7>:00e?M20m2B?;>5+e7817>oci3:17djm:188k41c2900qo2g9K02c<@==87)k9:318mag=831bho4?::m23a<722wi?=>50;194?6|,83:6<N3?:1/i;4=3:kge?6=3`ni6=44o05g>5<53;294~"6180:>k5G46g8L1143-o=6?=4iec94?=nlk0;66a>7e83>>{e:o=1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg55m3:197>50z&2=4<6;81C8:k4H550?!c12m<0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>77>ock3:17djk:188k41c2900qo=85;297?6=8r.:5<4>2g9K02c<@==87)k9:008mag=831bho4?::m23a<722wi>k750;094?6|,83:6<<6;I64a>N3?:1bh44?::m23a<722wi?;h50;094?6|,83:6<<6;I64a>N3?:1bh44?::m23a<722wi??m50;794?6|,83:6<=<;I64a>N3?:1/i;4=1:kge?6=3`ni6=44iea94?=nlm0;66a>2c83>>{e:;>1<7850;2x 4?628997E:8e:J736=#m?09:6gka;29?lbe2900eim50;9j`a<722e:>o4?::m23a<722wi=n<50;494?6|,83:6<==;I64a>N3?:1/i;4=6:kge?6=3`ni6=44iea94?=nlm0;66a>2c83>>i6?m0;66sm44c94?>0290;wE:83:&2=4<60?1Q884n{8813?`=9?0:87?l:02952<6=3;o6p*>2987?!bb2<1/hk4:;%g3>0=#m80>7)k=:49'a6<23-o?685+cc8`b>"b?3?0(h655:&f=?3<,lk196*jb;78 `e==2.nh7;4$dg91>"bn3?0(k>55:&e5?3<,o8196*i3;78 c2==2.m97;4$g491>"a?3?0(k655:&e=?3<,ok196*ib;78 ce==2.mh7;4$gg91>"an3?0(<>?:49'557==2.:"68?0>7)??7;78 46?2<1/==755:&24d<23-;;n7;4$02`>0=#99n196*>0d86?!77n3?0("69?0>7)?>7;78 47?2<1/=<755:&25d<23-;:n7;4$03`>0=#98n196*>1d86?!76n3?0(<?4:;%317?3<,88?685+13791>"6:?0>7)?=7;18 4>e2=80(h;55:&2<47?77:&73<<60>1e5h4?;oa3>5=i9121=?5a19;961=i<>k1=?5a46`961=#kj0hj6*>8d87?l2f2900e9l50;9j020=831bol4?::k;6=8083?>o4=3:1(<6=:248j4>62810e>:50;&2<7<4>2d:4<4=;:k07?6=,8296>84n0:2>6=83802>h6080?76g<1;29 4>52:<0b<6>:498m66=83.:4?4<6:l2<4<132c9j7>5$0:1>60808;?>o5l3:1(<6=:248j4>62010e9?50;&2<7<382d:4<4?;:k0b?6=,82969>4n0:2>4=83874>h6080976g52=:0b<6>:298m6e=83.:4?4;0:l2<4<332c8n7>5$0:1>168085?>o413:1(<6=:528j4>62>10e>650;&2<7<382d:4<47;:k6e?6=,8296874n0:2>5=8386=>h6080:76g:7;29 4>52<30b<6>:398m00=83.:4?4:9:l2<4<432c>97>5$0:1>0?56`>8086?>o1;3:1(<6=:4;8j4>62?10e;<50;&2<7<212d:4<48;:k55?6=,8296874n0:2>==8386=>h6080276g:f;29 4>52<30b<6>:`98m0c=83.:4?4:9:l2<4h7>5$0:1>0?56`>808g?>o2j3:1(<6=:4;8j4>62l10e8=50;&2<7<212d:4<4i;:k;3?6=,8296584n0:2>5=838;2>h6080:76am8;29 4>52k=0b<6>:198kg0=83.:4?4m7:l2<4<632ei87>5$0:1>g18080?>ie:3:1(<6=:c58j4>62=10co?50;&2<73=838a3>h6080<76ane;29 4>52k=0b<6>:998kdb=83.:4?4m7:l2<4<>32ejo7>5$0:1>g1808a?>if13:1(<6=:c58j4>62j10cl650;&2<7`=838a3>h6080m76an5;29 4>52k=0b<6>:028?jg3290/=5<5b69m5=7=9810cl=50;&2<72:9le7<72-;3>7l8;o3;5?7432ej=7>5$0:1>g15<#9181n:5a193950=838a3>h6080::65`bd83>!7?:3h<7c?71;34?>iel3:1(<6=:c58j4>628207bll:18'5=4=j>1e=5?51898kgd=83.:4?4m7:l2<4<6i21dnl4?:%3;6?d03g;3=7?m;:ma=?6=,8296o94n0:2>4e<3fh>6=4+1909f2=i91;1=i54o`c94?"60;0i;6`>8082a>=h1o0;6)?72;`4?k7?93;m76al8;29 4>52j=0b<6>:198kf0=83.:4?4l7:l2<4<632eh97>5$0:1>f18080?>od13:17d?7f;29?l20?3:17d9k:18'5=4=?j1e=5?50:9j3g<72-;3>79l;o3;5?7<3`=26=4+19093f=i91;1>65f7983>!7?:3=h7c?71;18?l10290/=5<57b9m5=7=<21b;;4?:%3;6?1d3g;3=7;4;h56>5<#9181;n5a19392>=n?=0;6)?72;5`?k7?93=07d9<:18'5=4=?j1e=5?58:9j37<72-;3>79l;o3;5??<3`=:6=4+19093f=i91;1m65f7183>!7?:3=h7c?71;`8?l0b290/=5<57b9m5=7=k21b:i4?:%3;6?1d3g;3=7j4;h4`>5<#9181;n5a1939a>=n>k0;6)?72;5`?k7?93l07d8n:18'5=4=?j1e=5?51198m3?=83.:4?48c:l2<4<6921b:54?:%3;6?1d3g;3=7?=;:k53?6=,8296:m4n0:2>45<3`<=6=4+19093f=i91;1=954i7794?"60;080821>=n0=0;6)?72;5`?k7?93;=76g73;29 4>52>i0b<6>:058?l>5290/=5<57b9m5=7=9110e5?50;&2<7<0k2d:4<4>9:9j<5<72-;3>79l;o3;5?7f32c5$0:1>2e5<#9181;n5a19395f=k1<7*>8384g>h6080:h65f6g83>!7?:3=h7c?71;3f?>o1<3:1(<6=:6a8j4>628l07d6l:18'5=4=0k1e=5?50:9j76m;o3;5?7<3`226=4+190965`9583>!7?:3387c?71;28?j?5290/=5<5929m5=7=921d5<4?:%3;6??43g;3=7<4;n;3>5<#91815>5a19397>=h0o0;6)?72;;0?k7?93>07b6j:18'5=4=1:1e=5?55:9l=a<72-;3>77<;o3;5?0<3f3h6=4+1909=6=i91;1;65`9c83>!7?:3387c?71;:8?j?f290/=5<5929m5=7=121d544?:%3;6??43g;3=7o4;n;;>5<#91815>5a1939f>=h1>0;6)?72;;0?k7?93i07b79:18'5=4=1:1e=5?5d:9l=0<72-;3>77<;o3;5?c<3f2o6=4+1909=6=i91;1j65`c283>!7?:3i97c?71;28?je6290/=5<5c39m5=7=921v8;i:185[32n279;84kb:?136X2981U9;84^431?[2><2T?5>5Q4808Z1?63W>2<6P;8g9]0=c80R89>;_744>X2>o1U9;k4^44g?[31k2T>:o5Q57c8Z00>3W?>o6P:5c9]10g;3?o0o;63;68864>;3=l0><63;69864>;3>>0><63;67864>;3?80><63;71864>;5jj0>>63=b`866>;5j10>>63=b7866>;5j=0>>63=b3866>;5j90>>63=ad866>;5mm0:4l52287917=::0>19?52281917=::0819?52283917=::1819?52293917=::1:19?5226d917=::>o19?52382917=:;1o19?5239a917=:;1k19?5239:917=:;1<19?52396917=:;1819?52392917=:;:>19?52327917=:;:<19?52325917=:;:219?52355917=:;=219?5235;917=:;=k19?5235`917=:;11034>>m79k;<66e?1e34>>m796;<66e?1?34>>m798;<66e?1134>>m79:;<66e?1334>>m79<;<66e?1534>>m79>;<66e?1734>>m78j;<66e?0c34>>m78l;<66e?0e34>>m78n;<66e?0>34>>m787;<66e?0034>>m789;<66e?0234>>m76;;<66e?>434>>m76=;<66e?>634>>m76?;<66e?1a34>>m79j;<66e?1f34>>m78i;<66e?0334>>m76l;<66e?>f34>>m766;|q02f<72;qU8594=24`>4>33ty>:<4?:2y]137<5=<26<6<;<66a?7?;2wx>:950;0xZ061348<;7?74:p122=839pR89;;<140?bf349<97jn;|q616<72?2pR8;<;<0b6?2134>=<7:9;<66b?2134>>i7:9;<65=;7:9;<652?21348::7:9;<021?21348:87:9;<027?21348:>7:9;<025?21348:<7:9;<03b?21348;i7:9;<056?21348==7:9;<054?21348>j7:9;<06a?21348>h7:9;<06g?21348>n7:9;<06e?21348><7:9;<07b?21348?i7:9;<07`?21348?o7:9;<07f?21348?m7:9;<07=?21348?47:9;<073?2134;o47:9;<3g3?2134;o:7:9;<3g1?2134;o87:9;<3g7?2134;o>7:9;<3g5?2134;o<7:9;<0g=?21348o47:9;<0g3?21348o:7:9;<0g1?21348o87:9;<0g6?21348o=7:9;<0g7?21348nn7:9;<0fe?21348n57:9;<0f9i7:9;<61`?2134>9o7:9;<61f?2134>9m7:9;<619;7:9;<612?2134>997:9;<610?2134>9?7:9;<616?2134>9=7:9;<614?2134>:j7:9;<62`?2134>:o7:9;<62f?2134>:m7:9;<62=?2134>:47:9;<623?2134>::7:9;<621?2134>:87:9;<601?2134>887:9;<607?2134>8>7:9;<605?2134>8<7:9;<61=?2134>:i7:9;<627?2134>:>7:9;<66e?2e3ty8;<4?:3y]15e<5:=:6<6;;|q62=<72?8pR887;<65f?2134>=57:9;<65e?2134><=7:9;<644?2134;i87:9;<3a7?2134;i>7:9;<3a5?2134;i<7:9;<3bb?2134;ji7:9;<3b`?2134;jo7:9;<3eg?2134;mn7:9;<3ee?2134;m57:9;<3e7:9;<00g?213488n7:9;<00e?21348857:9;<00l4?:3y]167<5:8j6<6;;|q0b3<72;qU8i74=53a>4>33ty8j84?:3y]0a><5=;j6<6;;|q0b1<72;qU8i94=53:>4>33ty8j>4?:3y]0a0<5=;36<6;;|q0b7<72;qU8i;4=534>4>33ty8j<4?:3y]0a2<5=;=6<6;;|q0b5<72;qU8i<4=536>4>33ty8ik4?:3y]0a7<5=;?6<6;;|q754<72;qU8i>4=516>4>33ty?==4?:3y]0f`<5=9?6<6;;|q74c<72;qU8nk4=510>4>33ty?4>33ty?4>33ty?<94?:3y]0f?<5=;n6<6;;|q0b<<72;qU8n94=530>4>33ty8ih4?:3y]0f0<5=;96<6;;|q74d<72;qU8n;4=50e>4>33ty?<44?:3y]0f2<5=8n6<6;;|q74=<72;qU8n=4=50g>4>33ty?<:4?:3y]0f4<5=8h6<6;;|q743<72;qU8n?4=50a>4>33ty?<84?:3y]0f6<5=8j6<6;;|q746<72;qU8oh4=50;>4>33ty?4>33ty?<=4?:3y]0ac<5=8>6<6;;|q0bc<72;qU8ij4=507>4>33ty8jh4?:3y]0ae<5=886<6;;|q0ba<72;qU8il4=501>4>33ty8jn4?:3y]0ag<5=8:6<6;;|q0bg<72;qU8i=4=503>4>33ty8jl4?:3y]0f><5=;m6<6;;|q0b=<72;qU8oj4=53g>4>33ty8j:4?:3y]0ge<5=;h6<6;;|q7f7<72;qU8l>4=57b>=1i<7>52z\7=c=:<5<5sW>2i63;5`86<>{t7}Y<0i019;n:448yv2fk3:1>vP;9c9>00g==<1v9om:181[2>i27?9l4:4:p0dg=838pR976;<66e?043ty?no4?:3y]0d><5=?j6;<4}r6ae?6=:rT?m:5244c9<0=z{=h26=4={_6b2>;3=h0==6s|4c:94?4|V=k>70::a;43?xu3j>0;6?uQ4`68913f2>m7;l;|q7f6<72;qU8464=57b>0dj57>52z\7=2=:<5rs01:>53<7?8f:?1f`<31279mh4;9:?1a`<2:279ii4;9:?1=4<31279;h4;9:?0=7<312784=4;9:?071<312788:4;9:?01a<312wx>l=50;0x97g52<:01?o;:05g?xu3><0;6<6t=3c1>4>434>=47?74:?1`<<3k279h54;c:?1`2<3k279h;4;c:?1`0<3k279h94;c:?1`7<3k279h<4>829>6a5=hl54b9>6`g=h754b9>6`>=h954b9>6`0=h;54b9>6`2=h=54b9>620=91901?98:0:0?84093>h70<80;6`?xu5i;0;69u22`095=2<5;=86ij4=57`>ag<5;;3>;0om6s|47c94?5|5=4=54:>11<5=<63;5d82<1=:5<4s4>=57?74:?72d<2827?:i4kb:p037=83>p1987:0:0?821?3;3?63;6782<6=::5a897772=i01?>i:5a8976b2=i01?8=:5a897062=i01?8?:5a8973a2=i01?;j:5a8973c2=i01?;l:5a8973e2=i01?;n:5a897372=i01?:i:5a8972b2=i01?:k:5a8972d2=i01?:m:5a8972f2=i01?:6:5a8972?2=i01?:8:5a894b?2=i01:5a894b72=i0q~:93;2962}:4>234>9i7?75:?76a<60<168?m51978914e282>70:=a;3;1>;3:10:485243595=3<5=8=6<6:;<611?7?=27?>94>849>075=91?019<=:0:6?82593;3963;2182<0=:<8l1=5;4=53g>4>234>:o7?75:?75g<60<168282>70:>8;3;1>;39>0:485240495=3<5=;>6<6:;<620?7?=27??84>849>062=91?019=<:0:6?824:3;3963;3082<0=:<::1=5;4=50:>4>234>:i7?75:?756<60<168<<51978913d2mh019;n:0;3?xu3>j0;6>u246395=5<5==;6<6<;<65`?70l2wx8;h50;1082093;3863<1687g>;49o0?o63<1d87g>;49m0?o63<1b87g>;49k0?o63<1`87g>;4900?o63<1987g>;49?0?o63;4jk0?o6318n523e390f=:;jl1=5=4=2f3>1e<5:n969m4=2f0>1e<5:n=69m4=2f7>1e<5:n>69m4=2f4>1e<5:n369m4=2ce>1e<5:kn69m4=2`3>1e<5:kh69m4=2ca>1e<5:ko69m4=2c:>1e<5:k36<6<;<1be?2d349j;7?73:?0af<3k278io4;c:?0ad<3k278i44;c:?0a=<3k278i:4;c:?0a3<3k278i84;c:?0a1<3k278i>4;c:p03c=838jw0:80;3;0>;6j=0?o63>b287g>;6j;0?o63>b087g>;6j90?o63>ag87g>;6il0?o63>ae87g>;6ij0?o63>fb87g>;6nk0?o63>f`87g>;6n00?o63>f987g>;6n>0?o63>f787g>;6n<0?o63>f587g>;6mh0?o63>e887g>;6m10?o63>e687g>;6m?0?o63>e487g>;6m=0?o63>e287g>;6m;0?o63=3b87g>;5;k0?o63=3`87g>;5;00?o63=3987g>;5;>0?o63=3787g>;5;<0?o63=3587g>;5;:0?o63<2`87g>;4?90?o63<7087g>;4>j0?o6s|24;94?3|5;;=68>4=341>4>3348:47jm;<02e?bf348:o7jk;|q14a<72:q6><85196897?a2mk01?6l:ec8yv46?3:1>v3=14864>;5910:;i5rs32`>5<4s48:97?74:?1=`6}::8>1=5:4=3;f>ab<5;2i6ij4}r02f?6=>r79=>4:0:?15f<6?m16>676=lh16>?<5db9>672=lm1v?>n:180846;3;3863=9e8gf>;50h0on6s|20f94?4|5;;968>4=33f>41c3ty9<44?:2y>644=91>01?7k:ef897>f2mn0q~<>f;296~;5980><63=21823a=z{;:36=4<{<025?7?<2795n4kb:?1<<??50;0x97772<:01?<=:05g?xu58>0;6>u220295=2<5;3h6ij4=3::>ab52z?14c<28279>84>7e9~w7612908w0;51k0on63=898gf>{t:;=1<706<5;836<9k;|q140<72:q6>=k5196897?e2mn01?67:ef8yv7a;3:19v3>b5864>;6nj0:49521c49`g=:9k21hl521cc9`a=z{8ki6=4:{<3a0?7?<278:o4ka:?010ae<5:>96im4=222>ad52z?2f7<2827:n54>7e9~w4g>290>w0?m2;3;0>;4>h0om63<558ge>;4<80om63<018gf>{t9k31<78t=0`2>06<58hj6<9k;<3ag?be34;ii7jn;<3`4?bd34;h>7jk;|q2e=<72;;:ea896262mi01?hi:e`8yv7ej3:1>v3>b1864>;6jj0:;i5rs0c4>5<2s4;i<7?74:?02<4ka:?005a783>0}:9hl1=5:4=24:>ae<5:?86im4=263>ae<5;lo6il4}r3ab?6=:r7:mh4:0:?2g5<6?m1v;4=;0om63<3g8ge>;5nj0on6s|1b394?4|58ko68>4=0a0>41c3ty:m94?:4y>5db=91>01>87:ea896352mi01>=i:ea897`e2mh0q~?l5;296~;6ij0><63>c7823a=z{8k86=4:{<3bg?7?<278::4ka:?0149850;0x97052<:01?;?:0:7?xu5<<0;6?u2273915=::=l1=5:4}r06859>64>=lh16>64e=lj1v?:;:18184183?;70<;e;3;0>{t:<=1<7=t=343>4>3348:m7jl;<02g?be3ty98>4?:3y>60`==916>9j51968yv42>3:1>v3=5g82<1=::8i1hl5rs361>5<5s48>i7;?;<07g?7?<2wx>8;50;7x973b282?70<>e;fb?84583ni70<=2;fg?845<3nh7p}=4083>7}::87>54z?11a<60=16>?>5db9>674=lh16>?:5dc9~w7272909w0<:c;73?843i3;386s|24194?5|5;?h6<6;;<016?be348987jn;|q17c<72;q6>8l5519>61?=91>0q~<:2;297~;5=k0:49522379`d=::;21ho5rs31f>5<5s48>m7;?;<078?50;0x973f282?70<=8;fb?xu6m80;6?u21ga915=:9lk1=5:4}r3f4?6=:r7:jo4:0:?2a<<60=1vb78ge>;6j10on63>b`8gg>{t9ml1<706<58o36<6;;|q2b4<72:q6=ko5196894d?2mi01v3>f8864>;6m>0:495rs0d3>5<5s4;m57?74:?2fdad<58i;6ij4=0a1>ae52z?2b2<2827:i84>859~w4cb290?w0?i7;3;0>;6jl0oo63>c18ge>;6k;0on6s|1e`94?4|58l=68>4=0g7>4>33ty:ii4?:2y>5c0=91>01<63>e282<1=z{8oh6=4<{<3e1?7?<27:o>4ka:?2g3:181843n3?;70<{t:::1<706<5;9j6<6;;|q16c<72;q6>9j5519>66?=91>0q~<=e;296~;5<63=3982<1=z{;8o6=4={<07f?373488;7?74:p67e=838p1?:n:4289751282?7p}=2c83>7}::=319=5222795=252z?10=<28279?94>859~w74>2909w0<;7;73?844;3;386s|22f94?7|5;><6<6;;|q2gc<72;q6=ho5519>5a>=91>0q~?le;296~;6m00><63>d682<1=z{8io6=4={<3fcc83>7}:9l<19=521e695=252z?2a0<2827:h>4>859~w4e>2909w0?j4;73?87c:3;386s|1b:94?4|58o868>4=0f2>4>33ty:o:4?:3y>5`4==916=i>51968yv4b:3:19v3>d9864>;5mk0:49521809`d=::1i1ho5244c904=z{8lo6=4={<3g3?3734;2>7?8d:p5cc=838p1fg83>7}:9m?19=52186952b52z?2`1<2827:584>7e9~w7662909w0?k3;73?87>>3;4=0;4>41c3ty9<>4?:3y>5a7==916=46516f8yv47<3:1>v3>d1864>;6100:;i5rs2g1>5<3s488o7;?;<1fg?7?<27:5l4ka:?71d<4?2wx>;=50;0x975e2<:01<7n:05g?xu5>=0;6?u222c915=:90h1=:j4}r051?6=:r79?44:0:?2=f<6?m1v?89:18184403?;70?6d;34`>{t:?=1<706<583n6<9k;|q12=<72;q6>>85519>5<`=9>n0q~<99;296~;5;<0><63>a1823a=z{;43|5;n26994=3f;>11<5;n<6994=3f5>11<5;n>6994=3f7>11<5;n96994=3f2>11<5;n86994=3ga>11<5;oj6994=3g:>11<5;o36994=3g4>11<5;o=6994=3g6>11<5;o?6994=3g0>11<5=?h6im4=34`>41c348j87jm;|q1ea<72;q6>i75519>6f0=9>n0q~p1?j7:0:7?84bi3?;70<6e;fb?84el3nj7p}=ac83>7}::m=19=522b6952b54z?1`2<60=16>h75519>6ol5d`9~w7gf2909w06a3==916>n<516f8yv4dk3:18v3=d482<1=::l=19=5228f9`f=::k=1hl5rs3c;>5<5s48o87;?;<0`5?70l2wx>nl50;6x97b3282?70k3nj70859>6`2==916>4l5d`9>6g7=lh1v?o::18184c93?;70{t:j21<7:t=3f2>4>3348n?7;?;<0:f?bd348jj7jn;|q1e2<72;q6>i=5519>6f6=9>n0q~348io7?8d:p6f1=838p1?m9:00b?84d?3;6974=3``>1?<5;hj6<9k;|q1fa<72:q6>n;513c897dd282j70{t:k21<7=t=3a7>1?<5;hj6974=3`;>41c3ty9no4?:2y>6f2=9;k01?ln:0:b?84ej3;1?<5;h=6<9k;|q1f<<72:q6>n=513c897d?282j70{t:k>1<7=t=3a1>1?<5;h=6974=3`7>41c3ty9n:4?:2y>6f4=9;k01?l9:0:b?84e?3;1?<5;h96<9k;|q1f0<72:q6>n?513c897d3282j70{t:k:1<7=t=3a3>1?<5;h96974=3`3>41c3ty9n>4?:2y>6f6=9;k01?l=:0:b?84e;3;1?<5;kn6<9k;|q1f4<72:q6>oh513c897d7282j70{t:hl1<7=t=3`f>44f348ji7?7a:?1ec<6?m1v?k>:18684bi3;3863>928ge>;61;0on63=8c8ge>;3=h08j6s|2d294?3|5;o26<6;;<3:0?bf34;2?7jm;<0;f?bd34>>m7=j;|q1`c<72h65196894?22mk01<7;:e`897>f2mk019;n:2f8yv4cm3:19v3=e682<1=:90<1hl521879`g=::1k1hn5244c97f=z{;no6=4:{<0f2?7?<27:5:4ka:?2=3im50;7x97c2282?70?68;fb?87>?3ni70<79;f`?822i39j7p}=dc83>0}::l>1=5:4=0;:>ag<58336il4=3:;>ag<5=?j6>74}r0ge?6=4>859>5565db9>00g=;11v?97:180840>3?;70<87;73?84013;627==916>:=516f8yv41n3:1:v3=7082<1=::>?1hn522619`f=::>31hn5227f9`d=::?i1hi5rs357>5<5s48<<7;?;<041?70l2wx>;k50;4x9717282?70<85;fb?840;3ni70<89;fa?841l3ni70<9c;f`?xu5n?0;6?u231090<=::o<1=:j4}r0e3?6=:r782`9>6c1=9>n0q~==0;296~;48;0:;i52305915=z{;l>6=4<{<13f?2>348m:7:6;<0e1?70l2wx?=?50;1x966e288j70;4880:;i5rs20:>5<5s49;n7?8d:?05c<282wx?nj50;7x97`12<801>j8:0:7?85bj3?;70=;2;fg?85793nj7p}=f583>6}:;9k184522g790<=::o>1=:j4}r134?6=;r782`9>6c3=91k01>>?:05g?xu4:10;6?u231c952b<5:;n68>4}r1`g?6==r79j84:2:?0`3<60=16?ho5519>717=lk16?=>5d`9~w7`42908w0=?9;6:?84a<3>270{t:ol1<7=t=22:>44f348m87?7a:?1bc<6?m1v><8:18185713;{t;jh1<7;t=3d7>04<5:n>6<6;;<1f=?37349?=7jk;<0eb?bf3ty9j?4?:2y>75>=<016>k=5489>6c4=9>n0q~l522g195=g<5;ln6<9k;|q063<72;q6?=6516f8967d2<:0q~=la;291~;5n:0>>635<4s49;;7:6;<0e6?2>348m=7?8d:p6cb=839p1>>8:00b?84a:3;3m63=fe823a=z{:8>6=4={<133?70l278=o4:0:p7f?=83?p1?h=:40896b4282?70=j7;73?85383no70u231490<=::o;184522g2952b53z?043<6:h16>k?519c897`d28=o7p}<2583>7}:;9<1=:j4=23b>0655z?1b4<2:278h?4>859>7`0==916?>h5dc9>6ce=lh1v?ki:180857=3>2706<7e9~w6442909w0=?5;34`>;4900><6s|3b594?3|5;l;68<4=2f2>4>3349n97;?;<10b?bc348mn7jn;|q1a`<72:q6?=:5489>6``=<016>hk516f8yv4ai3:1?v3<05826d=::ll1=5o4=3db>41c3ty8>?4?:3y>752=9>n01>?7:428yv5d>3:19v3=eg866>;4l90:49523d6915=:;:o1ho522gc9`d=z{;oo6=4<{<137?2>348ni7:6;<0f`?70l2wx>k650;1x9664288j70;5n00:;i5rs202>5<5s49;?7?8d:?053<282wx?::50;0b84bl3?970=md;64?85ej3><70=mc;64?85em3><70=mf;64?85d:3><70=l0;64?85d93><70=l3;64?85d<3><70=k1;64?85dn3><70=k0;64?85c:3><70=k3;64?85c>3><70=k4;64?85c=3><70=k7;64?85c03><70=nf;64?85fm3><70=m0;64?85fk3><70=nb;64?85fl3><70=n9;64?85f03><70=na;64?85f?3><70=jc;64?85bj3><70=ja;64?85b13><70=j8;64?85b?3><70=j6;64?85b=3><70=j4;64?85b;3><70=85;34`>{t;9i1<74>33499h7jn;|q050<72;q6?4;296~;49l0:495233a9`a=z{:;86=4={<12`?7?<278>n4kc:p744=838p1>?l:0:7?855k3ni7p}<1083>7}:;8h1=5:4=20`>ag52z?05d<60=16??j5dc9~w66a2909w0=>9;3;0>;4:l0om6s|31g94?4|5:;36<6;;<11a?be3ty8740=91>01>;4>j0?;63<6g823a=z{:8i6=4={<11e?373499h7?8d:p6<6=838p1?7::5;897?328=o7p}=9`83>7}::0?1=5o4=3;e>41c3ty9m<4?:3y>6<3=9>n01?o;:ec8yv4?n3:1>v3=9587=>;51:0:;i5rs3;:>5<5s48287?7a:?1=`<6?m1v?6j:18184>;3>270<62;34`>{t:021<74>f3482h7?8d:p6=b=838p1?7=:5;897?628=o7p}=9683>7}::081=5o4=3;`>41c3ty95;4?:3y>6<7=91k01?7m:05g?xu5?m0;6?u229090<=::1;1=:j4}r0;3?6=:r794?4>8`9>6=e=9>n0q~3483<7?8d:p6=0=838p1?6>:0:b?84?j3;41c3ty9484?:3y>6=6=91k01?6n:05g?xu5?h0;6?u226d90<=::>o1=:j4}r0;0?6=:r79;k4>8`9>6=?=9>n0q~<73;296~;5?l0:4l5229:952b54z?0fa<28278m44>859>73>=lm16?5;5d`9~w6d42908w0=md;3;0>;4l80><63<538g`>{t;0n1<7:t=2`a>06<5:k<6<6;;<153?bd3493=7jn;|q0f4<72:q6?ol5196896ea2<:01>;>:ea8yv5>m3:18v3;4i10:49523759`g=:;191hl5rs2`1>5<4s49io7?74:?0`5<282789<4kb:p7d6=83>p1>lj:42896gf282?70=98;fa?85??3nj7p}6}:;ko1=5:4=2f1>06<5:?96il4}r1b5?6=7=?=lh1v>l::18085en3;3863;4=:0oh6s|3`694?2|5:i968>4=2cf>4>3349=m7jm;<1;b?bf3ty8n54?:2y>7f4=91>01>j9:42896332mh0q~=n2;290~;4k90><63ok:0:7?851i3no70=7d;fb?xu4j>0;6>u23b395=2<5:n>68>4=277>ab54z?0g6<28278mk4>859>73d=lm16?4?5d`9~w6d>2908w0=l3;3;0>;4l>0><63<548g`>{t;h<1<7:t=2a7>06<5:h;6<6;;<15f?be3492o7jn;|q0fd<72:q6?n:5196896b?2<:01>;::e`8yv5d=3:18v35<3s49o47?74:?0af<282788?4kb:?1b27n:05g?xu4?m0;6?u23`g915=:;031=:j4}r14b?6=:r78n=4:0:?0=g<6?m1v>9m:18185fk3?;70=67;34`>{t;>k1<706<5:3=6<9k;|q03f<72;q6?lj5519>7<>=9>n0q~=88;296~;4i00><63<95823a=z{:=<6=4={<1bon:42896?228=o7p}<7783>7}:;h=19=52380952b52z?0=g<312785=4>7e9~w6?d2909w0=6b;31e>;41j0:;i5rs2:f>5<4s492m7:6;<1:4?2>3493i7?8d:p7<7=839p1>7n:00b?85>83;3m63<90823a=z{:2h6=4<{<1:=?2>3493i7:6;<1;g?70l2wx?5h50;1x96?>288j70=7e;3;e>;40o0:;i5rs2:b>5<4s49247:6;<1;g?2>3493m7?8d:p7=b=839p1>77:00b?85?k3;3m63<8e823a=z{:236=4<{<1:3?2>3493m7:6;<1;;40k0:;i5rs2:5>5<4s492:7:6;<1;3493:7?8d:p7=?=839p1>79:00b?85?03;3m63<88823a=z{:2?6=4<{<1:1?2>3493:7:6;<1;0?70l2wx?5950;1x96?2288j70=76;3;e>;40>0:;i5rs2:1>5<4s49287:6;<1;0?2>3493>7?8d:p7=3=839p1>7;:00b?85?<3;3m63<84823a=z{:2;6=4<{<1:7?2>3493>7:6;<1;4?70l2wx?5=50;1x96?4288j70=72;3;e>;40:0:;i5rs2:2>5<4s492>7?=a:?0<5<60h16?5?516f8yv5b93:18v35<3s49nm7?74:?2=f282?70?6d;fb?87>k3ni70::a;10?xu4ll0;69u23d:95=2<583n6io4=0;g>ad<5=?j6><4}r1g`?6=859>5<`=lh16=4k5dc9>00g=;81v>jl:18785b>3;3863>a18ge>;61o0on63;5`804>{t;mh1<7:t=2g6>4>334;j=7jn;<3b4?be34>>m7:e`8913f2;o0q~=k9;297~;4m:0:49521`09`g=:<i5rs21:>5<5s49887?7a:?07`<6?m1v>=?:181854<3;{t;:k1<74>f3498j7?8d:p767=838p1>=::05g?854>3>27p}<3c83>7}:;:<1=5o4=263>41c3ty8??4?:3y>760=9>n01>=8:5;8yv54k3:1>v3<36827e9>76>=<01v>=k:18185403;3m63<43823a=z{:?=6=4={<104kc:p71e=838p1>:8:0:b?85293;<6<9k;<173ty88i4?:3y>71>=91k01>;=:05g?xu4<=0;6?u235:952b<5:>26974}r17a?6=:r78844>8`9>705=9>n0q~=;5;296~;4<00:;i5235c90<=z{:>m6=4={<17e?7?i278994>7e9~w6212909w0=;a;34`>;4i6<6n;<161?70l2wx?8950;1x962e28=o70=83;fb?851m3nh7p}<6383>7}:;41c3ty8944?:3y>70b=9>n01>;j:5;8yv51;3:1>v3<5d827e9>70`=<01v>8;:181852n3;3m63<68823a=z{:?i6=4={<16b?70l278:=4;9:p733=838p1>8?:0:b?851i3;3ty8:;4?:3y>737=91k01>8m:05g?xu4=10;6?u2373952b<5:4>7e9~w617290?w0=80;3;0>;4?=0on63<748gf>;4>o0o56s|37f94?4|5:4=24f>41c3ty?9i4?:37x914a2==019:55891472==019?i:558917c2==019?l:558917e2==019?n:558917>2==019?7:55891702==019?9:55891722==019?;:55891522==019=;:55891542==019==:55891562==019=?:558914>2==019?j:55891742==019?=:558970c28=o7p};5383>7}:<;l19=5244c9g==z{=?:6=4={<61a?3734>>m7l7;|q715<72;q68?j5519>00g=j?1v9:i:181825k3?;70::a;`7?xu35rs56g>5<5s4>9m7;?;<66e?d53ty?8o4?:3y>07>==91688o5b09~w12f2909w0:=7;73?822i3h;7p};4883>7}:<;<19=5244c9ec=z{=>36=4={<611?3734>>m7m9;|q702<72;q68?:5519>00g=il1v9:9:181825;3?;70::a;cg?xu3<<0;6?u2430915=:<5<5s4>9=7;?;<66e?ge3ty?8>4?:3y>076==91688o5a89~w1252909w0:>f;73?822i3k37p};4183>7}:<8n19=5244c9e2=z{=9m6=4={<62g?3734>>m7o9;|q77`<72;q6800g=k<1v9=k:181826i3?;70::a;c6?xu3;j0;6?u240;915=:<5<5s4>:47;?;<66e?g43ty??l4?:3y>041==91688o5a39~w15>2909w0:>6;73?822i3k:7p};3983>7}:<8?19=5244c9e5=z{=9<6=4={<620?3734>>m7li;|q71<<72;q68>;5519>00g=jl1v9;7:181824<3?;70::a;a7?xu3=>0;6?u2421915=:<5<5s4>8>7;?;<66e?dd3ty?984?:3y>067==91688o5bc9~w1332909w0:<0;73?822i3hj7p};5283>7}:<;319=5244c9f<=z{=>h6=4={<62a?3734>>m7l:;|q704<72;q68<=5519>00g=ih1v9=9:181826:3?;70::a;;e?xu3=k0;6?u244a952b<5=?j6no4}r1f`?6==r78;>4kb:?02`7e9>00g=<><019;n:b;8yv71:3:1>v3=248gf>;5:=0:>o5rs04g>5<5s4;h?7jm;<3`6?75j2wx>?850;0x974?2mi01?<;:05g?xu6k=0;6?u21b49`f=:9j81=:j4}r11g?6=:r78>h4kd:?06f<6:k1v<=7:181855m3;{z{<<:6=4={_755>;3<3?==6*;73822c=z{<<36=4={_75<>;3<3?=46*;738235=z{;3<3?>?6*;738234=z{=h96=4={_6b4>;3<3>j<6*;738201=z{=h;6=4={_6:b>;3<3>2j6*;73820c=z{=km6=4={_6:a>;3<3>2i6*;73821<=z{=kn6=4={_6:`>;3<3>2h6*;73821g=z{=ko6=4={_6:g>;3<3>2o6*;73821f=z{=kh6=4={_6:f>;3<3>2n6*;73821a=z{=ki6=4={_6:e>;3<3>2m6*;73821c=z{=kj6=4={_6:=>;3<3>256*;738225=z{=hi6=4={_6b<>;3<3>j46*;738224=z{=hj6=4={_6b3>;3<3>j;6*;738226=z{=h26=4={_6b2>;3<3>j:6*;738221=z{=h36=4={_6b1>;3<3>j96*;738220=z{=h<6=4={_6b0>;3<3>j86*;738223=z{=h=6=4={_6b7>;3<3>j?6*;738222=z{=h>6=4={_6b6>;3<3>j>6*;73822==z{=h?6=4={_6b5>;3<3>j=6*;73822<=z{=h86=4={_6:<>;3<3>246*;73822d=z{=k26=4={_6:3>;3<3>2;6*;73822g=z{<=?6=4={_740>;3<3?<86*;73822f=z{;3<3?>j6*;73822`=z{=lo6=4={_6g=>;3<3>o56*;738237=z{=li6=4={_6g<>;3<3>o46*;738236=z{=lj6=4={_6g3>;3<3>o;6*;738231=z{=l26=4={_6g2>;3<3>o:6*;738230=z{=l36=4={_6g1>;3<3>o96*;738233=z{=l<6=4={_6g0>;3<3>o86*;738232=z{=l>6=4={_6g6>;3<3>o>6*;73823==z{=l?6=4={_6g5>;3<3>o=6*;73823<=z{=l86=4={_6g4>;3<3>o<6*;73823d=z{=l96=4={_6`b>;3<3>hj6*;73827d=z{=l:6=4={_6`a>;3<3>hi6*;73827g=z{=l;6=4={_6``>;3<3>hh6*;73827f=z{=om6=4={_6`g>;3<3>ho6*;73827a=z{=on6=4={_6`f>;3<3>hn6*;73827`=z{=oo6=4={_6`e>;3<3>hm6*;73827c=z{=oh6=4={_6`=>;3<3>h56*;738205=z{=oj6=4={_6`3>;3<3>h;6*;738204=z{=o26=4={_6`2>;3<3>h:6*;738207=z{=o36=4={_6`1>;3<3>h96*;738206=z{=o<6=4={_6`0>;3<3>h86*;738200=z{=o=6=4={_6`7>;3<3>h?6*;738203=z{=o>6=4={_6`6>;3<3>h>6*;738202=z{=o?6=4={_6`5>;3<3>h=6*;73820==z{=o86=4={_6`4>;3<3>h<6*;73820<=z{=o96=4={_6ab>;3<3>ij6*;73820d=z{=o:6=4={_6aa>;3<3>ii6*;73820g=z{<:?6=4={_6gb>;3<3>oj6*;73820f=z{<:86=4={_6ga>;3<3>oi6*;73820a=z{<:96=4={_6g`>;3<3>oh6*;73820`=z{<::6=4={_6gg>;3<3>oo6*;738215=z{<:;6=4={_6gf>;3<3>on6*;738214=z{=lm6=4={_6ge>;3<3>om6*;738217=z{=ln6=4={_6g7>;3<3>o?6*;738216=z{=l=6=4={_6`<>;3<3>h46*;738211=z{=oi6=4={_6a`>;3<3>ih6*;738210=z{=o;6=4={_6ag>;3<3>io6*;738213=z{<:h6=4={_73g>;3<3?;o6*;738212=z{=2<6=4={_6;3>;3<3>3;6*;73821==z{<:=6=4={_732>;3<3?;:6*;73821d=z{<9:6=4={_705>;3<3?8=6*;73821`=zugko57>52zJ736=zfhnj6=4={I647>{iimh1<7vF;729~jdbb2909wE:83:mea`=838pD99<;|lba5<72;qC8:=4}ocf5?6=:rB?;>5rn`g1>5<5sA>7}O<>90qcoj5;296~N3?:1vblk9:181M20;2wemh950;0xL1143tdji54?:3yK02552zJ736=zfhoj6=4={I647>{iilh1<7vF;729~jdcb2909wE:83:me``=838pD99<;|lbb5<72;qC8:=4}oce5?6=:rB?;>5rn`d1>5<5sA>7}O<>90qcoi5;296~N3?:1vblh9:181M20;2wemk950;0xL1143tdjj54?:3yK02552zJ736=zfhlj6=4={I647>{iioh1<7vF;729~jd`b2909wE:83:mec`=838pD99<;|la45<72;qC8:=4}o`35?6=:rB?;>5rnc21>5<5sA>7}O<>90qcl?5;296~N3?:1vbo>9:181M20;2wen=950;0xL1143tdi<54?:3yK02552zJ736=zfk:j6=4={I647>{ij9h1<7vF;729~jg6b2909wE:83:mf5`=838pD99<;|la55<72;qC8:=4}o`25?6=:rB?;>5rnc31>5<5sA>7}O<>90qcl>5;296~N3?:1vbo?9:181M20;2wen<950;0xL1143td2=l4?:0yK02557>51zJ736=zf0?j6=4>{I647>{i1=j0;65rn841>5<6sA>4}O<>90qc795;295~N3?:1vb489:182M20;2we5;950;3xL1143td2:54?:0yK02551zJ736=zf0{I647>{i1?h1<7?tH550?xh>>j0;65rn851>5<6sA>4}O<>90qc785;295~N3?:1vb499:182M20;2we5:950;3xL1143td2;54?:0yK02551zJ736=zf0=j6=4>{I647>{i1>h1<7?tH550?xh>?j0;65rn8:1>5<6sA>4}O<>90qc775;295~N3?:1vb469:182M20;2we55950;3xL1143td2454?:0yK02551zJ736=zf02j6=4>{I647>{i11h1<7?tH550?xh>0j0;6b290:wE:83:m==`=83;pD99<;|l:=5<728qC8:=4}o;:5?6=9rB?;>5rn8;1>5<6sA>4}O<>90qc765;295~N3?:1vb479:182M20;2we54950;3xL1143td2554?:0yK02551zJ736=zf03j6=4>{I647>{i10h1<7?tH550?xh>1j0;6l3:1=vF;729~j5rn8c1>5<6sA>4}O<>90qc7n5;295~N3?:1vb4o9:182M20;2we5l950;3xL1143td2m54?:0yK02551zJ736=zf0kj6=4>{I647>{i1hh1<7?tH550?xh>ij0;65rn8`1>5<6sA>4}O<>90qc7m5;295~N3?:1vb4l9:182M20;2we5o950;3xL1143td2n54?:0yK02551zJ736=zf0hj6=4>{I647>{i1kh1<7?tH550?xh>jj0;65rn8a1>5<6sA>4}O<>90qc7l5;295~N3?:1vb4m9:182M20;2we5n950;3xL1143td2o54?:0yK02551zJ736=zf0ij6=4>{I647>{i1jh1<7?tH550?xh>kj0;65rn8f1>5<6sA>4}O<>90qc7k5;295~N3?:1vb4j9:182M20;2we5i950;3xL1143td2h54?:0yK02551zJ736=zf0nj6=4>{I647>{i1mh1<7?tH550?xh>lj0;65rn8g1>5<6sA>4}O<>90qc7j5;295~N3?:1vb4k9:182M20;2we5h950;3xL1143td2i54?:0yK02551zJ736=zf0oj6=4>{I647>{i1lh1<7?tH550?xh>mj0;65rn8d1>5<6sA>4}O<>90qc7i5;295~N3?:1vb4h9:182M20;2we5k950;3xL1143td2j54?:0yK02551zJ736=zf0lj6=4>{I647>{i1oh1<7?tH550?xh>nj0;65rn`21>5<6sA>4}O<>90qco?5;295~N3?:1vbl>9:182M20;2wem=950;3xL1143tdj<54?:0yK02551zJ736=zfh:j6=4>{I647>{ii9h1<7?tH550?xhf8j0;65rn`31>5<6sA>4}O<>90qco>5;295~N3?:1vbl?9:182M20;2wem<950;3xL1143tdj=54?:0yK02551zJ736=zfh;j6=4>{I647>{ii8h1<7?tH550?xhf9j0;65rn`01>5<6sA>4}O<>90qco=5;295~N3?:1vbl<9:182M20;2wem?950;3xL1143tdj>54?:0yK02551zJ736=zfh8j6=4>{I647>{ii;h1<7?tH550?xhf:j0;65rn`11>5<6sA>4}O<>90qco<5;295~N3?:1vbl=9:182M20;2wem>950;3xL1143tdj?54?:0yK02551zJ736=zfh9j6=4>{I647>{ii:h1<7?tH550?xhf;j0;65rn`61>5<6sA>4}O<>90qco;5;295~N3?:1vbl:9:182M20;2wem9950;3xL1143tdj854?:0yK02551zJ736=zfh>j6=4>{I647>{ii=h1<7?tH550?xhf5rn`71>5<6sA>4}O<>90qco:5;295~N3?:1vbl;9:182M20;2wem8950;3xL1143tdj954?:0yK02557>51zJ736=zfh?j6=4>{I647>{ii5rn`41>5<6sA>4}O<>90qco95;295~N3?:1vbl89:182M20;2wem;950;3xL1143tdj:54?:0yK02551zJ736=zfh{I647>{ii?h1<7?tH550?xhf>j0;65rn`51>5<6sA>4}O<>90qco85;295~N3?:1vbl99:182M20;2wem:950;3xL1143tdj;54?:0yK02551zJ736=zfh=j6=4>{I647>{ii>h1<7?tH550?xhf?j0;65rn`:1>5<6sA>4}O<>90qco75;295~N3?:1vbl69:182M20;2wem5950;3xL1143tdj454?:0yK02551zJ736=zfh2j6=4>{I647>{ii1h1<7?tH550?xhf0j0;6b290:wE:83:me=`=83;pD99<;|lb=5<728qC8:=4}oc:5?6=9rB?;>5rn`;1>5<6sA>4}O<>90qco65;295~N3?:1vbl79:182M20;2wem4950;3xL1143tdj554?:0yK02551zJ736=zfh3j6=4>{I647>{ii0h1<7?tH550?xhf1j0;6l3:1=vF;729~jd?b290:wE:83:me<`=83;pD99<;|lbe5<728qC8:=4}ocb5?6=9rB?;>5rn`c1>5<6sA>4}O<>90qcon5;295~N3?:1vblo9:182M20;2weml950;3xL1143tdjm54?:0yK02551zJ736=zfhkj6=4>{I647>{iihh1<7?tH550?xhfij0;65rn``1>5<6sA>4}O<>90qcom5;295~N3?:1vbll9:182M20;2wemo950;3xL1143tdjn54?:0yK02551zJ736=zfhhj6=4>{I647>{iikh1<7?tH550?xhfjj0;65rn`a1>5<6sA>4}O<>90qcol5;295~N3?:1vblm9:182M20;2wemn950;3xL1143tdjo54?:0yK02551zJ736=zfhij6=4>{I647>{iijh1<7?tH550?xhfkj0;65rn`f1>5<6sA>4}O<>90qcok5;295~N3?:1vblj9:182M20;2wemi950;3xL1143tdjh54?:0yK025 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - + + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso deleted file mode 100644 index f1a6f7899..000000000 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.lso +++ /dev/null @@ -1,3 +0,0 @@ -blkmemdp_v6_2 -blk_mem_gen_v2_6 -fifo_generator_v4_3 diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt deleted file mode 100644 index f718bb394..000000000 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36_fifo_generator_v4_3_xst_1.ngc_xst.xrpt +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -

- - - - - - - - - - - - - - - -
-
- - - - - - - - - - - -
-
- - - -
-
-
-
-
-
-
-
- - - - -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - -
-
-
- - - - - - - -
-
-
-
-
- - - -
- - - diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc index fa0753211..00814f02e 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.ngc @@ -1,3 +1,3 @@ XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e -$5a540<,[o}e~g`n;"2*726&;$:,)<6;.vnt*Ydo&lbjbQwloz\144;?U9oaeP37vl5=(iof;0<85?0123=>6789:;<=>;0:23456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?013856=6&9;87<>5IORVP?GCL[K757>11g924?OIX\^1|ah_dosp|Ys`{oxd1750?05?46=AGZ^X7~}of]fiur~W}byi~fParqfvq:>2949:6??:HLSQQ712@D[YY4KI@>21?699:1::7AZTQWW>AIF48?1<3?;;0:9KPRW]]0ocxz31683:4=5:28:86<<3232?76==:HLSQQ112906?IR\Y__6IAM<2394;753:<1EC^ZT;fjj952294o7>}=012ec131%<;0895;0GD25>2=AGZ^X7JFPC>0>586:2>1CXZ_UU8GKUD;;3:5=68=;7;7?3?>>=138??;;9G;E4=><23;<4<49768=30>9;126D@_UU8B@ATE410;22@D[YY4rne\bpjkW}byi~fPndebp`:?294:4675OTVSQQG502KOH_O30?:8EABUI5;546OKDSC?6;>GCL[K7:364AEFQE91902KOH_O38?c8EABUI531<364AEFQE9?902KOH_L30?:8EABUJ5;546OKDS@?6;>GCL[H7:364AEFQF919i2KOH_L38;2=<>GCL[H743=4AMN:?DU^FJUYIJ=4BT0;?GSTW@DMC<5L2:AF57=D@LI@SAGLEOQF[Q_WM;1HE95LLJC7?FJLJ:1H@_74CNONMQRBL8>0OB\J_FGMAWGSAFDTECH@7:AQADRBL81O>6JL2:FJ2>BNI5:5;6JFA=33:2=CAH6:=394DHC?57803MCJ0<=17:FJE973601OEL2>5;2=3>BNI5;>2;5KI@>2:3=CAH692;5KI@>0:3=CAH6?2;5KI@>6:3=CAH6=2;5KI@>4:3=CAH632;5KI@>::3=CAK6;2:5KIC>24;169GMG:6<7=0HDL314<4?AOE48<5;6JFB=34:2=CAK6:4394DH@?5<813MCI0<08;EKA8769?2NBN1<>>69GMG:5:7=0HDL322<4?AOE4;>5;6JFB=06:2=CAK69:394DH@?62803MCI0?617:FJF94>6?1OEO2=>69GMG:48730HDL33083:2=CAK68=384DH@?7;02:2=CAYH7>374DHRA86<76>1OE]L33?48@JG;87=0HBO311<4?AIF48;5;6J@A=31:2=CGH6:?394DNC?518>3MEJ0<;50?58@JG;9<4=7IAN<0<5?AIF4;4=7IAN<2<5?AIF4=4=7IAN<4<5?AIF4?4=7IAN<6<5?AIF414=7IAN<8<4?AIFW[OL:6J@B=2=3>BHJ5;;2:5KOC>25;169GKG:6=7=0HBL317<4?AIE48=5;6J@B=3;:2=CGK6:5384DN@?5;1=08;EMA8779?2NDN1<=>69GKG:5;7=0HBL325<4?AIE4;?5;6J@B=05:2=CGK69;394DN@?6=803MEI0?716:FLF949?2NDN1=?>89GKG:493:5;6J@B=12:3=CGK682;5KOC>7:3=CGK6>2;5KOC>5:3=CGK6<2;5KOC>;:3=CGK622:5KOC]QAB12:2=CGYH7>374DNRA86<76>1OC]L33?18AKG43LDIn6KA_DA@[WCFLj1NBRKLC^UQMQC53O8?7K6HK3:DGG1=ALJO87KJ_4:DGT@2O7:2C:>6G=2:K0<>OIA]ZT<=64IOKWTZ6602CEEY^P03:8MKOSXV:846GAIUR\41>:8:KMMQVX8?20ECG[P^24=>OIA]Y_MYK8;HLJPZ67?2CEEYQ?169JJLRX8;=0ECG[_114?LHN\V:?;6GAIU]312=NF@^T<;94IOKW[5103@DBXR>77:KMMQY71>1BBDZP0@58MKOSW9H<7D@FT^2@3>OIA]U;H:5FNHV\4@1169JJLRX9;=0ECG[_014?LHN\V;?;6GAIU]212=NF@^T=;94IOKW[4103@DBXR?77:KMMQY61>1BBDZP1@58MKOSW8H<7D@FT^3@3>OIA]U:H:5FNHV\5@1;94IOKW[7103@DBXR<77:KMMQY51>1BBDZP2@58MKOSW;H<7D@FT^0@3>OIA]U9H:5FNHV\6@11BBDZP3@58MKOSW:H<7D@FT^1@3>OIA]U8H:5FNHV\7@1H9;HLJPZG13@DBXRL=;MK1?II13EEJHHJ8;MMDMFGK<2F^X<:4LTV10>JR\:>0@XZ;6:NVP1YC=2GXKB@:;LW[G\eKnffx]i}foo08J42159M54633G;:=95A1007?K76;=1E=<:;;O3211=I98759M54>33G;:5>5A1368J447<2D:><:4N0010>H6::>0B<<;4:L26022618J4533G;8=>5A1518J4343G;=?6@>729M5=5H59:1E>?=4N310?K43;2D99>5A2718J7143G83?6@=929M755;<;O157>H4?:1E?5=4N2;0?K27;2D?=>5A4318J1543G>??6@;529M035H0:2D2j6@M_CWPTLHXX[E[_:5AEUULVN7W63[o0^LCM17]P5=YT;?k0^HOK_GKQWQeTBIMU\EIZG_C38W45<[@GTOBBCIRKLJZEOMJA=7^AZRBG4?VTQIEUJ;6]]V@N\F1=T[[K?7^]]B59W]UC4:2_;#j|i.sd,cf~)keas#@v`r^pg[uhszVmhSua}0123[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYulVzexQhc^zlv5679VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT~iQnup\cfYg{:;6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4563W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;9R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?07]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3451XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:3S_k|umv277=R8&myj#|i/fa{*fjlp&GscQxr^rmpwY`kVrd~=>?0^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\swYwf}xTknQwos2344YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt7898T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=><_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1230ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678<5Z0.eqb+ta'nis"nbdx.pg[uhszVhbb1?1209V4*aun'xm#jmw.bnh|*tcWyd~Rlfn=0=64=R8&myj#|i/fa{*fjlp&xoS}`{r^`jj959:81^<"i}f/pe+be&jf`t"|k_qlwvZdnf5>5><5Z0.eqb+ta'nis"nbdx.pg[uhszVhbb1;1209V4*aun'xm#jmw.bnh|*tcWyd~Rlfn=4=64=R8&myj#|i/fa{*fjlp&xoS}`{r^`jj919:81^<"i}f/pe+be&jf`t"|k_qlwvZdnf525><5Z0.eqb+ta'nis"nbdx.pg[uhszVhbb171219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^314>S7'nxm"h gbz-gim'{nT|cz}_ckm[7473\:$kh!rg-dg}(ddbr$~iQnup\flhX;;:0Y=!hrg,qb*adp'iggu!}d^rmpwYeagU?>=5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbR;=0:W3+bta&{l$knv!cmi{+wbXxg~ySoga_703?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\376<]9%l~k }f.e`|+ekcq%yhR~ats]amkY?:91^<"i}f/pe+be&jf`t"|k_qlwvZdnfV39:6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}012362=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;<<<9;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34575?2_;#j|i.sd,cf~)keas#jPpovq[goiWqey<=>>1348Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678;8<7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?010263=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;??94U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos234645>2_;#j|i.sd,cf~)keas#jPpovq[goiWqey<=>;269V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567<88=7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?01713>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:>=?84U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos23434?3\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=8>1358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678?89n6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}0125[gbc8;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0604?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789=:>=5Z0.eqb+ta'nis"nbdx.pg[uhszVmh0=0=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm31?03?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb>1:76<]9%l~k }f.e`|+ekcq%yhR~ats]dg959:91^<"i}f/pe+be&jf`t"|k_qlwvZad4=49<6[?/fpe*w`(ojr%oaew/sf\tkruWni793328Q5)`zo$yj"ilx/aoo})ulVzexQhc=5=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`8=8582_;#j|i.sd,cf~)keas#jPpovq[be;17;m7X> gsd-vc)`kq$h`fv re]sjqtXojU;=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS;m7X> gsd-vc)`kq$h`fv re]sjqtXojU3=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS4<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8585>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk1?1279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:56;<0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hi33?05?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`4=49:6[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg=7=63=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumn6=2?84U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde?3;413\:$kh!rg-dg}(ddbr$~iQnup\cfYf{{ol050=6:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfc9?9:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ?249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY6:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ=249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY4:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ;249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY2:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ9249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY0:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ7249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY>:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=3=6<=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=1<1289V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabYc9595>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g5929:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=7=6<=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=181289V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabYc95=5>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g59>9:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=;=6==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R?=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W;837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\77><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh55Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g5Z?5=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=>=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34575=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=<=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34555=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=:=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34535=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=8=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34515=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=6=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<1<15>S7'nxm"h gbz-gim'~xT|cz}_ckm848592_;#j|i.sd,cf~)keas#z|Ppovq[goi4;49=6[?/fpe*w`(ojr%oaew/vp\tkruWkce0>0=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<5<15>S7'nxm"h gbz-gim'~xT|cz}_ckm808592_;#j|i.sd,cf~)keas#z|Ppovq[goi4?49=6[?/fpe*w`(ojr%oaew/vp\tkruWkce0:0=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<9<14>S7'nxm"h gbz-gim'~xT|cz}_ckm[5473\:$kh!rg-dg}(ddbr${Qnup\flhX9;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU9>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR==0:W3+bta&{l$knv!cmi{+rtXxg~ySoga_503?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\176<]9%l~k }f.e`|+ekcq%|~R~ats]amkY1:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV=9<6[?/fpe*w`(ojr%oaew/vp\tkruWkceS5<9;T2,cw`)zo%lou lljz,swYwf}xTnd`Pxnp34565?2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>?1348Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw67888<7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?013263=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;>?94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos234775>2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=><269V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567;;8=7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01613>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:?=?84U1-dvc(un&mht#mcky-tvZvi|{UiecQwos2340403\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=;>279V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567>;20Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?073262=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;:?;5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r123371<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<:?=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm30?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>2:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg949:91^<"i}f/pe+be&jf`t"y}_qlwvZad4:49<6[?/fpe*w`(ojr%oaew/vp\tkruWni783328Q5)`zo$yj"ilx/aoo})pzVzexQhc=4=65=R8&myj#|i/fa{*fjlp&}yS}`{r^e`828582_;#j|i.sd,cf~)keas#z|Ppovq[be;07;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU;=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU3>;5Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef>3:70<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlm7=3<9;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd8785>2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnk1=1279V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqab:36;<0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hi35?05?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`4?49:6[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg=5=63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn632?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\473<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT=?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\673<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT??;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\073<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT9?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\273<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT;?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\<7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<2?>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl86:2?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:56;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>0:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<2;>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl86>2?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:16;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>4:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<27>3:8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl8U;>55Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5Z7502_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkRj>_30;?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`Wm;T??64U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4Y3:11^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1^71<>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:S;<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X?;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0];60=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:;>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012260=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:9>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012060=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:?>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012660=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:=>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012475=R8&myj#|i/fn3*wb(o{;%~kyit.Onq}YUIDUYHRKA_GUEP775n2_;#j|i.sd,ci6)zm%l~< }fvdw+HkrpVXJAR\JGNWW[@H69;n0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`:76;n0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`:66;i0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`Y7:j1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZ74=2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[hs89::0=0<6:W3+bta&{l$ka>!re-dv4(un~l#n{}r^dtbqYt|h~nS`{w01228586;<1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZkrp9:;=1?1379V4*aun'xm#jb?.sf,cw7)zo}mx"mzrs]escrX{}kiRczx12359799;20Y=!hrg,qb*ak8'xo#j|>.sdtbq)bey~rSkyit^da62=R8&myj#|i/fn3*wb(o{;%~kyit.gntqXn~lSd?319V4*aun'xm#jb?.sf,cw7)zo}mx"kbpu{\br`sW`Ufyu>?0131=>S7'nxm"h gm2-va)`zhy%~~z|/b2,gdtuqgo0=0=9:W3+bta&{l$ka>!re-dvdu)zz~x#n> c`pq}kcs484956[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$ol|}yogw878512_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(khxyuck{<2<1b>S7'nxm"h gm2-va)`zhy%~~z|/b2,chs&ngP

<1<17>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4:66;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&|:0?0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0>0:75<]9%l~k }f.eo4+tc'nxj#||tr-`4*p64=49n6[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$z?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4Y3Whdo<=>?13;8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.abvwim}6;2?74U1-dvc(un&mg<#|k/fpbw+tt|z%h="mnrs{maq:66;30Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&ij~waeu>1:7?<]9%l~k }f.eo4+tc'nxj#||tr-`5*efz{seiy2<>3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.enq}(`eR:V"jc>.l31b>S7'nxm"h gm2-va)`zhy%~~z|/b3,chs&ngP=P hmr,nw7`<]9%l~k }f.eo4+tc'nxj#||tr-`5*aj}q$laV318Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t28485;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8692?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x><2<17>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4:36;h0Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&|:S=Qnne234575j2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8U:Sl`k012357d<]9%l~k }f.eo4+tc'nxj#||tr-`5*p6W;Ujbi>?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4Y4Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t2[1Yffm:;<=?=0:W3+bta&{l$ka>!re-dvdu)zz~x#nabp103?P6(o{l%~k!hl1,q`*auiz$yy} cnos57?<]9%l~k }f.eo4+tc'nxj#||tr-qehYbey~rSklPi228Q5)`zo$yj"ic0/pg+btf{'xxx~!}al]fiur~WohTeRa}012374=R8&myj#|i/fn3*wb(o{kx"}{s.pbiZcjx}sTjoQf_np34566::1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by<;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw572<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~9>95Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu110>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|=8?7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{5368Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkr1:=1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by9=4:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmp=433\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|d5?74U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:76;i0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>3:Zts:01^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=3=6f=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1?1_sv1=>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0?0=c:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4;4T~y<6;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw[f;;78h7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?7;Yu|;30Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>7:7e<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2;>^pw6<=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1;12b9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5?5Sz=9:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4?49o6[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az838Xz}827X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?3;4d3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw37?]qp7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot27>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp632R|{2`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{6;2?o4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;978j7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8785i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=1=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc2;>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx793;:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|39?0g?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey040Pru3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=2=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?5;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9499o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;;7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5>5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~793?i;T2,cw`)zo%l`= }d.psjqt(kfex1811g9V4*aun'xm#jb?.sf,vuhsz&idycz37?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=:=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?=;7b3\:$kh!rg-dh5(ul&x{by| cnwmpZ66m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY69l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX:8o0Y=!hrg,qb*ak8'xo#~ats-`kphsW:;n7X> gsd-vc)`d9$yh"|nup,gjsi|V>:i6[?/fpe*w`(oe:%~i!}povq+firf}U>=h5Z0.eqb+ta'nf;"j rqlwv*eh}g~T:e:W3+bta&{l$ka>!re-qtkru'je~byQ6239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>3:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;97897X> gsd-vc)`d9$yh"|nup,gjsi|Vn:0?0=2:W3+bta&{l$ka>!re-qtkru'je~byQk1=1=67=R8&myj#|i/fn3*wb(zyd~"m`uov\`4:36;80Y=!hrg,qb*ak8'xo#~ats-`kphsWm;793<=;T2,cw`)zo%l`= }d.psjqt(kfexRj><7<16>S7'nxm"h gm2-va)uxg~y#naznu]g5919:;1^<"i}f/pe+bj7&{n$~}`{r.alqkrXl8632?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?39?02?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[5463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W88:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S?<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_202?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[1463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W<8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S;<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_602?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[=463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W08?7X> gsd-vc)`d9$yh"|nup,gjsi|Vddx=>?13;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}6;2?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:66;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>1:7?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2<>3d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.enq}(`eR:V"jc>.l31b>S7'nxm"h gm2-sw)`hy%{~z|/b3,chs&ngP=P hmr,nw7`<]9%l~k }f.eo4+qu'n}j#y|tr-`5*aj}q$laV318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t28485;2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8692?=4U1-dvc(un&mg<#y}/fubw+qt|z%h="x><2<17>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4:36;h0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:S=Qnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8U:Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p6W;Ujbi>?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4Y4Whdo<=>?13`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t2[1Yig}:;<=?=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs494956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw848512_;#j|i.sd,ci6){%l{l}!wrvp+f4(khxyuck{<3<1=>S7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0>0=f:W3+bta&{l$ka>!ws-dsdu)z~x#n< glw{*bk\8T$la< b13d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.enq}(`eR;V"jc|.lq1b>S7'nxm"h gm2-sw)`hy%{~z|/b0,chs&ngP>P hmr,nw7`<]9%l~k }f.eo4+qu'n}j#y|tr-`6*aj}q$laV=R.fop*hu5n2_;#j|i.sd,ci6){%l{l}!wrvp+f4(ods"jcT4\,div(j{;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:0=0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0>2:75<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p64;49?6[?/fpe*w`(oe:%{!hw`q-svrt'j8$z<2<>318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.t28185j2_;#j|i.sd,ci6){%l{l}!wrvp+f4(~8U;Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p6W8Ujbi>?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4Y5Whdo<=>?13`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.t2[6Yffm:;<=?=b:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0]7[kis89:;=?>4U1-dvc(un&mg<#y}/fubw+qt|z%hc`~>219V4*aun'xm#jb?.vp,crgt&~y"m`mq01<>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVliSd<:;T2,cw`)zo%l`= xr.etev(p{}y$~lcPftno[l4c3\:$kh!rg-dh5(pz&m|m~ xsuq,vdkXn|fgSdQbuy23454b3\:$kh!rg-dh5(pz&m|m~ xsuq,vdkXn|fgSdQbuy234576l2_;#j|i.sd,ci6){%ym`Qxr^gm[l75;2_;#j|i.sd,ci6){%||cz}/LalqkrXkfex?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov261=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}8986[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at207?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphs<;>0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|Vidycz:259V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjq05<2_;#j|i.sd,ci6){%||cz}/LalqkrXkfex:<;;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw<7?<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2?>3a8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6;2R|{289V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5;5>n5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}979W{~956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8785k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<3<\vq4>3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw33?0`?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7?3Q}t3;8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6?2?m4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\g|:36Vx>45Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}939:j1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=7=[wr512_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<7<1g>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir0;0Pru0:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7;3 gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8485i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=0=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc2<>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx7834:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|38?0g?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey050Pru3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=2=5c=R8&myj#|i/fn3*rt(yd~"m`uov?5;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9499o1^<"i}f/pe+bj7&~x${}`{r.alqkr;;7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5>5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~793?i;T2,cw`)zo%l`= xr.usjqt(kfex1811g9V4*aun'xm#jb?.vp,suhsz&idycz37?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=:=5`=R8&myj#|i/fn3*rt(yd~"m`uov\44c<]9%l~k }f.eo4+qu'~zex!lotlw[47b3\:$kh!rg-dh5(pz&}{by| cnwmpZ46m2_;#j|i.sd,ci6){%||cz}/bmvjqY49l1^<"i}f/pe+bj7&~x${}`{r.alqkrX<8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW<;n7X> gsd-vc)`d9$|~"ynup,gjsi|V<:i6[?/fpe*w`(oe:%{!xpovq+firf}U<=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T4?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?30?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28485:2_;#j|i.sd,ci6){%||cz}/bmvjqYc9585>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<2<>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3?0;453\:$kh!rg-dh5(pz&}{by| cnwmpZb64<49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=181239V4*aun'xm#jb?.vp,suhsz&idyczPd0>4:74<]9%l~k }f.eo4+qu'~zex!lotlw[a7;078:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S=<>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_002?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[7463\:$kh!rg-dh5(pz&}{by| cnwmpZb6W:8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S9<>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_402?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[3463\:$kh!rg-dh5(pz&}{by| cnwmpZb6W>8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S5<=;T2,cw`)zo%l`= xr.usjqt(kfexRj=<1<16>S7'nxm"h gm2-sw)pxg~y#naznu]g6979:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;692?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<33?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18185:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:5?5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?29>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?3;453\:$kh!rg-dh5(pz&}{by| cnwmpZb54149=6[?/fpe*w`(oe:%{!xpovq+firf}Uo>R>=1:W3+bta&{l$ka>!ws-ttkru'je~byQk2^315>S7'nxm"h gm2-sw)pxg~y#naznu]g6Z4592_;#j|i.sd,ci6){%||cz}/bmvjqYc:V99=6[?/fpe*w`(oe:%{!xpovq+firf}Uo>R:=1:W3+bta&{l$ka>!ws-ttkru'je~byQk2^715>S7'nxm"h gm2-sw)pxg~y#naznu]g6Z0592_;#j|i.sd,ci6){%||cz}/bmvjqYc:V=9=6[?/fpe*w`(oe:%{!xpovq+firf}Uo>R6=4:W3+bta&{l$ka>!ws-ttkru'je~byQaou2344703\:$kh!rg-nah)cg|~Te1>1199V4*aun'xm#`kb/emvpZo;994:46[?/fpe*w`(elg$hb{{_h>25;7?3\:$kh!rg-nah)cg|~Te1?=>0:8Q5)`zo$yj"cjm.flqqYn4895=55Z0.eqb+ta'dof#iazt^k?518602_;#j|i.sd,i`k(lfSd2>5?3;?P6(o{l%~k!bel-gkprXa5;=2<64U1-dvc(un&gna"j`uu]j84199>1^<"i}f/pe+hcj'me~xRg31?34?P6(o{l%~k!bel-gkprXa585=:5Z0.eqb+ta'dof#iazt^k?7;703\:$kh!rg-nah)cg|~Te1:1169V4*aun'xm#`kb/emvpZo;=7;<7X> gsd-vc)jmd%ocxzPi=4=52=R8&myj#|i/lgn+air|Vc7;3?8;T2,cw`)zo%fi`!kotv\m9>99>1^<"i}f/pe+hcj'me~xRg39?35?P6(o{l%~k!bel-gkprXaV:::6[?/fpe*w`(elg$hb{{_h]252=R8&myj#|i/lgn+air|VcT==?8;T2,cw`)zo%fi`!kotv\mZ769>1^<"i}f/pe+hcj'me~xRgP1334?P6(o{l%~k!bel-gkprXaV;8=:5Z0.eqb+ta'dof#iazt^k\51703\:$kh!rg-nah)cg|~TeR?:169V4*aun'xm#`kb/emvpZoX9?;<7X> gsd-vc)jmd%ocxzPi^3453=R8&myj#|i/lgn+air|VcT><84U1-dvc(un&gna"j`uu]j[6713\:$kh!rg-nah)cg|~TeR:>6:W3+bta&{l$ahc dnww[lY29?1^<"i}f/pe+hcj'me~xRgP6048Q5)`zo$yj"cjm.flqqYnW>;=7X> gsd-vc)jmd%ocxzPi^:22>S7'nxm"h mdo,`jssW`U2=45Z0.eqb+ta'dof#iazt^ofi9699h1^<"i}f/pe+hcj'me~xRcjm=33:4g<]9%l~k }f.ofi*bh}}Ufi`2>1?3b?P6(o{l%~k!bel-gkprXelg7=?0>a:W3+bta&{l$ahc dnww[hcj4895=l5Z0.eqb+ta'dof#iazt^ofi97368k0Y=!hrg,qb*kbe&ndyyQbel>21;7f3\:$kh!rg-nah)cg|~Tahc317<2e>S7'nxm"h mdo,`jssWdof0<91189V4*aun'xm#`kb/emvpZkbe5;5=45Z0.eqb+ta'dof#iazt^ofi949901^<"i}f/pe+hcj'me~xRcjm=1=5<=R8&myj#|i/lgn+air|Vgna1:1189V4*aun'xm#`kb/emvpZkbe5?5=45Z0.eqb+ta'dof#iazt^ofi909901^<"i}f/pe+hcj'me~xRcjm=5=5<=R8&myj#|i/lgn+air|Vgna161189V4*aun'xm#`kb/emvpZkbe535;95Z0.eqb+ta'dof#jlb.f`nc+aeenk%bjklc/`nc*dkcVgnaRijndpbpjt(~hfbh#m|ts-qehjhgyQ;Q#|nm/p,w6Yig`dbx#|nm.fsvdk)ly9=t<6!r`o2f>S7'nxm"h mdo,phvXzhgT~iQjn0a8Q5)`zo$yj"cjm.vntZtfeVxoSh`>169V4*aun'xm#ob_sgdkprXmg;o7X> gsd-vc)u{}hgg"|k_sqw[duumn8;7X> gsd-vc)u{}hgg"|k_sqw[duumnUo=?>4U1-dvc(un&xxxobd/sf\vvrXizxnkRj=1b9V4*aun'xm#}{bmi,vaYu{}Uhc`l>d:W3+bta&{l$~~zmlj-q`Ztt|Vidao?>e:W3+bta&{l$~~zmlj-q`Ztt|Vxnk1>11d9V4*aun'xm#}{bmi,vaYu{}Uyij2>>0g8Q5)`zo$yj"||tcnh+wbXzz~T~hi32?3g?P6(o{l%~k!}su`oo*tcW{ySkh_13g?P6(o{l%~k!}su`oo*tcW{ySkh_03g?P6(o{l%~k!}su`oo*tcW{ySkh_33g?P6(o{l%~k!}su`oo*quW{ySl}}ef03?P6(o{l%~k!}su`oo*quW{ySl}}ef]g576<]9%l~k }f.pppgjl'~xT~~zParpfcZb59j1^<"i}f/pe+wusjea${Q}su]`khd6l2_;#j|i.sd,vvredb%|~R||t^alig76m2_;#j|i.sd,vvredb%|~R||t^pfc9699l1^<"i}f/pe+wusjea${Q}su]qab:668n0Y=!hrg,qb*tt|kf`#z|Prrv\v`aX88n0Y=!hrg,qb*tt|kf`#z|Prrv\v`aX9h1^_H\PAMKBWf=R[LXTZD]FBMG0?SED12\BIZQ[YQG0?RCF;2]NNn5XRHVF[HICMVKh7Z\FTD]NKACXJm1\^DZJ_VKGPMYFl2]YEYKPWHFWLZD6l2RB@D@W-YFA$5(6(Z^^N->!1!CPGLO23QEYOT84XRVOMG1gkefyShctx`8eikh{}Umyab9;cc`opvc3kkhgx~Pm`phaw5bf|hUhcx`{(6+g?agsiVidycz'8(d8`drfWje~by27:1<4?adn|lxy:6jfn)2*2>bnf!;";6jfn)33-2=cag":=$94dhl+57/03mce$<=&7:fjj-73!>1oec&>5(58`lh/9?#<7iga(05*3>bnf!;3%:5kio*2=,0$94dhl+65/03mce$??&7:fjj-45!>1oec&=3(58`lh/:=#<7iga(37*3>bnf!8=%:5kio*13,15'8;ekm,7?.>2nbb%=&7:fjj-57!>1oec&<1(58`lh/;;#<7iga(21*3>bnf!9?%:5kio*01,01oec2>3?58`lh;9=4<7iga<07=3>bnf5;=2:5kio>23;12nbb1?17:fjj9476>1oec2=1?58`lh;:;4<7iga<31=3>bnf58?2:5kio>11;1;08;ekm8719?2nbb1<7>69gmk:517<0hd`32?58`lh;;94<7iga<23=3>bnf5992:5kio>07;14=7iga<9<5?aoi404<7iazt)2*3>bh}}":%55kotv+55/?3me~x%?>)99gkpr/9;#37iazt)30-==cg|~#=9'7;emvp-72!11ocxz'17+;?air|!;<%:5kotv+6,1'8;emvp-2.?2ndyy&:)69gkpr/> =0hb{{(6+4?air|!2";6j`uu*:-2=cg|~7<364dnww846902ndyy2>1?:8`jss488546j`uu>27;>bh}}6:;7>18:flqq:6?7=0hb{{<0<4?air|585;6j`uu>0:2=cg|~78394dnww80803me~x1817:flqq:06>1ocxz38?58`jss40437hjff3ld`0=bey~r>k5iigm\c`hbzh~d~Rx9_0.#\ljnfq*HC_K/Gdlfvdrhz);9"=?v<6^0`hnY4>}e:4>o4fhdl[}jipV?:>u=9_3aooZ51|f;3 kgio^efj`tf|fxTz;Q>,OMMA)HHFL>;=6hffn]{hk~X=88s?;Q=cmi\73rh91&mekaPgdlfvdrhzV|=S<"tc^jbwZoi|Vigg0>#c^jbwZuu{}7; nQ}d^dqat;6$jUnbllce^pppZu~fj7: nQgar]q`Zbf|hUhcx`{=1.`[aoiW~coxe3<6-a\lduX{UomyoPcnwmp86+kVl~`aQil`ep[wusWkg1="l_hosh`kbf}keb`Ptxrf97*dW|ynShcmeeff`Ztbo4:'oRy}_gpfu87+kVxiRj`uu]qwq;6$jU~bik}fmmt[iip59&hSeo|_ntfvcjh4:'oR~}emmb`Zjf|ldhu0>#c^flqqYpam~c1<6#c^opcjhX~hf6=!mPre]gauro58:98!mPesplvZoiblieb`Ptxrf95*dWakxSx`kesdokr;7$jUcm~QnllmppZ`rde7; nQgar]qwq;6$jUomyoPcnwmpZqnl}b65!mPh`q\swYfkb7; nQzsd]fgf;7$jUhc`c`n^aokfm:8%iT{Qncj]okr;7$jUyhR~ats]tmaro58:'oR{|e^dtbqYci}kTob{at<2/gZnf{Vkgab}{_dosp|;7$jUyhRjnt`]`kphsW~coxe3>0-a\kscunee|Saax=1.`[rtXxg~ySzgkti?:(fYwzfmTi`~{y^vzt`;7$jU|~Rjnt`]`kphsW~coxe36,b]sv`jhimUyij}21-a\`jssW{yS{oc=1.`[mgtWmkmRm`uov>4)eXx{elSk{cl^vkv`uoWgolmykPv`n>15>+kV}ySikti?657*dWyxdkRkbpu{\pmtb{aUeijo{e^tbh83+kVzycjQjmqvz[qnumzbTm~}jru]uei;3$jUcm~Qyamkg95*dWyxdkRhzlm]wlwct`Vkxh|{_wco906>$jef|b`jnu]mehc:n`ldSubax^726}51W;iggR=9tn3;(fYqiecoSaax=1.`[utneVlbjbQ{yqg>144;?&hS}|`g^dvhiYsqyo6vugnUna}zv_ujqavn/: ;?7}|`g^gntqX|axne&<)068twi`Wlg{xtQ{hsgpl-2.9=1{~biPelrw}Zrozlyc$8'>4:rqkbYbey~rSyf}erj+2,733yxdkRkbpu{\pmtb{a"<%<:4psmd[`kw|pUdk|h):*51=wzfmTi`~{y^vkv`uo 0#::6~}of]fiur~W}byi~f39;2=5g=wzfmTi`~{y^vkv`uoWhyxiz'0(3a?uthoVof|ywPtipfwmYf{zoyx%?&1c9svjaXmdzuRzgrdqk[dutm{~#>$?m;qplcZcjx}sTxe|jsi]bwvcu|!9"=o5rne\ahvsqV~c~h}g_`qpawr/< ;i7}|`g^gntqX|axneQnsrgqp-3.9k1{~biPelrw}ZrozlycSl}|esv+2,7e3yxdkRkbpu{\pmtb{aUj~k}t)5*5g=wzfmTi`~{y^vkv`uoWhyxiz'8(3a?uthoVof|ywPtipfwmYf{zoyx%7&1e9svjaXmdzuRzgrdqk[dutm{~757>11c9svjaXmdzuRzgrdqk[kc`i}o#<$?m;qplcZcjx}sTxe|jsi]mabgsm!;"=o5rne\ahvsqV~c~h}g_ogdeqc/: ;i7}|`g^gntqX|axneQaefcwa-5.9k1{~biPelrw}ZrozlycSckhaug+0,7e3yxdkRkbpu{\pmtb{aUeijo{e)7*5g=wzfmTi`~{y^vkv`uoWgolmyk'6(3a?uthoVof|ywPtipfwmYimnki%9&1c9svjaXmdzuRzgrdqk[kc`i}o#4$?m;qplcZcjx}sTxe|jsi]mabgsm!3"=i5rne\ahvsqV~c~h}g_ogdeqc;13:556~}of]eqij6;2zycjQiumn\pmtb{a";%<=4psmd[cskdV~c~h}g(0+27>vugnUmyabPtipfwm.5!890|ah_gwohZrozlyc$>'>3:rqkbYa}efTxe|jsi*7-45a:rqkbYa}efTxe|jsi]bwvcu|!8"=l5rne\bpjkW}byi~fParqfvq.4!8k0|ah_gwohZrozlycSl}|esv+0,7f3yxdkRhzlm]wlwct`Vkxh|{(4+2e>vugnUmyabPtipfwmYf{zoyx%8&1`9svjaXn|fgSyf}erj\evubz}"<%vugnUmyabPtipfwmYimnki%<&1`9svjaXn|fgSyf}erj\j`af|l"8%$??;sf\`drfWje~by&<)028vaYci}kTob{at)6*55=ulVnjxlQlotlw,0/682xoSio{a^alqkr/> ;;7jPd`vb[firf}"<%<>4re]geqgXkfex%6&119q`Zbf|hUhcx`{(8+24>tcWmkmRm`uov?4;753{nThlzn_bmvjq:>294>7jPeo48vaYu{}90~~z8;r`jp`tu<2yyy:4tswf=>sillxm`by:;wcoma0<{Ujof84ws]`hn773~xThlzn_bmvjq.7!8:0{Qkauc\gjsi|!;"==5xr^fbpdYdg|d$?'>0:uq[agsiVidycz'3(33?rtXlh~jSnaznu*7-46<{UomyoPcnwmp-3.991|~Rjnt`]`kphs ?#:<6y}_ecweZeh}g~#;$??;vp\`drfWje~by&7)008swYci}kTob{at=:94;3<{Unb;5xr^pppxFGxh<>7MNw1;D90?7|[=l188;57;306g0dk38no?ktn2f6>4=i;m<1:6*107290:??l9cb81af4b3Z>o698?:18277d1kj09inm9:00a?S5c<38py<=<:09v562=82w/=:75199a00>=839o6>47;'5=g=<<20(>j=:574?l2e83:17d:l4;29?j22k3:17b::6;29?l2e13:17d:m2;29?j2413:1(<9m:56b?k70i3:07b:<8;29 41e2=>j7c?8a;38?j24?3:1(<9m:56b?k70i3807b:<6;29 41e2=>j7c?8a;18?j24=3:1(<9m:56b?k70i3>07b:<4;29 41e2=>j7c?8a;78?j24;3:1(<9m:56b?k70i3<07b:<2;29 41e2=>j7c?8a;58?j2393:1(<9m:56b?k70i3207b:;0;29 41e2=>j7c?8a;;8?j24n3:1(<9m:56b?k70i3k07b:j7c?8a;`8?j24l3:1(<9m:56b?k70i3i07b:j7c?8a;f8?j24j3:1(<9m:56b?k70i3o07b:j7c?8a;d8?j2493:1(<9m:56b?k70i3;;76a;3183>!70j3>?m6`>7`825>=n<9>1<7*>7c8762=i9>k1<65f41194?"6?k0?>:5a16c95>=n<981<7*>7c8762=i9>k1>65f41394?"6?k0?>:5a16c97>=n<9:1<7*>7c8762=i9>k1865f3gd94?"6?k0?>:5a16c91>=n;on1<7*>7c8762=i9>k1:65f3ga94?"6?k0?>:5a16c93>=n;oh1<7*>7c8762=i9>k1465f3gc94?"6?k0?>:5a16c9=>=n;o31<7*>7c8762=i9>k1m65f3g:94?"6?k0?>:5a16c9f>=n;o=1<7*>7c8762=i9>k1o65f3g494?"6?k0?>:5a16c9`>=n;o?1<7*>7c8762=i9>k1i65f3g694?"6?k0?>:5a16c9b>=n;o81<7*>7c8762=i9>k1==54i2d2>5<#9>h18?94n05b>47<3`9m<7>5$05a>1403g;1e=:o51598m6cc290/=:l54358j41f28?07d=jc;29 41e2=8<7c?8a;35?>o4mk0;6)?8b;613>h6?h0:;65f3dc94?"6?k0?>:5a16c95==b:9j05>=83.:;o4;269m52g=9j10e9>8:18'52d=<;=0b<9n:0f8?l27>3:1(<9m:504?k70i3;n76g;0483>!70j3>9;6`>7`82b>=n;oo1<7*>7c8762=i9>k1>=54i2d0>5<#9>h18?94n05b>77<3`9n47>5$05a>1403g;tH2a7?!7?i39h96a>7983>>{el10;6<4?:1yK7f2<,82j6i64oe594?=zj=>1<7o::00g>40>sA9h86T;5;35d<>2k09m7<8:3:96<8`871g=#<10?945+4d871d=#9>>1=:94i554>5<#9>h18:64n05b>5=5<#9>h18:64n05b>7=54i550>5<#9>h18:64n05b>1=5<#9>h18:64n05b>3=5<#9>h18:64n05b>==5<5<5<#9>h18;j4n05b>5=5<#9>h18;j4n05b>7=54i54;>5<#9>h18;j4n05b>1=5<#9>h18;j4n05b>3=6=4+16`903b5<#9>h18;j4n05b>==5<5<#9>h185=4n05b>5=5<#9>h185=4n05b>7=54i55f>5<#9>h185=4n05b>1=5<#9>h185=4n05b>3=5<#9>h185=4n05b>==5<5<#9>h1?h;4n05b>4=5<#9>h1?h;4n05b>6=5<#9>h1?h;4n05b>0=5<#9>h1?h;4n05b>2=5<5<#9>h185k4n05b>5=5<#9>h185k4n05b>7=54i5::>5<#9>h185k4n05b>1=5<#9>h185k4n05b>3=5<#9>h185k4n05b>==5<5<5<#9>h18464n05b>4=6=4+16`90<>5<#9>h18464n05b>6=5<#9>h18464n05b>0=5<#9>h18464n05b>2=5<#9>h18l<4n05b>5=5<#9>h18l<4n05b>7=54i5;g>5<#9>h18l<4n05b>1=5<#9>h18l<4n05b>3=5<#9>h18l<4n05b>==5<5<5<5<#9>h189o4n05b>5=5<#9>h189o4n05b>7=54o516>5<#9>h189o4n05b>1=5<#9>h189o4n05b>3=5<#9>h189o4n05b>==;6=4+16`901g5<#9>h189o4n05b>d=5<#9>h189o4n05b>f=5<#9>h189o4n05b>`=5<#9>h189o4n05b>46<3f>8<7>5$05a>12f3g;;:k741<72-;4?:%34f?25?2d:;l4>;:k747<72-;1e=:o51098m6`7290/=:l54358j41f28807d=jf;29 41e2=8<7c?8a;30?>o4ml0;6)?8b;613>h6?h0:865f3df94?"6?k0?>:5a16c950=8:9j7`?=83.:;o4;269m52g=9010e9>n:18'52d=<;=0b<9n:0c8?l2713:1(<9m:504?k70i3;i76g;0983>!70j3>9;6`>7`82g>=n<9=1<7*>7c8762=i9>k1=i54i525>5<#9>h18?94n05b>4c<3`>;97>5$05a>1403g;1e=:o52098m6c?290/=:l54358j41f2;807d=j7;29 41e2=8<7c?8a;00?>o4l00;66a;ae83>!70j3>jj6`>7`83?>i3ij0;6)?8b;6bb>h6?h0:76a;ac83>!70j3>jj6`>7`81?>i3ih0;6)?8b;6bb>h6?h0876a;a883>!70j3>jj6`>7`87?>i3i10;6)?8b;6bb>h6?h0>76a;a683>!70j3>jj6`>7`85?>i3i?0;6)?8b;6bb>h6?h0<76a;a483>!70j3>jj6`>7`8;?>i3i=0;6)?8b;6bb>h6?h0276a;c383>!70j3>h?6`>7`83?>i3k80;6)?8b;6`7>h6?h0:76a;c183>!70j3>h?6`>7`81?>i3jo0;6)?8b;6`7>h6?h0876a;bd83>!70j3>h?6`>7`87?>i3jm0;6)?8b;6`7>h6?h0>76a;bb83>!70j3>h?6`>7`85?>i3jk0;6)?8b;6`7>h6?h0<76a;b`83>!70j3>h?6`>7`8;?>i3>;0;66g;5e83>>i4m?0;66g;a283>>i3j?0;66l4<729q/=5o5d99K7f`<@:i?7bj8:188yg5c93:1=7>50z&21<729q/=5o5d59K7f`<@:i?7)k::79j03<722c><7>5;h34g?6=3f;5;|`052<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n3:187>50z&25;h6`>5<?54c78 `3=:2c?:7>5;h73>5<8`8g5>N4ko1C?n:4H518 4562=h>7)k::39j03<722c><7>5;n34`?6=3th8n=4?:283>5}#91k1h<5G3bd8L6e33A>87)?<1;6a1>"b=380e9850;9j15<722e:;i4?::a7gg=83?1<7>t$0:b>a3<@:im7E=l4:J77>"6;80?n85f4783>>o3?3:17d;?:188m41d2900c<9k:188yg5ej3:1?7>50z&27=n0<729q/=5o5d49K7f`<@:i?7E:<;%305?2e=2c?:7>5;h64>5<n1<75rb2`:>5<3290;w)?7a;f7?M5dn2B8o95+e485?l212900e8>50;9j52e=831d=:j50;9~f6d?290?6=4?{%3;e?b33A9hj6F=6=44i4294?=n9>i1<75`16f94?=zj:h<6=4;:183!7?i3n?7E=lf:J0g1=#m<0=7d:9:188m06=831b=:m50;9l52b=831vn>m=:187>5<7s-;3m7j;;I1`b>N4k=1/i849;h65>5<n1<75rb2a2>5<3290;w)?7a;f7?M5dn2B8o95+e485?l212900e8>50;9j52e=831d=:j50;9~f4gc290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e9hi1<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th:mo4?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo?na;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb0c:>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a5d>=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd6i>0;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<54;294~"60h0o>6F6g;6;29?l2d2900e8>50;9l52b=831vn5<7s-;3m7j=;I1`b>N4k=1/i84=;h65>5<>i6?m0;66sm20694?2=83:p(<6n:e08L6ea3A9h86*j5;08m10=831b8n4?::k64?6=3f;5;|`156<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n50z&25;h6`>5<<>50;694?6|,82j6i<4H2ae?M5d<2.n97<4i5494?=n1<729q/=5o5d39K7f`<@:i?7)k::39j03<722c?o7>5;h73>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f76c290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e:9i1<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th99n4?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo<:b;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb37b>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a60?=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd5=10;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<;7>54;294~"60h0o>6F6g;6;29?l2d2900e8>50;9l52b=831vn?;9:187>5<7s-;3m7j=;I1`b>N4k=1/i84=;h65>5<>i6?m0;66sm24794?2=83:p(<6n:e08L6ea3A9h86*j5;08m10=831b8n4?::k64?6=3f;5;|`111<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n50z&25;h6`>5<f783>1<729q/=5o5d39K7f`<@:i?7)k::39j03<722c?o7>5;h73>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f4`3290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e9o91<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th:j?4?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo?i1;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb36b>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb36:>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb36;>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb364>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb365>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb366>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb367>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb360>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb361>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g4>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g5>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g6>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g7>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g0>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g1>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g2>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g3>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0fe>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0ff>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0f0>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a5a4=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd6l80;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<54;294~"60h0o>6F6g;6;29?l2d2900e8>50;9l52b=831vn5<7s-;3m7j=;I1`b>N4k=1/i84=;h65>5<>i6?m0;66sm1bg94?2=83:p(<6n:e08L6ea3A9h86*j5;08m10=831b8n4?::k64?6=3f;5;|`2ga<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n50z&25;h6`>5<1<729q/=5o5d39K7f`<@:i?7)k::39j03<722c?o7>5;h73>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f751290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e::?1<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th9?94?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo<<3;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb311>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a667=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd5;90;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a6a1=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo0(h;52:k72?6=3`><6=44i5a94?=n=90;66a>7e83>>{e:m>1<7;50;2x 4>f2m90D>mi;I1`0>"b=380e9850;9j02<722c?o7>5;h73>5<8`8g7>N4ko1C?n:4$d796>o3>3:17d:8:188m1e=831b9=4?::m23a<722wi>i=50;794?6|,82j6i=4H2ae?M5d<2.n97<4i5494?=n<>0;66g;c;29?l372900c<9k:188yg4c:3:197>50z&25;h64>5<>i6?m0;66sm2e294?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o96F50;9j52e=831d=:j50;9~f7b6290>6=4?{%3;e?b43A9hj6F=6=44i5594?=n6<729q/=5o53bg8L6ea3A9h86g;9;29?l7503:17b?86;29?xd5k;0;6>4?:1y'5=g=;jo0D>mi;I1`0>o313:17d?=8;29?j70>3:17pl=b983>1<729q/=5o51208L6ea3A9h86g;9;29?l352900e<6<:188k4112900qo3:187>50z&22900e8<50;9j5=5=831d=:850;9~f7e729086=4?{%3;e?5dm2B8ok5G3b68m1?=831b=?650;9l520=831vn?l;:187>5<7s-;3m7?<2:J0gc=O;j>0e9750;9j17<722c:4>4?::m233<722wi>oh50;194?6|,82j6>mj;I1`b>N4k=1b844?::k26=<722e:;;4?::a6g4=83>1<7>t$0:b>4553A9hj6F>7>5;h3;7?6=3f;<:7>5;|`1f`<72:0;6=u+19c97fc<@:im7E=l4:k7=?6=3`;947>5;n342?6=3th9n=4?:583>5}#91k1=><4H2ae?M5d<2c?57>5;h71>5<5<53;294~"60h08oh5G3bd8L6e33`>26=44i00;>5<8`8277=O;jl0D>m;;h6:>5<<1<75rb3``>5<4290;w)?7a;1`a>N4ko1C?n:4i5;94?=n9;21<75`16494?=zj;kh6=4;:183!7?i3;8>6F>o60:0;66a>7783>>{e:kh1<7=50;2x 4>f2:in7E=lf:J0g1=n<00;66g>2983>>i6??0;66sm2`c94?2=83:p(<6n:011?M5dn2B8o95f4883>>o2:3:17d?73;29?j70>3:17pl=b`83>6<729q/=5o53bg8L6ea3A9h86g;9;29?l7503:17b?86;29?xd5i10;694?:1y'5=g=9:80D>mi;I1`0>o313:17d;=:188m4>42900c<99:188yg4bk3:197>50z&25;h64>5<>i6?m0;66sm2d`94?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a6`?=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo0(h;52:k72?6=3`><6=44i5a94?=n=90;66a>7e83>>{e:l=1<7;50;2x 4>f2m90D>mi;I1`0>"b=380e9850;9j02<722c?o7>5;h73>5<8`8g7>N4ko1C?n:4$d796>o3>3:17d:8:188m1e=831b9=4?::m23a<722wi>h;50;794?6|,82j6i=4H2ae?M5d<2.n97<4i5494?=n<>0;66g;c;29?l372900c<9k:188yg4b<3:197>50z&25;h64>5<>i6?m0;66sm2d194?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<54;294~"60h0o86F0(h;56:k72?6=3`?;6=44i05`>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f70>290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e:1o1<7:50;2x 4>f28997E=lf:J0g1=n<00;66g:2;29?l7?;3:17b?86;29?xd50m0;694?:1y'5=g=9:80D>mi;I1`0>o313:17d;=:188m4>42900c<99:188yg4?k3:187>50z&22900e8<50;9j5=5=831d=:850;9~f7>e290?6=4?{%3;e?74:2B8ok5G3b68m1?=831b9?4?::k2<6<722e:;;4?::a6=g=83>1<7>t$0:b>4553A9hj6F>7>5;h3;7?6=3f;<:7>5;|`13g<72=0;6=u+19c9564<@:im7E=l4:k7=?6=3`?96=44i0:0>5<8`8277=O;jl0D>m;;h6:>5<<1<75rb35:>5<3290;w)?7a;306>N4ko1C?n:4i5;94?=n=;0;66g>8283>>i6??0;66sm26:94?2=83:p(<6n:011?M5dn2B8o95f4883>>o2:3:17d?73;29?j70>3:17pl=7683>1<729q/=5o51208L6ea3A9h86g;9;29?l352900e<6<:188k4112900qo=?9;290?6=8r.:4l4>339K7f`<@:i?7d:6:188m04=831b=5=50;9l520=831vn>>7:187>5<7s-;3m7?<2:J0gc=O;j>0e9750;9j17<722c:4>4?::m233<722wi?=950;694?6|,82j6<==;I1`b>N4k=1b844?::k66?6=3`;3?7>5;n342?6=3th8<;4?:583>5}#91k1=><4H2ae?M5d<2c?57>5;h71>5<5<54;294~"60h0:??5G3bd8L6e33`>26=44i4094?=n9191<75`16494?=zj;l=6=4;:183!7?i3;8>6F>o60:0;66a>7783>>{e:o?1<7:50;2x 4>f28997E=lf:J0g1=n<00;66g:2;29?l7?;3:17b?86;29?xd5n=0;694?:1y'5=g=9:80D>mi;I1`0>o313:17d;=:188m4>42900c<99:188yg4a;3:187>50z&22900e8<50;9j5=5=831d=:850;9~f7`5290?6=4?{%3;e?74:2B8ok5G3b68m1?=831b9?4?::k2<6<722e:;;4?::a70d=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo=:9;291?6=8r.:4l4k5:J0gc=O;j>0(h;56:k72?6=3`><6=44i4294?=n9>i1<75`16f94?=zj:?j6=4::183!7?i3n87E=lf:J0g1=#m<097d:9:188m11=831b8n4?::k64?6=3f;5;|`01f<72<0;6=u+19c9`6=O;jl0D>m;;%g6>7=n50;9l52b=831vn>;k:186>5<7s-;3m7j<;I1`b>N4k=1/i84=;h65>5<>o283:17b?8d;29?xd4=l0;684?:1y'5=g=l:1C?nh4H2a7?!c22;1b8;4?::k73?6=3`>h6=44i4294?=h9>n1<75rb27e>5<2290;w)?7a;f0?M5dn2B8o95+e481?l212900e9950;9j0f<722c><7>5;n34`?6=3th8:=4?:483>5}#91k1h>5G3bd8L6e33-o>6?5f4783>>o3?3:17d:l:188m06=831d=:j50;9~f606290>6=4?{%3;e?b43A9hj6F=6=44i5594?=n0<729q/=5o5d29K7f`<@:i?7)k::39j03<722c?;7>5;h6`>5<n6=4::183!7?i3n87E=lf:J0g1=#m<097d:9:188m11=831b8n4?::k64?6=3f;5;|`00f<72<0;6=u+19c9`6=O;jl0D>m;;%g6>7=n50;9l52b=831vn>:m:186>5<7s-;3m7j<;I1`b>N4k=1/i84=;h65>5<>o283:17b?8d;29?xd4h6=44i4294?=h9>n1<75rb26b>5<2290;w)?7a;f0?M5dn2B8o95+e481?l212900e9950;9j0f<722c><7>5;n34`?6=3th8844?:483>5}#91k1h>5G3bd8L6e33-o>6?5f4783>>o3?3:17d:l:188m06=831d=:j50;9~f620290>6=4?{%3;e?b43A9hj6F=6=44i5594?=n0<729q/=5o5d49K7f`<@:i?7)k::79j03<722c?;7>5;h73>5<5<53;294~"60h08oh5G3bd8L6e33`>26=44i00;>5<8`80g`=O;jl0D>m;;h6:>5<5<7>54;294~"60h0:??5G3bd8L6e33`>26=44i4094?=n9191<75`16494?=zj:9j6=4<:183!7?i39hi6F<1<75rb213>5<3290;w)?7a;306>N4ko1C?n:4i5;94?=n=;0;66g>8283>>i6??0;66sm32;94?5=83:p(<6n:2af?M5dn2B8o95f4883>>o6:10;66a>7783>>{e;;o1<7:50;2x 4>f28997E=lf:J0g1=n<00;66g:2;29?l7?;3:17b?86;29?xd4;10;6>4?:1y'5=g=;jo0D>mi;I1`0>o313:17d?=8;29?j70>3:17pl<2b83>1<729q/=5o51208L6ea3A9h86g;9;29?l352900e<6<:188k4112900qo=<7;297?6=8r.:4l450z&22900e8<50;9j5=5=831d=:850;9~f65129086=4?{%3;e?5dm2B8ok5G3b68m1?=831b=?650;9l520=831vn><7:187>5<7s-;3m7?<2:J0gc=O;j>0e9750;9j17<722c:4>4?::m233<722wi?>;50;194?6|,82j6>mj;I1`b>N4k=1b844?::k26=<722e:;;4?::a770=83>1<7>t$0:b>4553A9hj6F>7>5;h3;7?6=3f;<:7>5;|`071<72:0;6=u+19c97fc<@:im7E=l4:k7=?6=3`;947>5;n342?6=3th8>94?:583>5}#91k1=><4H2ae?M5d<2c?57>5;h71>5<5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a724=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo=81;291?6=8r.:4l4k3:J0gc=O;j>0(h;52:k72?6=3`><6=44i5a94?=n=90;66a>7e83>>{e;>:1<7;50;2x 4>f2m90D>mi;I1`0>"b=380e9850;9j02<722c?o7>5;h73>5<8`8g7>N4ko1C?n:4$d796>o3>3:17d:8:188m1e=831b9=4?::m23a<722wi?;k50;794?6|,82j6i=4H2ae?M5d<2.n97<4i5494?=n<>0;66g;c;29?l372900c<9k:188yg51l3:197>50z&25;h64>5<>i6?m0;66sm37a94?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a7<6=83?1<7>t$0:b>a0<@:im7E=l4:&f1?4>o283:17d?8e;29?j70l3:17pl<8g83>0<729q/=5o5d79K7f`<@:i?7)k::39j03<722c?;7>5;h73>5<5<55;294~"60h0o:6F6g;6;29?l202900e8>50;9j52c=831d=:j50;9~f6>c290>6=4?{%3;e?b13A9hj6F=6=44i5594?=n=90;66g>7d83>>i6?m0;66sm39a94?3=83:p(<6n:e48L6ea3A9h86*j5;08m10=831b8:4?::k64?6=3`;5;n34`?6=3th84o4?:483>5}#91k1h;5G3bd8L6e33-o>6?5f4783>>o3?3:17d;?:188m41b2900c<9k:188yg5?i3:197>50z&22B8ok5G3b68 `3=:2c?:7>5;h64>5<n1<75rb2::>5<2290;w)?7a;f5?M5dn2B8o95+e481?l212900e9950;9j15<722c:;h4?::m23a<722wi?4650;794?6|,82j6i84H2ae?M5d<2.n97<4i5494?=n<>0;66g:0;29?l70m3:17b?8d;29?xd41>0;684?:1y'5=g=l?1C?nh4H2a7?!c22;1b8;4?::k73?6=3`?;6=44i05f>5<8`8g2>N4ko1C?n:4$d796>o3>3:17d:8:188m06=831b=:k50;9l52b=831vn>7::186>5<7s-;3m7j9;I1`b>N4k=1/i84=;h65>5<>o6?l0;66a>7e83>>{e;0>1<7;50;2x 4>f2m<0D>mi;I1`0>"b=380e9850;9j02<722c><7>5;h34a?6=3f;5;|`0=6<72<0;6=u+19c9`3=O;jl0D>m;;%g6>7=n0(h;52:k72?6=3`><6=44i4294?=n9>o1<75`16f94?=zj:3:6=4::183!7?i3n=7E=lf:J0g1=#m<097d:9:188m11=831b9=4?::k23`<722e:;i4?::a7=>=83?1<7>t$0:b>a0<@:im7E=l4:&f1?4>o283:17d?8e;29?j70l3:17pl<8683>0<729q/=5o5d79K7f`<@:i?7)k::39j03<722c?;7>5;h73>5<5<53;294~"60h0:>i5G3bd8L6e33-o>6<74ie;94?=nlh0;66a>7783>>{e;k91<7=50;2x 4>f288o7E=lf:J0g1=#m<0:56gk9;29?lbf2900c<99:188yg46>3:1?7>50z&2t$0:b>44c3A9hj6F5;hfb>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm18c94?5=83:p(<6n:00g?M5dn2B8o95+e482`>oc13:17djn:188k4112900qo?69;297?6=8r.:4l4>2e9K7f`<@:i?7)k::0f8ma?=831bhl4?::m233<722wi=4650;194?6|,82j6<N4k=1/i84>d:kg=?6=3`nj6=44o055>5<53;294~"60h0:>i5G3bd8L6e33-o>67783>>{e90<1<7=50;2x 4>f288o7E=lf:J0g1=#m<0:h6gk9;29?lbf2900c<99:188yg7>=3:1?7>50z&2t$0:b>44c3A9hj6F5;hfb>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm18094?5=83:p(<6n:00g?M5dn2B8o95+e482`>oc13:17djn:188k4112900qo?61;297?6=8r.:4l4>2e9K7f`<@:i?7)k::0f8ma?=831bhl4?::m233<722wi=4>50;194?6|,82j6<N4k=1/i84>d:kg=?6=3`nj6=44o055>5<53;294~"60h0:>i5G3bd8L6e33-o>67783>>{e91o1<7=50;2x 4>f288o7E=lf:J0g1=#m<0:h6gk9;29?lbf2900c<99:188yg7?l3:1?7>50z&2t$0:b>44c3A9hj6F5;hfb>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm27g94?2=83:p(<6n:00f?M5dn2B8o95+e48``>oc13:17djn:188mad=831d=:850;9~f77?290?6=4?{%3;e?75m2B8ok5G3b68 `3=:=1bh44?::kge?6=3`ni6=44o055>5<54;294~"60h0:>h5G3bd8L6e33-o>6?:4ie;94?=nlh0;66gkb;29?j70>3:17pl=6b83>0<729q/=5o513d8L6ea3A9h86*j5;3b?lb>2900eio50;9j`g<722coo7>5;n342?6=3th9=l4?:483>5}#91k1=?h4H2ae?M5d<2.n97?i;hf:>5<>ock3:17b?86;29?xd6j:0;684?:1y'5=g=9;l0D>mi;I1`0>"b=3;m7dj6:188mag=831bho4?::kgg?6=3f;<:7>5;|`137<72<0;6=u+19c957`<@:im7E=l4:&f1?463`n26=44iec94?=nlk0;66gkc;29?j70>3:17pl<1`83>6<729q/=5o513f8L6ea3A9h86*j5;33?lb>2900eio50;9l520=831vn?89:187>5<7s-;3m7?=e:J0gc=O;j>0(h;52b9j`<<722com7>5;hfa>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm1c794?5=83:p(<6n:00g?M5dn2B8o95+e482`>oc13:17djn:188k4112900qo<>e;290?6=8r.:4l4>2d9K7f`<@:i?7)k::368ma?=831bhl4?::kgf?6=3f;<:7>5;|`2f2<72=0;6=u+19c957c<@:im7E=l4:&f1?433`n26=44iec94?=nlk0;66a>7783>>{e:;:1<7;50;2x 4>f288m7E=lf:J0g1=#m<0:j6gk9;29?lbf2900eil50;9j`f<722e:;;4?::a5g?=83?1<7>t$0:b>44a3A9hj6F5;hfb>5<>i6??0;66sm3`f94?2=83:p(<6n:00f?M5dn2B8o95+e4865>oc13:17djn:188mad=831d=:850;9~f702290>6=4?{%3;e?75n2B8ok5G3b68 `3=9;1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb230>5<4290;w)?7a;31`>N4ko1C?n:4$d7967=nl00;66gka;29?j70>3:17pl<0183>6<729q/=5o513f8L6ea3A9h86*j5;01?lb>2900eio50;9l520=831vn?77:186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<6=4::183!7?i3;9j6F>5fd883>>oci3:17djm:188mae=831d=:850;9~f675290>6=4?{%3;e?75n2B8ok5G3b68 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb3de>5<2290;w)?7a;31b>N4ko1C?n:4$d7966=nl00;66gka;29?lbe2900eim50;9l520=831vn?78:186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<=5fd883>>oci3:17djm:188mae=831d=:850;9~f676290>6=4?{%3;e?75n2B8ok5G3b68 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb3df>5<2290;w)?7a;31b>N4ko1C?n:4$d7966=nl00;66gka;29?lbe2900eim50;9l520=831vn?79:186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<=5fd883>>oci3:17djm:188mae=831d=:850;9~f677290>6=4?{%3;e?75n2B8ok5G3b68 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb3dg>5<2290;w)?7a;31b>N4ko1C?n:4$d7966=nl00;66gka;29?lbe2900eim50;9l520=831vn?7::186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<=5fd883>>oci3:17djm:188mae=831d=:850;9~f7?c290?6=4?{%3;e?75m2B8ok5G3b68 `3=ko1bh44?::kge?6=3`ni6=44o055>5<54;294~"60h0:>h5G3bd8L6e33-o>63:17pl=8083>1<729q/=5o513g8L6ea3A9h86*j5;32?lb>2900eio50;9j`g<722e:;;4?::a74?=83?1<7>t$0:b>44a3A9hj6F5;hfb>5<>i6??0;66sm31d94?3=83:p(<6n:00e?M5dn2B8o95+e4817>oc13:17djn:188mad=831bhn4?::m233<722wi>km50;794?6|,82j6<N4k=1/i84=3:kg=?6=3`nj6=44ie`94?=nlj0;66a>7783>>{e:;91<7=50;2x 4>f288o7E=lf:J0g1=#m<09>6gk9;29?lbf2900c<99:188yg7ek3:1?7>50z&21<7>t$0:b>44b3A9hj6F5;hfb>5<>oci3:17djm:188k4112900qo2b9K7f`<@:i?7)k::028ma?=831d=:850;9~f7d029096=4?{%3;e?75k2B8ok5G3b68 `3=991bh44?::m233<722wi>o;50;094?6|,82j6<N4k=1/i84>0:kg=?6=3f;<:7>5;|`1f6<72;0;6=u+19c957e<@:im7E=l4:&f1?773`n26=44o055>5<52;294~"60h0:>n5G3bd8L6e33-o>6<>4ie;94?=h9><1<75rb3ce>5<5290;w)?7a;31g>N4ko1C?n:4$d7955=nl00;66a>7783>>{e:hn1<7<50;2x 4>f288h7E=lf:J0g1=#m<0:<6gk9;29?j70>3:17pl=ac83>7<729q/=5o513a8L6ea3A9h86*j5;33?lb>2900c<99:188yg4f13:1>7>50z&2=<:181>5<7s-;3m7?=c:J0gc=O;j>0(h;5119j`<<722e:;;4?::a767=8381<7>t$0:b>44d3A9hj6F5;n342?6=3th8>k4?:383>5}#91k1=?m4H2ae?M5d<2.n97??;hf:>5<8`826f=O;jl0D>m;;%g6>46>i6??0;66sm33;94?4=83:p(<6n:00`?M5dn2B8o95+e4824>oc13:17b?86;29?xd4:>0;6?4?:1y'5=g=9;i0D>mi;I1`0>"b=3;;7dj6:188k4112900qo==5;296?6=8r.:4l4>2b9K7f`<@:i?7)k::028ma?=831d=:850;9~f7e329096=4?{%3;e?75k2B8ok5G3b68 `3=991bh44?::m233<722wi?>j50;094?6|,82j6<N4k=1/i84>0:kg=?6=3f;<:7>5;|`167<72?0;6=u+19c9566<@:im7E=l4:&f1?423`n26=44iec94?=nlk0;66gkc;29?j7513:17b?86;29?xd6jk0;6;4?:1y'5=g=9::0D>mi;I1`0>"b=38>7dj6:188mag=831bho4?::kgg?6=3f;957>5;n342?6=3th8mo4?:9594?6|@:i?7)?7a;34b>\3=3kp47<9:e821?7428h1i7?9:0695f0=#m80>7)k=:49'a6<23-ii6i>4$d491>"b?3?0(h655:&f=?3<,lk196*jb;78 `e==2.nh7;4$dg91>"bn3?0(k>55:&e5?3<,o8196*i3;78 c2==2.m97;4$g491>"a?3?0(k655:&e=?3<,ok196*ib;78 ce==2.mh7;4$gg91>"an3?0(<>?:49'557==2.:"68?0>7)??7;78 46?2<1/==755:&24d<23-;;n7;4$02`>0=#99n196*>0d86?!77n3?0("69?0>7)?>7;78 47?2<1/=<755:&25d<23-;:n7;4$03`>0=#98n196*>1d86?!76n3?0(<?4:;%317?3<,88?685+13791>"6:?087)?74;61?!c32<1/=5853:&0g<<6091/?no51928j4n0:2>4444=831b=5650;9j<0<72-;k1<65f3483>!70j39=7c?8a;38?l53290/=:l5379m52g=:21b?>4?:%34f?513g;5<#9>h1?;5a16c90>=n;80;6)?8b;15?k70i3?07d=?:18'52d=;?1e=:o56:9j6c<72-;k1465f2e83>!70j39=7c?8a;;8?l26290/=:l5419m52g=821b?k4?:%34f?273g;5<#9>h18=5a16c96>=n;m0;6)?8b;63?k70i3907d=l:18'52d=<91e=:o54:9j7g<72-;k1:65f3883>!70j3>;7c?8a;58?l5?290/=:l5419m52g=021b;i4?:%34f?1d3g;4;h5a>5<#9>h1;n5a16c95>=n?00;6)?8b;5`?k70i3807d97:18'52d=?j1e=:o53:9j32<72-;k1965f7483>!70j3=h7c?8a;48?l13290/=:l57b9m52g=?21b;>4?:%34f?1d3g;5<#9>h1;n5a16c9=>=n?80;6)?8b;5`?k70i3k07d9?:18'52d=?j1e=:o5b:9j2`<72-;k1h65f6b83>!70j3=h7c?8a;g8?l0e290/=:l57b9m52g=n21b:l4?:%34f?1d3g;47<3`<36=4+16`93f=i9>k1=?54i7594?"6?k07`827>=n>?0;6)?8b;5`?k70i3;?76g95;29 41e2>i0b<9n:078?l>3290/=:l57b9m52g=9?10e5=50;&23g<0k2d:;l4>7:9j<7<72-;5$05a>2e5<#9>h1;n5a16c95d=l1<7*>7c84g>h6?h0:n65f7d83>!70j3=h7c?8a;3`?>o0i3:1(<9m:6a8j41f28n07d8i:18'52d=?j1e=:o51d98m32=83.:;o48c:l23d<6n21b4n4?:%34f?>e3g;4;h:b>5<#9>h14o5a16c95>=n000;6)?8b;:a?k70i3807d67:18'52d=0k1e=:o53:9l=1<72-;k1=65`9083>!70j3387c?8a;08?j?7290/=:l5929m52g=;21d4k4?:%34f??43g;5<#9>h15>5a16c91>=h1m0;6)?8b;;0?k70i3<07b7l:18'52d=1:1e=:o57:9l=g<72-;<3f3j6=4+16`9=6=i9>k1565`9883>!70j3387c?8a;c8?j??290/=:l5929m52g=j21d5:4?:%34f??43g;5<#9>h15>5a16c9`>=h1<0;6)?8b;;0?k70i3o07b6k:18'52d=1:1e=:o5f:9lg6<72-;k1=65fc`83>>o6000;66g>o2i3:1(<9m:4;8j41f2910e8650;&23g<212d:;l4>;:k63?6=,8=i6874n05b>7=7c86=>h6?h0876g:5;29 41e2<30b<9n:598m02=83.:;o4:9:l23d<232c=?7>5$05a>0?56`>7`84?>o193:1(<9m:4;8j41f2110e;>50;&23g<212d:;l46;:k6b?6=,8=i6874n05b>d=7c86=>h6?h0i76g:d;29 41e2<30b<9n:b98m0e=83.:;o4:9:l23dn7>5$05a>0?56`>7`8e?>o??3:1(<9m:948j41f2910co650;&23g4=1<7*>7c8a3>h6?h0976am3;29 41e2k=0b<9n:298kg4=83.:;o4m7:l23d<332ei=7>5$05a>g17`85?>ifn3:1(<9m:c58j41f2>10clk50;&23g<=7c8a3>h6?h0j76anb;29 41e2k=0b<9n:c98kd?=83.:;o4m7:l23d5$05a>g17`8f?>if>3:1(<9m:c58j41f2o10cl;50;&23g0:9le1<72-;5$05a>g15<#9>h1n:5a16c956=7c8a3>h6?h0:865`a183>!70j3h<7c?8a;36?>ien3:1(<9m:c58j41f28<07blj:18'52d=j>1e=:o51698kgb=83.:;o4m7:l23d<6021dnn4?:%34f?d03g;4g<3fhj6=4+16`9f2=i9>k1=o54oc;94?"6?k0i;6`>7`82g>=hj<0;6)?8b;`4?k70i3;o76ana;29 41e2k=0b<9n:0g8?j?a290/=:l5b69m52g=9o10cn650;&23g4=7c8`3>h6?h0976al4;29 41e2j=0b<9n:298yv2e83:1:vP;b19>63c=lh16>;m5d89>624=lj16>;85dc9>633=l01v9oj:1853~X4m?1U?i64^5`;?[2e>2T8h:5Q4c18Z1063W>i;6P;639]0=2k?;_1gb>X4ll1U?ij4^2f`?[2d:2T?o<5Q4b28Z1da3W>ii6P;be9]0geX3i01U8l64^5c4?[2f>2T?m85Q4`6896b72m=01>ln:42896ga2<:01>l6:42896d?2<:01>l8:42896e52<:01>m>:42897d?2<801?l9:40897d32<801?l=:40897d72<801?oj:40897gd2<801?on:40897g?2<801?6j:40897>c2<801?6l:40897>e2<801?6n:408971e2<801?9n:408971>2<801?97:40897102<801>>6:408966?2<801>>8:40896612<801>>::40897`12<801?h::40897`32<801?h<:40897`52<801>==:40896572<801><9:40896432<801>om:97896ge282270=nb;1`3>;4ik0>m63;4ik0>;63;4ik0>963;4ik0=?63;4ik0==63;4ik0>j63;4ik0>h63;4ik0>n63;4ik03;6s|4c094?5|V=h970=ma;34g>;4io0:;n5rs353>5<5sW>>:63=71823a=z{=i?6=4<{_6`0>;49h0o563<188g=>{t;51k0?:63;4j90?:63;4j00?:63;4j>0?:63=15872>;59:0?:63=13872>;5980?:63=11872>;58o0?:63=0d872>;58m0?:63=0b872>;5=j0?:63=5c872>;5=h0?:63=58872>;5=10?:63=56872>;5=?0?:63=54872>;5==0?:63=4`872>;5<00?:63=49872>;5<>0?:63=47872>;5<<0?:63=45872>;5<:0?:63=43872>;6l:0?:63>d3872>;6l80?:63>d1872>;6ko0?:63>cd872>;6km0?:63>cb872>;6kk0?:63>c`872>;5l10?:63=d6872>;5l<0?:63=d5872>;5l?0?:63=d2872>;5l;0?:63=d1872>;5ko0?:63=d0872>;5mj0?:63=ec872>;5mh0?:63=e8872>;5m10?:63=e6872>;5m?0?:63=e4872>;5m=0?:63=e2872>;5>o0?:63=71872>;5>h0?:63=68872>;4190?:63<8g872>;40l0?:63<8e872>;40j0?:63<8c872>;40h0?:63<88872>;4110?:63<96872>;41?0?:63<94872>;41=0?:63<92872>;41;0?:63<90872>;4010?:63<86872>;4ik0?m6s|30594?4|V=?h70=>7;34`>{t;49>0?:63<17872>;4jj0?:63;4jk0?:63;4k80?:63>ae872>;6ij0?:63>ac872>;6ih0?:63>a8872>;6i10?:63>a6872>;6i?0?:63>a4872>;6n00?:63>f9872>;6n>0?:63>f7872>;6n<0?:63>f5872>;6n:0?:63>f3872>;6n80?:63>e6872>;6m?0?:63>e4872>;6m=0?:63>e2872>;6m;0?:63>e0872>;6m90?:63>dg872>;6ll0?:63=39872>;5;>0?:63=37872>;5;<0?:63=35872>;5;:0?:63=33872>;5;80?:63=31872>;4=k0?:63<58872>;4=h0?:63<5b872>;4=m0?:63<5d872>;4=o0?:63<61872>;4>80?:63<4g872>;4;4;4;4<>0?:63<49872>;4?:0?:63<73872>;4?80?:63<71872>;4>o0?:63<6d872>;4>m0?:63<6b872>;4>k0?:63{t;>n1<783;{t;>h1<7{t;>31<7{t;>=1<7{t;1<1<703;;70=67;34`>{t;1>1<7>3;{t;181<7<3;{t;1:1<7:3;{t;>o1<7{t<;21<77}Y<9901>om:7c8yv25=3:1>vP;039>7dd=>01v9<;:181[279278mo498:p075=838pR9>?;<1bf?003ty?>?4?:3y]7c`<5:ki6;84}r614?6=:rT8ji523``920=z{=;m6=4={_1eg>;4ik0386s|40g94?4|V:li70=nb;:0?xu39m0;6?uQ3gc896ge2120q~:>c;296~X4n016?ll5839~w17e2909wS=i8:?0eg2`:47>52z\0b0=:;hh1;h5rs534>5<5sW9m863{t<8?1<77}Y;o;01>om:768yv26;3:1>vP7dd=0j1v9?=:181[5bn278mo48d:p047=838pR>kj;<1bf?1e3ty?==4?:3y]7`b<5:ki6:74}r63b?6=:rT8in523``93==z{=:n6=4={_1ff>;4ik0<;6s|41f94?4|V:oj70=nb;55?xu38j0;6?uQ3d;896ge2>?0q~:=f;296~X38h16?ll5759~w14b2909wS:?9:?0eg249n7>52z\743=:;hh1;<5rs50b>5<5sW>;963{t<;31<77}Y;o901>om:7f8yv26>3:1>vP7dd=>j1v9>m:181[5b?278mo49b:p563=833p1>j>:05;?84ei3>270270<87;6:?857=3>270270==4;6:?xu51j0;6?u228`915=::0n1=:84}r1a2?6=9hq6>4l516a896d>28=o70h70h70h70h70;5l80?o63=eb87g>;5mk0?o63=e`87g>;5m00?o63=e987g>;5m>0?o63=e787g>;5m<0?o63=e587g>;5m:0?o63=6g823f=::>:1=:m4=34b>1e<5;<269m4}r0:f?6=7e9>63e=lj16?lj5d89>633=lh1v>li:181<~;49>0?o63<1787g>;4k80:;i521`f90f=:9hi18n521``90f=:9hk18n521`;90f=:9h218n521`590f=:9h<18n521`790f=:9o318n521g:90f=:9o=18n521g490f=:9o?18n521g690f=:9o918n521g090f=:9o;18n521d590f=:9l<18n521d790f=:9l>18n521d190f=:9l818n521d390f=:9l:18n521ed90f=:9mo18n5222:90f=:::=18n5222490f=:::?18n5222690f=:::918n5222090f=:::;18n5222290f=z{:;36=4<{<123?37349::7;?;<12=?70>2wx?<850;1x967128=o70=>a;fb?85613nj7p}6}:;k;19=523c2952b<5:km6994}r1a5?6=:r78n<4>7e9>7g5=l01v>lm:18085ek3?;70=ma;64?85ej3;3ty8mk4?:2y>7g6==916?lh516f896d42mk0q~=ma;297~;4jh0:;i523c`915=:;ko1hl5rs2`1>5<3s49i57?8c:?0f=<6?j16?o9516a896d428==7p}70|5:h36<9k;<020?2d348:?7:l;<026?2d348:=7:l;<024?2d348;j7:l;<03a?2d348;h7:l;<03g?2d348>o7:l;<06f?2d348>m7:l;<06=?2d348>47:l;<063?2d348>:7:l;<061?2d348>87:l;<07e?2d348?57:l;<07;40o0:;h5239g952c<5:2o6<9j;<1;g?70m2784o4>7d9>7=g=9>o01>66:05f?85>03;41b349287?8e:?0=6<6?l16?4<516g896?628=n70=78;34a>;40>0:;h523`f9`d=:;hh1=564}r1a`?6=;r78o?4>7b9>7f7=9>i01>lj:055?xu4k90;641c349>n7:l;<16=?70k2789l4;c:?01f<3k2789i4;c:?01`<3k2789k4;c:?025<3k278:<4;c:?00c<3k2788h4;c:?00f<3k2788o4;c:?00a<3k2788l4;c:?00<<3k2788:4;c:?00=<6?j16?:=54b9>724=726=73c=73e=w0?nd;73?87a13;ag8ge>;6j80o563>b28gg>{t9h>1<7=t=0cg>41c349:?7jn;<134?bf3ty:mh4?:3y>5de==916=lh51648yv7f;3:1?v3>ab823a=:;881h4522gd9`<=z{8h;6=4={<3bf?3734;i=7?86:p5d4=839p1ag<58h<6i74=0`:>ae<58hi6im4}r3b5?6=;r7:ml4>7e9>747=l016>kk5d89~w4d32909w0?n9;73?87e=3;<:6s|1`294?5|58k26<9k;<125?be348mi7jm;|q2f3<72;q6=l65519>5g1=9><0q~?6f;297~;6i10:;i523029`<=::on1h45rs0`;>5<5s4;j;7;?;<3a=?70>2wx=4k50;1x94g028=o70=>0;fa?84al3ni7p}>b`83>7}:9h<19=521ca952053z?2e3<6?m16?=h5d89>6ce=l01v{t90i1<7=t=0c6>41c349;j7jm;<0eg?be3ty99>4?:4y>642==916>8m516f897712mk01??7:e;8977f2mi0q~5<5s48:?7;?;<022?70>2wx>=o50;1x977428=o70<68;f:?84?=3nh7p}=1683>7}::8819=5220:952053z?157<6?m16>495d`9>6=2=lh1v??6:18584693?;70<>a;342>;59j0om63=1d8g=>;5:90oo63=238gg>{t:921<7=t=332>41c3482;7j6;<0;0?b>3ty9=o4?:3y>646==916>i:05g?84>>3n270<73;f:?xu59o0;6?u221g915=::;:1=:84}r031?6=;r79

7e9>6<3=lh16>5<5d`9~w7462909w03483>7j6;|q160<72;q6>=m5519>670=9><0q~5<5s48>o7;?;<07e?70l2wx>9>50;0x973e2<:01?:6:05g?xu5=;0;69u224`952b<5;;=6i74=33;>ag<5;;j6il4}r00b?6=:r799l4:0:?10=<6?m1v?;>:180842i3;;59h0om6s|22g94?4|5;?268>4=364>41c3ty99=4?:3y>60?=9>n01??n:e;8yv44l3:1>v3=59864>;55<2s48>47?8d:?15f?4kb:p66e=838p1?;8:428972228=o7p}=4d83>1}::<=1=:j4=33f>ad<5;8;6io4=301>ag52z?113<28279894>7e9~w72c2908w0<:6;34`>;5:90o563=238g=>{t::k1<706<5;>86<9k;|q10f<72:q6>8;516f897442m301?<9:ec8yv4413:1>v3=55864>;5<;0:;i5rs36a>5<5s48>87?8d:?1632<:017e9>5d`=l016=o?5d`9>5g5=lk1v{t9lo1<7=t=0d4>41c34;i=7jm;<3a7?bf3ty:hl4?:3y>5c0==916=h:516f8yv7bl3:1>v3>f7823a=:9k91h45rs0f:>5<5s4;m97;?;<3f7?70l2wx=hm50;7x94`228=o70?m5;f:?87e?3nj70?m9;fa?87ej3ni7p}>d983>7}:9o>19=521d0952b54z?2b1<6?m16=o95dc9>5g?=lh16=ol5d`9~w4b02909w0?i3;73?87b93;34;in7j6;|q2`3<72;q6=k<5519>5`6=9>n0q~?j9;297~;6n;0:;i521ca9`<=:9kl1hl5rs0f6>5<5s4;m=7;?;<3gb?70l2wx=h650;0x94`628=o70?mf;f:?xu5:o0;6?u225c915=:::21=:j4}r01a?6=:r79844:0:?172<6?m1v?{t:;i1<706<5;9>6<9k;|q16g<72;q6>985519>662=9>n0q~<=a;296~;5<<0><63=32823a=z{;826=4={<070?373488>7?8d:p67>=838p1?:<:428975628=o7p}=2683>7}::=819=52222952b52z?2a2<2827:h>4>7e9~w4e?2909w0?j6;73?87c:3;68>4=0f2>41c3ty:o;4?:3y>5`2==916=i>516f8yv7d=3:1>v3>e2864>;6ko0:;i5rs0a7>5<5s4;n>7;?;<3`a?70l2wx=n=50;0x94c62<:01{t9m>1<7?t=0ff>41c3ty9i?4?:4y>5a5==916>hm516f894>e2m301?6::e;896ge2:=0q~?ia;296~;6l;0><63>8c8233=z{8li6=4={<3g5?3734;3o7?86:p5ce=838p1c28==7p}>fe83>7}:9jl19=5219g952052z?2g`<2827:4k4>779~w4`a2909w0?ld;73?87>83;<:6s|21294?4|58ih68>4=0;2>4113ty9<<4?:3y>5fd==916=4<51648yv47:3:1>v3>c`864>;61:0:;;5rs24b>5<3s48847;?;<147?70l27:594k9:?0eg<392wx>8j50;0x97502<:01<7;:055?xu5=l0;6?u2224915=:90?1=:84}r06b?6=:r79?84:0:?2=3<6??1v?8?:181844<3?;70?67;342>{t:?;1<706<58336<99;|q127<72;q6>><5519>5<0q~<93;296~;5;80><63>9`8233=z{;<70<70<70<70<70<70<70<70<70<70=nd;fa?841=3;<:63=9e8g=>{t:h=1<706<5;i86<99;|q1g`<72=q6>i6516f897cd2<:01?77:ea897e32m30q~0><63=c38233=z{;io6=4;{<0g3?70l279io4:0:?1==1}::m?1=:j4=3g:>06<5;3<6il4=3`6>a?52z?1`1<28279nk4>779~w7ef290?w0;5m10><63=978gg>;5j:0o56s|2`794?4|5;n=68>4=3a2>4113ty9on4?:5y>6a0=9>n01?kn:42897?02mi01?l8:e;8yv4f:3:1>v3=d2864>;5jl0:;;5rs3a:>5<3s48o?7?8d:?1a2<282795;4kb:?1f4l?50;0x97b52<:01?lk:055?xu5k10;69u22e0952b<5;o=68>4=3;6>ae<5;km6i74}r0:b?6=:r79h=4:0:?1fg<6??1v?m9:18784c83;;51=0on63=ac8g=>{t:0o1<706<5;hj6<99;|q1g0<72=q6>nh516f897c42<:01?7;:ec897g>2m30q~<63=bb8233=z{;i<6=4;{<0g5?70l279i84:0:?1=0=838p1?m<:5;897d?28==7p}=c583>7}::j91=?64=3a7>4113ty9n;4?:2y>6f4=<016>o65489>6g0=9><0q~5522c:95=5<5;h26<99;|q1f1<72:q6>n?5489>6g0=<016>o:51648yv4e?3:1?v3=c0826==::k<1=5=4=3`4>4113ty9n?4?:2y>6f6=<016>o:5489>6g4=9><0q~5522c695=5<5;h>6<99;|q1f5<72:q6>oh5489>6g4=<016>o>51648yv4e;3:1?v3=bg826==::k81=5=4=3`0>4113ty9mh4?:2y>6gc=<016>o>5489>6dc=9><0q~5522c295=5<5;h:6<99;|q1ef<72:q6>oj5489>6dc=<016>lm51648yv4fn3:1?v3=be826==::ho1=5=4=3ce>4113ty9ml4?:2y>6ge=<016>lm5489>6dg=9><0q~5522`a95=5<5;ko6<99;|q1e=<72:q6>ol5489>6dg=<016>l651648yv4fj3:1?v3=bc826==::hk1=5=4=3ca>4113ty9m44?:2y>6gg=9;201?o7:0:0?84f13;<:6s|2d394?3|5;oi6<9k;<3;g?b>34;3n7jn;<0;1?be349jn7=:;|q1a5<72ho516f894>c2m301<6l:ec897>32mi01>om:268yv4cn3:19v3=e8823a=:91o1h45219f9`d=::1>1ho523``976=z{;nn6=4:{<0f4kc:?0eg<4:2wx>ij50;7x97c028=o70?60;f:?87?n3nj70<73;fa?85fj39:7p}=db83>0}::l<1=:j4=0;2>a?<583;6io4=3:1>ae<5:ki6>>4}r0gf?6==r79i84>7e9>5<4=l016=4?5d`9>6=4=lk16?ll52g9~w7bf290>w0;61:0o563>938ge>;5080on63{t:m31<7:t=3g0>41c34;2?7jn;<0;5?bf349jn7;h5519>626==916>:<51648yv41n3:1>v3=6g823a=::>81h45rs34a>5<5s48=m7;?;<05g?70>2wx>;650;4x970f28=o70<9e;fa?841k3ni70<82;fa?841>3n270<95;fa?xu5>m0;6?u227;915=::?o1=:84}r053?6=>r79:44>7e9>63c=l016>;m5d`9>624=lh16>;85d`9>633=lj1v?66:18184?m3>270<7d;342>{t:091<74>4348247?86:p6l3nj7p}=8983>7}::1n1845229a95207>52z?14951648yv4??3:1>v3=8b87=>;50k0:;;5rs3;2>5<5s483o7?73:?1=3<6??1v?69:18184?j3>270<7a;342>{t:0:1<74>4348297?86:p6=`=838p1?6n:0:0?84><3;<:6s|26494?4|5;=i6974=35b>4113ty94=4?:3y>62d=91901?6::055?xu5100;6?u226`9520<5;3o6il4}r041?6=:r79;l4;9:?13<<6??1v?9i:181840i3;3?63=858233=z{;=?6=4={<04=?2>348<47?86:p62c=838p1?96:0:0?84?;3;<:6s|26194?4|5;=36974=354>4113ty9;i4?:3y>62>=91901?6=:055?xu5?j0;6?u226595=5<5;2:6<99;|q041<72;q6?=75489>75>=9><0q~=?e;296~;4800:4>52301952052z?04<<6??16?<75db9~w6642909w0=?8;6:?857?3;<:6s|31f94?4|5::36<6<;<126?70>2wx?=<50;0x96602=301>>9:055?xu48j0;6?u231595=5<5:;:6<99;|q044<72;q6?=85489>753=9><0q~=?b;296~;48?0:4>52302952052z?040<60:16?=h51648yv4a93:1>v3=f787=>;5n<0:;;5rs3da>5<5s48m:7?73:?045<6??1v>?;:18184a>3;<:63<188gf>{t:o:1<71?<5;l?6<99;|q1bd<72;q6>k;5191897`a28==7p}=eg83>7}::o>184522g1952052z?1b1<60:16>kk51648yv4bm3:1>v3=f287=>;5n;0:;;5rs3d;>5<5s48m?7?73:?1ba<6??1v?h8:18184a:3;3?63=fb8233=z{:=?6=4>ez?01g<3?278944;7:?01d<3?2789n4;7:?01a<3?2789h4;7:?01c<3?278:=4;7:?024<3?2788k4;7:?00`<3?2788n4;7:?00g<3?2788i4;7:?00d<3?278844;7:?002<3?278854;7:?036<3?278;?4;7:?034<3?278;=4;7:?02c<3?278:h4;7:?02a<3?278:n4;7:?02g<3?278=l4>779>7dd=;j201>om:bc8yv5383:18v3<5c864>;4<00:;i523029`f=:;;31h45rs271>5<4s49>n7?8d:?02a<28279ji4kc:p76c=83>p1>;6:428962028=o70=?f;f`?855=3n27p}<5183>6}:;<31=:j4=24a>06<5;lh6im4}r10b?6=771=l01v>;>:180852i3;;5nj0om6s|35394?2|5:?h68>4=26b>41c349:<7jn;<11f?b>3ty89>4?:2y>70e=9>n01>8j:42897`c2mk0q~=;2;290~;4=m0><63<4c823a=:;8;1hn5233f9`<=z{:??6=4<{<16`?70l278:k4:0:?1b`:l:05g?85693nj70==f;f:?xu4=<0;6>u234g952b<5:=;68>4=3df>ag54z?01c<282788i4>7e9>744=lj16?>?5d89~w6312908w0=:f;34`>;4?80><63=fg8gg>{t;=?1<7:t=243>06<5:>n6<9k;<126?bf3498?7j6;|q012<72:q6?;>516f896152<:01?hi:ec8yv53>3:18v3<60864>;45<4s49==7?8d:?036<28278<=4k9:p775=838p1>:i:428965d28==7p}<2383>7}:;=o19=5232`952052z?00f<28278?44>779~w67a2909w0=;b;73?85403;<:6s|33394?4|5:>o68>4=21b>4113ty8=h4?:3y>71g==916?>951648yv56l3:1>v3<48864>;4;?0:;;5rs23a>5<5s49?;7;?;<100?70>2wx?=::055?xu4;;0;6?u232a90<=:;:81=:84}r10`?6=:r78?n4>299>76b=9><0q~=<0;297~;4;k0?563<3387=>;4;90:;;5rs210>5<4s498n7?=8:?077<60:16?>=51648yv55m3:1?v3<3`87=>;4;90?563<2d8233=z{:9:6=4<{<10e?750278?=4>829>767=9><0q~==c;297~;4;00?563<2d87=>;4:j0:;;5rs20e>5<4s49857?=8:?06`<60:16??h51648yv55i3:1?v3<3987=>;4:j0?563<2`8233=z{:8o6=4<{<10n4>829>77b=9><0q~==8;297~;4;>0?563<2`87=>;4:10:;;5rs20a>5<4s498;7?=8:?06d<60:16??l51648yv55>3:1?v3<3787=>;4:10?563<278233=z{:826=4<{<102?750278>54>829>77?=9><0q~==4;297~;4;<0?563<2787=>;4:=0:;;5rs204>5<4s49897?=8:?063<60:16??951648yv55=3:1?v3<35826==:;;>1=5=4=206>4113ty8:44?:5y>724=9>n01<7::e;894?32mk01>om:2d8yv5103:18v3<70823a=:90<1h4521879`d=:;hh1?h5rs244>5<3s49<<7?8d:?2=2?3nj70=nb;1`?xu4><0;69u237g952b<58326i74=0;;>ag<5:ki6>l4}r150?6=7e9>57dd=;h1v>8<:187851k3;9c8g=>;61h0om63{t;?81<7=t=24a>41c34;2n7jn;<1bf?5?3ty8mh4?:01x96?72==01>6i:55896>b2==01>6k:55896>d2==01>6m:55896>f2==01>66:55896??2==01>78:55896?12==01>7::55896?32==01>7<:55896?52==01>7>:55896>?2==01>68:558970128==7p}7}:;0:19=523``9g6=z{:k;6=4={<1;b?37349jn77;;|q0=c<72;q6?5k5519>7dd=1;1v>7j:18185?l3?;70=nb;;2?xu41m0;6?u239a915=:;hh15=5rs2;`>5<5s493n7;?;<1bf?>a3ty85o4?:3y>7=g==916?ll58d9~w6?f2909w0=79;73?85fj33o7p}7}:;0219=523``9=f=z{:k26=4={<1:3?37349jn7m>;|q0e=<72;q6?485519>7dd=1k1v>o8:18185>=3?;70=nb;;b?xu4i?0;6?u2386915=:;hh1545rs2c6>5<5s492?7;?;<1bf???3ty8m94?:3y>7<4==916?ll5969~w6g42909w0=61;73?85fj33=7p}7}:;1219=523``9=0=z{:326=4={<1;3?37349jn76k;|q0ef<72;q6?lj5164896ge2j30q~?<7;296~;5::0om63=23826<=z{8?86=4={<3ag?bf34;in7?=9:p672=838p1?<9:e`8974528==7p}>be83>7}:9kl1ho521c`952018o<4$2a0>4163ty?n44?:3y]0g?<5=>18o74$2a0>4153ty?m>4?:3y]0d5<5=>18l=4$2a0>4143ty?>54?:3y]052<5=>18=:4$2a0>4503ty?>;4?:3y]055<5=>18==4$2a0>4253ty?>84?:3y]054<5=>18=<4$2a0>42e3ty?>94?:3y]057<5=>18=?4$2a0>42c3ty?>>4?:3y]056<5=>18=>4$2a0>42b3ty?>?4?:3y]7c`<5=>1?kh4$2a0>42a3ty?>=4?:3y]7cb<5=>1?kj4$2a0>4373ty?=k4?:3y]7ce<5=>1?km4$2a0>4363ty?=h4?:3y]7cd<5=>1?kl4$2a0>4353ty?=i4?:3y]7cg<5=>1?ko4$2a0>4333ty?=n4?:3y]7c?<5=>1?k74$2a0>4323ty?=o4?:3y]7c><5=>1?k64$2a0>4313ty?=l4?:3y]7c1<5=>1?k94$2a0>4303ty?=44?:3y]7c0<5=>1?k84$2a0>43?3ty?=54?:3y]7c3<5=>1?k;4$2a0>43>3ty?=:4?:3y]7c2<5=>1?k:4$2a0>43f3ty?=84?:3y]7c4<5=>1?k<4$2a0>43e3ty?=94?:3y]7c7<5=>1?k?4$2a0>43d3ty?=>4?:3y]7c6<5=>1?k>4$2a0>43c3ty?=?4?:3y]7``<5=>1?hh4$2a0>43b3ty?=<4?:3y]7`c<5=>1?hk4$2a0>43a3ty?==4?:3y]7`b<5=>1?hj4$2a0>4073ty?1?hm4$2a0>4063ty?1?hl4$2a0>4053ty?1?ho4$2a0>4043ty?1?h74$2a0>4033ty?>k4?:3y]05g<5=>18=o4$2a0>4023ty?>h4?:3y]05?<5=>18=74$2a0>4013ty?>i4?:3y]05><5=>18=64$2a0>4003ty?>n4?:3y]051<5=>18=94$2a0>40?3ty?>o4?:3y]050<5=>18=84$2a0>40>3ty?>l4?:3y]053<5=>18=;4$2a0>40f3ty?>44?:3y]7cc<5=>1?kk4$2a0>40e3ty?><4?:3y]7c5<5=>1?k=4$2a0>40d3ty?=;4?:3y]7`><5=>1?h64$2a0>40c3ty?1?h94$2a0>40b3ty?o94?:3y]0f2<5=>18n:4$2a0>40a3ty?n=4?:3y]0g6<5=>18o>4$2a0>4173ty?8o4?:3y]06?<5=>18>74$2a0>4513ty?844?:3y]06><5=>18>64$2a0>45?3ty?854?:3y]061<5=>18>94$2a0>45>3ty?8:4?:3y]060<5=>18>84$2a0>45f3ty?8;4?:3y]063<5=>18>;4$2a0>45e3ty?884?:3y]062<5=>18>:4$2a0>45d3ty?894?:3y]065<5=>18>=4$2a0>45c3ty?8>4?:3y]064<5=>18><4$2a0>45b3ty?994?:3y]017<5=>189?4$2a0>45a3ty?9>4?:3y]016<5=>189>4$2a0>4273ty?9?4?:3y]06`<5=>18>h4$2a0>4263ty?9<4?:3y]06c<5=>18>k4$2a0>4243ty?9=4?:3y]06b<5=>18>j4$2a0>4233ty?8k4?:3y]06e<5=>18>m4$2a0>4223ty?8h4?:3y]06d<5=>18>l4$2a0>4213ty?8i4?:3y]06g<5=>18>o4$2a0>4203ty?8n4?:3y]067<5=>18>?4$2a0>42?3ty?8?4?:3y]066<5=>18>>4$2a0>42>3ty?9n4?:3y]00e<5=>188m4$2a0>42f3ty?9;4?:3y]000<5=>18884$2a0>42d3twe4oh50;0xL6e33td3o=4?:3yK7f252zJ0g1=zf1i96=4={I1`0>{i0j91<7d=3:1>vFm;;|l;g=<72;qC?n:4}o:`=?6=:rB8o95rn9ab>5<5sA9h86sa8b`94?4|@:i?7p`7cb83>7}O;j>0qc6ld;296~N4k=1vb5mj:181M5d<2we4nh50;0xL6e33td3h=4?:3yK7f252zJ0g1=zf1n96=4={I1`0>{i0m91<7c=3:1>vFm;;|l;`=<72;qC?n:4}o:g=?6=:rB8o95rn9fb>5<5sA9h86sa8e`94?4|@:i?7p`7db83>7}O;j>0qc6kd;296~N4k=1vb5jj:181M5d<2we4ih50;0xL6e33td3i=4?:3yK7f252zJ0g1=zf1o96=4={I1`0>{i0l91<7b=3:1>vFm;;|l;a=<72;qC?n:4}o:f=?6=:rB8o95rn9gb>5<5sA9h86sa8d`94?4|@:i?7p`7eb83>7}O;j>0qc6jd;296~N4k=1vb5kj:181M5d<2we4hh50;0xL6e33td3j=4?:3yK7f252zJ0g1=zf1l96=4={I1`0>{i0o91<7a=3:1>vFm;;|l;b=<72;qC?n:4}o:e=?6=:rB8o95rn9db>5<5sA9h86sa8g`94?4|@:i?7p`85683>4}O;j>0qc964;295~N4k=1vb:7::182M5d<2we;4850;3xL6e33td<5:4?:0yK7f251zJ0g1=zf>326=4>{I1`0>{i?0k1<7?tH2a7?xh01k0;6k3:1=vFm;;|l4=c<728qC?n:4}o5b4?6=9rB8o95rn6c2>5<6sA9h86sa7`094?7|@:i?7p`8a283>4}O;j>0qc9n4;295~N4k=1vb:o::182M5d<2we;l850;3xL6e33td51zJ0g1=zf>k26=4>{I1`0>{i?hk1<7?tH2a7?xh0ik0;6m;;|l4ec<728qC?n:4}o5a4?6=9rB8o95rn6`2>5<6sA9h86sa7c094?7|@:i?7p`8b283>4}O;j>0qc9m4;295~N4k=1vb:l::182M5d<2we;o850;3xL6e33td51zJ0g1=zf>h26=4>{I1`0>{i?kk1<7?tH2a7?xh0jk0;6m;;|l4fc<728qC?n:4}o5`4?6=9rB8o95rn6a2>5<6sA9h86sa7b094?7|@:i?7p`8c283>4}O;j>0qc9l4;295~N4k=1vb:m::182M5d<2we;n850;3xL6e33td51zJ0g1=zf>i26=4>{I1`0>{i?jk1<7?tH2a7?xh0kk0;6m;;|l4gc<728qC?n:4}o5g4?6=9rB8o95rn6f2>5<6sA9h86sa7e094?7|@:i?7p`8d283>4}O;j>0qc9k4;295~N4k=1vb:j::182M5d<2we;i850;3xL6e33td51zJ0g1=zf>n26=4>{I1`0>{i?mk1<7?tH2a7?xh0lk0;6m;;|l4`c<728qC?n:4}o5f4?6=9rB8o95rn6g2>5<6sA9h86sa7d094?7|@:i?7p`8e283>4}O;j>0qc9j4;295~N4k=1vb:k::182M5d<2we;h850;3xL6e33td51zJ0g1=zf>o26=4>{I1`0>{i?lk1<7?tH2a7?xh0mk0;6m;;|l4ac<728qC?n:4}o5e4?6=9rB8o95rn6d2>5<6sA9h86sa7g094?7|@:i?7p`8f283>4}O;j>0qc9i4;295~N4k=1vb:h::182M5d<2we;k850;3xL6e33td51zJ0g1=zf>l26=4>{I1`0>{i?ok1<7?tH2a7?xh0nk0;6m;;|l4bc<728qC?n:4}o:34?6=9rB8o95rn922>5<6sA9h86sa81094?7|@:i?7p`70283>4}O;j>0qc6?4;295~N4k=1vb5>::182M5d<2we4=850;3xL6e33td3<:4?:0yK7f251zJ0g1=zf1:26=4>{I1`0>{i09k1<7?tH2a7?xh?8k0;67k3:1=vFm;;|l;4c<728qC?n:4}o:24?6=9rB8o95rn932>5<6sA9h86sa80094?7|@:i?7p`71283>4}O;j>0qc6>4;295~N4k=1vb5?::182M5d<2we4<850;3xL6e33td3=:4?:0yK7f251zJ0g1=zf1;26=4>{I1`0>{i08k1<7?tH2a7?xh?9k0;66k3:1=vFm;;|l;5c<728qC?n:4}o:14?6=9rB8o95rn902>5<6sA9h86sa83094?7|@:i?7p`72283>4}O;j>0qc6=4;295~N4k=1vb5<::182M5d<2we4?850;3xL6e33td3>:4?:0yK7f251zJ0g1=zf1826=4>{I1`0>{i0;k1<7?tH2a7?xh?:k0;65k3:1=vFm;;|l;6c<728qC?n:4}o:04?6=9rB8o95rn912>5<6sA9h86sa82094?7|@:i?7p`73283>4}O;j>0qc6<4;295~N4k=1vb5=::182M5d<2we4>850;3xL6e33td3?:4?:0yK7f251zJ0g1=zf1926=4>{I1`0>{i0:k1<7?tH2a7?xh?;k0;64k3:1=vFm;;|l;7c<728qC?n:4}o:74?6=9rB8o95rn962>5<6sA9h86sa85094?7|@:i?7p`74283>4}O;j>0qc6;4;295~N4k=1vb5:::182M5d<2we49850;3xL6e33td38:4?:0yK7f251zJ0g1=zf1>26=4>{I1`0>{i0=k1<7?tH2a7?xh?3k3:1=vFm;;|l;0c<728qC?n:4}o:64?6=9rB8o95rn972>5<6sA9h86sa84094?7|@:i?7p`75283>4}O;j>0qc6:4;295~N4k=1vb5;::182M5d<2we48850;3xL6e33td39:4?:0yK7f247>51zJ0g1=zf1?26=4>{I1`0>{i02k3:1=vFm;;|l;1c<728qC?n:4}o:54?6=9rB8o95rn942>5<6sA9h86sa87094?7|@:i?7p`76283>4}O;j>0qc694;295~N4k=1vb58::182M5d<2we4;850;3xL6e33td3::4?:0yK7f251zJ0g1=zf1<26=4>{I1`0>{i0?k1<7?tH2a7?xh?>k0;61k3:1=vFm;;|l;2c<728qC?n:4}o:44?6=9rB8o95rn952>5<6sA9h86sa86094?7|@:i?7p`77283>4}O;j>0qc684;295~N4k=1vb59::182M5d<2we4:850;3xL6e33td3;:4?:0yK7f251zJ0g1=zf1=26=4>{I1`0>{i0>k1<7?tH2a7?xh??k0;60k3:1=vFm;;|l;3c<728qC?n:4}o:;4?6=9rB8o95rn9:2>5<6sA9h86sa89094?7|@:i?7p`78283>4}O;j>0qc674;295~N4k=1vb56::182M5d<2we45850;3xL6e33td34:4?:0yK7f251zJ0g1=zf1226=4>{I1`0>{i01k1<7?tH2a7?xh?0k0;6?k3:1=vFc290:wE=l4:m<=c=83;pD>m;;|l;5<6sA9h86sa88094?7|@:i?7p`79283>4}O;j>0qc664;295~N4k=1vb57::182M5d<2we44850;3xL6e33td35:4?:0yK7f251zJ0g1=zf1326=4>{I1`0>{i00k1<7?tH2a7?xh?1k0;6>k3:1=vFm;;|l;=c<728qC?n:4}o:b4?6=9rB8o95rn9c2>5<6sA9h86sa8`094?7|@:i?7p`7a283>4}O;j>0qc6n4;295~N4k=1vb5o::182M5d<2we4l850;3xL6e33td3m:4?:0yK7f251zJ0g1=zf1k26=4>{I1`0>{i0hk1<7?tH2a7?xh?ik0;6fk3:1=vFm;;|l;ec<728qC?n:4}o:a4?6=9rB8o95rn9`2>5<6sA9h86sa8c094?7|@:i?7p`7b283>4}O;j>0qc6m4;295~N4k=1vb5l::182M5d<2we4o850;3xL6e33td3n:4?:0yK7f251zJ0g1=zf1h26=4>{I1`0>{i0kk1<7?tH2a7?xh?jk0;6ek3:1=vFm;;|~yEFDsh<>69>i25f;exFGJr:vLM^t}AB \ No newline at end of file +$5a540<,[o}e~g`n;"2*726&;$:,)<6;.vnt*Ydo&lbjbQwloz\144;?U9oaeP37vl5=(iof;0<85?0123=>6789:;<=>;0:23456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?013856=6&9;87<>5IORVP?GCL[K757>11g924?OIX\^1|ah_dosp|Ys`{oxd1750?05?46=AGZ^X7~}of]fiur~W}byi~fParqfvq:>2949:6??:HLSQQ712@D[YY4KI@>21?699:1::7AZTQWW>AIF48?1<3?;;0:9KPRW]]0ocxz31683:4=5:28:86<<3232?76==:HLSQQ112906?IR\Y__6IAM<2394;753:<1EC^ZT;fjj952294o7>}=012ec131%<;0895;0GD25>2=AGZ^X7JFPC>0>586:2>1CXZ_UU8GKUD;;3:5=68=;7;7?3?>>=138??;;9G;E4=><23;<4<49768=30>9;126D@_UU8B@ATE410;22@D[YY4rne\bpjkW}byi~fPndebp`:?294:4675OTVSQQG502KOH_O30?:8EABUI5;546OKDSC?6;>GCL[K7:364AEFQE91902KOH_O38?c8EABUI531<364AEFQE9?902KOH_L30?:8EABUJ5;546OKDS@?6;>GCL[H7:364AEFQF919i2KOH_L38;2=<>GCL[H743=4AMN:?DU^FJUYIJ=4BT0;?GSTW@DMC<5L2:AF57=D@LI@SAGLEOQF[Q_WM;1HE95LLJC7?FJLJ:1H@_74CNONMQRBL8>0OB\J_FGMAWGSAFDTECH@7:AQADRBL81O>6JL2:FJ2>BNI5:5;6JFA=33:2=CAH6:=394DHC?57803MCJ0<=17:FJE973601OEL2>5;2=3>BNI5;>2;5KI@>2:3=CAH692;5KI@>0:3=CAH6?2;5KI@>6:3=CAH6=2;5KI@>4:3=CAH632;5KI@>::3=CAK6;2:5KIC>24;169GMG:6<7=0HDL314<4?AOE48<5;6JFB=34:2=CAK6:4394DH@?5<813MCI0<08;EKA8769?2NBN1<>>69GMG:5:7=0HDL322<4?AOE4;>5;6JFB=06:2=CAK69:394DH@?62803MCI0?617:FJF94>6?1OEO2=>69GMG:48730HDL33083:2=CAK68=384DH@?7;02:2=CAYH7>374DHRA86<76>1OE]L33?48@JG;87=0HBO311<4?AIF48;5;6J@A=31:2=CGH6:?394DNC?518>3MEJ0<;50?58@JG;9<4=7IAN<0<5?AIF4;4=7IAN<2<5?AIF4=4=7IAN<4<5?AIF4?4=7IAN<6<5?AIF414=7IAN<8<4?AIFW[OL:6J@B=2=3>BHJ5;;2:5KOC>25;169GKG:6=7=0HBL317<4?AIE48=5;6J@B=3;:2=CGK6:5384DN@?5;1=08;EMA8779?2NDN1<=>69GKG:5;7=0HBL325<4?AIE4;?5;6J@B=05:2=CGK69;394DN@?6=803MEI0?716:FLF949?2NDN1=?>89GKG:493:5;6J@B=12:3=CGK682;5KOC>7:3=CGK6>2;5KOC>5:3=CGK6<2;5KOC>;:3=CGK622:5KOC]QAB12:2=CGYH7>374DNRA86<76>1OC]L33?18AKG43LDIn6KA_DA@[WCFLj1NBRKLC^UQMQC53O8?7K6HK3:DGG1=ALJO87KJ_4:DGT@2O7:2C:>6G=2:K0<>OIA]ZT<=64IOKWTZ6602CEEY^P03:8MKOSXV:846GAIUR\41>:8:KMMQVX8?20ECG[P^24=>OIA]Y_MYK8;HLJPZ67?2CEEYQ?169JJLRX8;=0ECG[_114?LHN\V:?;6GAIU]312=NF@^T<;94IOKW[5103@DBXR>77:KMMQY71>1BBDZP0@58MKOSW9H<7D@FT^2@3>OIA]U;H:5FNHV\4@1169JJLRX9;=0ECG[_014?LHN\V;?;6GAIU]212=NF@^T=;94IOKW[4103@DBXR?77:KMMQY61>1BBDZP1@58MKOSW8H<7D@FT^3@3>OIA]U:H:5FNHV\5@1;94IOKW[7103@DBXR<77:KMMQY51>1BBDZP2@58MKOSW;H<7D@FT^0@3>OIA]U9H:5FNHV\6@11BBDZP3@58MKOSW:H<7D@FT^1@3>OIA]U8H:5FNHV\7@1H9;HLJPZG13@DBXRL=;MK1?II13EEJHHJ8;MMDMFGK<2F^X<:4LTV10>JR\:>0@XZ;6:NVP1YC=2GXKB@:;LW[G\eKnffx]i}foo08J42159M54633G;:=95A1007?K76;=1E=<:;;O3211=I98759M54>33G;:5>5A1368J447<2D:><:4N0010>H6::>0B<<;4:L26022618J4533G;8=>5A1518J4343G;=?6@>729M5=5H59:1E>?=4N310?K43;2D99>5A2718J7143G83?6@=929M755;<;O157>H4?:1E?5=4N2;0?K27;2D?=>5A4318J1543G>??6@;529M035H0:2D2j6@M_CWPTLHXX[E[_:5AEUULVN7W63[o0^LCM17]P5=YT;?k0^HOK_GKQWQeTBIMU\EIZG_C38W45<[@GTOBBCIRKLJZEOMJA=7^AZRBG4?VTQIEUJ;6]]V@N\F1=T[[K?7^]]B59W]UC4:2_;#j|i.sd,cf~)keas#@v`r^pg[uhszVmhSua}0123[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYulVzexQhc^zlv5679VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT~iQnup\cfYg{:;6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4563W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;9R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?07]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3451XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:3S_k|umv277=R8&myj#|i/fa{*fjlp&GscQxr^rmpwY`kVrd~=>?0^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\swYwf}xTknQwos2344YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt7898T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=><_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1230ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678<5Z0.eqb+ta'nis"nbdx.pg[uhszVhbb1?1209V4*aun'xm#jmw.bnh|*tcWyd~Rlfn=0=64=R8&myj#|i/fa{*fjlp&xoS}`{r^`jj959:81^<"i}f/pe+be&jf`t"|k_qlwvZdnf5>5><5Z0.eqb+ta'nis"nbdx.pg[uhszVhbb1;1209V4*aun'xm#jmw.bnh|*tcWyd~Rlfn=4=64=R8&myj#|i/fa{*fjlp&xoS}`{r^`jj919:81^<"i}f/pe+be&jf`t"|k_qlwvZdnf525><5Z0.eqb+ta'nis"nbdx.pg[uhszVhbb171219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^314>S7'nxm"h gbz-gim'{nT|cz}_ckm[7473\:$kh!rg-dg}(ddbr$~iQnup\flhX;;:0Y=!hrg,qb*adp'iggu!}d^rmpwYeagU?>=5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbR;=0:W3+bta&{l$knv!cmi{+wbXxg~ySoga_703?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\376<]9%l~k }f.e`|+ekcq%yhR~ats]amkY?:91^<"i}f/pe+be&jf`t"|k_qlwvZdnfV39:6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}012362=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;<<<9;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34575?2_;#j|i.sd,cf~)keas#jPpovq[goiWqey<=>>1348Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678;8<7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?010263=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;??94U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos234645>2_;#j|i.sd,cf~)keas#jPpovq[goiWqey<=>;269V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567<88=7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?01713>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:>=?84U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos23434?3\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=8>1358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678?89n6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}0125[gbc8;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0604?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789=:>=5Z0.eqb+ta'nis"nbdx.pg[uhszVmh0=0=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm31?03?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb>1:76<]9%l~k }f.e`|+ekcq%yhR~ats]dg959:91^<"i}f/pe+be&jf`t"|k_qlwvZad4=49<6[?/fpe*w`(ojr%oaew/sf\tkruWni793328Q5)`zo$yj"ilx/aoo})ulVzexQhc=5=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`8=8582_;#j|i.sd,cf~)keas#jPpovq[be;17;m7X> gsd-vc)`kq$h`fv re]sjqtXojU;=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS;m7X> gsd-vc)`kq$h`fv re]sjqtXojU3=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS4<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8585>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk1?1279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:56;<0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hi33?05?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]bwwc`4=49:6[?/fpe*w`(ojr%oaew/sf\tkruWniTm~|jg=7=63=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumn6=2?84U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde?3;413\:$kh!rg-dg}(ddbr$~iQnup\cfYf{{ol050=6:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfc9?9:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ?249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY6:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ=249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY4:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ;249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY2:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ9249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY0:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQ7249V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabY>:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=3=6<=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=1<1289V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabYc9595>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g5929:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=7=6<=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=181289V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqabYc95=5>45Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g59>9:01^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1=;=6==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R?=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W;837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\77><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh55Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef]g5Z?5=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=>=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34575=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=<=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34555=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=:=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34535=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=8=5:W3+bta&{l$knv!cmi{+wbXxg~ySjmPxnp34515=2_;#j|i.sd,cf~)keas#jPpovq[beXpfx;<=6=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<1<15>S7'nxm"h gbz-gim'~xT|cz}_ckm848592_;#j|i.sd,cf~)keas#z|Ppovq[goi4;49=6[?/fpe*w`(ojr%oaew/vp\tkruWkce0>0=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<5<15>S7'nxm"h gbz-gim'~xT|cz}_ckm808592_;#j|i.sd,cf~)keas#z|Ppovq[goi4?49=6[?/fpe*w`(ojr%oaew/vp\tkruWkce0:0=1:W3+bta&{l$knv!cmi{+rtXxg~ySoga<9<14>S7'nxm"h gbz-gim'~xT|cz}_ckm[5473\:$kh!rg-dg}(ddbr${Qnup\flhX9;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU9>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR==0:W3+bta&{l$knv!cmi{+rtXxg~ySoga_503?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\176<]9%l~k }f.e`|+ekcq%|~R~ats]amkY1:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV=9<6[?/fpe*w`(ojr%oaew/vp\tkruWkceS5<9;T2,cw`)zo%lou lljz,swYwf}xTnd`Pxnp34565?2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>?1348Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw67888<7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?013263=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;>?94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos234775>2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=><269V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567;;8=7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01613>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:?=?84U1-dvc(un&mht#mcky-tvZvi|{UiecQwos2340403\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=;>279V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567>;20Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?073262=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;:?;5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbRv`r123371<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<:?=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm30?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>2:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg949:91^<"i}f/pe+be&jf`t"y}_qlwvZad4:49<6[?/fpe*w`(ojr%oaew/vp\tkruWni783328Q5)`zo$yj"ilx/aoo})pzVzexQhc=4=65=R8&myj#|i/fa{*fjlp&}yS}`{r^e`828582_;#j|i.sd,cf~)keas#z|Ppovq[be;07;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU;=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU3>;5Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef>3:70<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlm7=3<9;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd8785>2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnk1=1279V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqab:36;<0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hi35?05?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`4?49:6[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg=5=63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn632?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\473<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT=?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\673<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT??;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\073<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT9?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\273<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmT;?;4U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\<7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<2?>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl86:2?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:56;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>0:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<2;>3;8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl86>2?74U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4:16;30Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0>4:7?<]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh<27>3:8Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`aXl8U;>55Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5Z7502_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnkRj>_30;?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`Wm;T??64U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde\`4Y3:11^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1^71<>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:S;<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X?;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0];60=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:;>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012260=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:9>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012060=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:?>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012660=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[}iu89:=>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSua}012475=R8&myj#|i/fn3*wb(o{;%~kyit.Onq}YUIDUYHRKA_GUEP775n2_;#j|i.sd,ci6)zm%l~< }fvdw+HkrpVXJAR\JGNWW[@H69;n0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`:76;n0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`:66;i0Y=!hrg,qb*ak8'xo#j|>.sdtbq)d}{xTjzh{_rvbp`Y7:j1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZ74=2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[hs89::0=0<6:W3+bta&{l$ka>!re-dv4(un~l#n{}r^dtbqYt|h~nS`{w01228586;<1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZkrp9:;=1?1379V4*aun'xm#jb?.sf,cw7)zo}mx"mzrs]escrX{}kiRczx12359799;20Y=!hrg,qb*ak8'xo#j|>.sdtbq)bey~rSkyit^da62=R8&myj#|i/fn3*wb(o{;%~kyit.gntqXn~lSd?319V4*aun'xm#jb?.sf,cw7)zo}mx"kbpu{\br`sW`Ufyu>?0131=>S7'nxm"h gm2-va)`zhy%~~z|/b2,gdtuqgo0=0=9:W3+bta&{l$ka>!re-dvdu)zz~x#n> c`pq}kcs484956[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$ol|}yogw878512_;#j|i.sd,ci6)zm%l~l}!rrvp+f6(khxyuck{<2<1b>S7'nxm"h gm2-va)`zhy%~~z|/b2,chs&ngP

<1<17>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4:66;90Y=!hrg,qb*ak8'xo#j|ns/pppv)d8&|:0?0=3:W3+bta&{l$ka>!re-dvdu)zz~x#n> v0>0:75<]9%l~k }f.eo4+tc'nxj#||tr-`4*p64=49n6[?/fpe*w`(oe:%~i!hr`q-vvrt'j:$z?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b2,r4Y3Whdo<=>?13;8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.abvwim}6;2?74U1-dvc(un&mg<#|k/fpbw+tt|z%h="mnrs{maq:66;30Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&ij~waeu>1:7?<]9%l~k }f.eo4+tc'nxj#||tr-`5*efz{seiy2<>3d8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.enq}(`eR:V"jc>.l31b>S7'nxm"h gm2-va)`zhy%~~z|/b3,chs&ngP=P hmr,nw7`<]9%l~k }f.eo4+tc'nxj#||tr-`5*aj}q$laV318Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t28485;2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8692?=4U1-dvc(un&mg<#|k/fpbw+tt|z%h="x><2<17>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4:36;h0Y=!hrg,qb*ak8'xo#j|ns/pppv)d9&|:S=Qnne234575j2_;#j|i.sd,ci6)zm%l~l}!rrvp+f7(~8U:Sl`k012357d<]9%l~k }f.eo4+tc'nxj#||tr-`5*p6W;Ujbi>?0131f>S7'nxm"h gm2-va)`zhy%~~z|/b3,r4Y4Whdo<=>?13`8Q5)`zo$yj"ic0/pg+btf{'xxx~!l1.t2[1Yffm:;<=?=0:W3+bta&{l$ka>!re-dvdu)zz~x#nabp103?P6(o{l%~k!hl1,q`*auiz$yy} cnos57?<]9%l~k }f.eo4+tc'nxj#||tr-qehYbey~rSklPi228Q5)`zo$yj"ic0/pg+btf{'xxx~!}al]fiur~WohTeRa}012374=R8&myj#|i/fn3*wb(o{kx"}{s.pbiZcjx}sTjoQf_np34566::1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by<;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw572<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~9>95Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu110>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|=8?7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{5368Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkr1:=1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~by9=4:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmp=433\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|d5?74U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:76;i0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>3:Zts:01^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=3=6f=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1?1_sv1=>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0?0=c:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4;4T~y<6;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw[f;;78h7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?7;Yu|;30Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPcx>7:7e<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2;>^pw6<=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1;12b9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5?5Sz=9:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4?49o6[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az838Xz}827X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?3;4d3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw37?]qp7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot27>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp632R|{2`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{6;2?o4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;978j7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8785i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=1=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc2;>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx793;:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|39?0g?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey040Pru3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=2=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?5;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9499o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;;7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5>5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~793?i;T2,cw`)zo%l`= }d.psjqt(kfex1811g9V4*aun'xm#jb?.sf,vuhsz&idycz37?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=:=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?=;7b3\:$kh!rg-dh5(ul&x{by| cnwmpZ66m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY69l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX:8o0Y=!hrg,qb*ak8'xo#~ats-`kphsW:;n7X> gsd-vc)`d9$yh"|nup,gjsi|V>:i6[?/fpe*w`(oe:%~i!}povq+firf}U>=h5Z0.eqb+ta'nf;"j rqlwv*eh}g~T:e:W3+bta&{l$ka>!re-qtkru'je~byQ6239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>3:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;97897X> gsd-vc)`d9$yh"|nup,gjsi|Vn:0?0=2:W3+bta&{l$ka>!re-qtkru'je~byQk1=1=67=R8&myj#|i/fn3*wb(zyd~"m`uov\`4:36;80Y=!hrg,qb*ak8'xo#~ats-`kphsWm;793<=;T2,cw`)zo%l`= }d.psjqt(kfexRj><7<16>S7'nxm"h gm2-va)uxg~y#naznu]g5919:;1^<"i}f/pe+bj7&{n$~}`{r.alqkrXl8632?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?39?02?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[5463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W88:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S?<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_202?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[1463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W<8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S;<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_602?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[=463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W08?7X> gsd-vc)`d9$yh"|nup,gjsi|Vddx=>?13;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}6;2?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:66;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>1:7?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2<>3d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.enq}(`eR:V"jc>.l31b>S7'nxm"h gm2-sw)`hy%{~z|/b3,chs&ngP=P hmr,nw7`<]9%l~k }f.eo4+qu'n}j#y|tr-`5*aj}q$laV318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t28485;2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8692?=4U1-dvc(un&mg<#y}/fubw+qt|z%h="x><2<17>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4:36;h0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:S=Qnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8U:Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p6W;Ujbi>?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4Y4Whdo<=>?13`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t2[1Yig}:;<=?=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs494956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw848512_;#j|i.sd,ci6){%l{l}!wrvp+f4(khxyuck{<3<1=>S7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0>0=f:W3+bta&{l$ka>!ws-dsdu)z~x#n< glw{*bk\8T$la< b13d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.enq}(`eR;V"jc|.lq1b>S7'nxm"h gm2-sw)`hy%{~z|/b0,chs&ngP>P hmr,nw7`<]9%l~k }f.eo4+qu'n}j#y|tr-`6*aj}q$laV=R.fop*hu5n2_;#j|i.sd,ci6){%l{l}!wrvp+f4(ods"jcT4\,div(j{;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:0=0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0>2:75<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p64;49?6[?/fpe*w`(oe:%{!hw`q-svrt'j8$z<2<>318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.t28185j2_;#j|i.sd,ci6){%l{l}!wrvp+f4(~8U;Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p6W8Ujbi>?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4Y5Whdo<=>?13`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.t2[6Yffm:;<=?=b:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0]7[kis89:;=?>4U1-dvc(un&mg<#y}/fubw+qt|z%hc`~>219V4*aun'xm#jb?.vp,crgt&~y"m`mq01<>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVliSd<:;T2,cw`)zo%l`= xr.etev(p{}y$~lcPftno[l4c3\:$kh!rg-dh5(pz&m|m~ xsuq,vdkXn|fgSdQbuy23454b3\:$kh!rg-dh5(pz&m|m~ xsuq,vdkXn|fgSdQbuy234576l2_;#j|i.sd,ci6){%ym`Qxr^gm[l75;2_;#j|i.sd,ci6){%||cz}/LalqkrXkfex?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov261=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}8986[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at207?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphs<;>0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|Vidycz:259V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjq05<2_;#j|i.sd,ci6){%||cz}/LalqkrXkfex:<;;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw<7?<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot2?>3a8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6;2R|{289V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5;5>n5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}979W{~956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8785k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<3<\vq4>3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw33?0`?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7?3Q}t3;8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp6?2?m4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\g|:36Vx>45Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}939:j1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=7=[wr512_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<7<1g>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir0;0Pru0:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7;3 gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8485i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=0=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc2<>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx7834:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|38?0g?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey050Pru3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=2=5c=R8&myj#|i/fn3*rt(yd~"m`uov?5;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9499o1^<"i}f/pe+bj7&~x${}`{r.alqkr;;7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5>5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~793?i;T2,cw`)zo%l`= xr.usjqt(kfex1811g9V4*aun'xm#jb?.vp,suhsz&idycz37?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=:=5`=R8&myj#|i/fn3*rt(yd~"m`uov\44c<]9%l~k }f.eo4+qu'~zex!lotlw[47b3\:$kh!rg-dh5(pz&}{by| cnwmpZ46m2_;#j|i.sd,ci6){%||cz}/bmvjqY49l1^<"i}f/pe+bj7&~x${}`{r.alqkrX<8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW<;n7X> gsd-vc)`d9$|~"ynup,gjsi|V<:i6[?/fpe*w`(oe:%{!xpovq+firf}U<=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T4?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?30?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28485:2_;#j|i.sd,ci6){%||cz}/bmvjqYc9585>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<2<>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3?0;453\:$kh!rg-dh5(pz&}{by| cnwmpZb64<49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=181239V4*aun'xm#jb?.vp,suhsz&idyczPd0>4:74<]9%l~k }f.eo4+qu'~zex!lotlw[a7;078:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S=<>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_002?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[7463\:$kh!rg-dh5(pz&}{by| cnwmpZb6W:8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S9<>;T2,cw`)zo%l`= xr.usjqt(kfexRj>_402?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f2[3463\:$kh!rg-dh5(pz&}{by| cnwmpZb6W>8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn:S5<=;T2,cw`)zo%l`= xr.usjqt(kfexRj=<1<16>S7'nxm"h gm2-sw)pxg~y#naznu]g6979:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;692?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<33?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18185:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:5?5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?29>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?3;453\:$kh!rg-dh5(pz&}{by| cnwmpZb54149=6[?/fpe*w`(oe:%{!xpovq+firf}Uo>R>=1:W3+bta&{l$ka>!ws-ttkru'je~byQk2^315>S7'nxm"h gm2-sw)pxg~y#naznu]g6Z4592_;#j|i.sd,ci6){%||cz}/bmvjqYc:V99=6[?/fpe*w`(oe:%{!xpovq+firf}Uo>R:=1:W3+bta&{l$ka>!ws-ttkru'je~byQk2^715>S7'nxm"h gm2-sw)pxg~y#naznu]g6Z0592_;#j|i.sd,ci6){%||cz}/bmvjqYc:V=9=6[?/fpe*w`(oe:%{!xpovq+firf}Uo>R6=4:W3+bta&{l$ka>!ws-ttkru'je~byQaou2344703\:$kh!rg-nah)cg|~Te1>1199V4*aun'xm#`kb/emvpZo;994:46[?/fpe*w`(elg$hb{{_h>25;7?3\:$kh!rg-nah)cg|~Te1?=>0:8Q5)`zo$yj"cjm.flqqYn4895=55Z0.eqb+ta'dof#iazt^k?518602_;#j|i.sd,i`k(lfSd2>5?3;?P6(o{l%~k!bel-gkprXa5;=2<64U1-dvc(un&gna"j`uu]j84199>1^<"i}f/pe+hcj'me~xRg31?34?P6(o{l%~k!bel-gkprXa585=:5Z0.eqb+ta'dof#iazt^k?7;703\:$kh!rg-nah)cg|~Te1:1169V4*aun'xm#`kb/emvpZo;=7;<7X> gsd-vc)jmd%ocxzPi=4=52=R8&myj#|i/lgn+air|Vc7;3?8;T2,cw`)zo%fi`!kotv\m9>99>1^<"i}f/pe+hcj'me~xRg39?35?P6(o{l%~k!bel-gkprXaV:::6[?/fpe*w`(elg$hb{{_h]252=R8&myj#|i/lgn+air|VcT==?8;T2,cw`)zo%fi`!kotv\mZ769>1^<"i}f/pe+hcj'me~xRgP1334?P6(o{l%~k!bel-gkprXaV;8=:5Z0.eqb+ta'dof#iazt^k\51703\:$kh!rg-nah)cg|~TeR?:169V4*aun'xm#`kb/emvpZoX9?;<7X> gsd-vc)jmd%ocxzPi^3453=R8&myj#|i/lgn+air|VcT><84U1-dvc(un&gna"j`uu]j[6713\:$kh!rg-nah)cg|~TeR:>6:W3+bta&{l$ahc dnww[lY29?1^<"i}f/pe+hcj'me~xRgP6048Q5)`zo$yj"cjm.flqqYnW>;=7X> gsd-vc)jmd%ocxzPi^:22>S7'nxm"h mdo,`jssW`U2=45Z0.eqb+ta'dof#iazt^ofi9699h1^<"i}f/pe+hcj'me~xRcjm=33:4g<]9%l~k }f.ofi*bh}}Ufi`2>1?3b?P6(o{l%~k!bel-gkprXelg7=?0>a:W3+bta&{l$ahc dnww[hcj4895=l5Z0.eqb+ta'dof#iazt^ofi97368k0Y=!hrg,qb*kbe&ndyyQbel>21;7f3\:$kh!rg-nah)cg|~Tahc317<2e>S7'nxm"h mdo,`jssWdof0<91189V4*aun'xm#`kb/emvpZkbe5;5=45Z0.eqb+ta'dof#iazt^ofi949901^<"i}f/pe+hcj'me~xRcjm=1=5<=R8&myj#|i/lgn+air|Vgna1:1189V4*aun'xm#`kb/emvpZkbe5?5=45Z0.eqb+ta'dof#iazt^ofi909901^<"i}f/pe+hcj'me~xRcjm=5=5<=R8&myj#|i/lgn+air|Vgna161189V4*aun'xm#`kb/emvpZkbe535;95Z0.eqb+ta'dof#jlb.f`nc+aeenk%bjklc/`nc*dkcVgnaRijndpbpjt(~hfbh#m|ts-qehjhgyQ;Q#|nm/p,w6Yig`dbx#|nm.fsvdk)ly9=t<6!r`o2f>S7'nxm"h mdo,phvXzhgT~iQjn0a8Q5)`zo$yj"cjm.vntZtfeVxoSh`>169V4*aun'xm#ob_sgdkprXmg;o7X> gsd-vc)u{}hgg"|k_sqw[duumn8;7X> gsd-vc)u{}hgg"|k_sqw[duumnUo=?>4U1-dvc(un&xxxobd/sf\vvrXizxnkRj=1b9V4*aun'xm#}{bmi,vaYu{}Uhc`l>d:W3+bta&{l$~~zmlj-q`Ztt|Vidao?>e:W3+bta&{l$~~zmlj-q`Ztt|Vxnk1>11d9V4*aun'xm#}{bmi,vaYu{}Uyij2>>0g8Q5)`zo$yj"||tcnh+wbXzz~T~hi32?3g?P6(o{l%~k!}su`oo*tcW{ySkh_13g?P6(o{l%~k!}su`oo*tcW{ySkh_03g?P6(o{l%~k!}su`oo*tcW{ySkh_33g?P6(o{l%~k!}su`oo*quW{ySl}}ef03?P6(o{l%~k!}su`oo*quW{ySl}}ef]g576<]9%l~k }f.pppgjl'~xT~~zParpfcZb59j1^<"i}f/pe+wusjea${Q}su]`khd6l2_;#j|i.sd,vvredb%|~R||t^alig76m2_;#j|i.sd,vvredb%|~R||t^pfc9699l1^<"i}f/pe+wusjea${Q}su]qab:668n0Y=!hrg,qb*tt|kf`#z|Prrv\v`aX88n0Y=!hrg,qb*tt|kf`#z|Prrv\v`aX9h1^_H\PAMKBWf=R[LXTZD]FBMG0?SED12\BIZQ[YQG0?RCF;2]NNn5XRHVF[HICMVKh7Z\FTD]NKACXJm1\^DZJ_VKGPMYFl2]YEYKPWHFWLZD6l2RB@D@W-YFA$5(6(Z^^N->!1!CPGLO23QEYOT84XRVOMG1gkefyShctx`8eikh{}Umyab9;cc`opvc3kkhgx~Pm`phaw5bf|hUhcx`{(6+g?agsiVidycz'8(d8`drfWje~by27:1<4?adn|lxy:6jfn)2*2>bnf!;";6jfn)33-2=cag":=$94dhl+57/03mce$<=&7:fjj-73!>1oec&>5(58`lh/9?#<7iga(05*3>bnf!;3%:5kio*2=,0$94dhl+65/03mce$??&7:fjj-45!>1oec&=3(58`lh/:=#<7iga(37*3>bnf!8=%:5kio*13,15'8;ekm,7?.>2nbb%=&7:fjj-57!>1oec&<1(58`lh/;;#<7iga(21*3>bnf!9?%:5kio*01,01oec2>3?58`lh;9=4<7iga<07=3>bnf5;=2:5kio>23;12nbb1?17:fjj9476>1oec2=1?58`lh;:;4<7iga<31=3>bnf58?2:5kio>11;1;08;ekm8719?2nbb1<7>69gmk:517<0hd`32?58`lh;;94<7iga<23=3>bnf5992:5kio>07;14=7iga<9<5?aoi404<7iazt)2*3>bh}}":%55kotv+55/?3me~x%?>)99gkpr/9;#37iazt)30-==cg|~#=9'7;emvp-72!11ocxz'17+;?air|!;<%:5kotv+6,1'8;emvp-2.?2ndyy&:)69gkpr/> =0hb{{(6+4?air|!2";6j`uu*:-2=cg|~7<364dnww846902ndyy2>1?:8`jss488546j`uu>27;>bh}}6:;7>18:flqq:6?7=0hb{{<0<4?air|585;6j`uu>0:2=cg|~78394dnww80803me~x1817:flqq:06>1ocxz38?58`jss40437hjff3ld`0=bey~r>k5iigm\c`hbzh~d~Rx9_0.#\ljnfq*HC_K/Gdlfvdrhz);9"=?v<6^0`hnY4>}e:4>o4fhdl[}jipV?:>u=9_3aooZ51|f;3 kgio^efj`tf|fxTz;Q>,OMMA)HHFL>;=6hffn]{hk~X=88s?;Q=cmi\73rh91&mekaPgdlfvdrhzV|=S<"tc^jbwZoi|Vigg0>#c^jbwZuu{}7; nQ}d^dqat;6$jUnbllce^pppZu~fj7: nQgar]q`Zbf|hUhcx`{=1.`[aoiW~coxe3<6-a\lduX{UomyoPcnwmp86+kVl~`aQil`ep[wusWkg1="l_hosh`kbf}keb`Ptxrf97*dW|ynShcmeeff`Ztbo4:'oRy}_gpfu87+kVxiRj`uu]qwq;6$jU~bik}fmmt[iip59&hSeo|_ntfvcjh4:'oR~}emmb`Zjf|ldhu0>#c^flqqYpam~c1<6#c^opcjhX~hf6=!mPre]gauro58:98!mPesplvZoiblieb`Ptxrf95*dWakxSx`kesdokr;7$jUcm~QnllmppZ`rde7; nQgar]qwq;6$jUomyoPcnwmpZqnl}b65!mPh`q\swYfkb7; nQzsd]fgf;7$jUhc`c`n^aokfm:8%iT{Qncj]okr;7$jUyhR~ats]tmaro58:'oR{|e^dtbqYci}kTob{at<2/gZnf{Vkgab}{_dosp|;7$jUyhRjnt`]`kphsW~coxe3>0-a\kscunee|Saax=1.`[rtXxg~ySzgkti?:(fYwzfmTi`~{y^vzt`;7$jU|~Rjnt`]`kphsW~coxe36,b]sv`jhimUyij}21-a\`jssW{yS{oc=1.`[mgtWmkmRm`uov>4)eXx{elSk{cl^vkv`uoWgolmykPv`n>15>+kV}ySikti?657*dWyxdkRkbpu{\pmtb{aUeijo{e^tbh83+kVzycjQjmqvz[qnumzbTm~}jru]uei;3$jUcm~Qyamkg95*dWyxdkRhzlm]wlwct`Vkxh|{_wco906>$jef|b`jnu]mehc:n`ldSubax^726}51W;iggR=9tn3;(fYqiecoSaax=1.`[utneVlbjbQ{yqg>144;?&hS}|`g^dvhiYsqyo6vugnUna}zv_ujqavn/: ;?7}|`g^gntqX|axne&<)068twi`Wlg{xtQ{hsgpl-2.9=1{~biPelrw}Zrozlyc$8'>4:rqkbYbey~rSyf}erj+2,733yxdkRkbpu{\pmtb{a"<%<:4psmd[`kw|pUdk|h):*51=wzfmTi`~{y^vkv`uo 0#::6~}of]fiur~W}byi~f39;2=5g=wzfmTi`~{y^vkv`uoWhyxiz'0(3a?uthoVof|ywPtipfwmYf{zoyx%?&1c9svjaXmdzuRzgrdqk[dutm{~#>$?m;qplcZcjx}sTxe|jsi]bwvcu|!9"=o5rne\ahvsqV~c~h}g_`qpawr/< ;i7}|`g^gntqX|axneQnsrgqp-3.9k1{~biPelrw}ZrozlycSl}|esv+2,7e3yxdkRkbpu{\pmtb{aUj~k}t)5*5g=wzfmTi`~{y^vkv`uoWhyxiz'8(3a?uthoVof|ywPtipfwmYf{zoyx%7&1e9svjaXmdzuRzgrdqk[dutm{~757>11c9svjaXmdzuRzgrdqk[kc`i}o#<$?m;qplcZcjx}sTxe|jsi]mabgsm!;"=o5rne\ahvsqV~c~h}g_ogdeqc/: ;i7}|`g^gntqX|axneQaefcwa-5.9k1{~biPelrw}ZrozlycSckhaug+0,7e3yxdkRkbpu{\pmtb{aUeijo{e)7*5g=wzfmTi`~{y^vkv`uoWgolmyk'6(3a?uthoVof|ywPtipfwmYimnki%9&1c9svjaXmdzuRzgrdqk[kc`i}o#4$?m;qplcZcjx}sTxe|jsi]mabgsm!3"=i5rne\ahvsqV~c~h}g_ogdeqc;13:556~}of]eqij6;2zycjQiumn\pmtb{a";%<=4psmd[cskdV~c~h}g(0+27>vugnUmyabPtipfwm.5!890|ah_gwohZrozlyc$>'>3:rqkbYa}efTxe|jsi*7-45a:rqkbYa}efTxe|jsi]bwvcu|!8"=l5rne\bpjkW}byi~fParqfvq.4!8k0|ah_gwohZrozlycSl}|esv+0,7f3yxdkRhzlm]wlwct`Vkxh|{(4+2e>vugnUmyabPtipfwmYf{zoyx%8&1`9svjaXn|fgSyf}erj\evubz}"<%vugnUmyabPtipfwmYimnki%<&1`9svjaXn|fgSyf}erj\j`af|l"8%$??;sf\`drfWje~by&<)028vaYci}kTob{at)6*55=ulVnjxlQlotlw,0/682xoSio{a^alqkr/> ;;7jPd`vb[firf}"<%<>4re]geqgXkfex%6&119q`Zbf|hUhcx`{(8+24>tcWmkmRm`uov?4;753{nThlzn_bmvjq:>294>7jPeo48vaYu{}90~~z8;r`jp`tu<2yyy:4tswf=>sillxm`by:;wcoma0<{Ujof84ws]`hn773~xThlzn_bmvjq.7!8:0{Qkauc\gjsi|!;"==5xr^fbpdYdg|d$?'>0:uq[agsiVidycz'3(33?rtXlh~jSnaznu*7-46<{UomyoPcnwmp-3.991|~Rjnt`]`kphs ?#:<6y}_ecweZeh}g~#;$??;vp\`drfWje~by&7)008swYci}kTob{at=:94;3<{Unb;5xr^pppxFGxh<>7MNw1;D90?7|[=l188;57;306g0dk398:ljtn2f6>4=i;m<1:6*107290:??l9cb8073gb3Z>o698?:18277d1kj08?;oi;e66hn0(>m9:00a?S5c<38py<=<:09v562=82w/=:75199a00>=839o6>47;'5=g=<<20(>j=:574?l2e83:17d:l4;29?j22k3:17b::6;29?l2e13:17d:m2;29?j2413:1(<9m:56b?k70i3:07b:<8;29 41e2=>j7c?8a;38?j24?3:1(<9m:56b?k70i3807b:<6;29 41e2=>j7c?8a;18?j24=3:1(<9m:56b?k70i3>07b:<4;29 41e2=>j7c?8a;78?j24;3:1(<9m:56b?k70i3<07b:<2;29 41e2=>j7c?8a;58?j2393:1(<9m:56b?k70i3207b:;0;29 41e2=>j7c?8a;;8?j24n3:1(<9m:56b?k70i3k07b:j7c?8a;`8?j24l3:1(<9m:56b?k70i3i07b:j7c?8a;f8?j24j3:1(<9m:56b?k70i3o07b:j7c?8a;d8?j2493:1(<9m:56b?k70i3;;76a;3183>!70j3>?m6`>7`825>=n<9>1<7*>7c8762=i9>k1<65f41194?"6?k0?>:5a16c95>=n<981<7*>7c8762=i9>k1>65f41394?"6?k0?>:5a16c97>=n<9:1<7*>7c8762=i9>k1865f3gd94?"6?k0?>:5a16c91>=n;on1<7*>7c8762=i9>k1:65f3ga94?"6?k0?>:5a16c93>=n;oh1<7*>7c8762=i9>k1465f3gc94?"6?k0?>:5a16c9=>=n;o31<7*>7c8762=i9>k1m65f3g:94?"6?k0?>:5a16c9f>=n;o=1<7*>7c8762=i9>k1o65f3g494?"6?k0?>:5a16c9`>=n;o?1<7*>7c8762=i9>k1i65f3g694?"6?k0?>:5a16c9b>=n;o81<7*>7c8762=i9>k1==54i2d2>5<#9>h18?94n05b>47<3`9m<7>5$05a>1403g;1e=:o51598m6cc290/=:l54358j41f28?07d=jc;29 41e2=8<7c?8a;35?>o4mk0;6)?8b;613>h6?h0:;65f3dc94?"6?k0?>:5a16c95==b:9j05>=83.:;o4;269m52g=9j10e9>8:18'52d=<;=0b<9n:0f8?l27>3:1(<9m:504?k70i3;n76g;0483>!70j3>9;6`>7`82b>=n;oo1<7*>7c8762=i9>k1>=54i2d0>5<#9>h18?94n05b>77<3`9n47>5$05a>1403g;tH2a7?!7?i39h96a>7983>>{el10;6<4?:1yK7f2<,82j6i64oe594?=zj=>1<7o::00g>40>sA9h86T;5;35d<>2k09m7<8:3:96<8`871g=#<10?945+4d871d=#9>>1=:94i554>5<#9>h18:64n05b>5=5<#9>h18:64n05b>7=54i550>5<#9>h18:64n05b>1=5<#9>h18:64n05b>3=5<#9>h18:64n05b>==5<5<5<#9>h18;j4n05b>5=5<#9>h18;j4n05b>7=54i54;>5<#9>h18;j4n05b>1=5<#9>h18;j4n05b>3=6=4+16`903b5<#9>h18;j4n05b>==5<5<#9>h185=4n05b>5=5<#9>h185=4n05b>7=54i55f>5<#9>h185=4n05b>1=5<#9>h185=4n05b>3=5<#9>h185=4n05b>==5<5<#9>h1?h;4n05b>4=5<#9>h1?h;4n05b>6=5<#9>h1?h;4n05b>0=5<#9>h1?h;4n05b>2=5<5<#9>h185k4n05b>5=5<#9>h185k4n05b>7=54i5::>5<#9>h185k4n05b>1=5<#9>h185k4n05b>3=5<#9>h185k4n05b>==5<5<5<#9>h18464n05b>4=6=4+16`90<>5<#9>h18464n05b>6=5<#9>h18464n05b>0=5<#9>h18464n05b>2=5<#9>h18l<4n05b>5=5<#9>h18l<4n05b>7=54i5;g>5<#9>h18l<4n05b>1=5<#9>h18l<4n05b>3=5<#9>h18l<4n05b>==5<5<5<5<#9>h189o4n05b>5=5<#9>h189o4n05b>7=54o516>5<#9>h189o4n05b>1=5<#9>h189o4n05b>3=5<#9>h189o4n05b>==;6=4+16`901g5<#9>h189o4n05b>d=5<#9>h189o4n05b>f=5<#9>h189o4n05b>`=5<#9>h189o4n05b>46<3f>8<7>5$05a>12f3g;;:k741<72-;4?:%34f?25?2d:;l4>;:k747<72-;1e=:o51098m6`7290/=:l54358j41f28807d=jf;29 41e2=8<7c?8a;30?>o4ml0;6)?8b;613>h6?h0:865f3df94?"6?k0?>:5a16c950=8:9j7`?=83.:;o4;269m52g=9010e9>n:18'52d=<;=0b<9n:0c8?l2713:1(<9m:504?k70i3;i76g;0983>!70j3>9;6`>7`82g>=n<9=1<7*>7c8762=i9>k1=i54i525>5<#9>h18?94n05b>4c<3`>;97>5$05a>1403g;1e=:o52098m6c?290/=:l54358j41f2;807d=j7;29 41e2=8<7c?8a;00?>o4l00;66a;ae83>!70j3>jj6`>7`83?>i3ij0;6)?8b;6bb>h6?h0:76a;ac83>!70j3>jj6`>7`81?>i3ih0;6)?8b;6bb>h6?h0876a;a883>!70j3>jj6`>7`87?>i3i10;6)?8b;6bb>h6?h0>76a;a683>!70j3>jj6`>7`85?>i3i?0;6)?8b;6bb>h6?h0<76a;a483>!70j3>jj6`>7`8;?>i3i=0;6)?8b;6bb>h6?h0276a;c383>!70j3>h?6`>7`83?>i3k80;6)?8b;6`7>h6?h0:76a;c183>!70j3>h?6`>7`81?>i3jo0;6)?8b;6`7>h6?h0876a;bd83>!70j3>h?6`>7`87?>i3jm0;6)?8b;6`7>h6?h0>76a;bb83>!70j3>h?6`>7`85?>i3jk0;6)?8b;6`7>h6?h0<76a;b`83>!70j3>h?6`>7`8;?>i3>;0;66g;5e83>>i4m?0;66g;a283>>i3j?0;66l4<729q/=5o5d99K7f`<@:i?7bj8:188yg5c93:1=7>50z&21<729q/=5o5d59K7f`<@:i?7)k::79j03<722c><7>5;h34g?6=3f;5;|`052<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n3:187>50z&25;h6`>5<?54c78 `3=:2c?:7>5;h73>5<8`8g5>N4ko1C?n:4H518 4562=h>7)k::39j03<722c><7>5;n34`?6=3th8n=4?:283>5}#91k1h<5G3bd8L6e33A>87)?<1;6a1>"b=380e9850;9j15<722e:;i4?::a7gg=83?1<7>t$0:b>a3<@:im7E=l4:J77>"6;80?n85f4783>>o3?3:17d;?:188m41d2900c<9k:188yg5ej3:1?7>50z&27=n0<729q/=5o5d49K7f`<@:i?7E:<;%305?2e=2c?:7>5;h64>5<n1<75rb2`:>5<3290;w)?7a;f7?M5dn2B8o95+e485?l212900e8>50;9j52e=831d=:j50;9~f6d?290?6=4?{%3;e?b33A9hj6F=6=44i4294?=n9>i1<75`16f94?=zj:h<6=4;:183!7?i3n?7E=lf:J0g1=#m<0=7d:9:188m06=831b=:m50;9l52b=831vn>m=:187>5<7s-;3m7j;;I1`b>N4k=1/i849;h65>5<n1<75rb2a2>5<3290;w)?7a;f7?M5dn2B8o95+e485?l212900e8>50;9j52e=831d=:j50;9~f4gc290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e9hi1<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th:mo4?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo?na;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb0c:>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a5d>=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd6i>0;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<54;294~"60h0o>6F6g;6;29?l2d2900e8>50;9l52b=831vn5<7s-;3m7j=;I1`b>N4k=1/i84=;h65>5<>i6?m0;66sm20694?2=83:p(<6n:e08L6ea3A9h86*j5;08m10=831b8n4?::k64?6=3f;5;|`156<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n50z&25;h6`>5<<>50;694?6|,82j6i<4H2ae?M5d<2.n97<4i5494?=n1<729q/=5o5d39K7f`<@:i?7)k::39j03<722c?o7>5;h73>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f76c290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e:9i1<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th99n4?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo<:b;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb37b>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a60?=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd5=10;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<;7>54;294~"60h0o>6F6g;6;29?l2d2900e8>50;9l52b=831vn?;9:187>5<7s-;3m7j=;I1`b>N4k=1/i84=;h65>5<>i6?m0;66sm24794?2=83:p(<6n:e08L6ea3A9h86*j5;08m10=831b8n4?::k64?6=3f;5;|`111<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n50z&25;h6`>5<f783>1<729q/=5o5d39K7f`<@:i?7)k::39j03<722c?o7>5;h73>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f4`3290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e9o91<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th:j?4?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo?i1;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb36b>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb36:>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb36;>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb364>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb365>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb366>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb367>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb360>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb361>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g4>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g5>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g6>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g7>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g0>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g1>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g2>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0g3>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0fe>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0ff>5<3290;w)?7a;f1?M5dn2B8o95G429'567=h6=44i4294?=h9>n1<75rb0f0>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a5a4=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd6l80;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<54;294~"60h0o>6F6g;6;29?l2d2900e8>50;9l52b=831vn5<7s-;3m7j=;I1`b>N4k=1/i84=;h65>5<>i6?m0;66sm1bg94?2=83:p(<6n:e08L6ea3A9h86*j5;08m10=831b8n4?::k64?6=3f;5;|`2ga<72=0;6=u+19c9`7=O;jl0D>m;;%g6>7=n50z&25;h6`>5<1<729q/=5o5d39K7f`<@:i?7)k::39j03<722c?o7>5;h73>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f751290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e::?1<7:50;2x 4>f2m80D>mi;I1`0>"b=380e9850;9j0f<722c><7>5;n34`?6=3th9?94?:583>5}#91k1h?5G3bd8L6e33-o>6?5f4783>>o3k3:17d;?:188k41c2900qo<<3;290?6=8r.:4l4k2:J0gc=O;j>0(h;52:k72?6=3`>h6=44i4294?=h9>n1<75rb311>5<3290;w)?7a;f1?M5dn2B8o95+e481?l212900e9m50;9j15<722e:;i4?::a667=83>1<7>t$0:b>a4<@:im7E=l4:&f1?4>o283:17b?8d;29?xd5;90;694?:1y'5=g=l;1C?nh4H2a7?!c22;1b8;4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a6a1=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo0(h;52:k72?6=3`><6=44i5a94?=n=90;66a>7e83>>{e:m>1<7;50;2x 4>f2m90D>mi;I1`0>"b=380e9850;9j02<722c?o7>5;h73>5<8`8g7>N4ko1C?n:4$d796>o3>3:17d:8:188m1e=831b9=4?::m23a<722wi>i=50;794?6|,82j6i=4H2ae?M5d<2.n97<4i5494?=n<>0;66g;c;29?l372900c<9k:188yg4c:3:197>50z&25;h64>5<>i6?m0;66sm2e294?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o96F50;9j52e=831d=:j50;9~f7b6290>6=4?{%3;e?b43A9hj6F=6=44i5594?=n6<729q/=5o53bg8L6ea3A9h86g;9;29?l7503:17b?86;29?xd5k;0;6>4?:1y'5=g=;jo0D>mi;I1`0>o313:17d?=8;29?j70>3:17pl=b983>1<729q/=5o51208L6ea3A9h86g;9;29?l352900e<6<:188k4112900qo3:187>50z&22900e8<50;9j5=5=831d=:850;9~f7e729086=4?{%3;e?5dm2B8ok5G3b68m1?=831b=?650;9l520=831vn?l;:187>5<7s-;3m7?<2:J0gc=O;j>0e9750;9j17<722c:4>4?::m233<722wi>oh50;194?6|,82j6>mj;I1`b>N4k=1b844?::k26=<722e:;;4?::a6g4=83>1<7>t$0:b>4553A9hj6F>7>5;h3;7?6=3f;<:7>5;|`1f`<72:0;6=u+19c97fc<@:im7E=l4:k7=?6=3`;947>5;n342?6=3th9n=4?:583>5}#91k1=><4H2ae?M5d<2c?57>5;h71>5<5<53;294~"60h08oh5G3bd8L6e33`>26=44i00;>5<8`8277=O;jl0D>m;;h6:>5<<1<75rb3``>5<4290;w)?7a;1`a>N4ko1C?n:4i5;94?=n9;21<75`16494?=zj;kh6=4;:183!7?i3;8>6F>o60:0;66a>7783>>{e:kh1<7=50;2x 4>f2:in7E=lf:J0g1=n<00;66g>2983>>i6??0;66sm2`c94?2=83:p(<6n:011?M5dn2B8o95f4883>>o2:3:17d?73;29?j70>3:17pl=b`83>6<729q/=5o53bg8L6ea3A9h86g;9;29?l7503:17b?86;29?xd5i10;694?:1y'5=g=9:80D>mi;I1`0>o313:17d;=:188m4>42900c<99:188yg4bk3:197>50z&25;h64>5<>i6?m0;66sm2d`94?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a6`?=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo0(h;52:k72?6=3`><6=44i5a94?=n=90;66a>7e83>>{e:l=1<7;50;2x 4>f2m90D>mi;I1`0>"b=380e9850;9j02<722c?o7>5;h73>5<8`8g7>N4ko1C?n:4$d796>o3>3:17d:8:188m1e=831b9=4?::m23a<722wi>h;50;794?6|,82j6i=4H2ae?M5d<2.n97<4i5494?=n<>0;66g;c;29?l372900c<9k:188yg4b<3:197>50z&25;h64>5<>i6?m0;66sm2d194?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<54;294~"60h0o86F0(h;56:k72?6=3`?;6=44i05`>5<8`8g6>N4ko1C?n:4$d796>o3>3:17d:l:188m06=831d=:j50;9~f70>290?6=4?{%3;e?b53A9hj6F=6=44i5a94?=n=90;66a>7e83>>{e:1o1<7:50;2x 4>f28997E=lf:J0g1=n<00;66g:2;29?l7?;3:17b?86;29?xd50m0;694?:1y'5=g=9:80D>mi;I1`0>o313:17d;=:188m4>42900c<99:188yg4?k3:187>50z&22900e8<50;9j5=5=831d=:850;9~f7>e290?6=4?{%3;e?74:2B8ok5G3b68m1?=831b9?4?::k2<6<722e:;;4?::a6=g=83>1<7>t$0:b>4553A9hj6F>7>5;h3;7?6=3f;<:7>5;|`13g<72=0;6=u+19c9564<@:im7E=l4:k7=?6=3`?96=44i0:0>5<8`8277=O;jl0D>m;;h6:>5<<1<75rb35:>5<3290;w)?7a;306>N4ko1C?n:4i5;94?=n=;0;66g>8283>>i6??0;66sm26:94?2=83:p(<6n:011?M5dn2B8o95f4883>>o2:3:17d?73;29?j70>3:17pl=7683>1<729q/=5o51208L6ea3A9h86g;9;29?l352900e<6<:188k4112900qo=?9;290?6=8r.:4l4>339K7f`<@:i?7d:6:188m04=831b=5=50;9l520=831vn>>7:187>5<7s-;3m7?<2:J0gc=O;j>0e9750;9j17<722c:4>4?::m233<722wi?=950;694?6|,82j6<==;I1`b>N4k=1b844?::k66?6=3`;3?7>5;n342?6=3th8<;4?:583>5}#91k1=><4H2ae?M5d<2c?57>5;h71>5<5<54;294~"60h0:??5G3bd8L6e33`>26=44i4094?=n9191<75`16494?=zj;l=6=4;:183!7?i3;8>6F>o60:0;66a>7783>>{e:o?1<7:50;2x 4>f28997E=lf:J0g1=n<00;66g:2;29?l7?;3:17b?86;29?xd5n=0;694?:1y'5=g=9:80D>mi;I1`0>o313:17d;=:188m4>42900c<99:188yg4a;3:187>50z&22900e8<50;9j5=5=831d=:850;9~f7`5290?6=4?{%3;e?74:2B8ok5G3b68m1?=831b9?4?::k2<6<722e:;;4?::a70d=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo=:9;291?6=8r.:4l4k5:J0gc=O;j>0(h;56:k72?6=3`><6=44i4294?=n9>i1<75`16f94?=zj:?j6=4::183!7?i3n87E=lf:J0g1=#m<097d:9:188m11=831b8n4?::k64?6=3f;5;|`01f<72<0;6=u+19c9`6=O;jl0D>m;;%g6>7=n50;9l52b=831vn>;k:186>5<7s-;3m7j<;I1`b>N4k=1/i84=;h65>5<>o283:17b?8d;29?xd4=l0;684?:1y'5=g=l:1C?nh4H2a7?!c22;1b8;4?::k73?6=3`>h6=44i4294?=h9>n1<75rb27e>5<2290;w)?7a;f0?M5dn2B8o95+e481?l212900e9950;9j0f<722c><7>5;n34`?6=3th8:=4?:483>5}#91k1h>5G3bd8L6e33-o>6?5f4783>>o3?3:17d:l:188m06=831d=:j50;9~f606290>6=4?{%3;e?b43A9hj6F=6=44i5594?=n0<729q/=5o5d29K7f`<@:i?7)k::39j03<722c?;7>5;h6`>5<n6=4::183!7?i3n87E=lf:J0g1=#m<097d:9:188m11=831b8n4?::k64?6=3f;5;|`00f<72<0;6=u+19c9`6=O;jl0D>m;;%g6>7=n50;9l52b=831vn>:m:186>5<7s-;3m7j<;I1`b>N4k=1/i84=;h65>5<>o283:17b?8d;29?xd4h6=44i4294?=h9>n1<75rb26b>5<2290;w)?7a;f0?M5dn2B8o95+e481?l212900e9950;9j0f<722c><7>5;n34`?6=3th8844?:483>5}#91k1h>5G3bd8L6e33-o>6?5f4783>>o3?3:17d:l:188m06=831d=:j50;9~f620290>6=4?{%3;e?b43A9hj6F=6=44i5594?=n0<729q/=5o5d49K7f`<@:i?7)k::79j03<722c?;7>5;h73>5<5<53;294~"60h08oh5G3bd8L6e33`>26=44i00;>5<8`80g`=O;jl0D>m;;h6:>5<5<7>54;294~"60h0:??5G3bd8L6e33`>26=44i4094?=n9191<75`16494?=zj:9j6=4<:183!7?i39hi6F<1<75rb213>5<3290;w)?7a;306>N4ko1C?n:4i5;94?=n=;0;66g>8283>>i6??0;66sm32;94?5=83:p(<6n:2af?M5dn2B8o95f4883>>o6:10;66a>7783>>{e;;o1<7:50;2x 4>f28997E=lf:J0g1=n<00;66g:2;29?l7?;3:17b?86;29?xd4;10;6>4?:1y'5=g=;jo0D>mi;I1`0>o313:17d?=8;29?j70>3:17pl<2b83>1<729q/=5o51208L6ea3A9h86g;9;29?l352900e<6<:188k4112900qo=<7;297?6=8r.:4l450z&22900e8<50;9j5=5=831d=:850;9~f65129086=4?{%3;e?5dm2B8ok5G3b68m1?=831b=?650;9l520=831vn><7:187>5<7s-;3m7?<2:J0gc=O;j>0e9750;9j17<722c:4>4?::m233<722wi?>;50;194?6|,82j6>mj;I1`b>N4k=1b844?::k26=<722e:;;4?::a770=83>1<7>t$0:b>4553A9hj6F>7>5;h3;7?6=3f;<:7>5;|`071<72:0;6=u+19c97fc<@:im7E=l4:k7=?6=3`;947>5;n342?6=3th8>94?:583>5}#91k1=><4H2ae?M5d<2c?57>5;h71>5<5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a724=83?1<7>t$0:b>a5<@:im7E=l4:&f1?4>o3k3:17d;?:188k41c2900qo=81;291?6=8r.:4l4k3:J0gc=O;j>0(h;52:k72?6=3`><6=44i5a94?=n=90;66a>7e83>>{e;>:1<7;50;2x 4>f2m90D>mi;I1`0>"b=380e9850;9j02<722c?o7>5;h73>5<8`8g7>N4ko1C?n:4$d796>o3>3:17d:8:188m1e=831b9=4?::m23a<722wi?;k50;794?6|,82j6i=4H2ae?M5d<2.n97<4i5494?=n<>0;66g;c;29?l372900c<9k:188yg51l3:197>50z&25;h64>5<>i6?m0;66sm37a94?3=83:p(<6n:e18L6ea3A9h86*j5;08m10=831b8:4?::k7g?6=3`?;6=44o05g>5<55;294~"60h0o?6F6g;6;29?l202900e9m50;9j15<722e:;i4?::a7<6=83?1<7>t$0:b>a0<@:im7E=l4:&f1?4>o283:17d?8e;29?j70l3:17pl<8g83>0<729q/=5o5d79K7f`<@:i?7)k::39j03<722c?;7>5;h73>5<5<55;294~"60h0o:6F6g;6;29?l202900e8>50;9j52c=831d=:j50;9~f6>c290>6=4?{%3;e?b13A9hj6F=6=44i5594?=n=90;66g>7d83>>i6?m0;66sm39a94?3=83:p(<6n:e48L6ea3A9h86*j5;08m10=831b8:4?::k64?6=3`;5;n34`?6=3th84o4?:483>5}#91k1h;5G3bd8L6e33-o>6?5f4783>>o3?3:17d;?:188m41b2900c<9k:188yg5?i3:197>50z&22B8ok5G3b68 `3=:2c?:7>5;h64>5<n1<75rb2::>5<2290;w)?7a;f5?M5dn2B8o95+e481?l212900e9950;9j15<722c:;h4?::m23a<722wi?4650;794?6|,82j6i84H2ae?M5d<2.n97<4i5494?=n<>0;66g:0;29?l70m3:17b?8d;29?xd41>0;684?:1y'5=g=l?1C?nh4H2a7?!c22;1b8;4?::k73?6=3`?;6=44i05f>5<8`8g2>N4ko1C?n:4$d796>o3>3:17d:8:188m06=831b=:k50;9l52b=831vn>7::186>5<7s-;3m7j9;I1`b>N4k=1/i84=;h65>5<>o6?l0;66a>7e83>>{e;0>1<7;50;2x 4>f2m<0D>mi;I1`0>"b=380e9850;9j02<722c><7>5;h34a?6=3f;5;|`0=6<72<0;6=u+19c9`3=O;jl0D>m;;%g6>7=n0(h;52:k72?6=3`><6=44i4294?=n9>o1<75`16f94?=zj:3:6=4::183!7?i3n=7E=lf:J0g1=#m<097d:9:188m11=831b9=4?::k23`<722e:;i4?::a7=>=83?1<7>t$0:b>a0<@:im7E=l4:&f1?4>o283:17d?8e;29?j70l3:17pl<8683>0<729q/=5o5d79K7f`<@:i?7)k::39j03<722c?;7>5;h73>5<5<53;294~"60h0:>i5G3bd8L6e33-o>6<74ie;94?=nlh0;66a>7783>>{e;k91<7=50;2x 4>f288o7E=lf:J0g1=#m<0:56gk9;29?lbf2900c<99:188yg46>3:1?7>50z&2t$0:b>44c3A9hj6F5;hfb>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm18c94?5=83:p(<6n:00g?M5dn2B8o95+e482`>oc13:17djn:188k4112900qo?69;297?6=8r.:4l4>2e9K7f`<@:i?7)k::0f8ma?=831bhl4?::m233<722wi=4650;194?6|,82j6<N4k=1/i84>d:kg=?6=3`nj6=44o055>5<53;294~"60h0:>i5G3bd8L6e33-o>67783>>{e90<1<7=50;2x 4>f288o7E=lf:J0g1=#m<0:h6gk9;29?lbf2900c<99:188yg7>=3:1?7>50z&2t$0:b>44c3A9hj6F5;hfb>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm18094?5=83:p(<6n:00g?M5dn2B8o95+e482`>oc13:17djn:188k4112900qo?61;297?6=8r.:4l4>2e9K7f`<@:i?7)k::0f8ma?=831bhl4?::m233<722wi=4>50;194?6|,82j6<N4k=1/i84>d:kg=?6=3`nj6=44o055>5<53;294~"60h0:>i5G3bd8L6e33-o>67783>>{e91o1<7=50;2x 4>f288o7E=lf:J0g1=#m<0:h6gk9;29?lbf2900c<99:188yg7?l3:1?7>50z&2t$0:b>44c3A9hj6F5;hfb>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm27g94?2=83:p(<6n:00f?M5dn2B8o95+e48``>oc13:17djn:188mad=831d=:850;9~f77?290?6=4?{%3;e?75m2B8ok5G3b68 `3=:=1bh44?::kge?6=3`ni6=44o055>5<54;294~"60h0:>h5G3bd8L6e33-o>6?:4ie;94?=nlh0;66gkb;29?j70>3:17pl=6b83>0<729q/=5o513d8L6ea3A9h86*j5;3b?lb>2900eio50;9j`g<722coo7>5;n342?6=3th9=l4?:483>5}#91k1=?h4H2ae?M5d<2.n97?i;hf:>5<>ock3:17b?86;29?xd6j:0;684?:1y'5=g=9;l0D>mi;I1`0>"b=3;m7dj6:188mag=831bho4?::kgg?6=3f;<:7>5;|`137<72<0;6=u+19c957`<@:im7E=l4:&f1?463`n26=44iec94?=nlk0;66gkc;29?j70>3:17pl<1`83>6<729q/=5o513f8L6ea3A9h86*j5;33?lb>2900eio50;9l520=831vn?89:187>5<7s-;3m7?=e:J0gc=O;j>0(h;52b9j`<<722com7>5;hfa>5<8`826a=O;jl0D>m;;%g6>4b>i6??0;66sm1c794?5=83:p(<6n:00g?M5dn2B8o95+e482`>oc13:17djn:188k4112900qo<>e;290?6=8r.:4l4>2d9K7f`<@:i?7)k::368ma?=831bhl4?::kgf?6=3f;<:7>5;|`2f2<72=0;6=u+19c957c<@:im7E=l4:&f1?433`n26=44iec94?=nlk0;66a>7783>>{e:;:1<7;50;2x 4>f288m7E=lf:J0g1=#m<0:j6gk9;29?lbf2900eil50;9j`f<722e:;;4?::a5g?=83?1<7>t$0:b>44a3A9hj6F5;hfb>5<>i6??0;66sm3`f94?2=83:p(<6n:00f?M5dn2B8o95+e4865>oc13:17djn:188mad=831d=:850;9~f702290>6=4?{%3;e?75n2B8ok5G3b68 `3=9;1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb230>5<4290;w)?7a;31`>N4ko1C?n:4$d7967=nl00;66gka;29?j70>3:17pl<0183>6<729q/=5o513f8L6ea3A9h86*j5;01?lb>2900eio50;9l520=831vn?77:186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<6=4::183!7?i3;9j6F>5fd883>>oci3:17djm:188mae=831d=:850;9~f675290>6=4?{%3;e?75n2B8ok5G3b68 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb3de>5<2290;w)?7a;31b>N4ko1C?n:4$d7966=nl00;66gka;29?lbe2900eim50;9l520=831vn?78:186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<=5fd883>>oci3:17djm:188mae=831d=:850;9~f676290>6=4?{%3;e?75n2B8ok5G3b68 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb3df>5<2290;w)?7a;31b>N4ko1C?n:4$d7966=nl00;66gka;29?lbe2900eim50;9l520=831vn?79:186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<=5fd883>>oci3:17djm:188mae=831d=:850;9~f677290>6=4?{%3;e?75n2B8ok5G3b68 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9><1<75rb3dg>5<2290;w)?7a;31b>N4ko1C?n:4$d7966=nl00;66gka;29?lbe2900eim50;9l520=831vn?7::186>5<7s-;3m7?=f:J0gc=O;j>0(h;5219j`<<722com7>5;hfa>5<=5fd883>>oci3:17djm:188mae=831d=:850;9~f7?c290?6=4?{%3;e?75m2B8ok5G3b68 `3=ko1bh44?::kge?6=3`ni6=44o055>5<54;294~"60h0:>h5G3bd8L6e33-o>63:17pl=8083>1<729q/=5o513g8L6ea3A9h86*j5;32?lb>2900eio50;9j`g<722e:;;4?::a74?=83?1<7>t$0:b>44a3A9hj6F5;hfb>5<>i6??0;66sm31d94?3=83:p(<6n:00e?M5dn2B8o95+e4817>oc13:17djn:188mad=831bhn4?::m233<722wi>km50;794?6|,82j6<N4k=1/i84=3:kg=?6=3`nj6=44ie`94?=nlj0;66a>7783>>{e:;91<7=50;2x 4>f288o7E=lf:J0g1=#m<09>6gk9;29?lbf2900c<99:188yg7ek3:1?7>50z&21<7>t$0:b>44b3A9hj6F5;hfb>5<>oci3:17djm:188k4112900qo2b9K7f`<@:i?7)k::028ma?=831d=:850;9~f7d029096=4?{%3;e?75k2B8ok5G3b68 `3=991bh44?::m233<722wi>o;50;094?6|,82j6<N4k=1/i84>0:kg=?6=3f;<:7>5;|`1f6<72;0;6=u+19c957e<@:im7E=l4:&f1?773`n26=44o055>5<52;294~"60h0:>n5G3bd8L6e33-o>6<>4ie;94?=h9><1<75rb3ce>5<5290;w)?7a;31g>N4ko1C?n:4$d7955=nl00;66a>7783>>{e:hn1<7<50;2x 4>f288h7E=lf:J0g1=#m<0:<6gk9;29?j70>3:17pl=ac83>7<729q/=5o513a8L6ea3A9h86*j5;33?lb>2900c<99:188yg4f13:1>7>50z&2=<:181>5<7s-;3m7?=c:J0gc=O;j>0(h;5119j`<<722e:;;4?::a767=8381<7>t$0:b>44d3A9hj6F5;n342?6=3th8>k4?:383>5}#91k1=?m4H2ae?M5d<2.n97??;hf:>5<8`826f=O;jl0D>m;;%g6>46>i6??0;66sm33;94?4=83:p(<6n:00`?M5dn2B8o95+e4824>oc13:17b?86;29?xd4:>0;6?4?:1y'5=g=9;i0D>mi;I1`0>"b=3;;7dj6:188k4112900qo==5;296?6=8r.:4l4>2b9K7f`<@:i?7)k::028ma?=831d=:850;9~f7e329096=4?{%3;e?75k2B8ok5G3b68 `3=991bh44?::m233<722wi?>j50;094?6|,82j6<N4k=1/i84>0:kg=?6=3f;<:7>5;|`167<72?0;6=u+19c9566<@:im7E=l4:&f1?423`n26=44iec94?=nlk0;66gkc;29?j7513:17b?86;29?xd6jk0;6;4?:1y'5=g=9::0D>mi;I1`0>"b=38>7dj6:188mag=831bho4?::kgg?6=3f;957>5;n342?6=3th8mo4?:9594?6|@:i?7)?7a;34b>\3=3kp47<9:e821?7428h1i7?9:0695f0=#m80>7)k=:49'a6<23-ii6i>4$d491>"b?3?0(h655:&f=?3<,lk196*jb;78 `e==2.nh7;4$dg91>"bn3?0(k>55:&e5?3<,o8196*i3;78 c2==2.m97;4$g491>"a?3?0(k655:&e=?3<,ok196*ib;78 ce==2.mh7;4$gg91>"an3?0(<>?:49'557==2.:"68?0>7)??7;78 46?2<1/==755:&24d<23-;;n7;4$02`>0=#99n196*>0d86?!77n3?0("69?0>7)?>7;78 47?2<1/=<755:&25d<23-;:n7;4$03`>0=#98n196*>1d86?!76n3?0(<?4:;%317?3<,88?685+13791>"6:?087)?74;61?!c32<1/=5853:&0g<<6091/?no51928j4n0:2>4444=831b=5650;9j<0<72-;k1<65f3483>!70j39=7c?8a;38?l53290/=:l5379m52g=:21b?>4?:%34f?513g;5<#9>h1?;5a16c90>=n;80;6)?8b;15?k70i3?07d=?:18'52d=;?1e=:o56:9j6c<72-;k1465f2e83>!70j39=7c?8a;;8?l26290/=:l5419m52g=821b?k4?:%34f?273g;5<#9>h18=5a16c96>=n;m0;6)?8b;63?k70i3907d=l:18'52d=<91e=:o54:9j7g<72-;k1:65f3883>!70j3>;7c?8a;58?l5?290/=:l5419m52g=021b;i4?:%34f?1d3g;4;h5a>5<#9>h1;n5a16c95>=n?00;6)?8b;5`?k70i3807d97:18'52d=?j1e=:o53:9j32<72-;k1965f7483>!70j3=h7c?8a;48?l13290/=:l57b9m52g=?21b;>4?:%34f?1d3g;5<#9>h1;n5a16c9=>=n?80;6)?8b;5`?k70i3k07d9?:18'52d=?j1e=:o5b:9j2`<72-;k1h65f6b83>!70j3=h7c?8a;g8?l0e290/=:l57b9m52g=n21b:l4?:%34f?1d3g;47<3`<36=4+16`93f=i9>k1=?54i7594?"6?k07`827>=n>?0;6)?8b;5`?k70i3;?76g95;29 41e2>i0b<9n:078?l>3290/=:l57b9m52g=9?10e5=50;&23g<0k2d:;l4>7:9j<7<72-;5$05a>2e5<#9>h1;n5a16c95d=l1<7*>7c84g>h6?h0:n65f7d83>!70j3=h7c?8a;3`?>o0i3:1(<9m:6a8j41f28n07d8i:18'52d=?j1e=:o51d98m32=83.:;o48c:l23d<6n21b4n4?:%34f?>e3g;4;h:b>5<#9>h14o5a16c95>=n000;6)?8b;:a?k70i3807d67:18'52d=0k1e=:o53:9l=1<72-;k1=65`9083>!70j3387c?8a;08?j?7290/=:l5929m52g=;21d4k4?:%34f??43g;5<#9>h15>5a16c91>=h1m0;6)?8b;;0?k70i3<07b7l:18'52d=1:1e=:o57:9l=g<72-;<3f3j6=4+16`9=6=i9>k1565`9883>!70j3387c?8a;c8?j??290/=:l5929m52g=j21d5:4?:%34f??43g;5<#9>h15>5a16c9`>=h1<0;6)?8b;;0?k70i3o07b6k:18'52d=1:1e=:o5f:9lg6<72-;k1=65fc`83>>o6000;66g>o2i3:1(<9m:4;8j41f2910e8650;&23g<212d:;l4>;:k63?6=,8=i6874n05b>7=7c86=>h6?h0876g:5;29 41e2<30b<9n:598m02=83.:;o4:9:l23d<232c=?7>5$05a>0?56`>7`84?>o193:1(<9m:4;8j41f2110e;>50;&23g<212d:;l46;:k6b?6=,8=i6874n05b>d=7c86=>h6?h0i76g:d;29 41e2<30b<9n:b98m0e=83.:;o4:9:l23dn7>5$05a>0?56`>7`8e?>o??3:1(<9m:948j41f2910co650;&23g4=1<7*>7c8a3>h6?h0976am3;29 41e2k=0b<9n:298kg4=83.:;o4m7:l23d<332ei=7>5$05a>g17`85?>ifn3:1(<9m:c58j41f2>10clk50;&23g<=7c8a3>h6?h0j76anb;29 41e2k=0b<9n:c98kd?=83.:;o4m7:l23d5$05a>g17`8f?>if>3:1(<9m:c58j41f2o10cl;50;&23g0:9le1<72-;5$05a>g15<#9>h1n:5a16c956=7c8a3>h6?h0:865`a183>!70j3h<7c?8a;36?>ien3:1(<9m:c58j41f28<07blj:18'52d=j>1e=:o51698kgb=83.:;o4m7:l23d<6021dnn4?:%34f?d03g;4g<3fhj6=4+16`9f2=i9>k1=o54oc;94?"6?k0i;6`>7`82g>=hj<0;6)?8b;`4?k70i3;o76ana;29 41e2k=0b<9n:0g8?j?a290/=:l5b69m52g=9o10cn650;&23g4=7c8`3>h6?h0976al4;29 41e2j=0b<9n:298yv2e83:1:vP;b19>63c=lh16>;m5d89>624=lj16>;85dc9>633=l01v9oj:1853~X4m?1U?i64^5`;?[2e>2T8h:5Q4c18Z1063W>i;6P;639]0=2k?;_1gb>X4ll1U?ij4^2f`?[2d:2T?o<5Q4b28Z1da3W>ii6P;be9]0geX3i01U8l64^5c4?[2f>2T?m85Q4`6896b72m=01>ln:42896ga2<:01>l6:42896d?2<:01>l8:42896e52<:01>m>:42897d?2<801?l9:40897d32<801?l=:40897d72<801?oj:40897gd2<801?on:40897g?2<801?6j:40897>c2<801?6l:40897>e2<801?6n:408971e2<801?9n:408971>2<801?97:40897102<801>>6:408966?2<801>>8:40896612<801>>::40897`12<801?h::40897`32<801?h<:40897`52<801>==:40896572<801><9:40896432<801>om:97896ge282270=nb;1`3>;4ik0>m63;4ik0>;63;4ik0>963;4ik0=?63;4ik0==63;4ik0>j63;4ik0>h63;4ik0>n63;4ik03;6s|4c094?5|V=h970=ma;34g>;4io0:;n5rs353>5<5sW>>:63=71823a=z{=i?6=4<{_6`0>;49h0o563<188g=>{t;51k0?:63;4j90?:63;4j00?:63;4j>0?:63=15872>;59:0?:63=13872>;5980?:63=11872>;58o0?:63=0d872>;58m0?:63=0b872>;5=j0?:63=5c872>;5=h0?:63=58872>;5=10?:63=56872>;5=?0?:63=54872>;5==0?:63=4`872>;5<00?:63=49872>;5<>0?:63=47872>;5<<0?:63=45872>;5<:0?:63=43872>;6l:0?:63>d3872>;6l80?:63>d1872>;6ko0?:63>cd872>;6km0?:63>cb872>;6kk0?:63>c`872>;5l10?:63=d6872>;5l<0?:63=d5872>;5l?0?:63=d2872>;5l;0?:63=d1872>;5ko0?:63=d0872>;5mj0?:63=ec872>;5mh0?:63=e8872>;5m10?:63=e6872>;5m?0?:63=e4872>;5m=0?:63=e2872>;5>o0?:63=71872>;5>h0?:63=68872>;4190?:63<8g872>;40l0?:63<8e872>;40j0?:63<8c872>;40h0?:63<88872>;4110?:63<96872>;41?0?:63<94872>;41=0?:63<92872>;41;0?:63<90872>;4010?:63<86872>;4ik0?m6s|30594?4|V=?h70=>7;34`>{t;49>0?:63<17872>;4jj0?:63;4jk0?:63;4k80?:63>ae872>;6ij0?:63>ac872>;6ih0?:63>a8872>;6i10?:63>a6872>;6i?0?:63>a4872>;6n00?:63>f9872>;6n>0?:63>f7872>;6n<0?:63>f5872>;6n:0?:63>f3872>;6n80?:63>e6872>;6m?0?:63>e4872>;6m=0?:63>e2872>;6m;0?:63>e0872>;6m90?:63>dg872>;6ll0?:63=39872>;5;>0?:63=37872>;5;<0?:63=35872>;5;:0?:63=33872>;5;80?:63=31872>;4=k0?:63<58872>;4=h0?:63<5b872>;4=m0?:63<5d872>;4=o0?:63<61872>;4>80?:63<4g872>;4;4;4;4<>0?:63<49872>;4?:0?:63<73872>;4?80?:63<71872>;4>o0?:63<6d872>;4>m0?:63<6b872>;4>k0?:63{t;>n1<783;{t;>h1<7{t;>31<7{t;>=1<7{t;1<1<703;;70=67;34`>{t;1>1<7>3;{t;181<7<3;{t;1:1<7:3;{t;>o1<7{t<;21<77}Y<9901>om:7c8yv25=3:1>vP;039>7dd=>01v9<;:181[279278mo498:p075=838pR9>?;<1bf?003ty?>?4?:3y]7c`<5:ki6;84}r614?6=:rT8ji523``920=z{=;m6=4={_1eg>;4ik0386s|40g94?4|V:li70=nb;:0?xu39m0;6?uQ3gc896ge2120q~:>c;296~X4n016?ll5839~w17e2909wS=i8:?0eg2`:47>52z\0b0=:;hh1;h5rs534>5<5sW9m863{t<8?1<77}Y;o;01>om:768yv26;3:1>vP7dd=0j1v9?=:181[5bn278mo48d:p047=838pR>kj;<1bf?1e3ty?==4?:3y]7`b<5:ki6:74}r63b?6=:rT8in523``93==z{=:n6=4={_1ff>;4ik0<;6s|41f94?4|V:oj70=nb;55?xu38j0;6?uQ3d;896ge2>?0q~:=f;296~X38h16?ll5759~w14b2909wS:?9:?0eg249n7>52z\743=:;hh1;<5rs50b>5<5sW>;963{t<;31<77}Y;o901>om:7f8yv26>3:1>vP7dd=>j1v9>m:181[5b?278mo49b:p563=833p1>j>:05;?84ei3>270270<87;6:?857=3>270270==4;6:?xu51j0;6?u228`915=::0n1=:84}r1a2?6=9hq6>4l516a896d>28=o70h70h70h70h70;5l80?o63=eb87g>;5mk0?o63=e`87g>;5m00?o63=e987g>;5m>0?o63=e787g>;5m<0?o63=e587g>;5m:0?o63=6g823f=::>:1=:m4=34b>1e<5;<269m4}r0:f?6=7e9>63e=lj16?lj5d89>633=lh1v>li:181<~;49>0?o63<1787g>;4k80:;i521`f90f=:9hi18n521``90f=:9hk18n521`;90f=:9h218n521`590f=:9h<18n521`790f=:9o318n521g:90f=:9o=18n521g490f=:9o?18n521g690f=:9o918n521g090f=:9o;18n521d590f=:9l<18n521d790f=:9l>18n521d190f=:9l818n521d390f=:9l:18n521ed90f=:9mo18n5222:90f=:::=18n5222490f=:::?18n5222690f=:::918n5222090f=:::;18n5222290f=z{:;36=4<{<123?37349::7;?;<12=?70>2wx?<850;1x967128=o70=>a;fb?85613nj7p}6}:;k;19=523c2952b<5:km6994}r1a5?6=:r78n<4>7e9>7g5=l01v>lm:18085ek3?;70=ma;64?85ej3;3ty8mk4?:2y>7g6==916?lh516f896d42mk0q~=ma;297~;4jh0:;i523c`915=:;ko1hl5rs2`1>5<3s49i57?8c:?0f=<6?j16?o9516a896d428==7p}70|5:h36<9k;<020?2d348:?7:l;<026?2d348:=7:l;<024?2d348;j7:l;<03a?2d348;h7:l;<03g?2d348>o7:l;<06f?2d348>m7:l;<06=?2d348>47:l;<063?2d348>:7:l;<061?2d348>87:l;<07e?2d348?57:l;<07;40o0:;h5239g952c<5:2o6<9j;<1;g?70m2784o4>7d9>7=g=9>o01>66:05f?85>03;41b349287?8e:?0=6<6?l16?4<516g896?628=n70=78;34a>;40>0:;h523`f9`d=:;hh1=564}r1a`?6=;r78o?4>7b9>7f7=9>i01>lj:055?xu4k90;641c349>n7:l;<16=?70k2789l4;c:?01f<3k2789i4;c:?01`<3k2789k4;c:?025<3k278:<4;c:?00c<3k2788h4;c:?00f<3k2788o4;c:?00a<3k2788l4;c:?00<<3k2788:4;c:?00=<6?j16?:=54b9>724=726=73c=73e=w0?nd;73?87a13;ag8ge>;6j80o563>b28gg>{t9h>1<7=t=0cg>41c349:?7jn;<134?bf3ty:mh4?:3y>5de==916=lh51648yv7f;3:1?v3>ab823a=:;881h4522gd9`<=z{8h;6=4={<3bf?3734;i=7?86:p5d4=839p1ag<58h<6i74=0`:>ae<58hi6im4}r3b5?6=;r7:ml4>7e9>747=l016>kk5d89~w4d32909w0?n9;73?87e=3;<:6s|1`294?5|58k26<9k;<125?be348mi7jm;|q2f3<72;q6=l65519>5g1=9><0q~?6f;297~;6i10:;i523029`<=::on1h45rs0`;>5<5s4;j;7;?;<3a=?70>2wx=4k50;1x94g028=o70=>0;fa?84al3ni7p}>b`83>7}:9h<19=521ca952053z?2e3<6?m16?=h5d89>6ce=l01v{t90i1<7=t=0c6>41c349;j7jm;<0eg?be3ty99>4?:4y>642==916>8m516f897712mk01??7:e;8977f2mi0q~5<5s48:?7;?;<022?70>2wx>=o50;1x977428=o70<68;f:?84?=3nh7p}=1683>7}::8819=5220:952053z?157<6?m16>495d`9>6=2=lh1v??6:18584693?;70<>a;342>;59j0om63=1d8g=>;5:90oo63=238gg>{t:921<7=t=332>41c3482;7j6;<0;0?b>3ty9=o4?:3y>646==916>i:05g?84>>3n270<73;f:?xu59o0;6?u221g915=::;:1=:84}r031?6=;r79

7e9>6<3=lh16>5<5d`9~w7462909w03483>7j6;|q160<72;q6>=m5519>670=9><0q~5<5s48>o7;?;<07e?70l2wx>9>50;0x973e2<:01?:6:05g?xu5=;0;69u224`952b<5;;=6i74=33;>ag<5;;j6il4}r00b?6=:r799l4:0:?10=<6?m1v?;>:180842i3;;59h0om6s|22g94?4|5;?268>4=364>41c3ty99=4?:3y>60?=9>n01??n:e;8yv44l3:1>v3=59864>;55<2s48>47?8d:?15f?4kb:p66e=838p1?;8:428972228=o7p}=4d83>1}::<=1=:j4=33f>ad<5;8;6io4=301>ag52z?113<28279894>7e9~w72c2908w0<:6;34`>;5:90o563=238g=>{t::k1<706<5;>86<9k;|q10f<72:q6>8;516f897442m301?<9:ec8yv4413:1>v3=55864>;5<;0:;i5rs36a>5<5s48>87?8d:?1632<:017e9>5d`=l016=o?5d`9>5g5=lk1v{t9lo1<7=t=0d4>41c34;i=7jm;<3a7?bf3ty:hl4?:3y>5c0==916=h:516f8yv7bl3:1>v3>f7823a=:9k91h45rs0f:>5<5s4;m97;?;<3f7?70l2wx=hm50;7x94`228=o70?m5;f:?87e?3nj70?m9;fa?87ej3ni7p}>d983>7}:9o>19=521d0952b54z?2b1<6?m16=o95dc9>5g?=lh16=ol5d`9~w4b02909w0?i3;73?87b93;34;in7j6;|q2`3<72;q6=k<5519>5`6=9>n0q~?j9;297~;6n;0:;i521ca9`<=:9kl1hl5rs0f6>5<5s4;m=7;?;<3gb?70l2wx=h650;0x94`628=o70?mf;f:?xu5:o0;6?u225c915=:::21=:j4}r01a?6=:r79844:0:?172<6?m1v?{t:;i1<706<5;9>6<9k;|q16g<72;q6>985519>662=9>n0q~<=a;296~;5<<0><63=32823a=z{;826=4={<070?373488>7?8d:p67>=838p1?:<:428975628=o7p}=2683>7}::=819=52222952b52z?2a2<2827:h>4>7e9~w4e?2909w0?j6;73?87c:3;68>4=0f2>41c3ty:o;4?:3y>5`2==916=i>516f8yv7d=3:1>v3>e2864>;6ko0:;i5rs0a7>5<5s4;n>7;?;<3`a?70l2wx=n=50;0x94c62<:01{t9m>1<7?t=0ff>41c3ty9i?4?:4y>5a5==916>hm516f894>e2m301?6::e;896ge2:=0q~?ia;296~;6l;0><63>8c8233=z{8li6=4={<3g5?3734;3o7?86:p5ce=838p1c28==7p}>fe83>7}:9jl19=5219g952052z?2g`<2827:4k4>779~w4`a2909w0?ld;73?87>83;<:6s|21294?4|58ih68>4=0;2>4113ty9<<4?:3y>5fd==916=4<51648yv47:3:1>v3>c`864>;61:0:;;5rs24b>5<3s48847;?;<147?70l27:594k9:?0eg<392wx>8j50;0x97502<:01<7;:055?xu5=l0;6?u2224915=:90?1=:84}r06b?6=:r79?84:0:?2=3<6??1v?8?:181844<3?;70?67;342>{t:?;1<706<58336<99;|q127<72;q6>><5519>5<0q~<93;296~;5;80><63>9`8233=z{;<70<70<70<70<70<70<70<70<70<70=nd;fa?841=3;<:63=9e8g=>{t:h=1<706<5;i86<99;|q1g`<72=q6>i6516f897cd2<:01?77:ea897e32m30q~0><63=c38233=z{;io6=4;{<0g3?70l279io4:0:?1==1}::m?1=:j4=3g:>06<5;3<6il4=3`6>a?52z?1`1<28279nk4>779~w7ef290?w0;5m10><63=978gg>;5j:0o56s|2`794?4|5;n=68>4=3a2>4113ty9on4?:5y>6a0=9>n01?kn:42897?02mi01?l8:e;8yv4f:3:1>v3=d2864>;5jl0:;;5rs3a:>5<3s48o?7?8d:?1a2<282795;4kb:?1f4l?50;0x97b52<:01?lk:055?xu5k10;69u22e0952b<5;o=68>4=3;6>ae<5;km6i74}r0:b?6=:r79h=4:0:?1fg<6??1v?m9:18784c83;;51=0on63=ac8g=>{t:0o1<706<5;hj6<99;|q1g0<72=q6>nh516f897c42<:01?7;:ec897g>2m30q~<63=bb8233=z{;i<6=4;{<0g5?70l279i84:0:?1=0=838p1?m<:5;897d?28==7p}=c583>7}::j91=?64=3a7>4113ty9n;4?:2y>6f4=<016>o65489>6g0=9><0q~5522c:95=5<5;h26<99;|q1f1<72:q6>n?5489>6g0=<016>o:51648yv4e?3:1?v3=c0826==::k<1=5=4=3`4>4113ty9n?4?:2y>6f6=<016>o:5489>6g4=9><0q~5522c695=5<5;h>6<99;|q1f5<72:q6>oh5489>6g4=<016>o>51648yv4e;3:1?v3=bg826==::k81=5=4=3`0>4113ty9mh4?:2y>6gc=<016>o>5489>6dc=9><0q~5522c295=5<5;h:6<99;|q1ef<72:q6>oj5489>6dc=<016>lm51648yv4fn3:1?v3=be826==::ho1=5=4=3ce>4113ty9ml4?:2y>6ge=<016>lm5489>6dg=9><0q~5522`a95=5<5;ko6<99;|q1e=<72:q6>ol5489>6dg=<016>l651648yv4fj3:1?v3=bc826==::hk1=5=4=3ca>4113ty9m44?:2y>6gg=9;201?o7:0:0?84f13;<:6s|2d394?3|5;oi6<9k;<3;g?b>34;3n7jn;<0;1?be349jn7=:;|q1a5<72ho516f894>c2m301<6l:ec897>32mi01>om:268yv4cn3:19v3=e8823a=:91o1h45219f9`d=::1>1ho523``976=z{;nn6=4:{<0f4kc:?0eg<4:2wx>ij50;7x97c028=o70?60;f:?87?n3nj70<73;fa?85fj39:7p}=db83>0}::l<1=:j4=0;2>a?<583;6io4=3:1>ae<5:ki6>>4}r0gf?6==r79i84>7e9>5<4=l016=4?5d`9>6=4=lk16?ll52g9~w7bf290>w0;61:0o563>938ge>;5080on63{t:m31<7:t=3g0>41c34;2?7jn;<0;5?bf349jn7;h5519>626==916>:<51648yv41n3:1>v3=6g823a=::>81h45rs34a>5<5s48=m7;?;<05g?70>2wx>;650;4x970f28=o70<9e;fa?841k3ni70<82;fa?841>3n270<95;fa?xu5>m0;6?u227;915=::?o1=:84}r053?6=>r79:44>7e9>63c=l016>;m5d`9>624=lh16>;85d`9>633=lj1v?66:18184?m3>270<7d;342>{t:091<74>4348247?86:p6l3nj7p}=8983>7}::1n1845229a95207>52z?14951648yv4??3:1>v3=8b87=>;50k0:;;5rs3;2>5<5s483o7?73:?1=3<6??1v?69:18184?j3>270<7a;342>{t:0:1<74>4348297?86:p6=`=838p1?6n:0:0?84><3;<:6s|26494?4|5;=i6974=35b>4113ty94=4?:3y>62d=91901?6::055?xu5100;6?u226`9520<5;3o6il4}r041?6=:r79;l4;9:?13<<6??1v?9i:181840i3;3?63=858233=z{;=?6=4={<04=?2>348<47?86:p62c=838p1?96:0:0?84?;3;<:6s|26194?4|5;=36974=354>4113ty9;i4?:3y>62>=91901?6=:055?xu5?j0;6?u226595=5<5;2:6<99;|q041<72;q6?=75489>75>=9><0q~=?e;296~;4800:4>52301952052z?04<<6??16?<75db9~w6642909w0=?8;6:?857?3;<:6s|31f94?4|5::36<6<;<126?70>2wx?=<50;0x96602=301>>9:055?xu48j0;6?u231595=5<5:;:6<99;|q044<72;q6?=85489>753=9><0q~=?b;296~;48?0:4>52302952052z?040<60:16?=h51648yv4a93:1>v3=f787=>;5n<0:;;5rs3da>5<5s48m:7?73:?045<6??1v>?;:18184a>3;<:63<188gf>{t:o:1<71?<5;l?6<99;|q1bd<72;q6>k;5191897`a28==7p}=eg83>7}::o>184522g1952052z?1b1<60:16>kk51648yv4bm3:1>v3=f287=>;5n;0:;;5rs3d;>5<5s48m?7?73:?1ba<6??1v?h8:18184a:3;3?63=fb8233=z{:=?6=4>ez?01g<3?278944;7:?01d<3?2789n4;7:?01a<3?2789h4;7:?01c<3?278:=4;7:?024<3?2788k4;7:?00`<3?2788n4;7:?00g<3?2788i4;7:?00d<3?278844;7:?002<3?278854;7:?036<3?278;?4;7:?034<3?278;=4;7:?02c<3?278:h4;7:?02a<3?278:n4;7:?02g<3?278=l4>779>7dd=;j201>om:bc8yv5383:18v3<5c864>;4<00:;i523029`f=:;;31h45rs271>5<4s49>n7?8d:?02a<28279ji4kc:p76c=83>p1>;6:428962028=o70=?f;f`?855=3n27p}<5183>6}:;<31=:j4=24a>06<5;lh6im4}r10b?6=771=l01v>;>:180852i3;;5nj0om6s|35394?2|5:?h68>4=26b>41c349:<7jn;<11f?b>3ty89>4?:2y>70e=9>n01>8j:42897`c2mk0q~=;2;290~;4=m0><63<4c823a=:;8;1hn5233f9`<=z{:??6=4<{<16`?70l278:k4:0:?1b`:l:05g?85693nj70==f;f:?xu4=<0;6>u234g952b<5:=;68>4=3df>ag54z?01c<282788i4>7e9>744=lj16?>?5d89~w6312908w0=:f;34`>;4?80><63=fg8gg>{t;=?1<7:t=243>06<5:>n6<9k;<126?bf3498?7j6;|q012<72:q6?;>516f896152<:01?hi:ec8yv53>3:18v3<60864>;45<4s49==7?8d:?036<28278<=4k9:p775=838p1>:i:428965d28==7p}<2383>7}:;=o19=5232`952052z?00f<28278?44>779~w67a2909w0=;b;73?85403;<:6s|33394?4|5:>o68>4=21b>4113ty8=h4?:3y>71g==916?>951648yv56l3:1>v3<48864>;4;?0:;;5rs23a>5<5s49?;7;?;<100?70>2wx?=::055?xu4;;0;6?u232a90<=:;:81=:84}r10`?6=:r78?n4>299>76b=9><0q~=<0;297~;4;k0?563<3387=>;4;90:;;5rs210>5<4s498n7?=8:?077<60:16?>=51648yv55m3:1?v3<3`87=>;4;90?563<2d8233=z{:9:6=4<{<10e?750278?=4>829>767=9><0q~==c;297~;4;00?563<2d87=>;4:j0:;;5rs20e>5<4s49857?=8:?06`<60:16??h51648yv55i3:1?v3<3987=>;4:j0?563<2`8233=z{:8o6=4<{<10n4>829>77b=9><0q~==8;297~;4;>0?563<2`87=>;4:10:;;5rs20a>5<4s498;7?=8:?06d<60:16??l51648yv55>3:1?v3<3787=>;4:10?563<278233=z{:826=4<{<102?750278>54>829>77?=9><0q~==4;297~;4;<0?563<2787=>;4:=0:;;5rs204>5<4s49897?=8:?063<60:16??951648yv55=3:1?v3<35826==:;;>1=5=4=206>4113ty8:44?:5y>724=9>n01<7::e;894?32mk01>om:2d8yv5103:18v3<70823a=:90<1h4521879`d=:;hh1?h5rs244>5<3s49<<7?8d:?2=2?3nj70=nb;1`?xu4><0;69u237g952b<58326i74=0;;>ag<5:ki6>l4}r150?6=7e9>57dd=;h1v>8<:187851k3;9c8g=>;61h0om63{t;?81<7=t=24a>41c34;2n7jn;<1bf?5?3ty8mh4?:01x96?72==01>6i:55896>b2==01>6k:55896>d2==01>6m:55896>f2==01>66:55896??2==01>78:55896?12==01>7::55896?32==01>7<:55896?52==01>7>:55896>?2==01>68:558970128==7p}7}:;0:19=523``9g6=z{:k;6=4={<1;b?37349jn77;;|q0=c<72;q6?5k5519>7dd=1;1v>7j:18185?l3?;70=nb;;2?xu41m0;6?u239a915=:;hh15=5rs2;`>5<5s493n7;?;<1bf?>a3ty85o4?:3y>7=g==916?ll58d9~w6?f2909w0=79;73?85fj33o7p}7}:;0219=523``9=f=z{:k26=4={<1:3?37349jn7m>;|q0e=<72;q6?485519>7dd=1k1v>o8:18185>=3?;70=nb;;b?xu4i?0;6?u2386915=:;hh1545rs2c6>5<5s492?7;?;<1bf???3ty8m94?:3y>7<4==916?ll5969~w6g42909w0=61;73?85fj33=7p}7}:;1219=523``9=0=z{:326=4={<1;3?37349jn76k;|q0ef<72;q6?lj5164896ge2j30q~?<7;296~;5::0om63=23826<=z{8?86=4={<3ag?bf34;in7?=9:p672=838p1?<9:e`8974528==7p}>be83>7}:9kl1ho521c`952018o<4$2a0>4163ty?n44?:3y]0g?<5=>18o74$2a0>4153ty?m>4?:3y]0d5<5=>18l=4$2a0>4143ty?>54?:3y]052<5=>18=:4$2a0>4503ty?>;4?:3y]055<5=>18==4$2a0>4253ty?>84?:3y]054<5=>18=<4$2a0>42e3ty?>94?:3y]057<5=>18=?4$2a0>42c3ty?>>4?:3y]056<5=>18=>4$2a0>42b3ty?>?4?:3y]7c`<5=>1?kh4$2a0>42a3ty?>=4?:3y]7cb<5=>1?kj4$2a0>4373ty?=k4?:3y]7ce<5=>1?km4$2a0>4363ty?=h4?:3y]7cd<5=>1?kl4$2a0>4353ty?=i4?:3y]7cg<5=>1?ko4$2a0>4333ty?=n4?:3y]7c?<5=>1?k74$2a0>4323ty?=o4?:3y]7c><5=>1?k64$2a0>4313ty?=l4?:3y]7c1<5=>1?k94$2a0>4303ty?=44?:3y]7c0<5=>1?k84$2a0>43?3ty?=54?:3y]7c3<5=>1?k;4$2a0>43>3ty?=:4?:3y]7c2<5=>1?k:4$2a0>43f3ty?=84?:3y]7c4<5=>1?k<4$2a0>43e3ty?=94?:3y]7c7<5=>1?k?4$2a0>43d3ty?=>4?:3y]7c6<5=>1?k>4$2a0>43c3ty?=?4?:3y]7``<5=>1?hh4$2a0>43b3ty?=<4?:3y]7`c<5=>1?hk4$2a0>43a3ty?==4?:3y]7`b<5=>1?hj4$2a0>4073ty?1?hm4$2a0>4063ty?1?hl4$2a0>4053ty?1?ho4$2a0>4043ty?1?h74$2a0>4033ty?>k4?:3y]05g<5=>18=o4$2a0>4023ty?>h4?:3y]05?<5=>18=74$2a0>4013ty?>i4?:3y]05><5=>18=64$2a0>4003ty?>n4?:3y]051<5=>18=94$2a0>40?3ty?>o4?:3y]050<5=>18=84$2a0>40>3ty?>l4?:3y]053<5=>18=;4$2a0>40f3ty?>44?:3y]7cc<5=>1?kk4$2a0>40e3ty?><4?:3y]7c5<5=>1?k=4$2a0>40d3ty?=;4?:3y]7`><5=>1?h64$2a0>40c3ty?1?h94$2a0>40b3ty?o94?:3y]0f2<5=>18n:4$2a0>40a3ty?n=4?:3y]0g6<5=>18o>4$2a0>4173ty?8o4?:3y]06?<5=>18>74$2a0>4513ty?844?:3y]06><5=>18>64$2a0>45?3ty?854?:3y]061<5=>18>94$2a0>45>3ty?8:4?:3y]060<5=>18>84$2a0>45f3ty?8;4?:3y]063<5=>18>;4$2a0>45e3ty?884?:3y]062<5=>18>:4$2a0>45d3ty?894?:3y]065<5=>18>=4$2a0>45c3ty?8>4?:3y]064<5=>18><4$2a0>45b3ty?994?:3y]017<5=>189?4$2a0>45a3ty?9>4?:3y]016<5=>189>4$2a0>4273ty?9?4?:3y]06`<5=>18>h4$2a0>4263ty?9<4?:3y]06c<5=>18>k4$2a0>4243ty?9=4?:3y]06b<5=>18>j4$2a0>4233ty?8k4?:3y]06e<5=>18>m4$2a0>4223ty?8h4?:3y]06d<5=>18>l4$2a0>4213ty?8i4?:3y]06g<5=>18>o4$2a0>4203ty?8n4?:3y]067<5=>18>?4$2a0>42?3ty?8?4?:3y]066<5=>18>>4$2a0>42>3ty?9n4?:3y]00e<5=>188m4$2a0>42f3ty?9;4?:3y]000<5=>18884$2a0>42d3twe4oh50;0xL6e33td3o=4?:3yK7f252zJ0g1=zf1i96=4={I1`0>{i0j91<7d=3:1>vFm;;|l;g=<72;qC?n:4}o:`=?6=:rB8o95rn9ab>5<5sA9h86sa8b`94?4|@:i?7p`7cb83>7}O;j>0qc6ld;296~N4k=1vb5mj:181M5d<2we4nh50;0xL6e33td3h=4?:3yK7f252zJ0g1=zf1n96=4={I1`0>{i0m91<7c=3:1>vFm;;|l;`=<72;qC?n:4}o:g=?6=:rB8o95rn9fb>5<5sA9h86sa8e`94?4|@:i?7p`7db83>7}O;j>0qc6kd;296~N4k=1vb5jj:181M5d<2we4ih50;0xL6e33td3i=4?:3yK7f252zJ0g1=zf1o96=4={I1`0>{i0l91<7b=3:1>vFm;;|l;a=<72;qC?n:4}o:f=?6=:rB8o95rn9gb>5<5sA9h86sa8d`94?4|@:i?7p`7eb83>7}O;j>0qc6jd;296~N4k=1vb5kj:181M5d<2we4hh50;0xL6e33td3j=4?:3yK7f252zJ0g1=zf1l96=4={I1`0>{i0o91<7a=3:1>vFm;;|l;b=<72;qC?n:4}o:e=?6=:rB8o95rn9db>5<5sA9h86sa8g`94?4|@:i?7p`85683>4}O;j>0qc964;295~N4k=1vb:7::182M5d<2we;4850;3xL6e33td<5:4?:0yK7f251zJ0g1=zf>326=4>{I1`0>{i?0k1<7?tH2a7?xh01k0;6k3:1=vFm;;|l4=c<728qC?n:4}o5b4?6=9rB8o95rn6c2>5<6sA9h86sa7`094?7|@:i?7p`8a283>4}O;j>0qc9n4;295~N4k=1vb:o::182M5d<2we;l850;3xL6e33td51zJ0g1=zf>k26=4>{I1`0>{i?hk1<7?tH2a7?xh0ik0;6m;;|l4ec<728qC?n:4}o5a4?6=9rB8o95rn6`2>5<6sA9h86sa7c094?7|@:i?7p`8b283>4}O;j>0qc9m4;295~N4k=1vb:l::182M5d<2we;o850;3xL6e33td51zJ0g1=zf>h26=4>{I1`0>{i?kk1<7?tH2a7?xh0jk0;6m;;|l4fc<728qC?n:4}o5`4?6=9rB8o95rn6a2>5<6sA9h86sa7b094?7|@:i?7p`8c283>4}O;j>0qc9l4;295~N4k=1vb:m::182M5d<2we;n850;3xL6e33td51zJ0g1=zf>i26=4>{I1`0>{i?jk1<7?tH2a7?xh0kk0;6m;;|l4gc<728qC?n:4}o5g4?6=9rB8o95rn6f2>5<6sA9h86sa7e094?7|@:i?7p`8d283>4}O;j>0qc9k4;295~N4k=1vb:j::182M5d<2we;i850;3xL6e33td51zJ0g1=zf>n26=4>{I1`0>{i?mk1<7?tH2a7?xh0lk0;6m;;|l4`c<728qC?n:4}o5f4?6=9rB8o95rn6g2>5<6sA9h86sa7d094?7|@:i?7p`8e283>4}O;j>0qc9j4;295~N4k=1vb:k::182M5d<2we;h850;3xL6e33td51zJ0g1=zf>o26=4>{I1`0>{i?lk1<7?tH2a7?xh0mk0;6m;;|l4ac<728qC?n:4}o5e4?6=9rB8o95rn6d2>5<6sA9h86sa7g094?7|@:i?7p`8f283>4}O;j>0qc9i4;295~N4k=1vb:h::182M5d<2we;k850;3xL6e33td51zJ0g1=zf>l26=4>{I1`0>{i?ok1<7?tH2a7?xh0nk0;6m;;|l4bc<728qC?n:4}o:34?6=9rB8o95rn922>5<6sA9h86sa81094?7|@:i?7p`70283>4}O;j>0qc6?4;295~N4k=1vb5>::182M5d<2we4=850;3xL6e33td3<:4?:0yK7f251zJ0g1=zf1:26=4>{I1`0>{i09k1<7?tH2a7?xh?8k0;67k3:1=vFm;;|l;4c<728qC?n:4}o:24?6=9rB8o95rn932>5<6sA9h86sa80094?7|@:i?7p`71283>4}O;j>0qc6>4;295~N4k=1vb5?::182M5d<2we4<850;3xL6e33td3=:4?:0yK7f251zJ0g1=zf1;26=4>{I1`0>{i08k1<7?tH2a7?xh?9k0;66k3:1=vFm;;|l;5c<728qC?n:4}o:14?6=9rB8o95rn902>5<6sA9h86sa83094?7|@:i?7p`72283>4}O;j>0qc6=4;295~N4k=1vb5<::182M5d<2we4?850;3xL6e33td3>:4?:0yK7f251zJ0g1=zf1826=4>{I1`0>{i0;k1<7?tH2a7?xh?:k0;65k3:1=vFm;;|l;6c<728qC?n:4}o:04?6=9rB8o95rn912>5<6sA9h86sa82094?7|@:i?7p`73283>4}O;j>0qc6<4;295~N4k=1vb5=::182M5d<2we4>850;3xL6e33td3?:4?:0yK7f251zJ0g1=zf1926=4>{I1`0>{i0:k1<7?tH2a7?xh?;k0;64k3:1=vFm;;|l;7c<728qC?n:4}o:74?6=9rB8o95rn962>5<6sA9h86sa85094?7|@:i?7p`74283>4}O;j>0qc6;4;295~N4k=1vb5:::182M5d<2we49850;3xL6e33td38:4?:0yK7f251zJ0g1=zf1>26=4>{I1`0>{i0=k1<7?tH2a7?xh?3k3:1=vFm;;|l;0c<728qC?n:4}o:64?6=9rB8o95rn972>5<6sA9h86sa84094?7|@:i?7p`75283>4}O;j>0qc6:4;295~N4k=1vb5;::182M5d<2we48850;3xL6e33td39:4?:0yK7f247>51zJ0g1=zf1?26=4>{I1`0>{i02k3:1=vFm;;|l;1c<728qC?n:4}o:54?6=9rB8o95rn942>5<6sA9h86sa87094?7|@:i?7p`76283>4}O;j>0qc694;295~N4k=1vb58::182M5d<2we4;850;3xL6e33td3::4?:0yK7f251zJ0g1=zf1<26=4>{I1`0>{i0?k1<7?tH2a7?xh?>k0;61k3:1=vFm;;|l;2c<728qC?n:4}o:44?6=9rB8o95rn952>5<6sA9h86sa86094?7|@:i?7p`77283>4}O;j>0qc684;295~N4k=1vb59::182M5d<2we4:850;3xL6e33td3;:4?:0yK7f251zJ0g1=zf1=26=4>{I1`0>{i0>k1<7?tH2a7?xh??k0;60k3:1=vFm;;|l;3c<728qC?n:4}o:;4?6=9rB8o95rn9:2>5<6sA9h86sa89094?7|@:i?7p`78283>4}O;j>0qc674;295~N4k=1vb56::182M5d<2we45850;3xL6e33td34:4?:0yK7f251zJ0g1=zf1226=4>{I1`0>{i01k1<7?tH2a7?xh?0k0;6?k3:1=vFc290:wE=l4:m<=c=83;pD>m;;|l;5<6sA9h86sa88094?7|@:i?7p`79283>4}O;j>0qc664;295~N4k=1vb57::182M5d<2we44850;3xL6e33td35:4?:0yK7f251zJ0g1=zf1326=4>{I1`0>{i00k1<7?tH2a7?xh?1k0;6>k3:1=vFm;;|l;=c<728qC?n:4}o:b4?6=9rB8o95rn9c2>5<6sA9h86sa8`094?7|@:i?7p`7a283>4}O;j>0qc6n4;295~N4k=1vb5o::182M5d<2we4l850;3xL6e33td3m:4?:0yK7f251zJ0g1=zf1k26=4>{I1`0>{i0hk1<7?tH2a7?xh?ik0;6fk3:1=vFm;;|l;ec<728qC?n:4}o:a4?6=9rB8o95rn9`2>5<6sA9h86sa8c094?7|@:i?7p`7b283>4}O;j>0qc6m4;295~N4k=1vb5l::182M5d<2we4o850;3xL6e33td3n:4?:0yK7f251zJ0g1=zf1h26=4>{I1`0>{i0kk1<7?tH2a7?xh?jk0;6ek3:1=vFm;;|~yEFDsh<>69>i25f;exFGJr:vLM^t}AB \ No newline at end of file diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco index b5bfdf3e8..d3115e7d5 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xco @@ -1,7 +1,7 @@ ############################################################## # # Xilinx Core Generator version 12.1 -# Date: Thu Aug 12 19:15:42 2010 +# Date: Thu Aug 12 21:06:13 2010 # ############################################################## # diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise index d9013a131..cfe983130 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18.xise @@ -29,331 +29,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - + + diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso b/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso deleted file mode 100644 index f1a6f7899..000000000 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_36to18_fifo_generator_v4_3_xst_1.lso +++ /dev/null @@ -1,3 +0,0 @@ -blkmemdp_v6_2 -blk_mem_gen_v2_6 -fifo_generator_v4_3 -- cgit v1.2.3 From 12755e4e822441b73aad4ca3fdfbb157a3a86477 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 19 Aug 2010 12:46:04 -0700 Subject: Regenerated FIFO with lower trigger level for almost full flag to reflect logic removed from nobl_fifo. Improved ext_fifo_tb further, try to simulate more combinations of decomation rates and packet arrival patterns. Strip out the logic in nobl_fifo that made it look like a Xilinx fall-through FIFO...it is now very simple logic but a propriatory interface that exposes the high inetrnal latency of reads. Allow the USED size of the external FIFO to be parameterized from the core level. Currently set at only 256 Corrected a bug in vita_tx_deframer.v that can write to a FIFO when its full causing illegal state. Made further edits that are currently commented becuase simulation indicates they cause problems, however suspect a further bug is in this code. --- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc | 2 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.v | 4 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xco | 8 +- usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.xise | 4 +- usrp2/extramfifo/ext_fifo.v | 29 +-- usrp2/extramfifo/ext_fifo_tb.v | 70 +++++++- usrp2/extramfifo/nobl_fifo.v | 229 +++--------------------- usrp2/top/u2_rev3/u2_core_udp.v | 3 +- usrp2/vrt/vita_tx_deframer.v | 4 +- 9 files changed, 115 insertions(+), 238 deletions(-) diff --git a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc index 3b3a07ee7..d9277b0c3 100644 --- a/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc +++ b/usrp2/coregen/fifo_xlnx_512x36_2clk_18to36.ngc @@ -1,3 +1,3 @@ XILINX-XDB 0.1 STUB 0.1 ASCII XILINX-XDM V1.6e -$45540<,[o}e~g`n;"2*726&;$:,)<6;.vnt*Ydo&lbjbQwloz\144;?U9oaeP19vl73(iof;0<85?0123=>6789:;<=>;0:23456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?01084<7<9:1:"=?<;029MKVR\3KOH_O39;2=5`=683CE\XZ5psmd[cskdV~c~h}g<883:73<990BB][[:qplcZ`rdeUdk|h^cpw`ts400;2?;4118JJUSS2yxdkRhzlm]wlwct`Vdnklzj<883:4?<990DYY^ZT;fbpdYdg|d044?>0a855113922?OIX\^1HDO31483:45<9?0DYY^ZT;FLE972294:>6?7:HLSQQ11:07?754;8;0>7GAPTV9@LVF480;2<<42;MVPUSS2ME[M1?50?31?64=AGZ^X7JFB=12>586;2996B[[PTV9@JD;;80;2<:4378LQQVR\3ndyy2<5;2=`>5t:9:;jj::6,72?12<<9LM=<5;:HLSQQ11397>JSSX\^1HB^M<283:4=1:2<286869768<567<22N4L?4959:45?530;>585=231EC^ZT;rqkbYbey~rSyf}erj\evubz}636=0=5:;9MKVR\3zycjQjmqvz[qnumzbTbhintd>;>586j231CXZ_UU8q`Zbf|hUhcx`{<983:7=F:11JHI\N<1<;?DBCZH6:255NDEPB878?3HNO^L2<>99B@ATF4=437LJKR@>6:==FLMXJ0;07;@FGVD:0611JHI\N<9611JHI\M<1<;?DBCZK6:255NDEPA878?3HNO^O2<>99B@ATE4=437LJKRC>6:==FLMXI0;07;@FGVG:06h1JHI\M<983:==FLMXI050<;@NO=>GTQGIT^HI<;CW1<>DR[VCEJB?4C39@A44EKCK90OA\6;BMNILRSMM;?7NA]E^EFJ@TF\@EESD@IO69@V@GSMM;0H?5KC39GM3=CAH6;2:5KI@>24;169GMD:6<730HDO31483:2=CAH6:9384DHC?5;0384DHC?7;01OEO2>3?58@LD;9=4<7IGM<07=3>BNJ5;=2:5KIC>23;12NBN1?17:FJF9476>1OEO2=1?58@LD;:;4<7IGM<31=3>BNJ58?2:5KIC>11;1;08;EKA8719?2NBN1<7>69GMG:517<0HDL32?58@LD;;9427IGM<2394;119:FJTD:6294<7IG_A=3=3>BNXK6;2:5KIQ@?5;1BHI5;:2:5KO@>26;108;EMB842912NDM1?::1<4?AIF48?5:6J@A=3=2>BHI585:6J@A=1=2>BHI5>5:6J@A=7=2>BHI5<5:6J@A=5=2>BHI525:6J@A=;=3>BHIVXNK;5KOC>3:2=CGK6:<394DN@?54803MEI0<<17:FLF9746>1OCO2>4?58@JD;9<4<7IAM<04=3>BHJ5;<2:5KOC>2<;117:FLF9466>1OCO2=2?58@JD;::4<7IAM<36=3>BHJ58>2:5KOC>12;1:08;EMA87>9?2NDN1<6>79GKG:56>1OCO2<0?;8@JD;;80;2:5KOC>05;019:FLTD:6294<7IA_A=3=3>BHXK6;2:5KOQ@?5;16H75:DBHVC53ON87KJL4:DGG@56G>2:K16>O402CEEY^P01:8MKOSXV::46GAIUR\47><8:KMMQVX8=20ECG[P^26<>OIA]ZT<;64IOKWTZ6012CEEY][AUG4?LHN\V:;;6GAIU]352=NF@^T;7:KMMQY7=>1BBDZP0758MKOSW9=<7D@FT^2;3>OIA]U;5:5FNHV\4D11BBDZP1758MKOSW8=<7D@FT^3;3>OIA]U:5:5FNHV\5D1D69JJLRX9L=0ECG[_0D4?LHN\V8;;6GAIU]152=NF@^T>?94IOKW[7503@DBXR<;7:KMMQY5=>1BBDZP2758MKOSW;=<7D@FT^0;3>OIA]U95:5FNHV\6D11BBDZP3758MKOSW:=<7D@FT^1;3>OIA]U85:5FNHV\7D1L8;HLJPZ5D?2CEEYQ6B@6:NLEACC?2FDKDMNL59OQQ733E__>95CUU17?ISS0168J466<2D:H68=>0B<>:4:L24320968J46>;2D:=95A1027?K769=1E=<<;;O3271=I98>?7C?>559M54033G;:;95A10:7?K761:1E=?:4N0030>H6:8>0B<<=4:L26622468J441<2D:>::4N00;7>H6;=1E=>?<;O377>H6=:1E=;:4N0477>H6?:1E=5=4N0;1?K443G8;?6@=129M675H51;1E?>5A3108J0480B4=4N830?K?5;2D2?>5A9518J<343G3=?6@6729M==56^Q2h1YILJPFHPPPf=UMHNT[DJ[H^C`?WCFLV]BHYFPB09P56=TADUHCABFSHMM[FNBKB<0_B[]CD58WWPFDVK<7^\YAM]A0>UTZH>0_^\M4:VZT@553\:$kh!rg-dg}(ddbr$Aua}_sf\tkruWniTtb|?012\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4566W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;>R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?02]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[wbXxg~ySjmPxnp3452XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzVxoS}`{r^e`[}iu89:>S_k|umv277=R8&myj#|i/fa{*fjlp&GscQ}d^rmpwY`kVrd~=>?6^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\vaYwf}xTknQwos2342YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt789:T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=>>_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1236ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678:UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=:PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^uq[uhszVmhSua}0126[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYpzVzexQhc^zlv567>VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT{Qnup\cfYg{:;<:Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_vp\tkruWniTtb|?01:\V`urd};9=6[?/fpe*w`(ojr%oaew/sf\tkruWkce0=0=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<0<15>S7'nxm"h gbz-gim'{nT|cz}_ckm878592_;#j|i.sd,cf~)keas#jPpovq[goi4:49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce090=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<4<15>S7'nxm"h gbz-gim'{nT|cz}_ckm838592_;#j|i.sd,cf~)keas#jPpovq[goi4>49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce050=0:W3+bta&{l$knv!cmi{+wbXxg~ySoga_103?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\576<]9%l~k }f.e`|+ekcq%yhR~ats]amkY5:91^<"i}f/pe+be&jf`t"|k_qlwvZdnfV99<6[?/fpe*w`(ojr%oaew/sf\tkruWkceS9 gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?01213>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:;=?84U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos2344403\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=?>279V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567:;=0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?03312>S7'nxm"h gbz-gim'{nT|cz}_ckm[}iu89:8>:5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12377413\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=:=7:W3+bta&{l$knv!cmi{+wbXxg~ySoga_ymq45639;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0404?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789?:>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r12327><]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<;?>269V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^zlv567>;8i7X> gsd-vc)`kq$h`fv re]sjqtXj`dTtb|?014\fab7:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?7358Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678>;9<6[?/fpe*w`(ojr%oaew/sf\tkruWni7<3>328Q5)`zo$yj"ilx/aoo})ulVzexQhc=0=65=R8&myj#|i/fa{*fjlp&xoS}`{r^e`868582_;#j|i.sd,cf~)keas#jPpovq[be;<78;7X> gsd-vc)`kq$h`fv re]sjqtXoj6>2?>4U1-dvc(un&mht#mcky-q`Zvi|{Ulo181219V4*aun'xm#jmw.bnh|*tcWyd~Ril<6<14>S7'nxm"h gbz-gim'{nT|cz}_fa?<;7a3\:$kh!rg-dg}(ddbr$~iQnup\cfY79o1^<"i}f/pe+be&jf`t"|k_qlwvZadW8;m7X> gsd-vc)`kq$h`fv re]sjqtXojU9=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS>?i;T2,cw`)zo%lou lljz,vaYwf}xTknQ;1g9V4*aun'xm#jmw.bnh|*tcWyd~Ril_43e?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]55c=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[27a3\:$kh!rg-dg}(ddbr$~iQnup\cfY?:?1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyij2?>348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;978=7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh<3<12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo595>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>7:70<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlm793<9;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd8385>2_;#j|i.sd,cf~)keas#jPpovq[beXizxnk191279V4*aun'xm#jmw.bnh|*tcWyd~Ril_`qqab:?6;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP0378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX9;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP2378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX;;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP4378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX=;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP6378Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aX?;?0Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiP83;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86;2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:66;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>1:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<2<>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86?2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:26;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>5:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<28>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl8632?64U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4Y7:11^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyijQk1^31<>S7'nxm"h gbz-gim'{nT|cz}_fa\evtboVn:S?<7;T2,cw`)zo%lou lljz,vaYwf}xTknQnssgd[a7X;;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]76==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R;=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W?837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\37><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh>249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4565:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=><249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4563:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=>:249V4*aun'xm#jmw.bnh|*tcWyd~Ril_ymq4561:<1^<"i}f/pe+be&jf`t"|k_qlwvZadWqey<=>8209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=3=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj949:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf595><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb1:1209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=7=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj909:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf5=5><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb161209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=;=65=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ7582_;#j|i.sd,cf~)keas#z|Ppovq[goiW;8;7X> gsd-vc)`kq$h`fv ws]sjqtXj`dT??>4U1-dvc(un&mht#mcky-tvZvi|{UiecQ;219V4*aun'xm#jmw.bnh|*quWyd~Rlfn^714>S7'nxm"h gbz-gim'~xT|cz}_ckm[3473\:$kh!rg-dg}(ddbr${Qnup\flhX?;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU3>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR7=6:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4567:>1^<"i}f/pe+be&jf`t"y}_qlwvZdnfVrd~=>?0005?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt789;9;6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}0122570<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;?3358Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678:89:6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012762=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;8<<9;T2,cw`)zo%lou lljz,swYwf}xTnd`Pxnp34535?2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>:1348Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678?837X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?0142571<]9%l~k }f.e`|+ekcq%|~R~ats]amkYg{:;<;<=b:W3+bta&{l$knv!cmi{+rtXxg~ySoga_ymq4561Wkno219V4*aun'xm#jmw.bnh|*quWyd~Ril<1<14>S7'nxm"h gbz-gim'~xT|cz}_fa?5;473\:$kh!rg-dg}(ddbr${Qnup\cf:56;:0Y=!hrg,qb*adp'iggu!xr^rmpwY`k595>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh090=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm35?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>5:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg919:91^<"i}f/pe+be&jf`t"y}_qlwvZad4149<6[?/fpe*w`(ojr%oaew/vp\tkruWni753?i;T2,cw`)zo%lou lljz,swYwf}xTknQ?1g9V4*aun'xm#jmw.bnh|*quWyd~Ril_03e?P6(o{l%~k!hcy,`hn~({U{by|Pgb]15c=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[67a3\:$kh!rg-dg}(ddbr${Qnup\cfY39o1^<"i}f/pe+be&jf`t"y}_qlwvZadW<;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU==k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS:?i;T2,cw`)zo%lou lljz,swYwf}xTknQ71g9V4*aun'xm#jmw.bnh|*quWyd~Ril_805?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`4949:6[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg=3=63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn692?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?7;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol090=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc939:?1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyij29>348Q5)`zo$yj"ilx/aoo})pzVzexQhc^cpv`a;?78=7X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh<9<12>S7'nxm"h gbz-gim'~xT|cz}_fa\evtbo535>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]360=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU:>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]160=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU8>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]760=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU>>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]560=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU<>85Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef];60=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnU2>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5979:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=0=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=1=1289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc95>5>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5939:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=4=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=191289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc9525>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g59?9:11^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1^31<>S7'nxm"h gbz-gim'~xT|cz}_fa\evtboVn:S?<7;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd[a7X;;20Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hiPd0]76==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R;=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W?837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\37><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmThS7'nxm"h gbz-gim'~xT|cz}_fa\|jt789;996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01011>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt7899996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01611>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt789?996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01411>S7'nxm"h gbz-gim'~xT|cz}_fa\|jt789=996[?/fpe*w`(ojr%oaew/vp\tkruWniTtb|?01:04>S7'nxm"h gm2-va)`z8$yjzh{/Lov|ZTFEVXOSH@PFVDW644a3\:$kh!rg-dh5(ul&my=#|iwgv,IhsW[KFS_KHOTV\AK76:m1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwa969:m1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwa979:j1^<"i}f/pe+bj7&{n$k?!rguep*erz{Um{kzPsucwaZ65k2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[4523\:$kh!rg-dh5(ul&my=#|iwgv,gptuWo}mxR}{aug\ip~789;7<3=9;T2,cw`)zo%l`= }d.eq5+tao~$ox|}_guepZusi}oTaxv?013?4;74=2_;#j|i.sd,ci6)zm%l~< }fvdw+fsuzVl|jyQ|t`vf[hs89::0<0<6:W3+bta&{l$ka>!re-dv4(un~l#n{}r^dtbqYt|h~nS`{w01228486:11^<"i}f/pe+bj7&{n$k?!rguep*cjx}sTjzh{_g`13>S7'nxm"h gm2-va)`z8$yjzh{/dosp|Yao~Te?h4U1-dvc(un&mg<#|k/fp2*w`pn}%na}zv_guepZoXe|r;<=><0:W3+bta&{l$ka>!re-dv4(un~l#hctx]escrXaVg~t=>?000:?P6(o{l%~k!hl1,q`*auiz$yy} c1-`ewt~fl~7<3<6;T2,cw`)zo%l`= }d.eqev(u{}y$o=!laspzj`r;97827X> gsd-vc)`d9$yh"i}ar,qwqu(k9%hm|vndv?6;4>3\:$kh!rg-dh5(ul&mym~ }suq,g5)di{xrbhz33?0e?P6(o{l%~k!hl1,q`*auiz$yy} c1-dip~)odQ;Q#ib1/o26c=R8&myj#|i/fn3*wb(o{kx"}{s.a3+bkrp'mfW gsd-vc)`d9$yh"i}ar,qwqu(k9%laxv!glY7Y+aj{'gx>>5Z0.eqb+ta'nf;"j gscp*wus{&i;#{?30?00?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5979::1^<"i}f/pe+bj7&{n$ko|.sqww*e7';7>3<<;T2,cw`)zo%l`= }d.eqev(u{}y$o=!y1=1=66=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7;<78i7X> gsd-vc)`d9$yh"i}ar,qwqu(k9%}=R>Paof34566:k1^<"i}f/pe+bj7&{n$ko|.sqww*e7';T=Road123444e3\:$kh!rg-dh5(ul&mym~ }suq,g5)q9V8Tmcj?01226g=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7X;Vkeh=>?000a?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5Z2Xff~;<=>>289V4*aun'xm#jb?.sf,cwgt&{y"m>/bcqv|hb|5:5>45Z0.eqb+ta'nf;"j gscp*wus{&i:#no}rxlfp979:01^<"i}f/pe+bj7&{n$ko|.sqww*e6'jky~t`jt=0=6<=R8&myj#|i/fn3*wb(o{kx"}{s.a2+fguzpdnx1=12g9V4*aun'xm#jb?.sf,cwgt&{y"m>/fov|+ajS9W%k`?!m00e?P6(o{l%~k!hl1,q`*auiz$yy} c0-dip~)odQ:Q#ibs/op6c=R8&myj#|i/fn3*wb(o{kx"}{s.a2+bkrp'mfW?S!glq-iv4a3\:$kh!rg-dh5(ul&mym~ }suq,g4)`e|r%k`U<]/enw+kt:o1^<"i}f/pe+bj7&{n$ko|.sqww*e6'ng~t#ib[5_-chu)ez887X> gsd-vc)`d9$yh"i}ar,qwqu(k8%}=1>1229V4*aun'xm#jb?.sf,cwgt&{y"m>/w3?5;443\:$kh!rg-dh5(ul&mym~ }suq,g4)q9585>>5Z0.eqb+ta'nf;"j gscp*wus{&i:#{?33?00?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5929:k1^<"i}f/pe+bj7&{n$ko|.sqww*e6';T?000a?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5Z5Xign;<=>>2c9V4*aun'xm#jb?.sf,cwgt&{y"m>/w3\0Zhh|9:;<<S7'nxm"h gm2-va)`zhy%~~z|/scn[`kw|pUmnRgPos234575;2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex?:4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov261=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}8986[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at207?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphs<;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz:259V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjq05<2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex:<;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw<7?<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Tot2?>3a8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6;2R|{289V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYdq5;5>n5Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}979W{~956[?/fpe*w`(oe:%~i!}povq+Heh}g~Tob{at^az8785k2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<3<\vq4>3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSnw33?0`?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7?3Q}t3;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6?2?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:36Vx>45Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}939:j1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=7=[wr512_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<7<1g>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0;0Pru0:?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7;3 gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8485i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=0=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc2<>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx7834:7g<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~Ttb|38?0g?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWqey050Pru3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=2=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?5;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9499o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;;7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5>5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~793?i;T2,cw`)zo%l`= }d.psjqt(kfex1811g9V4*aun'xm#jb?.sf,vuhsz&idycz37?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=:=5`=R8&myj#|i/fn3*wb(zyd~"m`uov\44c<]9%l~k }f.eo4+tc'{zex!lotlw[47b3\:$kh!rg-dh5(ul&x{by| cnwmpZ46m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY49l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX<8o0Y=!hrg,qb*ak8'xo#~ats-`kphsW<;n7X> gsd-vc)`d9$yh"|nup,gjsi|V<:i6[?/fpe*w`(oe:%~i!}povq+firf}U<=h5Z0.eqb+ta'nf;"j rqlwv*eh}g~T4?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?30?01?P6(o{l%~k!hl1,q`*twf}x$ob{at^f28485:2_;#j|i.sd,ci6)zm%y|cz}/bmvjqYc9585>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<2<>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?0;453\:$kh!rg-dh5(ul&x{by| cnwmpZb64<49>6[?/fpe*w`(oe:%~i!}povq+firf}Uo=181239V4*aun'xm#jb?.sf,vuhsz&idyczPd0>4:74<]9%l~k }f.eo4+tc'{zex!lotlw[a7;078:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S=<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_002?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[7463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W:8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S9<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_402?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[3463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W>8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S5<;;T2,cw`)zo%l`= }d.psjqt(kfexR``t12356`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8584n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:66:l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Ze~4;48j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xkp682>h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vir090!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:Tot2:>2d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pcx>4:6`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8=84n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:>6=;0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5;;29>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vf~x1?1479V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sa{{<0<\MKPX8=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5858=5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567We0>0;0:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:T`xz34?63?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,IdbcWmcmjR~ats]seaYflm:;<=Qcuu>6:16<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^nvp909<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[iss4>4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xd|~743:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Ugyy26>538Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?0^zlv979<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[}iu4;4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xpfx7?3:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Usc2;>528Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?_ymq838382_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\|jt;?7>;7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yg{6329>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vrd~171319V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|lj311<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>2:7`<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg8785n2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]sea:46;l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugc4=49j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwim6>2?h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWyko0;0=f:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{mi28>3d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok<9<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>::7c<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[44a3\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Z77:l1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&nbjkQnup\tdbX:;o0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcW:8n7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvflV>9i6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimU>>h5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhnT:?k4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoS:!ws-dsdu)oyl%{~i/ekebZvi|{U{miQ6399V4*aun'xm#jb?.vp,crgt&nzm"z|f.fjbcYwf}xT|ljPaef3456;9948;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>2:61<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[dbc89:;0?0<7:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{miQnde2345:46:=0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcWhno<=>?<5<03>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae]b`a67896>2>94U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoSljk01238384?2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaYflm:;<=28>258Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok_`fg45674148;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>::7g<]9%l~k }f.eo4+qu'n}j#if/uqtc)wzfmTjxbc_h11?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,twi`Wog`RgPmtz34554<2_;#j|i.sd,ci6){%l{l}!gqd-swva'yxdkRhzlm]j[hs89:8=8=;;T2,cw`)zo%l`= xr.etev(`xo$|~}h psmd[cskdVcTaxv?0112<6><]9%l~k }f.eo4+qu'n}j#if/uqtc)wzfmTjxbc_h]nq}678:;3S^Y?339V4*aun'xm#jb?.vp,crgt&nzm"z|f.rqkbYa}efTeR``t12357?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2?>3;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}6:2?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:56;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>0:7`<]9%l~k }f.eo4+qu'n}j#y|tr-`5*aj}q$laV>R.fo2*h75n2_;#j|i.sd,ci6){%l{l}!wrvp+f7(ods"jcT1\,div(j{;l0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&mfyu hmZ0^*bkt&dy9j6[?/fpe*w`(oe:%{!hw`q-svrt'j;$k`{w.foX7X(`ez$f?h4U1-dvc(un&mg<#y}/fubw+qt|z%h="ibuy,di^2Z&ngx"`}=3:W3+bta&{l$ka>!ws-dsdu)z~x#n? v0>3:75<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p64849?6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z<2=>318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t28685;2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~86?2?l4U1-dvc(un&mg<#y}/fubw+qt|z%h="x>_1]bja6789;9n6[?/fpe*w`(oe:%{!hw`q-svrt'j;$z_`lg45679;h0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:S?Qnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8U8Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p6W=Ujbi>?0131=>S7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0=0=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs484956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw878512_;#j|i.sd,ci6){%l{l}!wrvp+f4(khxyuck{<2<1b>S7'nxm"h gm2-sw)`hy%{~z|/b0,chs&ngP

"x><1<17>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4:66;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:0?0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0>0:75<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p64=49n6[?/fpe*w`(oe:%{!hw`q-svrt'j8$z?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4Y3Whdo<=>?1328Q5)`zo$yj"ic0/uq+bqf{'}xx~!lolr265=R8&myj#|i/fn3*rt(o~kx"z}{s.aliu4582_;#j|i.sd,ci6){%l{l}!wrvp+fijx:8o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;878o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;978o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;:78o7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!laspzj`r;;7987X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!hmtz-ch]7U'mf=#c>329V4*aun'xm#jb?.vp,crgt&~y"inf/a0+bkrp'mfW5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m1^<"i}f/pe+bj7&~x$kzo|.vqww*afn'i8#{?30?04?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q95;5>:5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m gsd-vc)`d9$|~"ixar,twqu(ohl%o>!y1^2\ekb789::>k5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m>2g9V4*aun'xm#jb?.vp,crgt&~y"inf/a0+s7X;Vkeh=>?000e?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q9V>Tmcj?01226f=R8&myj#|i/fn3*rt(o~kx"z}{s.pbiZgkefySk{cl^k00>S7'nxm"h gm2-sw)`hy%{~z|/scn[djjgz~Tjxbc_h]nq}67899>7X> gsd-vc)`d9$|~"ixar,twqu(zhgTmac`su]eqijXaVg~t=>?001a?P6(o{l%~k!hl1,tv*apiz$|y} r`o\eikh{}UmyabPi^llp56798UBB[Q?299V4*aun'xm#jb?.vp,crgt&~y"|nm^dvhiYajVc996[?/fpe*w`(oe:%{!hw`q-svrt'{kfSk{cl^k1`>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVcTaxv?0121a>S7'nxm"h gm2-sw)`hy%{~z|/scn[cskdVcTaxv?01225a=R8&myj#|i/fn3*rt(zhgT{Qjn^k25c=R8&myj#|i/fn3*rt(zhgT{Qjn^k2[4443\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d>95Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu310>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|;8?7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{3368Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkr3:=1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~by;=4:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmp3433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d;?:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov;61=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}3956[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8585k2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<1<\vq4>3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSnw31?0`?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7=3Q}t3;8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXkp692?m4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov\g|:56Vx>45Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]`}959:j1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=1=[wr512_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<5<1g>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir090Pru0:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7935:Zts:01^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=5=6f=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu191_sv1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir050=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~414T~y1:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|33?0b?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey090=a:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZ~hz5?5>l5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]{kw:16;k0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPxnp?3;4f3\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|dSua}<9<1e>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vrd~1712e9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYg{622R|{1g9V4*aun'xm#jb?.vp,suhsz&idycz30?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=3=5c=R8&myj#|i/fn3*rt(yd~"m`uov?6;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9599o1^<"i}f/pe+bj7&~x${}`{r.alqkr;<7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5?5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~7:3?i;T2,cw`)zo%l`= xr.usjqt(kfex1911g9V4*aun'xm#jb?.vp,suhsz&idycz38?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=;=5`=R8&myj#|i/fn3*rt(yd~"m`uov\44c<]9%l~k }f.eo4+qu'~zex!lotlw[47b3\:$kh!rg-dh5(pz&}{by| cnwmpZ46m2_;#j|i.sd,ci6){%||cz}/bmvjqY49l1^<"i}f/pe+bj7&~x${}`{r.alqkrX<8o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW<;n7X> gsd-vc)`d9$|~"ynup,gjsi|V<:i6[?/fpe*w`(oe:%{!xpovq+firf}U<=h5Z0.eqb+ta'nf;"z| wqlwv*eh}g~T4<1<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5979:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl8692?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?33?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28185:2_;#j|i.sd,ci6){%||cz}/bmvjqYc95?5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<29>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e3?3;453\:$kh!rg-dh5(pz&}{by| cnwmpZb64149>6[?/fpe*w`(oe:%{!xpovq+firf}Uo=171209V4*aun'xm#jb?.vp,suhsz&idyczPd0]364=R8&myj#|i/fn3*rt(yd~"m`uov\`4Y6:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl8U9><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;6;2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<31?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18785:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:595>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?2;>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?1;453\:$kh!rg-dh5(pz&}{by| cnwmpZb54?49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo>191239V4*aun'xm#jb?.vp,suhsz&idyczPd3>;:74<]9%l~k }f.eo4+qu'~zex!lotlw[a4;178:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S=<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_002?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[7463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W:8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S9<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_402?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[3463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W>8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S5<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_801?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f08585:2_;#j|i.sd,ci6){%||cz}/bmvjqYc;5;5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>2=>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e1?7;453\:$kh!rg-dh5(pz&}{by| cnwmpZb44=49>6[?/fpe*w`(oe:%{!xpovq+firf}Uo?1;1239V4*aun'xm#jb?.vp,suhsz&idyczPd2>5:74<]9%l~k }f.eo4+qu'~zex!lotlw[a5;?7897X> gsd-vc)`d9$|~"ynup,gjsi|Vn8050=2:W3+bta&{l$ka>!ws-ttkru'je~byQk3=;=64=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y7:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U:><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q=209V4*aun'xm#jb?.vp,suhsz&idyczPd2]064=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y3:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U>><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q9209V4*aun'xm#jb?.vp,suhsz&idyczPd2]464=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y?:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U2>95Z0.eqb+ta'nf;"z| wqlwv*eh}g~Tbbz?01323>S7'nxm"h mdo,`jssW`6;2<64U1-dvc(un&gna"j`uu]j8469911^<"i}f/pe+hcj'me~xRg310<2<>S7'nxm"h mdo,`jssW`6:>3?7;T2,cw`)zo%fi`!kotv\m9746820Y=!hrg,qb*kbe&ndyyQf<06=5==R8&myj#|i/lgn+air|Vc7=80>8:W3+bta&{l$ahc dnww[l:6>7;37X> gsd-vc)jmd%ocxzPi=34:4><]9%l~k }f.ofi*bh}}Ub0<61199V4*aun'xm#`kb/emvpZo;904:;6[?/fpe*w`(elg$hb{{_h>2:4><]9%l~k }f.ofi*bh}}Ub0?>1199V4*aun'xm#`kb/emvpZo;:84:46[?/fpe*w`(elg$hb{{_h>16;7?3\:$kh!rg-nah)cg|~Te1<<>0:8Q5)`zo$yj"cjm.flqqYn4;>5=55Z0.eqb+ta'dof#iazt^k?608602_;#j|i.sd,i`k(lfSd2=6?3;?P6(o{l%~k!bel-gkprXa58<2<64U1-dvc(un&gna"j`uu]j87>9911^<"i}f/pe+hcj'me~xRg328<23>S7'nxm"h mdo,`jssW`692<64U1-dvc(un&gna"j`uu]j8669911^<"i}f/pe+hcj'me~xRg330<2<>S7'nxm"h mdo,`jssW`68>3?7;T2,cw`)zo%fi`!kotv\m9546820Y=!hrg,qb*kbe&ndyyQf<26=5==R8&myj#|i/lgn+air|Vc7?80>7:W3+bta&{l$ahc dnww[l:468=0Y=!hrg,qb*kbe&ndyyQf<5<23>S7'nxm"h mdo,`jssW`6>2<94U1-dvc(un&gna"j`uu]j8386?2_;#j|i.sd,i`k(lfSd28>058Q5)`zo$yj"cjm.flqqYn414:;6[?/fpe*w`(elg$hb{{_h>::40<]9%l~k }f.ofi*bh}}UbS=?9;T2,cw`)zo%fi`!kotv\mZ76?2_;#j|i.sd,i`k(lfSdQ>0058Q5)`zo$yj"cjm.flqqYnW8;:;6[?/fpe*w`(elg$hb{{_h]2641<]9%l~k }f.ofi*bh}}UbS<=>7:W3+bta&{l$ahc dnww[lY6<8=0Y=!hrg,qb*kbe&ndyyQf_0723>S7'nxm"h mdo,`jssW`U::<94U1-dvc(un&gna"j`uu]j[416?2_;#j|i.sd,i`k(lfSdQ>8058Q5)`zo$yj"cjm.flqqYnW83::6[?/fpe*w`(elg$hb{{_h]152=R8&myj#|i/lgn+air|VcT>=?8;T2,cw`)zo%fi`!kotv\mZ469>1^<"i}f/pe+hcj'me~xRgP2334?P6(o{l%~k!bel-gkprXaV88=:5Z0.eqb+ta'dof#iazt^k\61703\:$kh!rg-nah)cg|~TeR<:169V4*aun'xm#`kb/emvpZoX:?;<7X> gsd-vc)jmd%ocxzPi^0452=R8&myj#|i/lgn+air|VcT>5?8;T2,cw`)zo%fi`!kotv\mZ4>9?1^<"i}f/pe+hcj'me~xRgP3058Q5)`zo$yj"cjm.flqqYnW:::;6[?/fpe*w`(elg$hb{{_h]0541<]9%l~k }f.ofi*bh}}UbS><>7:W3+bta&{l$ahc dnww[lY4;8=0Y=!hrg,qb*kbe&ndyyQf_2623>S7'nxm"h mdo,`jssW`U89<84U1-dvc(un&gna"j`uu]j[1713\:$kh!rg-nah)cg|~TeR;>6:W3+bta&{l$ahc dnww[lY19?1^<"i}f/pe+hcj'me~xRgP7048Q5)`zo$yj"cjm.flqqYnW1;=7X> gsd-vc)jmd%ocxzPi^;2=>S7'nxm"h mdo,`jssWdof0=0>a:W3+bta&{l$ahc dnww[hcj48:5=l5Z0.eqb+ta'dof#iazt^ofi97668k0Y=!hrg,qb*kbe&ndyyQbel>26;7f3\:$kh!rg-nah)cg|~Tahc312<2e>S7'nxm"h mdo,`jssWdof0<:11`9V4*aun'xm#`kb/emvpZkbe5;>27;j7X> gsd-vc)jmd%ocxzPmdo?5286i2_;#j|i.sd,i`k(lfS`kb<0:=5d=R8&myj#|i/lgn+air|Vgna1?6>0;8Q5)`zo$yj"cjm.flqqYjmd6:2 gsd-vc)jmd%ocxzPmdo?6486i2_;#j|i.sd,i`k(lfS`kb<30=5d=R8&myj#|i/lgn+air|Vgna1<<>0c8Q5)`zo$yj"cjm.flqqYjmd6983?n;T2,cw`)zo%fi`!kotv\i`k;:<4:m6[?/fpe*w`(elg$hb{{_lgn87099h1^<"i}f/pe+hcj'me~xRcjm=04:4g<]9%l~k }f.ofi*bh}}Ufi`2=8?3b?P6(o{l%~k!bel-gkprXelg7>40>9:W3+bta&{l$ahc dnww[hcj4;4:m6[?/fpe*w`(elg$hb{{_lgn86699h1^<"i}f/pe+hcj'me~xRcjm=12:4g<]9%l~k }f.ofi*bh}}Ufi`2<2?3b?P6(o{l%~k!bel-gkprXelg7?>0>a:W3+bta&{l$ahc dnww[hcj4:>5=l5Z0.eqb+ta'dof#iazt^ofi9526830Y=!hrg,qb*kbe&ndyyQbel>0:4?<]9%l~k }f.ofi*bh}}Ufi`2;>0;8Q5)`zo$yj"cjm.flqqYjmd6>2<74U1-dvc(un&gna"j`uu]nah:16830Y=!hrg,qb*kbe&ndyyQbel>4:4?<]9%l~k }f.ofi*bh}}Ufi`27>0;8Q5)`zo$yj"cjm.flqqYjmd622::4U1-dvc(un&gna"imm/eaib(`jdmj"cijcb,aib)edbUfi`Qheogqeqiu'kgei lsup,vdkkgfzP

1d9V4*aun'xm#}{bmi,vaYu{}Uyij2?>0g8Q5)`zo$yj"||tcnh+wbXzz~T~hi31?3f?P6(o{l%~k!}su`oo*tcW{ySkh<3<2`>S7'nxm"h rrvahn)ulVxxxR|jg^22`>S7'nxm"h rrvahn)ulVxxxR|jg^32`>S7'nxm"h rrvahn)ulVxxxR|jg^02`>S7'nxm"h rrvahn)pzVxxxRo|rde14>S7'nxm"h rrvahn)pzVxxxRo|rde\`4473\:$kh!rg-qwqdkc&}yS}{_`qqabYc:8i0Y=!hrg,qb*tt|kf`#z|Prrv\gjke9m1^<"i}f/pe+wusjea${Q}su]`khd69l1^<"i}f/pe+wusjea${Q}su]qab:768o0Y=!hrg,qb*tt|kf`#z|Prrv\v`a;97;o7X> gsd-vc)u{}hgg"y}_sqw[wc`W9;o7X> gsd-vc)u{}hgg"y}_sqw[wc`W8k0Y^K]_@NJEVe<]ZOYS[G\ICNF7>PDK01]EHYPTXRF7>QBI:1\IOm4WSKWAZKHLLUJo6Y]IUG\IJBBWKn0[_G[E^UJ@QNXIm1\^DZJ_VKGPMYE9m1SEAGAX,ZGF%6)9)Y_YO.?.0"BWFON=2RD^NW9;YQWHLD03QY_SJ@K7:ZPPZPDKk1SSNA]E^KMBJ00:ZgiZKfbfx]i}foo33?]bjWDcecXjrrkljf=fddexxRkbpu{a?djjgz~Tjxbc6:`bgnswl2hjof{_lcqo`t43jf`h6jnt`]`kphs 9#o7io{a^alqkr/9 n0hlzn_bmvjq.5!m1omyoPcnwmp-5.l2njxlQlotlw,1/c3mkmRm`uov+1,bbf|hUhcx`{(9+g?agsiVidycz'9(d8`drfWje~by26:1<4?adn|lxy:6jfn)2*2>bnf!;";6jfn)33-2=cag":=$94dhl+57/03mce$<=&7:fjj-73!>1oec&>5(58`lh/9?#<7iga(05*2>bnf!8":6jfn)1*2>bnf!>":6jfn)7*2>bnf!<":6jfn)5*2>bnf!2":6jfn);*2>bnf5:5;6jfn=33:2=cag6:=394dhl?57803mce0<=17:fjj9736>1oec2>5?58`lh;9?427iga<0594;1&7:flqq.6!11ocxz'11+;?air|!;:%55kotv+57/?3me~x%?<)99gkpr/9=#37iazt)36-==cg|~#=;'7;emvp-70!11ocxz'19+;?air|!;2%:5kotv+6,>&8:flqq.59 20hb{{(30*<>bh}}"9?$64dnww,72.02ndyy&=5(:8`jss ;<"46j`uu*13,> =0hb{{(6+4?air|!2";6j`uu*:-2=cg|~7<364dnww846902ndyy2>1?:8`jss488546j`uu>27;>bh}}6:;364dnww84>902ndyy2>9?58`jss48437iazt=03:==cg|~7><07;emvp945611ocxz322<;?air|58?255kotv?608?3me~x1<9>99gkpr;:>437iazt=0;:==cg|~7>408;emvp94902ndyy2<0?:8`jss4:;546j`uu>06;>=18:flqq:4<7k0hb{{<2794;>;17:flqq:46>1ocxz34?58`jss4<4<7iazt=4=3>bh}}6<2:5kotv?<;12y15[7ekcV;3xb=9,gkekZabflxjxb|Pv7]2(KIIM%DDBH:?3:djbjYdgrT9<,b]kevYulVnjxlQlotlw95*dWmceSzgkti?2<)eX`hyT{Qkauc\gjsi|4:'oRhzlm]ehdatW{yS{oc=1.`[lkwdlgnbyo{inl\p|vb5;&hSx}j_doaaabblVxnk0>#c^uq[ctby4;'oR{|e^flqqYu{}7: nQznegqbiipWee|1="l_icp[jpbzofd{0>#c^rqaiiflVfjxh`ly<2/gZbh}}U|eizg=24/gZktofdTzlb21-a\vaYcmy~c18?=,b]fvwiuW`dainzfoo]w}uc:8%iTdl}Puoffvcjh4:'oRfns^coijusWog`0?#c^jbwZtt|4;'oRjnt`]`kphsW~coxe3>0-a\lduX{Ujof3?,b]vw`Ybkj7; nQlololjZekgja65)eXlfS}{_wco95*dWakxSio{a^alqkr:8%iT|ah_gwohZrozlycSckhaug\rdj:99;= nQxr^fftqn:998? nQrne\ahvsqV~c~h}g_ogdeqcX~hf69!mPpsmd[`kw|pUdk|h^cpw`tsWkg19"l_icp[sgkam7; nQrne\bpjkW}byi~fParqfvqYqie7:<<9#cnoskkci|Vdjah3iigm\|ihW<;9t>8P2bnh[4>sg:<'oRxnlhf\hjq:8%iT|gb_gkekZr~xl7:gu?7,b]svjaXn|fgSywe<3/gZkbefxrSywe<3/y60oiblihog{espg?lhmmj~xndzjrs58mkrXkea37cilbtko`==h~lxm`byn;qplcZcjx}s:86~}of]fiur~W}byi~f'0(37?uthoVof|ywPtipfwm.6!8>0|ah_dosp|Ys`{oxd%<&159svjaXmdzuRzgrdqk,6/6<2zycjQjmqvz[qnumzb#8$?;;qplcZcjx}sTxe|jsi*6-42vugnUna}zv_ujqavn/0 ;=7}|`g^gntqX|axne27:1<2f>vugnUna}zv_ujqavnXizyn~y&?)0`8twi`Wlg{xtQ{hsgplZgt{lx$<'>b:rqkbYbey~rSyf}erj\evubz}"9%vugnUna}zv_ujqavnXizyn~y&7)0f8twi`Wlg{xtQ{hsgplZgt{lx054?>0`8twi`Wlg{xtQ{hsgplZhboh~n$='>b:rqkbYbey~rSyf}erj\j`af|l":%vugnUna}zv_ujqavnXflmjxh&8)0`8twi`Wlg{xtQ{hsgplZhboh~n$5'>d:rqkbYbey~rSyf}erj\j`af|l636=06;qplcZ`rde;87}|`g^dvhiYs`{oxd%>&129svjaXn|fgSyf}erj+5,743yxdkRhzlm]wlwct`!8"=>5rne\bpjkW}byi~f'3(30?uthoVl~`aQ{hsgpl-2.9:1{~biPftno[qnumzb#9$?<;qplcZ`rdeUdk|h)4*56=wzfmTjxbc_ujqavn/? ;87}|`g^dvhiYs`{oxd%6&129svjaXn|fgSyf}erj+=,723yxdkRhzlm]wlwct`531<3?n;qplcZ`rdeUdk|h^cpw`ts 9#:m6~}of]eqijX|axneQnsrgqp-7.9h1{~biPftno[qnumzbTm~}jru*1-4ga:rqkbYa}efTxe|jsi]bwvcu|!?"=l5rne\bpjkW}byi~fParqfvq.1!8k0|ah_gwohZrozlycSl}|esv+3,7f3yxdkRhzlm]wlwct`Vkxh|{(9+2e>vugnUmyabPtipfwmYf{zoyx%7&1b9svjaXn|fgSyf}erj\evubz}626=0>a:rqkbYa}efTxe|jsi]mabgsm!:"=l5rne\bpjkW}byi~fPndebp`.6!8k0|ah_gwohZrozlycSckhaug+6,7f3yxdkRhzlm]wlwct`Vdnklzj(2+2e>vugnUmyabPtipfwmYimnki%:&1`9svjaXn|fgSyf}erj\j`af|l">% ;j7}|`g^dvhiYs`{oxdR`jg`vf,2/6i2zycjQiumn\pmtb{aUeijo{e):*5d=wzfmTjxbc_ujqavnXflmjxh&6)0a8twi`Wog`Rzgrdqk[kc`i}o757>16:pg[fjl991yhRjnt`]`kphs 9#:<6|k_ecweZeh}g~#=$??;sf\`drfWje~by&=)028vaYci}kTob{at)1*55=ulVnjxlQlotlw,1/682xoSio{a^alqkr/= ;;7jPd`vb[firf}"=%<>4re]geqgXkfex%9&119q`Zbf|hUhcx`{(9+24>tcWmkmRm`uov?4;753{nThlzn_bmvjq:?294>7jPeo48vaYu{}90~~z8;r`jp`tu<2yyy:4tswf=>sillxm`by:;wcoma0<{Ujof84ws]`hn773~xThlzn_bmvjq.7!8:0{Qkauc\gjsi|!;"==5xr^fbpdYdg|d$?'>0:uq[agsiVidycz'3(33?rtXlh~jSnaznu*7-46<{UomyoPcnwmp-3.991|~Rjnt`]`kphs ?#:<6y}_ecweZeh}g~#;$??;vp\`drfWje~by&7)028swYci}kTob{at);*57=pzVnjxlQlotlw8<<76<1|~Rka6:uq[wusuIJ{oi64@Az2>C<328qX8k4:048;>455j?ih6>=:48ym0=2=92d?4849;%6;6?20k2wX8i4:048;>455j?ih6>=:489P57e==8:1<7?<2c4`g?54==30_9j550294?74:k:082g5}T<847:011f3ed2:9>845+467957b<^=286?uz12495>s6;>0;7p*>8182=>d2810;6>h53;1eM20;2P?970603`?>j7>5;n6;3?6=3f?8=7>5;h740?6=3f?;o7>5;n732?6=3`?=47>5;h755?6=3f>o57>5$0:1>1`d3g;3=7>4;n6go;7>5$0:1>1`d3g;3=7<4;n6g2?6=,82969hl;o3;5?5<3f>o97>5$0:1>1`d3g;3=7:4;n6g0?6=,82969hl;o3;5?3<3f>o>7>5$0:1>1`d3g;3=784;n6g5?6=,82969hl;o3;5?1<3f>o<7>5$0:1>1`d3g;3=764;n6`b?6=,82969hl;o3;5??<3f>hi7>5$0:1>1`d3g;3=7o4;n6``?6=,82969hl;o3;5?d<3f>ho7>5$0:1>1`d3g;3=7m4;n6`f?6=,82969hl;o3;5?b<3f>hm7>5$0:1>1`d3g;3=7k4;n6`=?6=,82969hl;o3;5?`<3f>h;7>5$0:1>1`d3g;3=7??;:m7g3<72-;3>7:ic:l2<4<6921d8n;50;&2<7<3nj1e=5?51398k1e3290/=5<54ga8j4>628907b:l3;29 4>52=lh7c?71;37?>i3k;0;6)?72;6eg>h6080:965`4b394?"60;0?jn5a193953=9:9l0a`=83.:4?4;fb9m5=7=9h10c9jj:18'5=4=:0`8?j2cl3:1(<6=:5d`?k7?93;h76a;db83>!7?:3>mo6`>8082`>=h8387bf=i91;1=h54o5fb>5<#91818km4n0:2>4`<3f>o?7>5$0:1>1`d3g;3=77:ic:l2<4<5921d8oj50;&2<7<3nj1e=5?52398k1dd290/=5<54ga8j4>62;907d:n0;29 4>52=h:7c?71;28?l2>n3:1(<6=:5`2?k7?93;07d:6e;29 4>52=h:7c?71;08?l2>l3:1(<6=:5`2?k7?93907d:6c;29 4>52=h:7c?71;68?l2>j3:1(<6=:5`2?k7?93?07d:6a;29 4>52=h:7c?71;48?l2>13:1(<6=:5`2?k7?93=07d:n8;29 4>52=h:7c?71;:8?l2f?3:1(<6=:5`2?k7?93307d:n6;29 4>52=h:7c?71;c8?l2f=3:1(<6=:5`2?k7?93h07d:n4;29 4>52=h:7c?71;a8?l2f;3:1(<6=:5`2?k7?93n07d:n2;29 4>52=h:7c?71;g8?l2f93:1(<6=:5`2?k7?93l07d:68;29 4>52=h:7c?71;33?>o31>0;6)?72;6a5>h6080:=65f54194?=e<>>1<7?50;2xL1143-;2=7:84:m23c<722wih54?:083>5}O<>90(<7>:e:8ka1=831vn9:50;c5>4>328i;wE:83:X71?71s;31>54=a;f9e?d=k3;36ao4=9;32>f62910e8<;:18'5=4==;<0b<6>:098m044290/=5<55348j4>62;10e8<=:18'5=4==;<0b<6>:298m046290/=5<55348j4>62=10e8:498m07a290/=5<55348j4>62?10e8?j:18'5=4==;<0b<6>:698m07c290/=5<55348j4>62110e8>j:188m0072900e88<:188k0012900e8?m:18'5=4==8i0b<6>:198m07f290/=5<550a8j4>62810e8?6:18'5=4==8i0b<6>:398m07?290/=5<550a8j4>62:10e8?8:18'5=4==8i0b<6>:598m071290/=5<550a8j4>62<10e8?::18'5=4==8i0b<6>:798m073290/=5<550a8j4>62>10e8?<:18'5=4==8i0b<6>:998m03a2900c8?>:188m04a290/=5<55228j4>62910e8:098m04c290/=5<55228j4>62;10e8:298m04e290/=5<55228j4>62=10e8:498m04>290/=5<55228j4>62?10e8<7:18'5=4==::0b<6>:698m040290/=5<55228j4>62110c968:188k1?3290/=5<54878j4>62910c97<:18'5=4=<0?0b<6>:098k1?5290/=5<54878j4>62;10c97>:18'5=4=<0?0b<6>:298k1?7290/=5<54878j4>62=10c96i:18'5=4=<0?0b<6>:498k1>b290/=5<54878j4>62?10c96k:18'5=4=<0?0b<6>:698k1>d290/=5<54878j4>62110c96m:18'5=4=<0?0b<6>:898k0562900e89;:188m05e290/=5<552a8j4>62910e8=n:18'5=4==:i0b<6>:098m05>290/=5<552a8j4>62;10e8=7:18'5=4==:i0b<6>:298m050290/=5<552a8j4>62=10e8=9:18'5=4==:i0b<6>:498m052290/=5<552a8j4>62?10e8=;:18'5=4==:i0b<6>:698m054290/=5<552a8j4>62110e8==:18'5=4==:i0b<6>:898k06d2900c8>9:188m00?2900e966:188m021290/=5<55558j4>62910e8:::18'5=4====0b<6>:098m023290/=5<55558j4>62;10e8:<:18'5=4====0b<6>:298m025290/=5<55558j4>62=10e8:>:18'5=4====0b<6>:498m027290/=5<55558j4>62?10e8=i:18'5=4====0b<6>:698m05b290/=5<55558j4>62110e8=k:18'5=4====0b<6>:898m036290/=5<55408j4>62910e8;?:18'5=4==<80b<6>:098m02a290/=5<55408j4>62;10e8:j:18'5=4==<80b<6>:298m02c290/=5<55408j4>62=10e8:l:18'5=4==<80b<6>:498m02e290/=5<55408j4>62?10e8:n:18'5=4==<80b<6>:698m02>290/=5<55408j4>62110e8:7:18'5=4==<80b<6>:898k1>12900e8>i:188m1>f2900e89::188k0052900c888:188m0062900c9j6:18'5=4=:198k1b?290/=5<54ga8j4>62810c9j8:18'5=4=:398k1b1290/=5<54ga8j4>62:10c9j::18'5=4=:598k1b3290/=5<54ga8j4>62<10c9j=:18'5=4=:798k1b6290/=5<54ga8j4>62>10c9j?:18'5=4=:998k1ea290/=5<54ga8j4>62010c9mj:18'5=4=:`98k1ec290/=5<54ga8j4>62k10c9ml:18'5=4=:b98k1ee290/=5<54ga8j4>62m10c9mn:18'5=4=:d98k1e>290/=5<54ga8j4>62o10c9m8:18'5=4=:028?j2d>3:1(<6=:5d`?k7?93;:76a;c483>!7?:3>mo6`>80826>=h1<7*>8387bf=i91;1=>54o5a0>5<#91818km4n0:2>42<3f>h>7>5$0:1>1`d3g;3=7?:;:m7g4<72-;3>7:ic:l2<4<6>21d8n>50;&2<7<3nj1e=5?51698k1da290/=5<54ga8j4>628207b:me;29 4>52=lh7c?71;3:?>i3lo0;6)?72;6eg>h6080:m65`4eg94?"60;0?jn5a19395g=e:9l0ag=83.:4?4;fb9m5=7=9o10c9j<:18'5=4=:328?j2d03:1(<6=:5d`?k7?938:76a;be83>!7?:3>mo6`>80816>=h8387bf=i91;1>>54i5c3>5<#91818o?4n0:2>5=5<#91818o?4n0:2>7=54i5;`>5<#91818o?4n0:2>1=5<#91818o?4n0:2>3=5<#91818o?4n0:2>==5<#91818o?4n0:2>d=6=4+19090g75<#91818o?4n0:2>f=5<#91818o?4n0:2>`=5<#91818o?4n0:2>46<3`>2;7>5$0:1>1d63g;3=7?>;:k7<=<722e>9n4?:%3;6?32m2d:4<4?;:m61g<72-;3>7;:e:l2<4<632e>9l4?:%3;6?32m2d:4<4=;:m61<<72-;3>7;:e:l2<4<432e>954?:%3;6?32m2d:4<4;;:m612<72-;3>7;:e:l2<4<232e>9;4?:%3;6?32m2d:4<49;:m610<72-;3>7;:e:l2<4<032e>994?:%3;6?32m2d:4<47;:m637<72-;3>7;83:l2<4<732e>;<4?:%3;6?30;2d:4<4>;:m635<72-;3>7;83:l2<4<532e>:k4?:%3;6?30;2d:4<4<;:m62`<72-;3>7;83:l2<4<332e>:i4?:%3;6?30;2d:4<4:;:m62f<72-;3>7;83:l2<4<132e>:o4?:%3;6?30;2d:4<48;:m62d<72-;3>7;83:l2<4:44?:%3;6?30;2d:4<46;:m657<722c>9>4?::m620<722h?;k4?:083>5}#90;1h55G46g8L1143fn<6=44}c6;4?6=93:1908731=O<>o0D99<;n34b?6=3th9m?4?:583>5}#90;1h>5G46g8L1143-o=6:5f4783>>o283:17d?73;29?j7?<3:17pl;6183>6<729q/=4?5d19K02c<@==87E:<;%300?31<2.n:7<4i5494?=n=90;66a>8583>>{eN3;2.:?94:659'a3<53`>=6=44i4294?=h91>1<75rb57e>5<4290;w)?61;f3?M20m2B?;>5G429'562==?>0(h852:k72?6=3`?;6=44o0:7>5<=57>55;294~"6180o86F;7d9K025<@=90(<=;:447?l212900e9950;9j15<722c:4>4?::m2<1<722wi8;o50;194?6|,83:6i>4H55f?M20;2B??6*>358621=#m?097d:9:188m06=831d=5:50;9~f13b290>6=4?{%3:5?b33A>19;:4i5494?=n<>0;66g:0;29?l7?;3:17b?74;29?xd3>10;694?:1y'5<7=l:1C8:k4H550?!c12>1b8;4?::k64?6=3`;3?7>5;n3;0?6=3th?::4?:583>5}#90;1h>5G46g8L1143-o=6:5f4783>>o283:17d?73;29?j7?<3:17pl;6783>1<729q/=4?5d29K02c<@==87)k9:69j03<722c><7>5;h3;7?6=3f;387>5;|`734<72=0;6=u+1839`6=O<>o0D99<;%g5>2=n1b8;4?::k64?6=3`;3?7>5;n3;0?6=3th9=;4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<>5;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb337>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a645=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd59;0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn???:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm21d94?2=83:p(<7>:e38L11b3A>5;|`14`<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=o<50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nb083>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f4ga290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e9ho1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th:mi4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo?nc;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb341>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a637=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5>90;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<j7>54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn?;j:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm24f94?2=83:p(<7>:e38L11b3A>5;|`11f<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=km50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nfc83>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f4`>290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e9o21<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th:j:4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo?i6;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb0d6>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a5c2=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5=90;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5>o283:17b?74;29?xd5<00;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd5<10;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd5<>0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6mh0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m00;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m10;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m>0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m?0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m<0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m=0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m:0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6m;0;694?:1y'5<7=l81C8:k4H550?M243-;887;94:&f2?4>o283:17b?74;29?xd6l10;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm1e794?2=83:p(<7>:e38L11b3A>5;|`2`1<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi=i?50;694?6|,83:6i?4H55f?M20;2.n:7<4i5494?=nd183>1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f75e290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e::k1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th9?44?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo<<8;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb314>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a660=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd5;<0;694?:1y'5<7=l81C8:k4H550?!c12;1b8;4?::k7g?6=3`?;6=44o0:7>5<54;294~"6180o=6F;7d9K025<,l<1>6g;6;29?l2d2900e8>50;9l5=2=831vn?=<:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm2e;94?3=83:p(<7>:e08L11b3A>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a6a1=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e:m?1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi>i<50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg4c93:197>50z&2=45;h64>5<1<75rb3f0>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th9o;4?:283>5}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`1g0<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th9nn4?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<53;294~"6180?;i5G46g8L1143`>26=44i00b>5<908270=O<>o0D99<;h6:>5<n1<75rb3a0>5<4290;w)?61;64`>N3?l1C8:=4i5;94?=n9;k1<75`16f94?=zj;h36=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e:j81<7=50;2x 4?62==o7E:8e:J736=n<00;66g>2`83>>i6?m0;66sm2c494?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl=c083>6<729q/=4?546f8L11b3A>o313:17d;=:188m4>f2900c<9k:188yg4d83:1?7>50z&2=4<3?m1C8:k4H550?l2>2900e<349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn?li:180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f7d7290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k2t$0;2>11c3A>l4?::m23a<722wi>lk50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th9io4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f7cf290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`1a2<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn?k9:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd5m<0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb3g7>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th9i>4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f711290?6=4?{%3:5?b43A>=6=44i4294?=n9191<75`19694?=zj;=<6=4;:183!7>93n87E:8e:J736=#m?0<7d:9:188m06=831b=5=50;9l5=2=831vn?9>:187>5<7s-;2=7j>;I64a>N3?:1/i;4=;h65>5<>i60=0;66sm26294?2=83:p(<7>:e38L11b3A>5;|`047<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th85}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`1b3<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<90873a=O<>o0D99<;h6:>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj::26=4<:183!7>93>n1<75rb3d7>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm31:94?5=83:p(<7>:55g?M20m2B?;>5f4883>>o6:h0;66a>7e83>>{e:o91<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd48>0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl=f383>1<729q/=4?51278L11b3A>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f66229086=4?{%3:5?20l2B?;h5G4618m1?=831b=?o50;9l52b=831vn?h?:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi?=:50;194?6|,83:699k;I64a>N3?:1b844?::k26d<722e:;i4?::a6``=83>1<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`046<72:0;6=u+183902b<@==n7E:83:k7=?6=3`;9m7>5;n34`?6=3th9ih4?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:;<6=4;:183!7>93n:7E:8e:J736=#m?097d:9:188m1e=831b9=4?::m2<1<722wi?1<729q/=4?5d09K02c<@==87)k9:39j03<722c?o7>5;h73>5<908g5>N3?l1C8:=4$d496>o3>3:17d:l:188m06=831d=5:50;9~f67d290?6=4?{%3:5?b63A>=6=44i5a94?=n=90;66a>8583>>{e;8h1<7:50;2x 4?62m;0D99j;I647>"b>380e9850;9j0f<722c><7>5;n3;0?6=3th8=l4?:583>5}#90;1h<5G46g8L1143-o=6?5f4783>>o3k3:17d;?:188k4>32900qo=>9;290?6=8r.:5<4k1:J73`=O<>90(h852:k72?6=3`>h6=44i4294?=h91>1<75rb23;>5<3290;w)?61;f2?M20m2B?;>5+e781?l212900e9m50;9j15<722e:494?::a740=83>1<7>t$0;2>a7<@==n7E:83:&f2?4>o283:17b?74;29?xd4:h0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb3;6>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm28694?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl=9283>1<729q/=4?51278L11b3A>349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn?7>:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi>5<50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th94<4?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj;=m6=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e:>o1<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd4jm0;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb2`a>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8nn4?:483>5}#90;1h95G46g8L1143-o=6:5f4783>>o3?3:17d;?:188m4>42900c<6;:188yg5em3:197>50z&2=45;h64>5<>i60=0;66sm3cd94?3=83:p(<7>:e08L11b3A>5<7>55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a7f6=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo=l1;291?6=8r.:5<4k2:J73`=O<>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;j91<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?i?50;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5dn3:197>50z&2=45;h64>5<1<75rb2f3>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8h?4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6b4290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`0`0<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn>j8:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd4l10;684?:1y'5<7=l;1C8:k4H550?!c12;1b8;4?::k73?6=3`>h6=44i4294?=h91>1<75rb2ce>5<2290;w)?61;f1?M20m2B?;>5+e781?l212900e9950;9j0f<722c><7>5;n3;0?6=3th8mh4?:483>5}#90;1h?5G46g8L1143-o=6?5f4783>>o3?3:17d:l:188m06=831d=5:50;9~f6d7290>6=4?{%3:5?b53A>=6=44i5594?=n0<729q/=4?5d39K02c<@==87)k9:39j03<722c?;7>5;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`0ea<72<0;6=u+1839`7=O<>o0D99<;%g5>7=n50;9l5=2=831vn>o6:186>5<7s-;2=7j=;I64a>N3?:1/i;4=;h65>5<>o283:17b?74;29?xd4i10;684?:1y'5<7=l=1C8:k4H550?!c12>1b8;4?::k73?6=3`?;6=44i0:0>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?l950;794?6|,83:6i:4H55f?M20;2.n:794i5494?=n<>0;66g:0;29?l7?;3:17b?74;29?xd41k0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl<9`83>6<729q/=4?546f8L11b3A>o313:17d;=:188m4>f2900c<9k:188yg5>13:1?7>50z&2=4<3?m1C8:k4H550?l2>2900e<349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn>77:180>5<7s-;2=7:8d:J73`=O<>90e9750;9j57g=831d=:j50;9~f6>d290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k2t$0;2>11c3A>l4?::m23a<722wi?5o50;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th85;4?:283>5}#90;18:j4H55f?M20;2c?57>5;h31e?6=3f;5;|`0<=<72=0;6=u+1839563<@==n7E:83:k7=?6=3`?96=44i0:b>5<90873a=O<>o0D99<;h6:>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:3?6=4<:183!7>93>n1<75rb2:7>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm38194?5=83:p(<7>:55g?M20m2B?;>5f4883>>o6:h0;66a>7e83>>{e;181<7:50;2x 4?6289>7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd41;0;6>4?:1y'5<7=<>n0D99j;I647>o313:17d?=a;29?j70l3:17pl<8183>1<729q/=4?51278L11b3A>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;lh1<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908g6>N3?l1C8:=4$d496>o3>3:17d:8:188m1e=831b9=4?::m2<1<722wi?h750;794?6|,83:6i<4H55f?M20;2.n:7<4i5494?=n<>0;66g;c;29?l372900c<6;:188yg5b03:197>50z&2=45;h64>5<>i60=0;66sm3d594?3=83:p(<7>:e08L11b3A>5<55;294~"6180o>6F;7d9K025<,l<1>6g;6;29?l202900e9m50;9j15<722e:494?::a7`3=83?1<7>t$0;2>a4<@==n7E:83:&f2?4>o3k3:17d;?:188k4>32900qo=j4;291?6=8r.:5<4k2:J73`=O<>90(h852:k72?6=3`><6=44i5a94?=n=90;66a>8583>>{e;l91<7;50;2x 4?62m80D99j;I647>"b>380e9850;9j02<722c?o7>5;h73>5<908270=O<>o0D99<;h6:>5<n1<75rb216>5<3290;w)?61;301>N3?l1C8:=4i5;94?=n=;0;66g>8`83>>i6?m0;66sm32494?2=83:p(<7>:016?M20m2B?;>5f4883>>o2:3:17d?7a;29?j70l3:17pl<3683>1<729q/=4?51278L11b3A>349K02c<@==87d:6:188m04=831b=5o50;9l52b=831vn>:8:187>5<7s-;2=7?<5:J73`=O<>90e9750;9j17<722c:4l4?::m23a<722wi?9650;694?6|,83:6<=:;I64a>N3?:1b844?::k66?6=3`;3m7>5;n34`?6=3th8844?:583>5}#90;1=>;4H55f?M20;2c?57>5;h71>5<5<54;294~"6180:?85G46g8L1143`>26=44i4094?=n91k1<75`16f94?=zj:>i6=4;:183!7>93;896F;7d9K025>o60h0;66a>7e83>>{e;7E:8e:J736=n<00;66g:2;29?l7?i3:17b?8d;29?xd4=l0;694?:1y'5<7=9:?0D99j;I647>o313:17d;=:188m4>f2900c<9k:188yg52n3:187>50z&2=4<6;<1C8:k4H550?l2>2900e8<50;9j5=g=831d=:j50;9~f607290?6=4?{%3:5?74=2B?;h5G4618m1?=831b9?4?::k21<7>t$0;2>4523A>>7>5;h3;e?6=3f;5;|`035<72=0;6=u+1839`4=O<>o0D99<;%g5>7=n50z&2=45;h6`>5<93n97E:8e:J736=#m?097d:9:188m11=831b8n4?::k64?6=3f;387>5;|`76c<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:=e;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=8o6=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a07e=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;2c83>0<729q/=4?5d49K02c<@==87)k9:39j03<722c?;7>5;h73>5<6=44o0:7>5<9m7>55;294~"6180o96F;7d9K025<,l<1>6g;6;29?l202900e8>50;9j5=3=831d=5:50;9~f14?290>6=4?{%3:5?b23A>=6=44i5594?=n=90;66g>8483>>i60=0;66sm43594?3=83:p(<7>:e78L11b3A>5;n3;0?6=3th?>;4?:483>5}#90;1h85G46g8L1143-o=6?5f4783>>o3?3:17d;?:188m4>22900c<6;:188yg25=3:197>50z&2=45;h64>5<1<75rb507>5<2290;w)?61;f6?M20m2B?;>5+e781?l212900e9950;9j15<722c:484?::m2<1<722wi8?=50;794?6|,83:6i;4H55f?M20;2.n:7<4i5494?=n<>0;66g:0;29?l7?=3:17b?74;29?xd3:;0;684?:1y'5<7=l<1C8:k4H550?!c12;1b8;4?::k73?6=3`?;6=44i0:6>5<908g1>N3?l1C8:=4$d496>o3>3:17d:8:188m06=831b=5;50;9l5=2=831vn95<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<8l1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`75a<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:>c;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=;i6=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a04g=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;1883>0<729q/=4?5d49K02c<@==87)k9:39j03<722c?;7>5;h73>5<6=44o0:7>5<:47>55;294~"6180o96F;7d9K025<,l<1>6g;6;29?l202900e8>50;9j5=3=831d=5:50;9~f170290>6=4?{%3:5?b23A>=6=44i5594?=n=90;66g>8483>>i60=0;66sm40494?3=83:p(<7>:e78L11b3A>5;n3;0?6=3th?=84?:483>5}#90;1h85G46g8L1143-o=6?5f4783>>o3?3:17d;?:188m4>22900c<6;:188yg26<3:197>50z&2=45;h64>5<1<75rb516>5<2290;w)?61;f6?M20m2B?;>5+e781?l212900e9950;9j15<722c:484?::m2<1<722wi8>:50;794?6|,83:6i;4H55f?M20;2.n:7<4i5494?=n<>0;66g:0;29?l7?=3:17b?74;29?xd3;:0;684?:1y'5<7=l<1C8:k4H550?!c12;1b8;4?::k73?6=3`?;6=44i0:6>5<908g1>N3?l1C8:=4$d496>o3>3:17d:8:188m06=831b=5;50;9l5=2=831vn9=>:186>5<7s-;2=7j:;I64a>N3?:1/i;4=;h65>5<>o60<0;66a>8583>>{e<::1<7;50;2x 4?62m?0D99j;I647>"b>380e9850;9j02<722c><7>5;h3;1?6=3f;387>5;|`76<<72<0;6=u+1839`0=O<>o0D99<;%g5>7=n32900qo:>e;291?6=8r.:5<4k5:J73`=O<>90(h852:k72?6=3`><6=44i4294?=n91?1<75`19694?=zj=;86=4::183!7>93n>7E:8e:J736=#m?097d:9:188m11=831b9=4?::k2<0<722e:494?::a044=83?1<7>t$0;2>a3<@==n7E:83:&f2?4>o283:17d?75;29?j7?<3:17pl;6e83>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851`9j`d<722con7>5;n34`?6=3th9=54?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd6i;0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f4g629086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2e5<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0;e>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl>9d83>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851d9j`d<722con7>5;n34`?6=3th:5n4?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd61h0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f4?>29086=4?{%3:5?75n2B?;h5G4618 `0=9l1bhl4?::kgf?6=3f;5;|`2==<72:0;6=u+183957`<@==n7E:83:&f2?7b3`nj6=44ie`94?=h9>n1<75rb0;4>5<4290;w)?61;31b>N3?l1C8:=4$d495`=nlh0;66gkb;29?j70l3:17pl>9783>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h851d9j`d<722con7>5;n34`?6=3th:594?:283>5}#90;1=?h4H55f?M20;2.n:7?j;hfb>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd61;0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f712290?6=4?{%3:5?7482B?;h5G4618 `0=km1bhl4?::kgf?6=3`nh6=44o05g>5<54;294~"6180:?=5G46g8L1143-o=6?;4iec94?=nlk0;66gkc;29?j70l3:17pl>b983>1<729q/=4?51228L11b3A>t$0;2>4563A>5;hfa>5<>i6?m0;66sm20a94?3=83:p(<7>:012?M20m2B?;>5+e7814>oci3:17djm:188mae=831bhi4?::m23a<722wi=oo50;794?6|,83:6<=>;I64a>N3?:1/i;4=0:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:>31<7;50;2x 4?6289:7E:8e:J736=#m?09>6gka;29?lbe2900eim50;9j`a<722e:;i4?::a63b=83>1<7>t$0;2>4573A>5;hfa>5<93;9j6F;7d9K025<,l<1=h5fd`83>>ocj3:17b?8d;29?xd6jj0;6>4?:1y'5<7=9;l0D99j;I647>"b>3;n7djn:188mad=831d=:j50;9~f747290?6=4?{%3:5?7482B?;h5G4618 `0=:<1bhl4?::kgf?6=3`nh6=44o05g>5<54;294~"6180:?=5G46g8L1143-o=6?;4iec94?=nlk0;66gkc;29?j70l3:17pl=2383>0<729q/=4?51238L11b3A>5;n34`?6=3th:o=4?:483>5}#90;1=>?4H55f?M20;2.n:75<>ocl3:17b?8d;29?xd3=j0;694?:1y'5<7=9::0D99j;I647>"b>3?:7djn:188mad=831bhn4?::m23a<722wi>;m50;794?6|,83:6<=>;I64a>N3?:1/i;4>3:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:0l1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg4?k3:1?7>50z&2=4<6:o1C8:k4H550?!c12;90eio50;9j`g<722e:;i4?::a73d=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm34794?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?9<50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e;?k1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a702=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm35394?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi>4k50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:1h1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a73?=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm34194?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?9>50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e:0n1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a6=g=83?1<7>t$0;2>4563A>5;hfa>5<>i6?m0;66sm37:94?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?8<50;794?6|,83:6<=>;I64a>N3?:1/i;4=4:kge?6=3`ni6=44iea94?=nlm0;66a>7e83>>{e;:l1<7;50;2x 4?6289:7E:8e:J736=#m?0986gka;29?lbe2900eim50;9j`a<722e:;i4?::a6t$0;2>4563A>5;hfa>5<>i6?m0;66sm29;94?3=83:p(<7>:012?M20m2B?;>5+e7810>oci3:17djm:188mae=831bhi4?::m23a<722wi?:=50;694?6|,83:6<=?;I64a>N3?:1/i;4le:kge?6=3`ni6=44iea94?=h9>n1<75rb24f>5<3290;w)?61;304>N3?l1C8:=4$d49g`=nlh0;66gkb;29?lbd2900c<9k:188yg4f<3:187>50z&2=4<6;91C8:k4H550?!c12jo0eio50;9j`g<722coo7>5;n34`?6=3th8::4?:583>5}#90;1=>>4H55f?M20;2.n:784iec94?=nlk0;66gkc;29?j70l3:17pl<5083>1<729q/=4?51228L11b3A>5;|`07`<72=0;6=u+1839566<@==n7E:83:&f2?0>ock3:17b?8d;29?xd51k0;684?:1y'5<7=9:;0D99j;I647>"b>38?7djn:188mad=831bhn4?::kg`?6=3f;5;|`1<=<72<0;6=u+1839567<@==n7E:83:&f2?433`nj6=44ie`94?=nlj0;66gkd;29?j70l3:17pl=2483>6<729q/=4?513d8L11b3A>5<7s-;2=7?=f:J73`=O<>90(h85229j`d<722con7>5;n34`?6=3th9>54?:583>5}#90;1=>>4H55f?M20;2.n:7?i;hfb>5<>i6?m0;66sm1b494?2=83:p(<7>:013?M20m2B?;>5+e782b>oci3:17djm:188mae=831d=:j50;9~f61329086=4?{%3:5?75n2B?;h5G4618 `0=9;1bhl4?::kgf?6=3f;5;|`1fa<72;0;6=u+183957c<@==n7E:83:&f2?753`nj6=44o05g>5<52;294~"6180:>h5G46g8L1143-o=6<<4iec94?=h9>n1<75rb3`:>5<5290;w)?61;31a>N3?l1C8:=4$d4957=nlh0;66a>7e83>>{e:k=1<7<50;2x 4?6288n7E:8e:J736=#m?0:>6gka;29?j70l3:17pl=b483>7<729q/=4?513g8L11b3A>7>50z&2=4<6:l1C8:k4H550?!c12880eio50;9l52b=831vn?l>:181>5<7s-;2=7?=e:J73`=O<>90(h85139j`d<722e:;i4?::a6d`=8381<7>t$0;2>44b3A>5;n34`?6=3th85<4?:383>5}#90;1=?k4H55f?M20;2.n:7?=;hfb>5<90826`=O<>o0D99<;%g5>4493;9i6F;7d9K025<,l<1=?5fd`83>>i6?m0;66sm39`94?4=83:p(<7>:00f?M20m2B?;>5+e7826>oci3:17b?8d;29?xd4000;6?4?:1y'5<7=9;o0D99j;I647>"b>3;97djn:188k41c2900qo=77;296?6=8r.:5<4>2d9K02c<@==87)k9:008mag=831d=:j50;9~f6>229096=4?{%3:5?75m2B?;h5G4618 `0=9;1bhl4?::m23a<722wi?5=50;094?6|,83:6<N3?:1/i;4>2:kge?6=3f;5;|`0<4<72;0;6=u+183957c<@==n7E:83:&f2?753`nj6=44o05g>5<52;294~"6180:>h5G46g8L1143-o=6<<4iec94?=h9>n1<75rb2;`>5<5290;w)?61;31a>N3?l1C8:=4$d4957=nlh0;66a>7e83>>{e:ok1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg4aj3:1?7>50z&2=4<6:o1C8:k4H550?!c12;90eio50;9j`g<722e:;i4?::a6ce=8391<7>t$0;2>44a3A>5;hfa>5<90826c=O<>o0D99<;%g5>75>i6?m0;66sm2gg94?5=83:p(<7>:00e?M20m2B?;>5+e7817>oci3:17djm:188k41c2900qo2g9K02c<@==87)k9:318mag=831bho4?::m23a<722wi?=>50;194?6|,83:6<N3?:1/i;4=3:kge?6=3`ni6=44o05g>5<53;294~"6180:>k5G46g8L1143-o=6?=4iec94?=nlk0;66a>7e83>>{e:o=1<7=50;2x 4?6288m7E:8e:J736=#m?09?6gka;29?lbe2900c<9k:188yg55m3:197>50z&2=4<6;81C8:k4H550?!c12m<0eio50;9j`g<722coo7>5;hfg>5<908274=O<>o0D99<;%g5>77>ock3:17djk:188k41c2900qo=85;297?6=8r.:5<4>2g9K02c<@==87)k9:008mag=831bho4?::m23a<722wi>k750;094?6|,83:6<<6;I64a>N3?:1bh44?::m23a<722wi?;h50;094?6|,83:6<<6;I64a>N3?:1bh44?::m23a<722wi??m50;794?6|,83:6<=<;I64a>N3?:1/i;4=1:kge?6=3`ni6=44iea94?=nlm0;66a>2c83>>{e:;>1<7850;2x 4?628997E:8e:J736=#m?09:6gka;29?lbe2900eim50;9j`a<722e:>o4?::m23a<722wi=n<50;494?6|,83:6<==;I64a>N3?:1/i;4=6:kge?6=3`ni6=44iea94?=nlm0;66a>2c83>>i6?m0;66sm44c94?>0290;wE:83:&2=4<60?1Q884n{8813?`=9?0:87?l:02952<6=3;o6p*>2987?!bb2<1/hk4:;%g3>0=#m80>7)k=:49'a6<23-o?685+cc8`b>"b?3?0(h655:&f=?3<,lk196*jb;78 `e==2.nh7;4$dg91>"bn3?0(k>55:&e5?3<,o8196*i3;78 c2==2.m97;4$g491>"a?3?0(k655:&e=?3<,ok196*ib;78 ce==2.mh7;4$gg91>"an3?0(<>?:49'557==2.:"68?0>7)??7;78 46?2<1/==755:&24d<23-;;n7;4$02`>0=#99n196*>0d86?!77n3?0("69?0>7)?>7;78 47?2<1/=<755:&25d<23-;:n7;4$03`>0=#98n196*>1d86?!76n3?0(<?4:;%317?3<,88?685+13791>"6:?0>7)?=7;18 4>e2=80(h;55:&2<47?77:&73<<60>1e5h4?;oa3>5=i9121=?5a19;961=i<>k1=?5a46`961=#kj0hj6*>8d87?l2f2900e9l50;9j020=831bol4?::k;6=8083?>o4=3:1(<6=:248j4>62810e>:50;&2<7<4>2d:4<4=;:k07?6=,8296>84n0:2>6=83802>h6080?76g<1;29 4>52:<0b<6>:498m66=83.:4?4<6:l2<4<132c9j7>5$0:1>60808;?>o5l3:1(<6=:248j4>62010e9?50;&2<7<382d:4<4?;:k0b?6=,82969>4n0:2>4=83874>h6080976g52=:0b<6>:298m6e=83.:4?4;0:l2<4<332c8n7>5$0:1>168085?>o413:1(<6=:528j4>62>10e>650;&2<7<382d:4<47;:k6e?6=,8296874n0:2>5=8386=>h6080:76g:7;29 4>52<30b<6>:398m00=83.:4?4:9:l2<4<432c>97>5$0:1>0?56`>8086?>o1;3:1(<6=:4;8j4>62?10e;<50;&2<7<212d:4<48;:k55?6=,8296874n0:2>==8386=>h6080276g:f;29 4>52<30b<6>:`98m0c=83.:4?4:9:l2<4h7>5$0:1>0?56`>808g?>o2j3:1(<6=:4;8j4>62l10e8=50;&2<7<212d:4<4i;:k;3?6=,8296584n0:2>5=838;2>h6080:76am8;29 4>52k=0b<6>:198kg0=83.:4?4m7:l2<4<632ei87>5$0:1>g18080?>ie:3:1(<6=:c58j4>62=10co?50;&2<73=838a3>h6080<76ane;29 4>52k=0b<6>:998kdb=83.:4?4m7:l2<4<>32ejo7>5$0:1>g1808a?>if13:1(<6=:c58j4>62j10cl650;&2<7`=838a3>h6080m76an5;29 4>52k=0b<6>:028?jg3290/=5<5b69m5=7=9810cl=50;&2<72:9le7<72-;3>7l8;o3;5?7432ej=7>5$0:1>g15<#9181n:5a193950=838a3>h6080::65`bd83>!7?:3h<7c?71;34?>iel3:1(<6=:c58j4>628207bll:18'5=4=j>1e=5?51898kgd=83.:4?4m7:l2<4<6i21dnl4?:%3;6?d03g;3=7?m;:ma=?6=,8296o94n0:2>4e<3fh>6=4+1909f2=i91;1=i54o`c94?"60;0i;6`>8082a>=h1o0;6)?72;`4?k7?93;m76al8;29 4>52j=0b<6>:198kf0=83.:4?4l7:l2<4<632eh97>5$0:1>f18080?>od13:17d?7f;29?l20?3:17d9k:18'5=4=?j1e=5?50:9j3g<72-;3>79l;o3;5?7<3`=26=4+19093f=i91;1>65f7983>!7?:3=h7c?71;18?l10290/=5<57b9m5=7=<21b;;4?:%3;6?1d3g;3=7;4;h56>5<#9181;n5a19392>=n?=0;6)?72;5`?k7?93=07d9<:18'5=4=?j1e=5?58:9j37<72-;3>79l;o3;5??<3`=:6=4+19093f=i91;1m65f7183>!7?:3=h7c?71;`8?l0b290/=5<57b9m5=7=k21b:i4?:%3;6?1d3g;3=7j4;h4`>5<#9181;n5a1939a>=n>k0;6)?72;5`?k7?93l07d8n:18'5=4=?j1e=5?51198m3?=83.:4?48c:l2<4<6921b:54?:%3;6?1d3g;3=7?=;:k53?6=,8296:m4n0:2>45<3`<=6=4+19093f=i91;1=954i7794?"60;080821>=n0=0;6)?72;5`?k7?93;=76g73;29 4>52>i0b<6>:058?l>5290/=5<57b9m5=7=9110e5?50;&2<7<0k2d:4<4>9:9j<5<72-;3>79l;o3;5?7f32c5$0:1>2e5<#9181;n5a19395f=k1<7*>8384g>h6080:h65f6g83>!7?:3=h7c?71;3f?>o1<3:1(<6=:6a8j4>628l07d6l:18'5=4=0k1e=5?50:9j76m;o3;5?7<3`226=4+190965`9583>!7?:3387c?71;28?j?5290/=5<5929m5=7=921d5<4?:%3;6??43g;3=7<4;n;3>5<#91815>5a19397>=h0o0;6)?72;;0?k7?93>07b6j:18'5=4=1:1e=5?55:9l=a<72-;3>77<;o3;5?0<3f3h6=4+1909=6=i91;1;65`9c83>!7?:3387c?71;:8?j?f290/=5<5929m5=7=121d544?:%3;6??43g;3=7o4;n;;>5<#91815>5a1939f>=h1>0;6)?72;;0?k7?93i07b79:18'5=4=1:1e=5?5d:9l=0<72-;3>77<;o3;5?c<3f2o6=4+1909=6=i91;1j65`c283>!7?:3i97c?71;28?je6290/=5<5c39m5=7=921v8;i:185[32n279;84kb:?136X2981U9;84^431?[2><2T?5>5Q4808Z1?63W>2<6P;8g9]0=c80R89>;_744>X2>o1U9;k4^44g?[31k2T>:o5Q57c8Z00>3W?>o6P:5c9]10g;3?o0o;63;68864>;3=l0><63;69864>;3>>0><63;67864>;3?80><63;71864>;5jj0>>63=b`866>;5j10>>63=b7866>;5j=0>>63=b3866>;5j90>>63=ad866>;5mm0:4l52287917=::0>19?52281917=::0819?52283917=::1819?52293917=::1:19?5226d917=::>o19?52382917=:;1o19?5239a917=:;1k19?5239:917=:;1<19?52396917=:;1819?52392917=:;:>19?52327917=:;:<19?52325917=:;:219?52355917=:;=219?5235;917=:;=k19?5235`917=:;11034>>m79k;<66e?1e34>>m796;<66e?1?34>>m798;<66e?1134>>m79:;<66e?1334>>m79<;<66e?1534>>m79>;<66e?1734>>m78j;<66e?0c34>>m78l;<66e?0e34>>m78n;<66e?0>34>>m787;<66e?0034>>m789;<66e?0234>>m76;;<66e?>434>>m76=;<66e?>634>>m76?;<66e?1a34>>m79j;<66e?1f34>>m78i;<66e?0334>>m76l;<66e?>f34>>m766;|q02f<72;qU8594=24`>4>33ty>:<4?:2y]137<5=<26<6<;<66a?7?;2wx>:950;0xZ061348<;7?74:p122=839pR89;;<140?bf349<97jn;|q616<72?2pR8;<;<0b6?2134>=<7:9;<66b?2134>>i7:9;<65=;7:9;<652?21348::7:9;<021?21348:87:9;<027?21348:>7:9;<025?21348:<7:9;<03b?21348;i7:9;<056?21348==7:9;<054?21348>j7:9;<06a?21348>h7:9;<06g?21348>n7:9;<06e?21348><7:9;<07b?21348?i7:9;<07`?21348?o7:9;<07f?21348?m7:9;<07=?21348?47:9;<073?2134;o47:9;<3g3?2134;o:7:9;<3g1?2134;o87:9;<3g7?2134;o>7:9;<3g5?2134;o<7:9;<0g=?21348o47:9;<0g3?21348o:7:9;<0g1?21348o87:9;<0g6?21348o=7:9;<0g7?21348nn7:9;<0fe?21348n57:9;<0f9i7:9;<61`?2134>9o7:9;<61f?2134>9m7:9;<619;7:9;<612?2134>997:9;<610?2134>9?7:9;<616?2134>9=7:9;<614?2134>:j7:9;<62`?2134>:o7:9;<62f?2134>:m7:9;<62=?2134>:47:9;<623?2134>::7:9;<621?2134>:87:9;<601?2134>887:9;<607?2134>8>7:9;<605?2134>8<7:9;<61=?2134>:i7:9;<627?2134>:>7:9;<66e?2e3ty8;<4?:3y]15e<5:=:6<6;;|q62=<72?8pR887;<65f?2134>=57:9;<65e?2134><=7:9;<644?2134;i87:9;<3a7?2134;i>7:9;<3a5?2134;i<7:9;<3bb?2134;ji7:9;<3b`?2134;jo7:9;<3eg?2134;mn7:9;<3ee?2134;m57:9;<3e7:9;<00g?213488n7:9;<00e?21348857:9;<00l4?:3y]167<5:8j6<6;;|q0b3<72;qU8i74=53a>4>33ty8j84?:3y]0a><5=;j6<6;;|q0b1<72;qU8i94=53:>4>33ty8j>4?:3y]0a0<5=;36<6;;|q0b7<72;qU8i;4=534>4>33ty8j<4?:3y]0a2<5=;=6<6;;|q0b5<72;qU8i<4=536>4>33ty8ik4?:3y]0a7<5=;?6<6;;|q754<72;qU8i>4=516>4>33ty?==4?:3y]0f`<5=9?6<6;;|q74c<72;qU8nk4=510>4>33ty?4>33ty?4>33ty?<94?:3y]0f?<5=;n6<6;;|q0b<<72;qU8n94=530>4>33ty8ih4?:3y]0f0<5=;96<6;;|q74d<72;qU8n;4=50e>4>33ty?<44?:3y]0f2<5=8n6<6;;|q74=<72;qU8n=4=50g>4>33ty?<:4?:3y]0f4<5=8h6<6;;|q743<72;qU8n?4=50a>4>33ty?<84?:3y]0f6<5=8j6<6;;|q746<72;qU8oh4=50;>4>33ty?4>33ty?<=4?:3y]0ac<5=8>6<6;;|q0bc<72;qU8ij4=507>4>33ty8jh4?:3y]0ae<5=886<6;;|q0ba<72;qU8il4=501>4>33ty8jn4?:3y]0ag<5=8:6<6;;|q0bg<72;qU8i=4=503>4>33ty8jl4?:3y]0f><5=;m6<6;;|q0b=<72;qU8oj4=53g>4>33ty8j:4?:3y]0ge<5=;h6<6;;|q7f7<72;qU8l>4=57b>=1i<7>52z\7=c=:<5<5sW>2i63;5`86<>{t7}Y<0i019;n:448yv2fk3:1>vP;9c9>00g==<1v9om:181[2>i27?9l4:4:p0dg=838pR976;<66e?043ty?no4?:3y]0d><5=?j6;<4}r6ae?6=:rT?m:5244c9<0=z{=h26=4={_6b2>;3=h0==6s|4c:94?4|V=k>70::a;43?xu3j>0;6?uQ4`68913f2>m7;l;|q7f6<72;qU8464=57b>0dj57>52z\7=2=:<5rs01:>53<7?8f:?1f`<31279mh4;9:?1a`<2:279ii4;9:?1=4<31279;h4;9:?0=7<312784=4;9:?071<312788:4;9:?01a<312wx>l=50;0x97g52<:01?o;:05g?xu3><0;6<6t=3c1>4>434>=47?74:?1`<<3k279h54;c:?1`2<3k279h;4;c:?1`0<3k279h94;c:?1`7<3k279h<4>829>6a5=hl54b9>6`g=h754b9>6`>=h954b9>6`0=h;54b9>6`2=h=54b9>620=91901?98:0:0?84093>h70<80;6`?xu5i;0;69u22`095=2<5;=86ij4=57`>ag<5;;3>;0om6s|47c94?5|5=4=54:>11<5=<63;5d82<1=:5<4s4>=57?74:?72d<2827?:i4kb:p037=83>p1987:0:0?821?3;3?63;6782<6=::5a897772=i01?>i:5a8976b2=i01?8=:5a897062=i01?8?:5a8973a2=i01?;j:5a8973c2=i01?;l:5a8973e2=i01?;n:5a897372=i01?:i:5a8972b2=i01?:k:5a8972d2=i01?:m:5a8972f2=i01?:6:5a8972?2=i01?:8:5a894b?2=i01:5a894b72=i0q~:93;2962}:4>234>9i7?75:?76a<60<168?m51978914e282>70:=a;3;1>;3:10:485243595=3<5=8=6<6:;<611?7?=27?>94>849>075=91?019<=:0:6?82593;3963;2182<0=:<8l1=5;4=53g>4>234>:o7?75:?75g<60<168282>70:>8;3;1>;39>0:485240495=3<5=;>6<6:;<620?7?=27??84>849>062=91?019=<:0:6?824:3;3963;3082<0=:<::1=5;4=50:>4>234>:i7?75:?756<60<168<<51978913d2mh019;n:0;3?xu3>j0;6>u246395=5<5==;6<6<;<65`?70l2wx8;h50;1082093;3863<1687g>;49o0?o63<1d87g>;49m0?o63<1b87g>;49k0?o63<1`87g>;4900?o63<1987g>;49?0?o63;4jk0?o6318n523e390f=:;jl1=5=4=2f3>1e<5:n969m4=2f0>1e<5:n=69m4=2f7>1e<5:n>69m4=2f4>1e<5:n369m4=2ce>1e<5:kn69m4=2`3>1e<5:kh69m4=2ca>1e<5:ko69m4=2c:>1e<5:k36<6<;<1be?2d349j;7?73:?0af<3k278io4;c:?0ad<3k278i44;c:?0a=<3k278i:4;c:?0a3<3k278i84;c:?0a1<3k278i>4;c:p03c=838jw0:80;3;0>;6j=0?o63>b287g>;6j;0?o63>b087g>;6j90?o63>ag87g>;6il0?o63>ae87g>;6ij0?o63>fb87g>;6nk0?o63>f`87g>;6n00?o63>f987g>;6n>0?o63>f787g>;6n<0?o63>f587g>;6mh0?o63>e887g>;6m10?o63>e687g>;6m?0?o63>e487g>;6m=0?o63>e287g>;6m;0?o63=3b87g>;5;k0?o63=3`87g>;5;00?o63=3987g>;5;>0?o63=3787g>;5;<0?o63=3587g>;5;:0?o63<2`87g>;4?90?o63<7087g>;4>j0?o6s|24;94?3|5;;=68>4=341>4>3348:47jm;<02e?bf348:o7jk;|q14a<72:q6><85196897?a2mk01?6l:ec8yv46?3:1>v3=14864>;5910:;i5rs32`>5<4s48:97?74:?1=`6}::8>1=5:4=3;f>ab<5;2i6ij4}r02f?6=>r79=>4:0:?15f<6?m16>676=lh16>?<5db9>672=lm1v?>n:180846;3;3863=9e8gf>;50h0on6s|20f94?4|5;;968>4=33f>41c3ty9<44?:2y>644=91>01?7k:ef897>f2mn0q~<>f;296~;5980><63=21823a=z{;:36=4<{<025?7?<2795n4kb:?1<<??50;0x97772<:01?<=:05g?xu58>0;6>u220295=2<5;3h6ij4=3::>ab52z?14c<28279>84>7e9~w7612908w0;51k0on63=898gf>{t:;=1<706<5;836<9k;|q140<72:q6>=k5196897?e2mn01?67:ef8yv7a;3:19v3>b5864>;6nj0:49521c49`g=:9k21hl521cc9`a=z{8ki6=4:{<3a0?7?<278:o4ka:?010ae<5:>96im4=222>ad52z?2f7<2827:n54>7e9~w4g>290>w0?m2;3;0>;4>h0om63<558ge>;4<80om63<018gf>{t9k31<78t=0`2>06<58hj6<9k;<3ag?be34;ii7jn;<3`4?bd34;h>7jk;|q2e=<72;;:ea896262mi01?hi:e`8yv7ej3:1>v3>b1864>;6jj0:;i5rs0c4>5<2s4;i<7?74:?02<4ka:?005a783>0}:9hl1=5:4=24:>ae<5:?86im4=263>ae<5;lo6il4}r3ab?6=:r7:mh4:0:?2g5<6?m1v;4=;0om63<3g8ge>;5nj0on6s|1b394?4|58ko68>4=0a0>41c3ty:m94?:4y>5db=91>01>87:ea896352mi01>=i:ea897`e2mh0q~?l5;296~;6ij0><63>c7823a=z{8k86=4:{<3bg?7?<278::4ka:?0149850;0x97052<:01?;?:0:7?xu5<<0;6?u2273915=::=l1=5:4}r06859>64>=lh16>64e=lj1v?:;:18184183?;70<;e;3;0>{t:<=1<7=t=343>4>3348:m7jl;<02g?be3ty98>4?:3y>60`==916>9j51968yv42>3:1>v3=5g82<1=::8i1hl5rs361>5<5s48>i7;?;<07g?7?<2wx>8;50;7x973b282?70<>e;fb?84583ni70<=2;fg?845<3nh7p}=4083>7}::87>54z?11a<60=16>?>5db9>674=lh16>?:5dc9~w7272909w0<:c;73?843i3;386s|24194?5|5;?h6<6;;<016?be348987jn;|q17c<72;q6>8l5519>61?=91>0q~<:2;297~;5=k0:49522379`d=::;21ho5rs31f>5<5s48>m7;?;<078?50;0x973f282?70<=8;fb?xu6m80;6?u21ga915=:9lk1=5:4}r3f4?6=:r7:jo4:0:?2a<<60=1vb78ge>;6j10on63>b`8gg>{t9ml1<706<58o36<6;;|q2b4<72:q6=ko5196894d?2mi01v3>f8864>;6m>0:495rs0d3>5<5s4;m57?74:?2fdad<58i;6ij4=0a1>ae52z?2b2<2827:i84>859~w4cb290?w0?i7;3;0>;6jl0oo63>c18ge>;6k;0on6s|1e`94?4|58l=68>4=0g7>4>33ty:ii4?:2y>5c0=91>01<63>e282<1=z{8oh6=4<{<3e1?7?<27:o>4ka:?2g3:181843n3?;70<{t:::1<706<5;9j6<6;;|q16c<72;q6>9j5519>66?=91>0q~<=e;296~;5<63=3982<1=z{;8o6=4={<07f?373488;7?74:p67e=838p1?:n:4289751282?7p}=2c83>7}::=319=5222795=252z?10=<28279?94>859~w74>2909w0<;7;73?844;3;386s|22f94?7|5;><6<6;;|q2gc<72;q6=ho5519>5a>=91>0q~?le;296~;6m00><63>d682<1=z{8io6=4={<3fcc83>7}:9l<19=521e695=252z?2a0<2827:h>4>859~w4e>2909w0?j4;73?87c:3;386s|1b:94?4|58o868>4=0f2>4>33ty:o:4?:3y>5`4==916=i>51968yv4b:3:19v3>d9864>;5mk0:49521809`d=::1i1ho5244c904=z{8lo6=4={<3g3?3734;2>7?8d:p5cc=838p1fg83>7}:9m?19=52186952b52z?2`1<2827:584>7e9~w7662909w0?k3;73?87>>3;4=0;4>41c3ty9<>4?:3y>5a7==916=46516f8yv47<3:1>v3>d1864>;6100:;i5rs2g1>5<3s488o7;?;<1fg?7?<27:5l4ka:?71d<4?2wx>;=50;0x975e2<:01<7n:05g?xu5>=0;6?u222c915=:90h1=:j4}r051?6=:r79?44:0:?2=f<6?m1v?89:18184403?;70?6d;34`>{t:?=1<706<583n6<9k;|q12=<72;q6>>85519>5<`=9>n0q~<99;296~;5;<0><63>a1823a=z{;43|5;n26994=3f;>11<5;n<6994=3f5>11<5;n>6994=3f7>11<5;n96994=3f2>11<5;n86994=3ga>11<5;oj6994=3g:>11<5;o36994=3g4>11<5;o=6994=3g6>11<5;o?6994=3g0>11<5=?h6im4=34`>41c348j87jm;|q1ea<72;q6>i75519>6f0=9>n0q~p1?j7:0:7?84bi3?;70<6e;fb?84el3nj7p}=ac83>7}::m=19=522b6952b54z?1`2<60=16>h75519>6ol5d`9~w7gf2909w06a3==916>n<516f8yv4dk3:18v3=d482<1=::l=19=5228f9`f=::k=1hl5rs3c;>5<5s48o87;?;<0`5?70l2wx>nl50;6x97b3282?70k3nj70859>6`2==916>4l5d`9>6g7=lh1v?o::18184c93?;70{t:j21<7:t=3f2>4>3348n?7;?;<0:f?bd348jj7jn;|q1e2<72;q6>i=5519>6f6=9>n0q~348io7?8d:p6f1=838p1?m9:00b?84d?3;6974=3``>1?<5;hj6<9k;|q1fa<72:q6>n;513c897dd282j70{t:k21<7=t=3a7>1?<5;hj6974=3`;>41c3ty9no4?:2y>6f2=9;k01?ln:0:b?84ej3;1?<5;h=6<9k;|q1f<<72:q6>n=513c897d?282j70{t:k>1<7=t=3a1>1?<5;h=6974=3`7>41c3ty9n:4?:2y>6f4=9;k01?l9:0:b?84e?3;1?<5;h96<9k;|q1f0<72:q6>n?513c897d3282j70{t:k:1<7=t=3a3>1?<5;h96974=3`3>41c3ty9n>4?:2y>6f6=9;k01?l=:0:b?84e;3;1?<5;kn6<9k;|q1f4<72:q6>oh513c897d7282j70{t:hl1<7=t=3`f>44f348ji7?7a:?1ec<6?m1v?k>:18684bi3;3863>928ge>;61;0on63=8c8ge>;3=h08j6s|2d294?3|5;o26<6;;<3:0?bf34;2?7jm;<0;f?bd34>>m7=j;|q1`c<72h65196894?22mk01<7;:e`897>f2mk019;n:2f8yv4cm3:19v3=e682<1=:90<1hl521879`g=::1k1hn5244c97f=z{;no6=4:{<0f2?7?<27:5:4ka:?2=3im50;7x97c2282?70?68;fb?87>?3ni70<79;f`?822i39j7p}=dc83>0}::l>1=5:4=0;:>ag<58336il4=3:;>ag<5=?j6>74}r0ge?6=4>859>5565db9>00g=;11v?97:180840>3?;70<87;73?84013;627==916>:=516f8yv41n3:1:v3=7082<1=::>?1hn522619`f=::>31hn5227f9`d=::?i1hi5rs357>5<5s48<<7;?;<041?70l2wx>;k50;4x9717282?70<85;fb?840;3ni70<89;fa?841l3ni70<9c;f`?xu5n?0;6?u231090<=::o<1=:j4}r0e3?6=:r782`9>6c1=9>n0q~==0;296~;48;0:;i52305915=z{;l>6=4<{<13f?2>348m:7:6;<0e1?70l2wx?=?50;1x966e288j70;4880:;i5rs20:>5<5s49;n7?8d:?05c<282wx?nj50;7x97`12<801>j8:0:7?85bj3?;70=;2;fg?85793nj7p}=f583>6}:;9k184522g790<=::o>1=:j4}r134?6=;r782`9>6c3=91k01>>?:05g?xu4:10;6?u231c952b<5:;n68>4}r1`g?6==r79j84:2:?0`3<60=16?ho5519>717=lk16?=>5d`9~w7`42908w0=?9;6:?84a<3>270{t:ol1<7=t=22:>44f348m87?7a:?1bc<6?m1v><8:18185713;{t;jh1<7;t=3d7>04<5:n>6<6;;<1f=?37349?=7jk;<0eb?bf3ty9j?4?:2y>75>=<016>k=5489>6c4=9>n0q~l522g195=g<5;ln6<9k;|q063<72;q6?=6516f8967d2<:0q~=la;291~;5n:0>>635<4s49;;7:6;<0e6?2>348m=7?8d:p6cb=839p1>>8:00b?84a:3;3m63=fe823a=z{:8>6=4={<133?70l278=o4:0:p7f?=83?p1?h=:40896b4282?70=j7;73?85383no70u231490<=::o;184522g2952b53z?043<6:h16>k?519c897`d28=o7p}<2583>7}:;9<1=:j4=23b>0655z?1b4<2:278h?4>859>7`0==916?>h5dc9>6ce=lh1v?ki:180857=3>2706<7e9~w6442909w0=?5;34`>;4900><6s|3b594?3|5;l;68<4=2f2>4>3349n97;?;<10b?bc348mn7jn;|q1a`<72:q6?=:5489>6``=<016>hk516f8yv4ai3:1?v3<05826d=::ll1=5o4=3db>41c3ty8>?4?:3y>752=9>n01>?7:428yv5d>3:19v3=eg866>;4l90:49523d6915=:;:o1ho522gc9`d=z{;oo6=4<{<137?2>348ni7:6;<0f`?70l2wx>k650;1x9664288j70;5n00:;i5rs202>5<5s49;?7?8d:?053<282wx?::50;0b84bl3?970=md;64?85ej3><70=mc;64?85em3><70=mf;64?85d:3><70=l0;64?85d93><70=l3;64?85d<3><70=k1;64?85dn3><70=k0;64?85c:3><70=k3;64?85c>3><70=k4;64?85c=3><70=k7;64?85c03><70=nf;64?85fm3><70=m0;64?85fk3><70=nb;64?85fl3><70=n9;64?85f03><70=na;64?85f?3><70=jc;64?85bj3><70=ja;64?85b13><70=j8;64?85b?3><70=j6;64?85b=3><70=j4;64?85b;3><70=85;34`>{t;9i1<74>33499h7jn;|q050<72;q6?4;296~;49l0:495233a9`a=z{:;86=4={<12`?7?<278>n4kc:p744=838p1>?l:0:7?855k3ni7p}<1083>7}:;8h1=5:4=20`>ag52z?05d<60=16??j5dc9~w66a2909w0=>9;3;0>;4:l0om6s|31g94?4|5:;36<6;;<11a?be3ty8740=91>01>;4>j0?;63<6g823a=z{:8i6=4={<11e?373499h7?8d:p6<6=838p1?7::5;897?328=o7p}=9`83>7}::0?1=5o4=3;e>41c3ty9m<4?:3y>6<3=9>n01?o;:ec8yv4?n3:1>v3=9587=>;51:0:;i5rs3;:>5<5s48287?7a:?1=`<6?m1v?6j:18184>;3>270<62;34`>{t:021<74>f3482h7?8d:p6=b=838p1?7=:5;897?628=o7p}=9683>7}::081=5o4=3;`>41c3ty95;4?:3y>6<7=91k01?7m:05g?xu5?m0;6?u229090<=::1;1=:j4}r0;3?6=:r794?4>8`9>6=e=9>n0q~3483<7?8d:p6=0=838p1?6>:0:b?84?j3;41c3ty9484?:3y>6=6=91k01?6n:05g?xu5?h0;6?u226d90<=::>o1=:j4}r0;0?6=:r79;k4>8`9>6=?=9>n0q~<73;296~;5?l0:4l5229:952b54z?0fa<28278m44>859>73>=lm16?5;5d`9~w6d42908w0=md;3;0>;4l80><63<538g`>{t;0n1<7:t=2`a>06<5:k<6<6;;<153?bd3493=7jn;|q0f4<72:q6?ol5196896ea2<:01>;>:ea8yv5>m3:18v3;4i10:49523759`g=:;191hl5rs2`1>5<4s49io7?74:?0`5<282789<4kb:p7d6=83>p1>lj:42896gf282?70=98;fa?85??3nj7p}6}:;ko1=5:4=2f1>06<5:?96il4}r1b5?6=7=?=lh1v>l::18085en3;3863;4=:0oh6s|3`694?2|5:i968>4=2cf>4>3349=m7jm;<1;b?bf3ty8n54?:2y>7f4=91>01>j9:42896332mh0q~=n2;290~;4k90><63ok:0:7?851i3no70=7d;fb?xu4j>0;6>u23b395=2<5:n>68>4=277>ab54z?0g6<28278mk4>859>73d=lm16?4?5d`9~w6d>2908w0=l3;3;0>;4l>0><63<548g`>{t;h<1<7:t=2a7>06<5:h;6<6;;<15f?be3492o7jn;|q0fd<72:q6?n:5196896b?2<:01>;::e`8yv5d=3:18v35<3s49o47?74:?0af<282788?4kb:?1b27n:05g?xu4?m0;6?u23`g915=:;031=:j4}r14b?6=:r78n=4:0:?0=g<6?m1v>9m:18185fk3?;70=67;34`>{t;>k1<706<5:3=6<9k;|q03f<72;q6?lj5519>7<>=9>n0q~=88;296~;4i00><63<95823a=z{:=<6=4={<1bon:42896?228=o7p}<7783>7}:;h=19=52380952b52z?0=g<312785=4>7e9~w6?d2909w0=6b;31e>;41j0:;i5rs2:f>5<4s492m7:6;<1:4?2>3493i7?8d:p7<7=839p1>7n:00b?85>83;3m63<90823a=z{:2h6=4<{<1:=?2>3493i7:6;<1;g?70l2wx?5h50;1x96?>288j70=7e;3;e>;40o0:;i5rs2:b>5<4s49247:6;<1;g?2>3493m7?8d:p7=b=839p1>77:00b?85?k3;3m63<8e823a=z{:236=4<{<1:3?2>3493m7:6;<1;;40k0:;i5rs2:5>5<4s492:7:6;<1;3493:7?8d:p7=?=839p1>79:00b?85?03;3m63<88823a=z{:2?6=4<{<1:1?2>3493:7:6;<1;0?70l2wx?5950;1x96?2288j70=76;3;e>;40>0:;i5rs2:1>5<4s49287:6;<1;0?2>3493>7?8d:p7=3=839p1>7;:00b?85?<3;3m63<84823a=z{:2;6=4<{<1:7?2>3493>7:6;<1;4?70l2wx?5=50;1x96?4288j70=72;3;e>;40:0:;i5rs2:2>5<4s492>7?=a:?0<5<60h16?5?516f8yv5b93:18v35<3s49nm7?74:?2=f282?70?6d;fb?87>k3ni70::a;10?xu4ll0;69u23d:95=2<583n6io4=0;g>ad<5=?j6><4}r1g`?6=859>5<`=lh16=4k5dc9>00g=;81v>jl:18785b>3;3863>a18ge>;61o0on63;5`804>{t;mh1<7:t=2g6>4>334;j=7jn;<3b4?be34>>m7:e`8913f2;o0q~=k9;297~;4m:0:49521`09`g=:<i5rs21:>5<5s49887?7a:?07`<6?m1v>=?:181854<3;{t;:k1<74>f3498j7?8d:p767=838p1>=::05g?854>3>27p}<3c83>7}:;:<1=5o4=263>41c3ty8??4?:3y>760=9>n01>=8:5;8yv54k3:1>v3<36827e9>76>=<01v>=k:18185403;3m63<43823a=z{:?=6=4={<104kc:p71e=838p1>:8:0:b?85293;<6<9k;<173ty88i4?:3y>71>=91k01>;=:05g?xu4<=0;6?u235:952b<5:>26974}r17a?6=:r78844>8`9>705=9>n0q~=;5;296~;4<00:;i5235c90<=z{:>m6=4={<17e?7?i278994>7e9~w6212909w0=;a;34`>;4i6<6n;<161?70l2wx?8950;1x962e28=o70=83;fb?851m3nh7p}<6383>7}:;41c3ty8944?:3y>70b=9>n01>;j:5;8yv51;3:1>v3<5d827e9>70`=<01v>8;:181852n3;3m63<68823a=z{:?i6=4={<16b?70l278:=4;9:p733=838p1>8?:0:b?851i3;3ty8:;4?:3y>737=91k01>8m:05g?xu4=10;6?u2373952b<5:4>7e9~w617290?w0=80;3;0>;4?=0on63<748gf>;4>o0o56s|37f94?4|5:4=24f>41c3ty?9i4?:37x914a2==019:55891472==019?i:558917c2==019?l:558917e2==019?n:558917>2==019?7:55891702==019?9:55891722==019?;:55891522==019=;:55891542==019==:55891562==019=?:558914>2==019?j:55891742==019?=:558970c28=o7p};5383>7}:<;l19=5244c9g==z{=?:6=4={<61a?3734>>m7l7;|q715<72;q68?j5519>00g=j?1v9:i:181825k3?;70::a;`7?xu35rs56g>5<5s4>9m7;?;<66e?d53ty?8o4?:3y>07>==91688o5b09~w12f2909w0:=7;73?822i3h;7p};4883>7}:<;<19=5244c9ec=z{=>36=4={<611?3734>>m7m9;|q702<72;q68?:5519>00g=il1v9:9:181825;3?;70::a;cg?xu3<<0;6?u2430915=:<5<5s4>9=7;?;<66e?ge3ty?8>4?:3y>076==91688o5a89~w1252909w0:>f;73?822i3k37p};4183>7}:<8n19=5244c9e2=z{=9m6=4={<62g?3734>>m7o9;|q77`<72;q6800g=k<1v9=k:181826i3?;70::a;c6?xu3;j0;6?u240;915=:<5<5s4>:47;?;<66e?g43ty??l4?:3y>041==91688o5a39~w15>2909w0:>6;73?822i3k:7p};3983>7}:<8?19=5244c9e5=z{=9<6=4={<620?3734>>m7li;|q71<<72;q68>;5519>00g=jl1v9;7:181824<3?;70::a;a7?xu3=>0;6?u2421915=:<5<5s4>8>7;?;<66e?dd3ty?984?:3y>067==91688o5bc9~w1332909w0:<0;73?822i3hj7p};5283>7}:<;319=5244c9f<=z{=>h6=4={<62a?3734>>m7l:;|q704<72;q68<=5519>00g=ih1v9=9:181826:3?;70::a;;e?xu3=k0;6?u244a952b<5=?j6no4}r1f`?6==r78;>4kb:?02`7e9>00g=<><019;n:b;8yv71:3:1>v3=248gf>;5:=0:>o5rs04g>5<5s4;h?7jm;<3`6?75j2wx>?850;0x974?2mi01?<;:05g?xu6k=0;6?u21b49`f=:9j81=:j4}r11g?6=:r78>h4kd:?06f<6:k1v<=7:181855m3;{z{<<:6=4={_755>;3<3?==6*;73822c=z{<<36=4={_75<>;3<3?=46*;738235=z{;3<3?>?6*;738234=z{=h96=4={_6b4>;3<3>j<6*;738201=z{=h;6=4={_6:b>;3<3>2j6*;73820c=z{=km6=4={_6:a>;3<3>2i6*;73821<=z{=kn6=4={_6:`>;3<3>2h6*;73821g=z{=ko6=4={_6:g>;3<3>2o6*;73821f=z{=kh6=4={_6:f>;3<3>2n6*;73821a=z{=ki6=4={_6:e>;3<3>2m6*;73821c=z{=kj6=4={_6:=>;3<3>256*;738225=z{=hi6=4={_6b<>;3<3>j46*;738224=z{=hj6=4={_6b3>;3<3>j;6*;738226=z{=h26=4={_6b2>;3<3>j:6*;738221=z{=h36=4={_6b1>;3<3>j96*;738220=z{=h<6=4={_6b0>;3<3>j86*;738223=z{=h=6=4={_6b7>;3<3>j?6*;738222=z{=h>6=4={_6b6>;3<3>j>6*;73822==z{=h?6=4={_6b5>;3<3>j=6*;73822<=z{=h86=4={_6:<>;3<3>246*;73822d=z{=k26=4={_6:3>;3<3>2;6*;73822g=z{<=?6=4={_740>;3<3?<86*;73822f=z{;3<3?>j6*;73822`=z{=lo6=4={_6g=>;3<3>o56*;738237=z{=li6=4={_6g<>;3<3>o46*;738236=z{=lj6=4={_6g3>;3<3>o;6*;738231=z{=l26=4={_6g2>;3<3>o:6*;738230=z{=l36=4={_6g1>;3<3>o96*;738233=z{=l<6=4={_6g0>;3<3>o86*;738232=z{=l>6=4={_6g6>;3<3>o>6*;73823==z{=l?6=4={_6g5>;3<3>o=6*;73823<=z{=l86=4={_6g4>;3<3>o<6*;73823d=z{=l96=4={_6`b>;3<3>hj6*;73827d=z{=l:6=4={_6`a>;3<3>hi6*;73827g=z{=l;6=4={_6``>;3<3>hh6*;73827f=z{=om6=4={_6`g>;3<3>ho6*;73827a=z{=on6=4={_6`f>;3<3>hn6*;73827`=z{=oo6=4={_6`e>;3<3>hm6*;73827c=z{=oh6=4={_6`=>;3<3>h56*;738205=z{=oj6=4={_6`3>;3<3>h;6*;738204=z{=o26=4={_6`2>;3<3>h:6*;738207=z{=o36=4={_6`1>;3<3>h96*;738206=z{=o<6=4={_6`0>;3<3>h86*;738200=z{=o=6=4={_6`7>;3<3>h?6*;738203=z{=o>6=4={_6`6>;3<3>h>6*;738202=z{=o?6=4={_6`5>;3<3>h=6*;73820==z{=o86=4={_6`4>;3<3>h<6*;73820<=z{=o96=4={_6ab>;3<3>ij6*;73820d=z{=o:6=4={_6aa>;3<3>ii6*;73820g=z{<:?6=4={_6gb>;3<3>oj6*;73820f=z{<:86=4={_6ga>;3<3>oi6*;73820a=z{<:96=4={_6g`>;3<3>oh6*;73820`=z{<::6=4={_6gg>;3<3>oo6*;738215=z{<:;6=4={_6gf>;3<3>on6*;738214=z{=lm6=4={_6ge>;3<3>om6*;738217=z{=ln6=4={_6g7>;3<3>o?6*;738216=z{=l=6=4={_6`<>;3<3>h46*;738211=z{=oi6=4={_6a`>;3<3>ih6*;738210=z{=o;6=4={_6ag>;3<3>io6*;738213=z{<:h6=4={_73g>;3<3?;o6*;738212=z{=2<6=4={_6;3>;3<3>3;6*;73821==z{<:=6=4={_732>;3<3?;:6*;73821d=z{<9:6=4={_705>;3<3?8=6*;73821`=zugko57>52zJ736=zfhnj6=4={I647>{iimh1<7vF;729~jdbb2909wE:83:mea`=838pD99<;|lba5<72;qC8:=4}ocf5?6=:rB?;>5rn`g1>5<5sA>7}O<>90qcoj5;296~N3?:1vblk9:181M20;2wemh950;0xL1143tdji54?:3yK02552zJ736=zfhoj6=4={I647>{iilh1<7vF;729~jdcb2909wE:83:me``=838pD99<;|lbb5<72;qC8:=4}oce5?6=:rB?;>5rn`d1>5<5sA>7}O<>90qcoi5;296~N3?:1vblh9:181M20;2wemk950;0xL1143tdjj54?:3yK02552zJ736=zfhlj6=4={I647>{iioh1<7vF;729~jd`b2909wE:83:mec`=838pD99<;|la45<72;qC8:=4}o`35?6=:rB?;>5rnc21>5<5sA>7}O<>90qcl?5;296~N3?:1vbo>9:181M20;2wen=950;0xL1143tdi<54?:3yK02552zJ736=zfk:j6=4={I647>{ij9h1<7vF;729~jg6b2909wE:83:mf5`=838pD99<;|la55<72;qC8:=4}o`25?6=:rB?;>5rnc31>5<5sA>7}O<>90qcl>5;296~N3?:1vbo?9:181M20;2wen<950;0xL1143td2=l4?:0yK02557>51zJ736=zf0?j6=4>{I647>{i1=j0;65rn841>5<6sA>4}O<>90qc795;295~N3?:1vb489:182M20;2we5;950;3xL1143td2:54?:0yK02551zJ736=zf0{I647>{i1?h1<7?tH550?xh>>j0;65rn851>5<6sA>4}O<>90qc785;295~N3?:1vb499:182M20;2we5:950;3xL1143td2;54?:0yK02551zJ736=zf0=j6=4>{I647>{i1>h1<7?tH550?xh>?j0;65rn8:1>5<6sA>4}O<>90qc775;295~N3?:1vb469:182M20;2we55950;3xL1143td2454?:0yK02551zJ736=zf02j6=4>{I647>{i11h1<7?tH550?xh>0j0;6b290:wE:83:m==`=83;pD99<;|l:=5<728qC8:=4}o;:5?6=9rB?;>5rn8;1>5<6sA>4}O<>90qc765;295~N3?:1vb479:182M20;2we54950;3xL1143td2554?:0yK02551zJ736=zf03j6=4>{I647>{i10h1<7?tH550?xh>1j0;6l3:1=vF;729~j5rn8c1>5<6sA>4}O<>90qc7n5;295~N3?:1vb4o9:182M20;2we5l950;3xL1143td2m54?:0yK02551zJ736=zf0kj6=4>{I647>{i1hh1<7?tH550?xh>ij0;65rn8`1>5<6sA>4}O<>90qc7m5;295~N3?:1vb4l9:182M20;2we5o950;3xL1143td2n54?:0yK02551zJ736=zf0hj6=4>{I647>{i1kh1<7?tH550?xh>jj0;65rn8a1>5<6sA>4}O<>90qc7l5;295~N3?:1vb4m9:182M20;2we5n950;3xL1143td2o54?:0yK02551zJ736=zf0ij6=4>{I647>{i1jh1<7?tH550?xh>kj0;65rn8f1>5<6sA>4}O<>90qc7k5;295~N3?:1vb4j9:182M20;2we5i950;3xL1143td2h54?:0yK02551zJ736=zf0nj6=4>{I647>{i1mh1<7?tH550?xh>lj0;65rn8g1>5<6sA>4}O<>90qc7j5;295~N3?:1vb4k9:182M20;2we5h950;3xL1143td2i54?:0yK02551zJ736=zf0oj6=4>{I647>{i1lh1<7?tH550?xh>mj0;65rn8d1>5<6sA>4}O<>90qc7i5;295~N3?:1vb4h9:182M20;2we5k950;3xL1143td2j54?:0yK02551zJ736=zf0lj6=4>{I647>{i1oh1<7?tH550?xh>nj0;65rn`21>5<6sA>4}O<>90qco?5;295~N3?:1vbl>9:182M20;2wem=950;3xL1143tdj<54?:0yK02551zJ736=zfh:j6=4>{I647>{ii9h1<7?tH550?xhf8j0;65rn`31>5<6sA>4}O<>90qco>5;295~N3?:1vbl?9:182M20;2wem<950;3xL1143tdj=54?:0yK02551zJ736=zfh;j6=4>{I647>{ii8h1<7?tH550?xhf9j0;65rn`01>5<6sA>4}O<>90qco=5;295~N3?:1vbl<9:182M20;2wem?950;3xL1143tdj>54?:0yK02551zJ736=zfh8j6=4>{I647>{ii;h1<7?tH550?xhf:j0;65rn`11>5<6sA>4}O<>90qco<5;295~N3?:1vbl=9:182M20;2wem>950;3xL1143tdj?54?:0yK02551zJ736=zfh9j6=4>{I647>{ii:h1<7?tH550?xhf;j0;65rn`61>5<6sA>4}O<>90qco;5;295~N3?:1vbl:9:182M20;2wem9950;3xL1143tdj854?:0yK02551zJ736=zfh>j6=4>{I647>{ii=h1<7?tH550?xhf5rn`71>5<6sA>4}O<>90qco:5;295~N3?:1vbl;9:182M20;2wem8950;3xL1143tdj954?:0yK02557>51zJ736=zfh?j6=4>{I647>{ii5rn`41>5<6sA>4}O<>90qco95;295~N3?:1vbl89:182M20;2wem;950;3xL1143tdj:54?:0yK02551zJ736=zfh{I647>{ii?h1<7?tH550?xhf>j0;65rn`51>5<6sA>4}O<>90qco85;295~N3?:1vbl99:182M20;2wem:950;3xL1143tdj;54?:0yK02551zJ736=zfh=j6=4>{I647>{ii>h1<7?tH550?xhf?j0;65rn`:1>5<6sA>4}O<>90qco75;295~N3?:1vbl69:182M20;2wem5950;3xL1143tdj454?:0yK02551zJ736=zfh2j6=4>{I647>{ii1h1<7?tH550?xhf0j0;6b290:wE:83:me=`=83;pD99<;|lb=5<728qC8:=4}oc:5?6=9rB?;>5rn`;1>5<6sA>4}O<>90qco65;295~N3?:1vbl79:182M20;2wem4950;3xL1143tdj554?:0yK02551zJ736=zfh3j6=4>{I647>{ii0h1<7?tH550?xhf1j0;6l3:1=vF;729~jd?b290:wE:83:me<`=83;pD99<;|lbe5<728qC8:=4}ocb5?6=9rB?;>5rn`c1>5<6sA>4}O<>90qcon5;295~N3?:1vblo9:182M20;2weml950;3xL1143tdjm54?:0yK02551zJ736=zfhkj6=4>{I647>{iihh1<7?tH550?xhfij0;65rn``1>5<6sA>4}O<>90qcom5;295~N3?:1vbll9:182M20;2wemo950;3xL1143tdjn54?:0yK02551zJ736=zfhhj6=4>{I647>{iikh1<7?tH550?xhfjj0;65rn`a1>5<6sA>4}O<>90qcol5;295~N3?:1vblm9:182M20;2wemn950;3xL1143tdjo54?:0yK02551zJ736=zfhij6=4>{I647>{iijh1<7?tH550?xhfkj0;65rn`f1>5<6sA>4}O<>90qcok5;295~N3?:1vblj9:182M20;2wemi950;3xL1143tdjh54?:0yK025?01274>6789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123454<80;0=>5>.130?46=AGZ^X7OKDSC?=?699l1:<7GAPTV9twi`Wog`Rzgrdqk8<<76;?0==4FNQWW>uthoVl~`aQ{hsgplZgt{lx044?>378553CE\XZ5DHC?50<76890=;4@UURVP?BHI5;>6=0>2:3;>LHW]]0oec2>7;2=5>433;98?0086?IR\Y__6IA_A=394;753:81EC^ZT;FJF956294:?6==:NWWTPR=LFH7?<4?>0687301?69l29x>=>?ff662(363=>08=HI1097>LHW]]0OE]L33;2=57=32F__\XZ5DNRA86<7681=>6864:4:=32<09:;866J8@38=1=>8939748;;845=44<13CE\XZ5AEFQF9>=87;n744FNQWW>uthoVof|ywPtipfwm:?29499675IORVP?vugnUna}zv_ujqavnXizyn~y27:1<11>?=AGZ^X7~}of]fiur~W}byi~fPndebp`:?294:n675OTVSQQ55NDEPB858?3HNO^L2>>99B@ATF4;437LJKR@>0:==FLMXJ0907;@FGVD:2611JHI\N<7<;?DBCZH6<255NDEPB8=8f3HNO^L26:1<;?DBCZH62255NDEPA858?3HNO^O2>>99B@ATE4;437LJKRC>0:==FLMXI0907;@FGVG:2611JHI\M<7<;?DBCZK6<2l5NDEPA8=<7611JHI\M<9<0?DJK12KXUCMPRDE0?GS502H^_RGAFN38G7=DM880OEKLK^NJG@HTMV^R\H<4CH68GIMF<2IGGO=4CMP:?FIJE@^_II?;;BMQAZABFLXJXDAA_HLEK2=DZLK_II?4D39GG7=CA?1OEL2?>69GMD:687=0HDO310<4?AOF4885;6JFA=30:2=CAH6:8374DHC?50<76>1OEL2>5?48@LG;97<0HDO32?48@LG;;7<0HDO34?48@LG;=7<0HDO36?48@LG;?7<0HDO38?48@LG;17<0HDL30?58@LD;994<7IGM<03=3>BNJ5;92:5KIC>27;169GMG:6?7=0HDL319<4?AOE4835:6JFB=3=3>BNJ58;2:5KIC>15;1?08;EKA8759?2NBN1<;>69GMG:5=7=0HDL327<4?AOE4;=5;6JFB=0;:2=CAK695384DH@?6;14=7IGM<9<5?AOE404<7IG_A=2==>BNXH6:6=08;EKSE979?2NB\O2?>69GMUD;97=0HD^M<3<:?AOWJ591<394DHRA86813MEJ0=08;EMB8469?2NDM1?>>69GKD:6:7=0HBO312<4?AIF48>556J@A=36>5803MEJ0<;16:FLE979>2NDM1<16:FLE959>2NDM1:16:FLE939>2NDM1816:FLE919>2NDM1616:FLE9?9?2NDMR\JG79GKG:76>1OCO2>0?58@JD;984<7IAM<00=3>BHJ5;82:5KOC>20;169GKG:607=0HBL318<5?AIE484<7IAM<32=3>BHJ58:2:5KOC>16;1>08;EMA8729?2NDN1<:>69GKG:5>7=0HBL326<4?AIE4;25;6J@B=0::3=CGK692:5KOC>04;?69GKG:497<0HBL33?48@JD;<7<0HBL35?48@JD;>7<0HBL37?48@JD;07<0HBL39?58@JDXZLM<7IA_A=2==>BHXH6:6=08;EMSE979?2ND\O2?>69GKUD;97=0HB^M<3<:?AIWJ591<394DNRA86843LDJ?6KABc9FJZCDKVXNMIm4EO]FGFYPZ@^N>6H=2:D;1>@FDZO97KJ<;GF@0>@CKL90JI^;;GFSA1=AL[O?7KH7009D7>AIL81B>6G?2:K26>O5:2C846GAIUR\45>>8:KMMQVX8;20ECG[P^20<>OIA]ZT<964IOKWTZ6202CEEY^P07:8MKOSXV:<56GAIUQWEQC03@DBXR>?7:KMMQY79>1BBDZP0358MKOSW99<7D@FT^273>OIA]U;9:5FNHV\4311BBDZP1358MKOSW89<7D@FT^373>OIA]U:9:5FNHV\531969JJLRX9H=0ECG[_0@4?LHN\V;H;6GAIU]2@2=NF@^T=H94IOKW[4@03@DBXR1BBDZP2358MKOSW;9<7D@FT^073>OIA]U99:5FNHV\631H94IOKW[7@03@DBXR=?7:KMMQY49>1BBDZP3358MKOSW:9<7D@FT^173>OIA]U89:5FNHV\73198;HLJPZ5??2CEEYQ<969JJLRX;H=0ECG[_2@4?LHN\V9H;6GAIU]0@2=NF@^T?H94IOKW[6@13@DBXRO9;HLJPZD43@D]>6BF2:NL2>JHIMOO;6B@GHABH1=K]];?7A[[259OQQ533E__8;5CUU6\@0=J[NEE96CZXB[`?Hgmg{\n~~g`nb9Nmkiu^lxxeb`<;O226>H6<2D:<=:4N0220>H68;>0B<><4:L241286@>0768J460<2D:<5:4N02:7>H69=1E=<>;;O3251=I988?7C?>359M54233G;:995A1047?K76?=1E=<6;;O32=6=I9;>0B<2268J443<2D:>8:4N0050>H6:>>0B<<73:L271=I9:;87C?;3:L216=I9?>0B<8;3:L236=I9190B<7=;O00?K47;2D9=>5A2318J7543G8??6@=529M635H>;:1E59=4N870?K?1;2D2;>5A9918JIL92Z?7]O]T`9SMKYE]ZCOTo5_IO]AQVHFEL90\_K>;P38V`=UIDH::R]>8^Q02d=UMHNTJD\\Tb9QADBX_@N_DROl;SGB@ZQNL]BTN<5\129PMHYDGEFB_DAA_BJFGN0<[F_YOH94SSTBHZG03ZX]MAQM4:QPVD2<[ZXI86ZVPD11?P6(o{l%~k!hcy,`hn~(EqeySjPpovq[beXpfx;<=>PRdqvhq74:2_;#j|i.sd,cf~)keas#@v`r^pg[uhszVmhSua}0122[Wct}e~:??5Z0.eqb+ta'nis"nbdx.O{kwYulVzexQhc^zlv567:VXnxb{1208Q5)`zo$yj"ilx/aoo})JpfxT~iQnup\cfYg{:;<>Q]erwop4553\:$kh!rg-dg}(ddbr$Aua}_sf\tkruWniTtb|?016\V`urd};8>6[?/fpe*w`(ojr%oaew/LzlvZtcWyd~Ril_ymq4562W[oxyaz>339V4*aun'xm#jmw.bnh|*Kg{UyhR~ats]dgZ~hz9:;:R\jstnw564<]9%l~k }f.e`|+ekcq%Ftb|Pre]sjqtXojUsc>?06]Qavsk|8997X> gsd-vc)`kq$h`fv Mymq[rtXxg~ySjmPxnp3456XZly~`y?<2:W3+bta&{l$knv!cmi{+H~hzV}yS}`{r^e`[}iu89::S_k|umv277=R8&myj#|i/fa{*fjlp&GscQxr^rmpwY`kVrd~=>?2^Pfwpjs9:80Y=!hrg,qb*adp'iggu!Bxnp\swYwf}xTknQwos2346YUmzgx<==;T2,cw`)zo%lou lljz,I}iuW~xT|cz}_fa\|jt789>T^h}zlu306>S7'nxm"h gbz-gim'Drd~Ry}_qlwvZadWqey<=>:_Sgpqir6;;1^<"i}f/pe+be&jf`t"Cwos]tvZvi|{UloRv`r1232ZTb{|f=><4U1-dvc(un&mht#mcky-N|jtX{U{by|Pgb]{kw678>UYi~{ct011?P6(o{l%~k!hcy,`hn~(EqeySz|Ppovq[beXpfx;<=6PRdqvhq7592_;#j|i.sd,cf~)keas#jPpovq[goi4949=6[?/fpe*w`(ojr%oaew/sf\tkruWkce0<0=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<3<15>S7'nxm"h gbz-gim'{nT|cz}_ckm868592_;#j|i.sd,cf~)keas#jPpovq[goi4=49=6[?/fpe*w`(ojr%oaew/sf\tkruWkce080=1:W3+bta&{l$knv!cmi{+wbXxg~ySoga<7<15>S7'nxm"h gbz-gim'{nT|cz}_ckm828592_;#j|i.sd,cf~)keas#jPpovq[goi4149<6[?/fpe*w`(ojr%oaew/sf\tkruWkceS= gsd-vc)`kq$h`fv re]sjqtXj`dT9?>4U1-dvc(un&mht#mcky-q`Zvi|{UiecQ9219V4*aun'xm#jmw.bnh|*tcWyd~Rlfn^514>S7'nxm"h gbz-gim'{nT|cz}_ckm[=413\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=>=7:W3+bta&{l$knv!cmi{+wbXxg~ySoga_ymq45679;<0Y=!hrg,qb*adp'iggu!}d^rmpwYeagUsc>?0004?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789;:>;5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123671<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?3305?P6(o{l%~k!hcy,`hn~(zmU{by|Pbhl\|jt789>9;6[?/fpe*w`(ojr%oaew/sf\tkruWkceSua}0127570<]9%l~k }f.e`|+ekcq%yhR~ats]amkYg{:;<8<8;T2,cw`)zo%lou lljz,vaYwf}xTnd`Pxnp34536:?1^<"i}f/pe+be&jf`t"|k_qlwvZdnfVrd~=>?63:8Q5)`zo$yj"ilx/aoo})ulVzexQmio]{kw678?;:>:5Z0.eqb+ta'nis"nbdx.pg[uhszVhbbRv`r123274e3\:$kh!rg-dg}(ddbr$~iQnup\flhXpfx;<=8Pbef363=R8&myj#|i/fa{*fjlp&xoS}`{r^`jjZ~hz9:;;?94U1-dvc(un&mht#mcky-q`Zvi|{UiecQwos23427582_;#j|i.sd,cf~)keas#jPpovq[be;878;7X> gsd-vc)`kq$h`fv re]sjqtXoj6:2?>4U1-dvc(un&mht#mcky-q`Zvi|{Ulo1<1219V4*aun'xm#jmw.bnh|*tcWyd~Ril<2<14>S7'nxm"h gbz-gim'{nT|cz}_fa?0;473\:$kh!rg-dg}(ddbr$~iQnup\cf:26;:0Y=!hrg,qb*adp'iggu!}d^rmpwY`k5<5>=5Z0.eqb+ta'nis"nbdx.pg[uhszVmh0:0=0:W3+bta&{l$knv!cmi{+wbXxg~ySjm38?3e?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb]35c=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[47a3\:$kh!rg-dg}(ddbr$~iQnup\cfY59o1^<"i}f/pe+be&jf`t"|k_qlwvZadW:;m7X> gsd-vc)`kq$h`fv re]sjqtXojU?=k5Z0.eqb+ta'nis"nbdx.pg[uhszVmhS8?i;T2,cw`)zo%lou lljz,vaYwf}xTknQ91g9V4*aun'xm#jmw.bnh|*tcWyd~Ril_63e?P6(o{l%~k!hcy,`hn~(zmU{by|Pgb];63=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumn6;2?84U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde?5;413\:$kh!rg-dg}(ddbr$~iQnup\cfYf{{ol0?0=6:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfc959:?1^<"i}f/pe+be&jf`t"|k_qlwvZadWhyyij2;>348Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`a;=78=7X> gsd-vc)`kq$h`fv re]sjqtXojUjkh<7<12>S7'nxm"h gbz-gim'{nT|cz}_fa\evtbo5=5>;5Z0.eqb+ta'nis"nbdx.pg[uhszVmhSl}}ef>;:73<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmT?;4U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\773<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmT8?;4U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\173<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmT:?;4U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\373<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmT4?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:76;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>2:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<2=>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl8682?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:36;30Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0>6:7?<]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh<29>3;8Q5)`zo$yj"ilx/aoo})ulVzexQhc^cpv`aXl86<2?74U1-dvc(un&mht#mcky-q`Zvi|{UloRo|rde\`4:?6;20Y=!hrg,qb*adp'iggu!}d^rmpwY`kVkx~hiPd0]36==R8&myj#|i/fa{*fjlp&xoS}`{r^e`[duumnUo=R?=8:W3+bta&{l$knv!cmi{+wbXxg~ySjmParpfcZb6W;837X> gsd-vc)`kq$h`fv re]sjqtXojUjkh_e3\77><]9%l~k }f.e`|+ekcq%yhR~ats]dgZgtzlmTh85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSua}012360=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[}iu89::>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSua}012160=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[}iu89:8>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSua}012760=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[}iu89:>>85Z0.eqb+ta'nis"nbdx.pg[uhszVmhSua}012560=R8&myj#|i/fa{*fjlp&xoS}`{r^e`[}iu89:<><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb1?1209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=0=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj959:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf5>5><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb1;1209V4*aun'xm#jmw.bnh|*quWyd~Rlfn=4=64=R8&myj#|i/fa{*fjlp&}yS}`{r^`jj919:81^<"i}f/pe+be&jf`t"y}_qlwvZdnf525><5Z0.eqb+ta'nis"nbdx.uq[uhszVhbb171219V4*aun'xm#jmw.bnh|*quWyd~Rlfn^314>S7'nxm"h gbz-gim'~xT|cz}_ckm[7473\:$kh!rg-dg}(ddbr${Qnup\flhX;;:0Y=!hrg,qb*adp'iggu!xr^rmpwYeagU?>=5Z0.eqb+ta'nis"nbdx.uq[uhszVhbbR;=0:W3+bta&{l$knv!cmi{+rtXxg~ySoga_703?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\376<]9%l~k }f.e`|+ekcq%|~R~ats]amkY?:91^<"i}f/pe+be&jf`t"y}_qlwvZdnfV39:6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}012362=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;<<<9;T2,cw`)zo%lou lljz,swYwf}xTnd`Pxnp34575?2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>>1348Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678;8<7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?010263=R8&myj#|i/fa{*fjlp&}yS}`{r^`jjZ~hz9:;??94U1-dvc(un&mht#mcky-tvZvi|{UiecQwos234645>2_;#j|i.sd,cf~)keas#z|Ppovq[goiWqey<=>;269V4*aun'xm#jmw.bnh|*quWyd~Rlfn^zlv567<88=7X> gsd-vc)`kq$h`fv ws]sjqtXj`dTtb|?01713>S7'nxm"h gbz-gim'~xT|cz}_ckm[}iu89:>=?84U1-dvc(un&mht#mcky-tvZvi|{UiecQwos23434?3\:$kh!rg-dg}(ddbr${Qnup\flhXpfx;<=8>1358Q5)`zo$yj"ilx/aoo})pzVzexQmio]{kw678?89n6[?/fpe*w`(ojr%oaew/vp\tkruWkceSua}0125[gbc8;<0Y=!hrg,qb*adp'iggu!xr^rmpwYeagUsc>?0604?P6(o{l%~k!hcy,`hn~({U{by|Pbhl\|jt789=:>=5Z0.eqb+ta'nis"nbdx.uq[uhszVmh0=0=0:W3+bta&{l$knv!cmi{+rtXxg~ySjm31?03?P6(o{l%~k!hcy,`hn~({U{by|Pgb>1:76<]9%l~k }f.e`|+ekcq%|~R~ats]dg959:91^<"i}f/pe+be&jf`t"y}_qlwvZad4=49<6[?/fpe*w`(ojr%oaew/vp\tkruWni793328Q5)`zo$yj"ilx/aoo})pzVzexQhc=5=65=R8&myj#|i/fa{*fjlp&}yS}`{r^e`8=8582_;#j|i.sd,cf~)keas#z|Ppovq[be;17;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU;=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS;m7X> gsd-vc)`kq$h`fv ws]sjqtXojU3=k5Z0.eqb+ta'nis"nbdx.uq[uhszVmhS4<9;T2,cw`)zo%lou lljz,swYwf}xTknQnssgd8585>2_;#j|i.sd,cf~)keas#z|Ppovq[beXizxnk1?1279V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqab:56;<0Y=!hrg,qb*adp'iggu!xr^rmpwY`kVkx~hi33?05?P6(o{l%~k!hcy,`hn~({U{by|Pgb]bwwc`4=49:6[?/fpe*w`(ojr%oaew/vp\tkruWniTm~|jg=7=63=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumn6=2?84U1-dvc(un&mht#mcky-tvZvi|{UloRo|rde?3;413\:$kh!rg-dg}(ddbr${Qnup\cfYf{{ol050=6:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfc9?9:<1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQ?249V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabY6:<1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQ=249V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabY4:<1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQ;249V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabY2:<1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQ9249V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabY0:<1^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQ7249V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabY>:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=3=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=1<1289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc9595>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5929:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=7=6<=R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=181289V4*aun'xm#jmw.bnh|*quWyd~Ril_`qqabYc95=5>45Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g59>9:01^<"i}f/pe+be&jf`t"y}_qlwvZadWhyyijQk1=;=6==R8&myj#|i/fa{*fjlp&}yS}`{r^e`[duumnUo=R?=8:W3+bta&{l$knv!cmi{+rtXxg~ySjmParpfcZb6W;837X> gsd-vc)`kq$h`fv ws]sjqtXojUjkh_e3\77><]9%l~k }f.e`|+ekcq%|~R~ats]dgZgtzlmTh55Z0.eqb+ta'nis"nbdx.uq[uhszVmhSl}}ef]g5Z?5=2_;#j|i.sd,cf~)keas#z|Ppovq[beXpfx;<=>=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmPxnp34575=2_;#j|i.sd,cf~)keas#z|Ppovq[beXpfx;<=<=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmPxnp34555=2_;#j|i.sd,cf~)keas#z|Ppovq[beXpfx;<=:=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmPxnp34535=2_;#j|i.sd,cf~)keas#z|Ppovq[beXpfx;<=8=5:W3+bta&{l$knv!cmi{+rtXxg~ySjmPxnp34515=2_;#j|i.sd,cf~)keas#z|Ppovq[beXpfx;<=6<0:W3+bta&{l$ka>!re-dv4(un~l#@czx^PBIZTCWLDTJZH[200e?P6(o{l%~k!hl1,q`*au9'xm{kz Mlw{[WGJW[OLCXZPEO326a=R8&myj#|i/fn3*wb(o{;%~kyit.avvwYao~Tyo{e=2=6a=R8&myj#|i/fn3*wb(o{;%~kyit.avvwYao~Tyo{e=3=6f=R8&myj#|i/fn3*wb(o{;%~kyit.avvwYao~Tyo{e^21g>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj_016?P6(o{l%~k!hl1,q`*au9'xm{kz ctpq[cqa|VymykPmtz3457;879=7X> gsd-vc)`d9$yh"i}1/pescr(k|xySkyit^qweqcXe|r;<=?30?301>S7'nxm"h gm2-va)`z8$yjzh{/bwqvZ`pn}Uxxlzj_lw{45664848:6[?/fpe*w`(oe:%~i!hr0,qbr`s'jy~Rhxfu]ppdrbWds<=>><0<26==R8&myj#|i/fn3*wb(o{;%~kyit.gntqXn~lSkl=7:W3+bta&{l$ka>!re-dv4(un~l#hctx]escrXa;l0Y=!hrg,qb*ak8'xo#j|>.sdtbq)bey~rSkyit^k\ip~789:8<6[?/fpe*w`(oe:%~i!hr0,qbr`s'lg{xtQiwgv\mZkrp9:;<<<6;T2,cw`)zo%l`= }d.eqev(u{}y$o=!laspzj`r;87827X> gsd-vc)`d9$yh"i}ar,qwqu(k9%hm|vndv?5;4>3\:$kh!rg-dh5(ul&mym~ }suq,g5)di{xrbhz32?0:?P6(o{l%~k!hl1,q`*auiz$yy} c1-`ewt~fl~7?32g9V4*aun'xm#jb?.sf,cwgt&{y"m?/fov|+ajS8W%k`}!mr0e?P6(o{l%~k!hl1,q`*auiz$yy} c1-dip~)odQ9Q#ibs/op6c=R8&myj#|i/fn3*wb(o{kx"}{s.a3+bkrp'mfW>S!glq-iv4a3\:$kh!rg-dh5(ul&mym~ }suq,g5)`e|r%k`U;]/enw+kt::1^<"i}f/pe+bj7&{n$ko|.sqww*e7';7<3<<;T2,cw`)zo%l`= }d.eqev(u{}y$o=!y1=3=66=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7;:7887X> gsd-vc)`d9$yh"i}ar,qwqu(k9%}=1=1229V4*aun'xm#jb?.sf,cwgt&{y"m?/w3?0;4e3\:$kh!rg-dh5(ul&mym~ }suq,g5)q9V:Tmcj?01226g=R8&myj#|i/fn3*wb(o{kx"}{s.a3+s7X9Vkeh=>?000a?P6(o{l%~k!hl1,q`*auiz$yy} c1-u5Z4Xign;<=>>2c9V4*aun'xm#jb?.sf,cwgt&{y"m?/w3\7Zgil9:;<<45Z0.eqb+ta'nf;"j gscp*wus{&i:#no}rxlfp969:01^<"i}f/pe+bj7&{n$ko|.sqww*e6'jky~t`jt=3=6<=R8&myj#|i/fn3*wb(o{kx"}{s.a2+fguzpdnx1<1289V4*aun'xm#jb?.sf,cwgt&{y"m>/bcqv|hb|595>k5Z0.eqb+ta'nf;"j gscp*wus{&i:#jczx/en_5[)od;%a</fov|+ajS;W%k`}!mr0e?P6(o{l%~k!hl1,q`*auiz$yy} c0-dip~)odQ8Q#ibs/op6c=R8&myj#|i/fn3*wb(o{kx"}{s.a2+bkrp'mfW9S!glq-iv443\:$kh!rg-dh5(ul&mym~ }suq,g4)q95:5>>5Z0.eqb+ta'nf;"j gscp*wus{&i:#{?31?00?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5949::1^<"i}f/pe+bj7&{n$ko|.sqww*e6';7?3<<;T2,cw`)zo%l`= }d.eqev(u{}y$o?000a?P6(o{l%~k!hl1,q`*auiz$yy} c0-u5Z7Xign;<=>>2c9V4*aun'xm#jb?.sf,cwgt&{y"m>/w3\6Zgil9:;<<o5Z0.eqb+ta'nf;"j gscp*wus{&i:#{?P4^llp567888;7X> gsd-vc)`d9$yh"i}ar,qwqu(kfg{4U1-dvc(un&mg<#|k/fpbw+tt|z%hc`~>289V4*aun'xm#jb?.sf,cwgt&{y"|nm^gntqXnkUb?=5Z0.eqb+ta'nf;"j gscp*wus{&xjaRkbpu{\bgYnWfx;<=><1:W3+bta&{l$ka>!re-dvdu)zz~x#ob_dosp|YajVcTc>?01317>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|;>0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|Vidycz>259V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjq45<2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfex><;;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw072<]9%l~k }f.eo4+tc'{zex!BcnwmpZeh}g~>>95Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu410>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|>8?7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{83;8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXkp6;2?m4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\g|:76Vx>45Z0.eqb+ta'nf;"j rqlwv*Kdg|dSnaznu]`}979:j1^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=3=[wr512_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRmv<3<1g>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0?0Pru0:?P6(o{l%~k!hl1,q`*twf}x$Anaznu]`kphsWjs7?37:Zts:01^<"i}f/pe+bj7&{n$~}`{r.O`kphsWje~byQly=7=6f=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Uhu1;1_sv1=>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vir0;0=c:W3+bta&{l$ka>!re-qtkru'DidyczPcnwmpZe~4?4T~y<6;T2,cw`)zo%l`= }d.psjqt(Eje~byQlotlw[f;?78h7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_b{?3;Yu|;k0Y=!hrg,qb*ak8'xo#~ats-Ngjsi|VidyczPxnp?4;4f3\:$kh!rg-dh5(ul&x{by| MbmvjqYdg|dSua}<0<1e>S7'nxm"h gm2-va)uxg~y#@m`uov\gjsi|Vrd~1<12`9V4*aun'xm#jb?.sf,vuhsz&Ghcx`{_bmvjqYg{682?o4U1-dvc(un&mg<#|k/srmpw)JkfexRm`uov\|jt;<78j7X> gsd-vc)`d9$yh"|nup,Ifirf}Uhcx`{_ymq8085i2_;#j|i.sd,ci6)zm%y|cz}/LalqkrXkfexRv`r=4=6d=R8&myj#|i/fn3*wb(zyd~"Clotlw[firf}Usc28>3c8Q5)`zo$yj"ic0/pg+wvi|{%Fob{at^alqkrXpfx74311g9V4*aun'xm#jb?.sf,vuhsz&idycz31?3e?P6(o{l%~k!hl1,q`*twf}x$ob{at=0=5c=R8&myj#|i/fn3*wb(zyd~"m`uov?7;7a3\:$kh!rg-dh5(ul&x{by| cnwmp9299o1^<"i}f/pe+bj7&{n$~}`{r.alqkr;=7;m7X> gsd-vc)`d9$yh"|nup,gjsi|5<5=k5Z0.eqb+ta'nf;"j rqlwv*eh}g~7;3?i;T2,cw`)zo%l`= }d.psjqt(kfex1611d9V4*aun'xm#jb?.sf,vuhsz&idyczP00g8Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_03f?P6(o{l%~k!hl1,q`*twf}x$ob{at^02a>S7'nxm"h gm2-va)uxg~y#naznu]05`=R8&myj#|i/fn3*wb(zyd~"m`uov\04c<]9%l~k }f.eo4+tc'{zex!lotlw[07b3\:$kh!rg-dh5(ul&x{by| cnwmpZ06m2_;#j|i.sd,ci6)zm%y|cz}/bmvjqY09l1^<"i}f/pe+bj7&{n$~}`{r.alqkrX0;80Y=!hrg,qb*ak8'xo#~ats-`kphsWm;7<3<=;T2,cw`)zo%l`= }d.psjqt(kfexRj><0<16>S7'nxm"h gm2-va)uxg~y#naznu]g5949:;1^<"i}f/pe+bj7&{n$~}`{r.alqkrXl8682?<4U1-dvc(un&mg<#|k/srmpw)dg|dSi?34?01?P6(o{l%~k!hl1,q`*twf}x$ob{at^f28085:2_;#j|i.sd,ci6)zm%y|cz}/bmvjqYc95<5>?5Z0.eqb+ta'nf;"j rqlwv*eh}g~Th<28>308Q5)`zo$yj"ic0/pg+wvi|{%hcx`{_e3?<;463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W98:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S<<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_302?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[6463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W=8:7X> gsd-vc)`d9$yh"|nup,gjsi|Vn:S8<>;T2,cw`)zo%l`= }d.psjqt(kfexRj>_702?P6(o{l%~k!hl1,q`*twf}x$ob{at^f2[2463\:$kh!rg-dh5(ul&x{by| cnwmpZb6W18?7X> gsd-vc)`d9$yh"|nup,gjsi|Vddx=>?12d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pcx>2:6`<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^az8784n2_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\g|:46:l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Ze~4=48j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xkp6>2>h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vir0;0!ws-dsdu)oyl%{~i/Lcg`ZbnnoU{by|Pp`f\eab789:Tot28>2d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pcx>::17<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^nvp9776=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Zjr|5;58;5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"Cnde]gmc`Xxg~yS}ok_`fg4567We0<0PIOT\416<]9%l~k }f.eo4+qu'n}j#if/uqtc)JimnThdhi_qlwvZvflVkoh=>?0^nvp949<91^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&GjhiQkigd\tkruWykoSljk0123[iss4:4?<6[?/fpe*w`(oe:%{!hw`q-cu`){zm#@okd^fjbcYwf}xT|ljPaef3456Xd|~783:?;T2,cw`)zo%l`= xr.etev(`xo$|~}h M`fg[aoanVzexQae]b`a6789Ugyy2:>528Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?_mww828382_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\hpr;07>;7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yk}}6229?4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vrd~1??>528Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-NeabXl`lmS}`{r^rb`Zgcl9:;?_ymq878382_;#j|i.sd,ci6){%l{l}!gqd-swva'DkohRjffg]sjqtXxhnTmij?012\|jt;;7>;7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$Aljk_ekebZvi|{U{miQnde2345Yg{6?29>4U1-dvc(un&mg<#y}/fubw+awn'}y|k!Baef\`l`aWyd~R~nd^cg`5678Vrd~1;1419V4*aun'xm#jb?.vp,crgt&nzm"z|f.Ob`aYcaolT|cz}_qcg[dbc89:;Sua}<7<74>S7'nxm"h gm2-sw)`hy%k}h!wsre+HgclVnbjkQnup\tdbXimn;<=>Pxnp?3;273\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(EhnoSigif^rmpwYwimUjhi>?01]{kw:?6=:0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%FmijPdhde[uhszVzjhRokd1234Z~hz535?=5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhn7==0=f:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{mi2>>3d8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok<3<1b>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae>0:7`<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg8185n2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]sea:26;l0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugc4?49j6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwim6<2?h4U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWyko050=f:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{mi26>3g8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok_00e?P6(o{l%~k!hl1,tv*apiz$l|k xrqd,`l`aWyd~R~nd^336`=R8&myj#|i/fn3*rt(o~kx"j~i.vpsb*bnnoU{by|Pp`f\67c<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[64b3\:$kh!rg-dh5(pz&m|m~ hpg,tvu`(l`lmS}`{r^rb`Z25m2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaY2:l1^<"i}f/pe+bj7&~x$kzo|.fre*rtwn&nbjkQnup\tdbX>;o0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcW>8n7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$hdhi_qlwvZvflV29i6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimU2?55Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"jffg]sjqtXxhnTmij?012?5584?2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaYflm:;<=2>>258Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-gmc`Xxg~yS}ok_`fg45674;48;6[?/fpe*w`(oe:%{!hw`q-cu`){zm#igif^rmpwYwimUjhi>?01>0:61<]9%l~k }f.eo4+qu'n}j#if/uqtc)caolT|cz}_qcg[dbc89:;090<7:W3+bta&{l$ka>!ws-dsdu)oyl%{~i/ekebZvi|{U{miQnde2345:26:=0Y=!hrg,qb*ak8'}y#jyns/esb+quxo%oekhPpovq[ugcWhno<=>?<7<03>S7'nxm"h gm2-sw)`hy%k}h!wsre+aoanVzexQae]b`a67896<2>94U1-dvc(un&mg<#y}/fubw+awn'}y|k!kigd\tkruWykoSljk01238=84?2_;#j|i.sd,ci6){%l{l}!gqd-swva'mcmjR~ats]seaYflm:;<=26>3c8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-svjaXn|fgSd==;T2,cw`)zo%l`= xr.etev(`xo$|~}h psmd[cskdVcTaxv?01100>S7'nxm"h gm2-sw)`hy%k}h!wsre+uthoVl~`aQf_lw{4564989?7X> gsd-vc)`d9$|~"ixar,dtc(pzyl$|ah_gwohZoXe|r;<==>92:8Q5)`zo$yj"ic0/uq+bqf{'m{j#y}pg-svjaXn|fgSdQbuy23467>WZ];??5Z0.eqb+ta'nf;"z| gvcp*bva&~x{j"~}of]eqijXaVddx=>?13;8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.abvwim}6;2?74U1-dvc(un&mg<#y}/fubw+qt|z%h="mnrs{maq:66;30Y=!hrg,qb*ak8'}y#jyns/uppv)d9&ij~waeu>1:7?<]9%l~k }f.eo4+qu'n}j#y|tr-`5*efz{seiy2<>3d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.enq}(`eR:V"jc>.l31b>S7'nxm"h gm2-sw)`hy%{~z|/b3,chs&ngP=P hmr,nw7`<]9%l~k }f.eo4+qu'n}j#y|tr-`5*aj}q$laV318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t28485;2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8692?=4U1-dvc(un&mg<#y}/fubw+qt|z%h="x><2<17>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4:36;h0Y=!hrg,qb*ak8'}y#jyns/uppv)d9&|:S=Qnne234575j2_;#j|i.sd,ci6){%l{l}!wrvp+f7(~8U:Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`5*p6W;Ujbi>?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b3,r4Y4Whdo<=>?13`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l1.t2[1Yffm:;<=?=9:W3+bta&{l$ka>!ws-dsdu)z~x#n< c`pq}kcs494956[?/fpe*w`(oe:%{!hw`q-svrt'j8$ol|}yogw848512_;#j|i.sd,ci6){%l{l}!wrvp+f4(khxyuck{<3<1=>S7'nxm"h gm2-sw)`hy%{~z|/b0,gdtuqgo0>0=f:W3+bta&{l$ka>!ws-dsdu)z~x#n< glw{*bk\8T$la< b13d8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.enq}(`eR;V"jc|.lq1b>S7'nxm"h gm2-sw)`hy%{~z|/b0,chs&ngP>P hmr,nw7`<]9%l~k }f.eo4+qu'n}j#y|tr-`6*aj}q$laV=R.fop*hu5n2_;#j|i.sd,ci6){%l{l}!wrvp+f4(ods"jcT4\,div(j{;90Y=!hrg,qb*ak8'}y#jyns/uppv)d:&|:0=0=3:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0>2:75<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p64;49?6[?/fpe*w`(oe:%{!hw`q-svrt'j8$z<2<>318Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.t28185j2_;#j|i.sd,ci6){%l{l}!wrvp+f4(~8U;Sl`k012357d<]9%l~k }f.eo4+qu'n}j#y|tr-`6*p6W8Ujbi>?0131f>S7'nxm"h gm2-sw)`hy%{~z|/b0,r4Y5Whdo<=>?13`8Q5)`zo$yj"ic0/uq+bqf{'}xx~!l2.t2[6Yffm:;<=?=b:W3+bta&{l$ka>!ws-dsdu)z~x#n< v0]7[dhc89:;=?>4U1-dvc(un&mg<#y}/fubw+qt|z%hc`~>219V4*aun'xm#jb?.vp,crgt&~y"m`mq014>S7'nxm"h gm2-sw)`hy%{~z|/bmnt64c3\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%hm|vndv?4;4c3\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%hm|vndv?5;4c3\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%hm|vndv?6;4c3\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%hm|vndv?7;543\:$kh!rg-dh5(pz&m|m~ xsuq,cd`)k:%laxv!glY3Y+aj9'g:?>5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m1^<"i}f/pe+bj7&~x$kzo|.vqww*afn'i8#{?32?04?P6(o{l%~k!hl1,tv*apiz$|y} g`d-g6)q9595>:5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#mPaof34566:o1^<"i}f/pe+bj7&~x$kzo|.vqww*afn'i8#{?P1^cm`567888m7X> gsd-vc)`d9$|~"ixar,twqu(ohl%o>!y1^0\ekb789::>k5Z0.eqb+ta'nf;"z| gvcp*rus{&mjj#m>2b9V4*aun'xm#jb?.vp,crgt&~y"|nm^coijusWog`Rg<4:W3+bta&{l$ka>!ws-dsdu)z~x#ob_`nnkvrXn|fgSdQbuy2345523\:$kh!rg-dh5(pz&m|m~ xsuq,vdkXiegdyQiumn\mZkrp9:;<<=m;T2,cw`)zo%l`= xr.etev(p{}y$~lcPamolwqYa}efTeR``t12354YNF_U;>55Z0.eqb+ta'nf;"z| gvcp*rus{&xjaRhzlm]efZo5=2_;#j|i.sd,ci6){%l{l}!wrvp+wgjWog`Rg=d:W3+bta&{l$ka>!ws-dsdu)z~x#ob_gwohZoXe|r;<=>=e:W3+bta&{l$ka>!ws-dsdu)z~x#ob_gwohZoXe|r;<=>>1e9V4*aun'xm#jb?.vp,vdkX{UnbRg>1g9V4*aun'xm#jb?.vp,vdkX{UnbRg>_000?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphs:=1^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~by?=4:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmp7433\:$kh!rg-dh5(pz&}{by| MbmvjqYdg|d??:4U1-dvc(un&mg<#y}/vrmpw)JkfexRm`uov761=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}?986[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at707?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphs?;>0Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|Vidycz7259V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjq?512_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRmv<1<1g>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir0=0Pru0:?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWjs7=31:Zts:01^<"i}f/pe+bj7&~x${}`{r.O`kphsWje~byQly=1=6f=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1=1_sv1=>S7'nxm"h gm2-sw)pxg~y#@m`uov\gjsi|Vir090=c:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4=4T~y<6;T2,cw`)zo%l`= xr.usjqt(Eje~byQlotlw[f;=78h7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_b{?1;Yu|;30Y=!hrg,qb*ak8'}y#z~ats-Ngjsi|VidyczPcx>5:7e<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Tot29>^pw6<=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Uhu1912b9V4*aun'xm#jb?.vp,suhsz&Ghcx`{_bmvjqYdq5=5Sz=9:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZe~4149o6[?/fpe*w`(oe:%{!xpovq+Heh}g~Tob{at^az8=8Xz}8j7X> gsd-vc)`d9$|~"ynup,Ifirf}Uhcx`{_ymq8585i2_;#j|i.sd,ci6){%||cz}/LalqkrXkfexRv`r=3=6d=R8&myj#|i/fn3*rt(yd~"Clotlw[firf}Usc2=>3c8Q5)`zo$yj"ic0/uq+rvi|{%Fob{at^alqkrXpfx7?35:7g<]9%l~k }f.eo4+qu'~zex!BcnwmpZeh}g~Ttb|37?0b?P6(o{l%~k!hl1,tv*qwf}x$Anaznu]`kphsWqey050=a:W3+bta&{l$ka>!ws-ttkru'DidyczPcnwmpZ~hz535>i5Z0.eqb+ta'nf;"z| wqlwv*Kdg|dSnaznu]{kw:>6Vx=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~7<3?i;T2,cw`)zo%l`= xr.usjqt(kfex1?11g9V4*aun'xm#jb?.vp,suhsz&idycz32?3e?P6(o{l%~k!hl1,tv*qwf}x$ob{at=1=5c=R8&myj#|i/fn3*rt(yd~"m`uov?0;7a3\:$kh!rg-dh5(pz&}{by| cnwmp9399o1^<"i}f/pe+bj7&~x${}`{r.alqkr;>7;m7X> gsd-vc)`d9$|~"ynup,gjsi|5=5=k5Z0.eqb+ta'nf;"z| wqlwv*eh}g~743?i;T2,cw`)zo%l`= xr.usjqt(kfex1711d9V4*aun'xm#jb?.vp,suhsz&idyczP00g8Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_03f?P6(o{l%~k!hl1,tv*qwf}x$ob{at^02a>S7'nxm"h gm2-sw)pxg~y#naznu]05`=R8&myj#|i/fn3*rt(yd~"m`uov\04c<]9%l~k }f.eo4+qu'~zex!lotlw[07b3\:$kh!rg-dh5(pz&}{by| cnwmpZ06m2_;#j|i.sd,ci6){%||cz}/bmvjqY09l1^<"i}f/pe+bj7&~x${}`{r.alqkrX08o0Y=!hrg,qb*ak8'}y#z~ats-`kphsW0897X> gsd-vc)`d9$|~"ynup,gjsi|Vn:0=0=2:W3+bta&{l$ka>!ws-ttkru'je~byQk1=3=67=R8&myj#|i/fn3*rt(yd~"m`uov\`4:56;80Y=!hrg,qb*ak8'}y#z~ats-`kphsWm;7?3<=;T2,cw`)zo%l`= xr.usjqt(kfexRj><5<16>S7'nxm"h gm2-sw)pxg~y#naznu]g5939:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl86=2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi?37?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f28=85:2_;#j|i.sd,ci6){%||cz}/bmvjqYc9535><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th<5Z0.eqb+ta'nf;"z| wqlwv*eh}g~ThS7'nxm"h gm2-sw)pxg~y#naznu]g6959:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl;6?2?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi<35?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f18385:2_;#j|i.sd,ci6){%||cz}/bmvjqYc:5=5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th?27>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e0?=;463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W98:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S<<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_302?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[6463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W=8:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S8<>;T2,cw`)zo%l`= xr.usjqt(kfexRj=_702?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f1[2463\:$kh!rg-dh5(pz&}{by| cnwmpZb5W18:7X> gsd-vc)`d9$|~"ynup,gjsi|Vn9S4<=;T2,cw`)zo%l`= xr.usjqt(kfexRj<<1<16>S7'nxm"h gm2-sw)pxg~y#naznu]g7979:;1^<"i}f/pe+bj7&~x${}`{r.alqkrXl:692?<4U1-dvc(un&mg<#y}/vrmpw)dg|dSi=33?01?P6(o{l%~k!hl1,tv*qwf}x$ob{at^f08185:2_;#j|i.sd,ci6){%||cz}/bmvjqYc;5?5>?5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>29>308Q5)`zo$yj"ic0/uq+rvi|{%hcx`{_e1?3;453\:$kh!rg-dh5(pz&}{by| cnwmpZb44149>6[?/fpe*w`(oe:%{!xpovq+firf}Uo?171209V4*aun'xm#jb?.vp,suhsz&idyczPd2]364=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y6:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U9><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q<209V4*aun'xm#jb?.vp,suhsz&idyczPd2]764=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y2:81^<"i}f/pe+bj7&~x${}`{r.alqkrXl:U=><5Z0.eqb+ta'nf;"z| wqlwv*eh}g~Th>Q8209V4*aun'xm#jb?.vp,suhsz&idyczPd2];64=R8&myj#|i/fn3*rt(yd~"m`uov\`6Y>:=1^<"i}f/pe+bj7&~x${}`{r.alqkrXff~;<=?>7:W3+bta&{l$ahc dnww[l:76820Y=!hrg,qb*kbe&ndyyQf<02=5==R8&myj#|i/lgn+air|Vc7=<0>8:W3+bta&{l$ahc dnww[l:6:7;37X> gsd-vc)jmd%ocxzPi=30:4><]9%l~k }f.ofi*bh}}Ub0<:1199V4*aun'xm#`kb/emvpZo;9<4:46[?/fpe*w`(elg$hb{{_h>22;7?3\:$kh!rg-nah)cg|~Te1?8>0:8Q5)`zo$yj"cjm.flqqYn4825=55Z0.eqb+ta'dof#iazt^k?5<86?2_;#j|i.sd,i`k(lfSd2>>0:8Q5)`zo$yj"cjm.flqqYn4;:5=55Z0.eqb+ta'dof#iazt^k?648602_;#j|i.sd,i`k(lfSd2=2?3;?P6(o{l%~k!bel-gkprXa5882<64U1-dvc(un&gna"j`uu]j8729911^<"i}f/pe+hcj'me~xRg324<2<>S7'nxm"h mdo,`jssW`69:3?7;T2,cw`)zo%fi`!kotv\m9406820Y=!hrg,qb*kbe&ndyyQf<3:=5==R8&myj#|i/lgn+air|Vc7>40>7:W3+bta&{l$ahc dnww[l:56820Y=!hrg,qb*kbe&ndyyQf<22=5==R8&myj#|i/lgn+air|Vc7?<0>8:W3+bta&{l$ahc dnww[l:4:7;37X> gsd-vc)jmd%ocxzPi=10:4><]9%l~k }f.ofi*bh}}Ub0>:1199V4*aun'xm#`kb/emvpZo;;<4:;6[?/fpe*w`(elg$hb{{_h>0:41<]9%l~k }f.ofi*bh}}Ub090>7:W3+bta&{l$ahc dnww[l:268=0Y=!hrg,qb*kbe&ndyyQf<7<23>S7'nxm"h mdo,`jssW`6<2<94U1-dvc(un&gna"j`uu]j8=86?2_;#j|i.sd,i`k(lfSd26>048Q5)`zo$yj"cjm.flqqYnW9;=7X> gsd-vc)jmd%ocxzPi^323>S7'nxm"h mdo,`jssW`U:<<94U1-dvc(un&gna"j`uu]j[476?2_;#j|i.sd,i`k(lfSdQ>2058Q5)`zo$yj"cjm.flqqYnW89:;6[?/fpe*w`(elg$hb{{_h]2041<]9%l~k }f.ofi*bh}}UbS<;>7:W3+bta&{l$ahc dnww[lY6>8=0Y=!hrg,qb*kbe&ndyyQf_0523>S7'nxm"h mdo,`jssW`U:4<94U1-dvc(un&gna"j`uu]j[4?6>2_;#j|i.sd,i`k(lfSdQ=169V4*aun'xm#`kb/emvpZoX:9;<7X> gsd-vc)jmd%ocxzPi^0252=R8&myj#|i/lgn+air|VcT>??8;T2,cw`)zo%fi`!kotv\mZ449>1^<"i}f/pe+hcj'me~xRgP2534?P6(o{l%~k!bel-gkprXaV8>=:5Z0.eqb+ta'dof#iazt^k\63703\:$kh!rg-nah)cg|~TeR<8169V4*aun'xm#`kb/emvpZoX:1;<7X> gsd-vc)jmd%ocxzPi^0:53=R8&myj#|i/lgn+air|VcT?<94U1-dvc(un&gna"j`uu]j[666?2_;#j|i.sd,i`k(lfSdQ<1058Q5)`zo$yj"cjm.flqqYnW:8:;6[?/fpe*w`(elg$hb{{_h]0741<]9%l~k }f.ofi*bh}}UbS>:>7:W3+bta&{l$ahc dnww[lY4=8<0Y=!hrg,qb*kbe&ndyyQf_535?P6(o{l%~k!bel-gkprXaV?::6[?/fpe*w`(elg$hb{{_h]553=R8&myj#|i/lgn+air|VcT;<84U1-dvc(un&gna"j`uu]j[=713\:$kh!rg-nah)cg|~TeR7>9:W3+bta&{l$ahc dnww[hcj494:m6[?/fpe*w`(elg$hb{{_lgn84699h1^<"i}f/pe+hcj'me~xRcjm=32:4g<]9%l~k }f.ofi*bh}}Ufi`2>2?3b?P6(o{l%~k!bel-gkprXelg7=>0>a:W3+bta&{l$ahc dnww[hcj48>5=l5Z0.eqb+ta'dof#iazt^ofi97268k0Y=!hrg,qb*kbe&ndyyQbel>22;7f3\:$kh!rg-nah)cg|~Tahc316<2e>S7'nxm"h mdo,`jssWdof0<611`9V4*aun'xm#`kb/emvpZkbe5;22<74U1-dvc(un&gna"j`uu]nah:668k0Y=!hrg,qb*kbe&ndyyQbel>14;7f3\:$kh!rg-nah)cg|~Tahc320<2e>S7'nxm"h mdo,`jssWdof0?<11`9V4*aun'xm#`kb/emvpZkbe5882 gsd-vc)jmd%ocxzPmdo?6086i2_;#j|i.sd,i`k(lfS`kb<34=5d=R8&myj#|i/lgn+air|Vgna1<8>0c8Q5)`zo$yj"cjm.flqqYjmd6943?n;T2,cw`)zo%fi`!kotv\i`k;:04:56[?/fpe*w`(elg$hb{{_lgn8786i2_;#j|i.sd,i`k(lfS`kb<22=5d=R8&myj#|i/lgn+air|Vgna1=>>0c8Q5)`zo$yj"cjm.flqqYjmd68>3?n;T2,cw`)zo%fi`!kotv\i`k;;:4:m6[?/fpe*w`(elg$hb{{_lgn86299h1^<"i}f/pe+hcj'me~xRcjm=16:4?<]9%l~k }f.ofi*bh}}Ufi`2<>0;8Q5)`zo$yj"cjm.flqqYjmd6?2<74U1-dvc(un&gna"j`uu]nah:26830Y=!hrg,qb*kbe&ndyyQbel>5:4?<]9%l~k }f.ofi*bh}}Ufi`28>0;8Q5)`zo$yj"cjm.flqqYjmd632<74U1-dvc(un&gna"j`uu]nah:>6>>0Y=!hrg,qb*kbe&mia#immf,dfhaf&gmnon mmf-ahnYjmdUlick}aumq+sgkam$hy| r`ookjv\8T$ym` }/r1\jjoia}$ym`!kpscn*av60q9="ob1c9V4*aun'xm#`kb/uos[wgjW{nTic?l;T2,cw`)zo%fi`!{mq]qehYulVoe=<94U1-dvc(un&xjaR|jgnww[`h6l2_;#j|i.sd,vvredb%yhR||t^cpv`a582_;#j|i.sd,vvredb%yhR||t^cpv`aXl88;7X> gsd-vc)u{}hgg"|k_sqw[duumnUo>d:W3+bta&{l$~~zmlj-q`Ztt|VxnkR>>d:W3+bta&{l$~~zmlj-q`Ztt|VxnkR?>d:W3+bta&{l$~~zmlj-q`Ztt|VxnkR<>d:W3+bta&{l$~~zmlj-tvZtt|Vkx~hi=0:W3+bta&{l$~~zmlj-tvZtt|Vkx~hiPd003?P6(o{l%~k!}su`oo*quW{ySl}}ef]g64e<]9%l~k }f.pppgjl'~xT~~zPcnoa5a=R8&myj#|i/sqwfim({UyyQlol`25`=R8&myj#|i/sqwfim({UyyQ}ef>3:4c<]9%l~k }f.pppgjl'~xT~~zPrde?5;7c3\:$kh!rg-qwqdkc&}yS}{_sgd[57c3\:$kh!rg-qwqdkc&}yS}{_sgd[4g<]ZOYSLBFARa8QVCUW_CXEOBJ3:T@G<=QAL]TXT^J3:UFE6=PMKi0[_G[E^OL@@YFk2]YEYKPMNFF[Gb<_[C_IRYFDUJ\Ea=PZ@^NSZGKTI]A5a=_AECET VKB!2-5%US]K*;"<.NSBKJ1>^HZJS=7U][LH@4?]USWNDO;6V\T^T@Gg=_WJEYIRGAFN48\adXAml0TifPPsknR`ttafd:<6Vkm^ObnjtQm{ybcc??;Yfn[Hoig{\n~~g`nb9bhhit|Vof|ywm;`nnkvrXn|fg:6lncjws`>dfkb{S`o}kdp0?fjll2njxlQlotlw,5/c3mkmRm`uov+5,bbf|hUhcx`{(5+g?agsiVidycz'5(f8`drfWje~by&9)e9geqgXkfex%9&d:fbpdYdg|d$5'k;ecweZeh}g~#5$h4d`vb[firf}626=08;e`jp`tu>2nbb%>&6:fjj-7.?2nbb%??)69gmk.69 =0hd`'13+4?aoi 89";6jfn)37-2=cag":9$94dhl+53/03mce$<9&6:fjj-4.>2nbb%=&6:fjj-2.>2nbb%;&6:fjj-0.>2nbb%9&6:fjj->.>2nbb%7&6:fjj969?2nbb1??>69gmk:697=0hd`313<4?aoi4895;6jfn=37:2=cag6:9394dhl?538>3mce0<950?58`lh;9>4=7iga<0<5?aoi4;4=7iga<2<5?aoi4=4=7iga<4<5?aoi4?4=7iga<6<5?aoi414=7iga<8<4?air|!:";6j`uu*2-==cg|~#=='7;emvp-76!11ocxz'13+;?air|!;8%55kotv+51/?3me~x%?:)99gkpr/9?#37iazt)34-==cg|~#=5'7;emvp-7>!>1ocxz'2(:8`jss ;:"46j`uu*15,>bh}}"99$64dnww,70.02ndyy&=7(:8`jss ;2"46j`uu*1=,1'7;emvp-57!11ocxz'30+;?air|!99%55kotv+76/?3me~x%=;)99gkpr/;<#<7iazt)6*3>bh}}">%:5kotv+2,1.?2ndyy&6)69gkpr;8720hb{{<02=<>bh}}6:=364dnww844902ndyy2>3?:8`jss48>546j`uu>21;>bh}}6:5394dnww848?3me~x199gkpr;:8437iazt=01:==cg|~7>>07;emvp943611ocxz324<;?air|58=255kotv?628?3me~x1<7>99gkpr;:04<7iazt=0=<>bh}}68<364dnww867902ndyy2<2?:8`jss4:9546j`uu>00;g;50?:8`jss4:?5;6j`uu>0:2=cg|~78394dnww80803me~x1817:flqq:06>1ocxz38?58`jss40437hjff3ld`0=bey~r>k5iigm\c`hbzh~d~Rx9_0.#\ljnfq*HC_K/Gdlfvdrhz);9"=?v<6^0`hnY60}e8:>o4fhdl[}jipV?:>u=9_3aooZ7?|f9= kgio^efj`tf|fxTz;Q>,OMMA)HHFL>;?6hffn]{hk~X=88s?;Q=cmi\5=rh;?&mekaPgdlfvdrhzV|=S<"tc^jbwZoi|Vigg0>#c^jbwZuu{}7; nQ}d^dqat;6$jUnbllce^pppZu~fj7: nQgar]q`Zbf|hUhcx`{=1.`[aoiW~coxe3>8-a\lduX{UomyoPcnwmp86+kVl~`aQil`ep[wusWkg1="l_hosh`kbf}keb`Ptxrf97*dW|ynShcmeeff`Ztbo4:'oRy}_gpfu87+kVxiRj`uu]qwq;6$jU~bik}fmmt[iip59&hSeo|_ntfvcjh4:'oR~}emmb`Zjf|ldhu0>#c^flqqYpam~c1>8#c^opcjhX~hf6=!mPre]gauro5<;9 nQjrsmq[lhmmj~bccQ{yqg>4)eX`hyTycjjrgnls86+kVbjRocmnqw[cskd4;'oRfns^ppp87+kVnjxlQlotlw[roc|a7:4)eXx{elSk{cl^vkv`uoWgolmykPv`n>5573$jU|~Rjjpuj>5543$jU{~biPelrw}ZrozlycSckhaug\rdj:=%iT|ah_dosp|Ys`{oxdRo|sdpw[sgk5=&hSeo|_wcoma;7$jU{~biPftno[qnumzbTm~}jru]uei;688?'obcoogmpZhfel7mekaPxml{[075p:nbd_0:wk60+kV|j`djPlnu>4)eXx{cfSkgio^vzt`;6cq;3 nQrne\bpjkW}s{i0?#c^ofijt~W}s{i0?#}248bl`hWqfetR;>2y15[7ekcV;3xb=9_gkekZabflxjxb|Pv7]2[}usW8>0jxbcd:kmn`eslkci|k;hliafrtj`~n~94iov\gim?3gmhnxgcd99lr`tadf}j7}|`g^gntq6<2zycjQjmqvz[qnumzb#<$?;;qplcZcjx}sTxe|jsi*2-42vugnUna}zv_ujqavn/< ;?7}|`g^gntqX|axne&:)068twi`Wlg{xtQ{hsgpl-0.9=1{~biPelrw}Zrozlyc$:'>4:rqkbYbey~rSyf}erj+<,713yxdkRkbpu{\pmtb{a636=0>b:rqkbYbey~rSyf}erj\evubz}";%vugnUna}zv_ujqavnXizyn~y&9)0`8twi`Wlg{xtQ{hsgplZgt{lx$:'>b:rqkbYbey~rSyf}erj\evubz}"3%vugnUna}zv_ujqavnXflmjxh&:)0`8twi`Wlg{xtQ{hsgplZhboh~n$;'>b:rqkbYbey~rSyf}erj\j`af|l"<%5rne\bpjkW}byi~f'1(30?uthoVl~`aQ{hsgpl-4.9:1{~biPftno[qnumzb#?$?<;qplcZ`rdeUdk|h)6*56=wzfmTjxbc_ujqavn/= ;87}|`g^dvhiYs`{oxd%8&129svjaXn|fgSyf}erj+3,743yxdkRhzlm]wlwct`!2"=>5rne\bpjkW}byi~f'9(36?uthoVl~`aQ{hsgpl9?=87;j7}|`g^dvhiYs`{oxdRo|sdpw,5/6i2zycjQiumn\pmtb{aUj~k}t)3*5d=wzfmTjxbc_ujqavnXizyn~y&=)0c8twi`Wog`Rzgrdqk[dutm{~#?$?n;qplcZ`rdeUdk|h^cpw`ts =#:m6~}of]eqijX|axneQnsrgqp-3.9h1{~biPftno[qnumzbTm~}jru*5-4ga:rqkbYa}efTxe|jsi]bwvcu|!3"=n5rne\bpjkW}byi~fParqfvq:>294:m6~}of]eqijX|axneQaefcwa-6.9h1{~biPftno[qnumzbTbhintd*2-4g'>a:rqkbYa}efTxe|jsi]mabgsm!>"=l5rne\bpjkW}byi~fPndebp`.2!8k0|ah_gwohZrozlycSckhaug+2,7f3yxdkRhzlm]wlwct`Vdnklzj(6+2e>vugnUmyabPtipfwmYimnki%6&1`9svjaXn|fgSyf}erj\j`af|l"2%4re]geqgXkfex%=&119q`Zbf|hUhcx`{(5+24>tcWmkmRm`uov+1,773{nThlzn_bmvjq.1!8:0~iQkauc\gjsi|!="==5}d^fbpdYdg|d$5'>0:pg[agsiVidycz30?31?wbXlh~jSnaznu>;>5823{nTic84re]qwq5uu{}837yc/^ad+coagVrgbuQ:13z02Z4ddbU:4ya<6/ldk1=sz|o27x`kesdokr3<~hfbh;5xr^c`o3=pzVigg<>4ws]geqgXkfex%>&119tvZbf|hUhcx`{(0+24>quWmkmRm`uov+6,773~xThlzn_bmvjq.4!8:0{Qkauc\gjsi|!>"==5xr^fbpdYdg|d$8'>0:uq[agsiVidycz'6(33?rtXlh~jSnaznu*4-46<{UomyoPcnwmp->.991|~Rjnt`]`kphs 0#:>6y}_ecweZeh}g~757>15:uq[`h13~xT~~zr@Ar``==GHq?=>7H54;3xW1c==991;7?<2c4g6?4f:k=pb96=:09m0=5=>2.?4=4;7`9~W1e==991;7?<2c4g6?4f:k=0_<5<6;;h=h?4=a3`;?V2d2<:n6=4>33`5`7<5i;h37i;?6;295?7|[=o19==57;306g0c:38j>o94vU3;e?6=93;1=n>tS5g9155=?3;8>o8k2;0b6g1<,==86<{#9>o1=55m51494?5a2:08jvF;709Y01<5s8=1==4r$0:e>0613->;>4?::m64d<722e><94?::k622<722c>9k4?::m7`2<72-;3<7:ia:l23c<732e?h;4?:%3;4?2ai2d:;k4>;:m7`0<72-;3<7:ia:l23c<532e?h94?:%3;4?2ai2d:;k4<;:m7`6<72-;3<7:ia:l23c<332e?h?4?:%3;4?2ai2d:;k4:;:m7`5<72-;3<7:ia:l23c<132e?ok4?:%3;4?2ai2d:;k48;:m7g`<72-;3<7:ia:l23c54gc8j41a28807b:l2;29 4>72=lj7c?8f;30?>i3k80;6)?70;6ee>h6?o0:865`4b294?"6090?jl5a16d950=8:9l0ge=83.:4=4;f`9m52`=9010c9jk:18'5=6=!7?83>mm6`>7g82g>=h8187bd=i9>l1=i54o5f:>5<#91:18ko4n05e>4c<3f>o47>5$0:3>1`f3g;54gc8j41a2;807b:ma;29 4>72=lj7c?8f;00?>o31l0;6)?70;6bb>h6?o0;76g;9e83>!7?83>jj6`>7g82?>o31j0;6)?70;6bb>h6?o0976g;9c83>!7?83>jj6`>7g80?>o31h0;6)?70;6bb>h6?o0?76g;9883>!7?83>jj6`>7g86?>o3110;6)?70;6bb>h6?o0=76g;9683>!7?83>jj6`>7g84?>o3i?0;6)?70;6bb>h6?o0376g;a483>!7?83>jj6`>7g8:?>o3i=0;6)?70;6bb>h6?o0j76g;a283>!7?83>jj6`>7g8a?>o3i;0;6)?70;6bb>h6?o0h76g;a083>!7?83>jj6`>7g8g?>o3i90;6)?70;6bb>h6?o0n76g;9g83>!7?83>jj6`>7g8e?>o31?0;6)?70;6bb>h6?o0:<65f48794?"6090?mk5a16d954=5<6290;wE:81:&2tH552?!7?n3n<7bj9:188yg24290j:7?74;3`4~N3?81Q894>6z0;>71=:00h644n:c823?772;k1h7m5d;34>7g=:10:<7l5a;;96<<5?3w/=5h551;8 11==9=0(9j551:8 41>28=h7d;=3;29 4>72<8?7c?8f;28?l35:3:1(<6?:407?k70n3;07d;=1;29 4>72<8?7c?8f;08?l3583:1(<6?:407?k70n3907d;>f;29 4>72<8?7c?8f;68?l36m3:1(<6?:407?k70n3?07d;>d;29 4>72<8?7c?8f;48?l36k3:1(<6?:407?k70n3=07d;>b;29 4>72<8?7c?8f;:8?l37k3:17d;:e;29?l3193:17b;95;29?l3613:1(<6?:43b?k70n3:07d;>8;29 4>72<;j7c?8f;38?l36?3:1(<6?:43b?k70n3807d;>6;29 4>72<;j7c?8f;18?l36=3:1(<6?:43b?k70n3>07d;>4;29 4>72<;j7c?8f;78?l36;3:1(<6?:43b?k70n3<07d;>2;29 4>72<;j7c?8f;58?l3693:1(<6?:43b?k70n3207d;:d;29?j37n3:17d;=d;29 4>72<8n7c?8f;28?l35k3:1(<6?:40f?k70n3;07d;=b;29 4>72<8n7c?8f;08?l35i3:1(<6?:40f?k70n3907d;=9;29 4>72<8n7c?8f;68?l3503:1(<6?:40f?k70n3?07d;=7;29 4>72<8n7c?8f;48?l35>3:1(<6?:40f?k70n3=07d;=5;29 4>72<8n7c?8f;:8?j2?=3:17b:62;29 4>72=387c?8f;28?j2>93:1(<6?:5;0?k70n3;07b:60;29 4>72=387c?8f;08?j2?n3:1(<6?:5;0?k70n3907b:7e;29 4>72=387c?8f;68?j2?l3:1(<6?:5;0?k70n3?07b:7c;29 4>72=387c?8f;48?j2?j3:1(<6?:5;0?k70n3=07b:7a;29 4>72=387c?8f;:8?j2?13:1(<6?:5;0?k70n3307b;=f;29?l30;3:17d;<9;29 4>72<9j7c?8f;28?l3403:1(<6?:41b?k70n3;07d;<7;29 4>72<9j7c?8f;08?l34>3:1(<6?:41b?k70n3907d;<5;29 4>72<9j7c?8f;68?l34<3:1(<6?:41b?k70n3?07d;<3;29 4>72<9j7c?8f;48?l34:3:1(<6?:41b?k70n3=07d;<1;29 4>72<9j7c?8f;:8?l3483:1(<6?:41b?k70n3307b;?a;29?j37<3:17d;97;29?l2??3:17d;;4;29 4>72<>>7c?8f;28?l33;3:1(<6?:466?k70n3;07d;;2;29 4>72<>>7c?8f;08?l3393:1(<6?:466?k70n3907d;;0;29 4>72<>>7c?8f;68?l34n3:1(<6?:466?k70n3?07d;72<>>7c?8f;48?l34l3:1(<6?:466?k70n3=07d;72<>>7c?8f;:8?l34j3:1(<6?:466?k70n3307d;;f;29 4>72727272723:1(<6?:473?k70n3307b:74;29?l37l3:17d:78;29?l30<3:17b;90;29?j31>3:17d;:f;29?j2c?3:1(<6?:5db?k70n3:07b:k6;29 4>72=lj7c?8f;38?j2c=3:1(<6?:5db?k70n3807b:k4;29 4>72=lj7c?8f;18?j2c;3:1(<6?:5db?k70n3>07b:k2;29 4>72=lj7c?8f;78?j2c83:1(<6?:5db?k70n3<07b:lf;29 4>72=lj7c?8f;58?j2dm3:1(<6?:5db?k70n3207b:ld;29 4>72=lj7c?8f;;8?j2dk3:1(<6?:5db?k70n3k07b:lb;29 4>72=lj7c?8f;`8?j2di3:1(<6?:5db?k70n3i07b:l9;29 4>72=lj7c?8f;f8?j2d03:1(<6?:5db?k70n3o07b:l7;29 4>72=lj7c?8f;d8?j2d=3:1(<6?:5db?k70n3;;76a;c583>!7?83>mm6`>7g825>=h8187bd=i9>l1=?54o5a1>5<#91:18ko4n05e>45<3f>h=7>5$0:3>1`f3g;54gc8j41a28=07b:md;29 4>72=lj7c?8f;3;?>i3jj0;6)?70;6ee>h6?o0:565`4ef94?"6090?jl5a16d95d=d:9l0a?=83.:4=4;f`9m52`=9l10c9j7:18'5=6=!7?83>mm6`>7g815>=h8187bd=i9>l1>?54o5`b>5<#91:18ko4n05e>75<3`>2i7>5$0:3>1ga3g;4;h6:`?6=,82;69oi;o34b?7<3`>2o7>5$0:3>1ga3g;2m7>5$0:3>1ga3g;247>5$0:3>1ga3g;j:7>5$0:3>1ga3g;j87>5$0:3>1ga3g;j>7>5$0:3>1ga3g;j<7>5$0:3>1ga3g;2:7>5$0:3>1ga3g;=83.:4=4:5b9m52`=:21d98950;&2<5<2=j1e=:h53:9l100=83.:4=4:5b9m52`=<21d98;50;&2<5<2=j1e=:h55:9l102=83.:4=4:5b9m52`=>21d98=50;&2<5<2=j1e=:h57:9l104=83.:4=4:5b9m52`=021d9:?50;&2<5<2?;1e=:h50:9l126=83.:4=4:739m52`=921d9;h50;&2<5<2?;1e=:h52:9l13c=83.:4=4:739m52`=;21d9;j50;&2<5<2?;1e=:h54:9l13e=83.:4=4:739m52`==21d9;l50;&2<5<2?;1e=:h56:9l13g=83.:4=4:739m52`=?21d9;750;&2<5<2?;1e=:h58:9l13>=83.:4=4:739m52`=121d9<>50;9j15d=831d84:50;9j107=831d9;:50;9a02b=83;1<7>t$0:e>a1<@==h7E:81:mg2?6=3th?;h4?:083>5}#91l18:<4H55`?M2092e:;i4?::a6d6=83>1<7>t$0:e>a4<@==h7E:81:&f1?0>o6080;66a>8383>>{e<a2jl0D99l;I645>N3:2.:??4:629'a0<63`>>6=44i5d94?=h9181<75rb54:>5<4290;w)?7f;ae?M20k2B?;<5G439'564==?90(h;51:k71?6=3`>m6=44o0:1>5<>h7>53;294~"60o0hj6F;7b9K027<@=80(<==:440?!c2281b884?::k7b?6=3f;3>7>5;|`722<72<0;6=u+19d9`6=O<>i0D99>;I61?!74:3?=?6g;5;29?l212900e9h50;9j5=7=831d=5<50;9~f10?29086=4?{%3;b?ea3A>o3=3:17d:i:188k4>52900qo::c;291?6=8r.:4k4k3:J73f=O<>;0D9<4$011>0043`>>6=44i5494?=n8083>>i60;0;66sm47494?2=83:p(<6i:e08L11d3A><=6*j5;48m13=831b8k4?::k2<4<722e:4?4?::a033=83>1<7>t$0:e>a4<@==h7E:81:&f1?0>o6080;66a>8383>>{e1<7:50;2x 4>a2m80D99l;I645>"b=3<0e9;50;9j0c<722c:4<4?::m2<7<722wi8;h50;694?6|,82m6i<4H55`?M2092.n9784i5794?=n8083>>i60;0;66sm47g94?2=83:p(<6i:e08L11d3A><=6*j5;48m13=831b8k4?::k2<4<722e:4?4?::a642=83>1<7>t$0:e>a6<@==h7E:81:&f1?7>o3n3:17b?72;29?xd59:0;694?:1y'5=`=l91C8:m4H552?!c2281b884?::k7f?6=3`>m6=44o0:1>5<7>54;294~"60o0o<6F;7b9K027<,l?1=6g;5;29?l2e2900e9h50;9l5=4=831vn??>:187>5<7s-;3j7j?;I64g>N3?81/i84>;h66>5<>i60;0;66sm20294?2=83:p(<6i:e28L11d3A><=6*j5;38m13=831b8o4?::k7b?6=3f;3>7>5;|`14c<72=0;6=u+19d9`5=O<>i0D99>;%g6>4=n<<0;66g;b;29?l2a2900c<6=:188yg47m3:187>50z&25;h6a>5<=m50;694?6|,82m6i>4H55`?M2092.n97?4i5794?=nb383>1<729q/=5h5d19K02e<@==:7)k::09j00<722c?n7>5;h6e>5<8g8g4>N3?j1C8:?4$d795>o3=3:17d:m:188m1`=831d=5<50;9~f4d7290?6=4?{%3;b?b73A>>6=44i5`94?=n8383>>{e9hl1<7:50;2x 4>a2m:0D99l;I645>"b=3;0e9;50;9j0g<722c?j7>5;n3;6?6=3th:mh4?:583>5}#91l1h=5G46a8L1163-o>6<5f4483>>o3j3:17d:i:188k4>52900qo?nd;290?6=8r.:4k4k0:J73f=O<>;0(h;51:k71?6=3`>i6=44i5d94?=h9181<75rb0c`>5<3290;w)?7f;f3?M20k2B?;<5+e482?l222900e9l50;9j0c<722e:4?4?::a5dd=83>1<7>t$0:e>a6<@==h7E:81:&f1?7>o3n3:17b?72;29?xd6ih0;694?:1y'5=`=l91C8:m4H552?!c2281b884?::k7f?6=3`>m6=44o0:1>5<54;294~"60o0o<6F;7b9K027<,l?1=6g;5;29?l2e2900e9h50;9l5=4=831vn?;i:187>5<7s-;3j7j?;I64g>N3?81/i84>;h66>5<>i60;0;66sm24g94?2=83:p(<6i:e28L11d3A><=6*j5;38m13=831b8o4?::k7b?6=3f;3>7>5;|`11a<72=0;6=u+19d9`5=O<>i0D99>;%g6>4=n<<0;66g;b;29?l2a2900c<6=:188yg42k3:187>50z&25;h6a>5<8o50;694?6|,82m6i>4H55`?M2092.n97?4i5794?=n1<729q/=5h5d19K02e<@==:7)k::09j00<722c?n7>5;h6e>5<8g8g4>N3?j1C8:?4$d795>o3=3:17d:m:188m1`=831d=5<50;9~f4`f290?6=4?{%3;b?b73A>>6=44i5`94?=n8383>>{e9o31<7:50;2x 4>a2m:0D99l;I645>"b=3;0e9;50;9j0g<722c?j7>5;n3;6?6=3th:j54?:583>5}#91l1h=5G46a8L1163-o>6<5f4483>>o3j3:17d:i:188k4>52900qo?i7;290?6=8r.:4k4k0:J73f=O<>;0(h;51:k71?6=3`>i6=44i5d94?=h9181<75rb0d5>5<3290;w)?7f;f3?M20k2B?;<5+e482?l222900e9l50;9j0c<722e:4?4?::a5c3=83>1<7>t$0:e>a6<@==h7E:81:&f1?7>o3n3:17b?72;29?xd6n=0;694?:1y'5=`=l91C8:m4H552?!c2281b884?::k7f?6=3`>m6=44o0:1>5<54;294~"60o0o<6F;7b9K027<,l?1=6g;5;29?l2e2900e9h50;9l5=4=831vn5<7s-;3j7j?;I64g>N3?81/i84>;h66>5<>i60;0;66sm25g94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25f94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25a94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25`94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25c94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25;94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25:94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25594?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25494?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm25794?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d:94?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d594?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d494?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d794?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d694?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d194?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d094?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d394?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1d294?2=83:p(<6i:e28L11d3A><=6F;2:&277<2>:1/i84>;h66>5<>i60;0;66sm1e494?2=83:p(<6i:e28L11d3A><=6*j5;38m13=831b8o4?::k7b?6=3f;3>7>5;|`2`0<72=0;6=u+19d9`5=O<>i0D99>;%g6>4=n<<0;66g;b;29?l2a2900c<6=:188yg7c<3:187>50z&25;h6a>5<4H55`?M2092.n97?4i5794?=nd083>1<729q/=5h5d19K02e<@==:7)k::09j00<722c?n7>5;h6e>5<8g8g4>N3?j1C8:?4$d795>o3=3:17d:m:188m1`=831d=5<50;9~f4ea290?6=4?{%3;b?b73A>>6=44i5`94?=n8383>>{e9jo1<7:50;2x 4>a2m:0D99l;I645>"b=3;0e9;50;9j0g<722c?j7>5;n3;6?6=3th9?l4?:583>5}#91l1h=5G46a8L1163-o>6<5f4483>>o3j3:17d:i:188k4>52900qo<<9;290?6=8r.:4k4k0:J73f=O<>;0(h;51:k71?6=3`>i6=44i5d94?=h9181<75rb31;>5<3290;w)?7f;f3?M20k2B?;<5+e482?l222900e9l50;9j0c<722e:4?4?::a661=83>1<7>t$0:e>a6<@==h7E:81:&f1?7>o3n3:17b?72;29?xd5;?0;694?:1y'5=`=l91C8:m4H552?!c2281b884?::k7f?6=3`>m6=44o0:1>5<54;294~"60o0o<6F;7b9K027<,l?1=6g;5;29?l2e2900e9h50;9l5=4=831vn?=;:187>5<7s-;3j7j?;I64g>N3?81/i84>;h66>5<>i60;0;66sm22194?2=83:p(<6i:e28L11d3A><=6*j5;38m13=831b8o4?::k7b?6=3f;3>7>5;|`177<72=0;6=u+19d9`5=O<>i0D99>;%g6>4=n<<0;66g;b;29?l2a2900c<6=:188yg4493:187>50z&25;h6a>5<7>5;|`1`3<72<0;6=u+19d9`4=O<>i0D99>;%g6>4=n<<0;66g;6;29?l2e2900e9h50;9l5=4=831vn?j::186>5<7s-;3j7j>;I64g>N3?81/i84>;h66>5<>o3n3:17b?72;29?xd5l=0;684?:1y'5=`=l81C8:m4H552?!c2281b884?::k72?6=3`>i6=44i5d94?=h9181<75rb3f0>5<2290;w)?7f;f2?M20k2B?;<5+e482?l222900e9850;9j0g<722c?j7>5;n3;6?6=3th9h?4?:483>5}#91l1h<5G46a8L1163-o>6<5f4483>>o3>3:17d:m:188m1`=831d=5<50;9~f7b7290>6=4?{%3;b?b63A>>6=44i5494?=n0<729q/=5h5d29K02e<@==:7)k::79j00<722c?:7>5;h6e>5<5<55;294~"60o0o=6F;7b9K027<,l?1=6g;5;29?l212900e9l50;9j0c<722e:4?4?::a6f2=8391<7>t$0:e>11e3A>44?::m23g<722wi>n=50;194?6|,82m699m;I64g>N3?81b854?::k26<<722e:;o4?::a6gg=83>1<7>t$0:e>4543A>=7>5;h3;5;|`1g7<72:0;6=u+19d902d<@==h7E:81:k75;n34f?6=3th9n54?:583>5}#91l1=>=4H55`?M2092c?47>5;h72>5<5<53;294~"60o0?;o5G46a8L1163`>36=44i00:>5<8g8276=O<>i0D99>;h6;>5<h1<75rb3a3>5<4290;w)?7f;64f>N3?j1C8:?4i5:94?=n9;31<75`16`94?=zj;h?6=4;:183!7?n3;8?6F;7b9K027>o6010;66a>7c83>>{e:kl1<7=50;2x 4>a2==i7E:8c:J734=n<10;66g>2883>>i6?k0;66sm2c094?2=83:p(<6i:010?M20k2B?;<5f4983>>o293:17d?78;29?j70j3:17pl=bd83>6<729q/=5h546`8L11d3A><=6g;8;29?l7513:17b?8b;29?xd5j90;694?:1y'5=`=9:90D99l;I645>o303:17d;>:188m4>?2900c<9m:188yg4el3:1?7>50z&2329K02e<@==:7d:7:188m07=831b=5650;9l52d=831vn?ll:180>5<7s-;3j7:8b:J73f=O<>;0e9650;9j57?=831d=:l50;9~f7gd290?6=4?{%3;b?74;2B?;n5G4638m1>=831b9<4?::k2<=<722e:;o4?::a6`?=83?1<7>t$0:e>a7<@==h7E:81:&f1?7>o3j3:17d:i:188k4>52900qo;0(h;51:k71?6=3`>=6=44i5`94?=n8383>>{e:l=1<7;50;2x 4>a2m;0D99l;I645>"b=3;0e9;50;9j03<722c?n7>5;h6e>5<8g8g5>N3?j1C8:?4$d795>o3=3:17d:9:188m1d=831b8k4?::m2<7<722wi>h;50;794?6|,82m6i?4H55`?M2092.n97?4i5794?=n50z&25;h65>5<>i60;0;66sm2d194?3=83:p(<6i:e38L11d3A><=6*j5;38m13=831b8;4?::k7f?6=3`>m6=44o0:1>5<7>55;294~"60o0o=6F;7b9K027<,l?1=6g;5;29?l212900e9l50;9j0c<722e:4?4?::a6`7=83?1<7>t$0:e>a7<@==h7E:81:&f1?7>o3j3:17d:i:188k4>52900qo<84;290?6=8r.:4k4k2:J73f=O<>;0(h;56:k71?6=3`>m6=44i0:2>5<8g8g6>N3?j1C8:?4$d792>o3=3:17d:i:188m4>62900c<6=:188yg41n3:187>50z&25;h6a>5<50;194?6|,82m699m;I64g>N3?81b854?::k26<<722e:;o4?::a75?=8391<7>t$0:e>11e3A>44?::m23g<722wi>k:50;694?6|,82m6<=<;I64g>N3?81b854?::k65?6=3`;347>5;n34f?6=3th8<54?:283>5}#91l18:l4H55`?M2092c?47>5;h31=?6=3f;5;|`1b6<72=0;6=u+19d9565<@==h7E:81:k75<8g873g=O<>i0D99>;h6;>5<5<7>54;294~"60o0:?>5G46a8L1163`>36=44i4394?=n9121<75`16`94?=zj::=6=4<:183!7?n3>h1<75rb3d2>5<3290;w)?7f;307>N3?j1C8:?4i5:94?=n=80;66g>8983>>i6?k0;66sm31794?5=83:p(<6i:55a?M20k2B?;<5f4983>>o6:00;66a>7c83>>{e:o:1<7:50;2x 4>a28987E:8c:J734=n<10;66g:1;29?l7?03:17b?8b;29?xd48=0;6>4?:1y'5=`=<>h0D99l;I645>o303:17d?=9;29?j70j3:17pl=eg83>1<729q/=5h51218L11d3A><=6g;8;29?l362900e<67:188k41e2900qo=?3;297?6=8r.:4k4;7c9K02e<@==:7d:7:188m44>2900c<9m:188yg4bm3:187>50z&2=831d=:l50;9~f66529086=4?{%3;b?20j2B?;n5G4638m1>=831b=?750;9l52d=831vn?kk:187>5<7s-;3j7?<3:J73f=O<>;0e9650;9j14<722c:454?::m23g<722wi?=?50;194?6|,82m699m;I64g>N3?81b854?::k26<<722e:;o4?::a6`e=83>1<7>t$0:e>4543A>=7>5;h3;5;|`1ag<72=0;6=u+19d9565<@==h7E:81:k75<8g8g4>N3?j1C8:?4$d795>o3=3:17d:m:188m1`=831d=5<50;9~f67c290?6=4?{%3;b?b73A>>6=44i5`94?=n8383>>{e;8i1<7:50;2x 4>a2m:0D99l;I645>"b=3;0e9;50;9j0g<722c?j7>5;n3;6?6=3th8=o4?:583>5}#91l1h=5G46a8L1163-o>6<5f4483>>o3j3:17d:i:188k4>52900qo=>a;290?6=8r.:4k4k0:J73f=O<>;0(h;51:k71?6=3`>i6=44i5d94?=h9181<75rb23:>5<3290;w)?7f;f3?M20k2B?;<5+e482?l222900e9l50;9j0c<722e:4?4?::a74>=83>1<7>t$0:e>a6<@==h7E:81:&f1?7>o3n3:17b?72;29?xd49>0;694?:1y'5=`=l91C8:m4H552?!c2281b884?::k7f?6=3`>m6=44o0:1>5<54;294~"60o0o<6F;7b9K027<,l?1=6g;5;29?l2e2900e9h50;9l5=4=831vn>?;:187>5<7s-;3j7j?;I64g>N3?81/i84>;h66>5<>i60;0;66sm33:94?3=83:p(<6i:e38L11d3A><=6*j5;38m13=831b8;4?::k7f?6=3`>m6=44o0:1>5<54;294~"60o0:?>5G46a8L1163`>36=44i4394?=n9121<75`16`94?=zj;396=4;:183!7?n3;8?6F;7b9K027>o6010;66a>7c83>>{e:0;1<7:50;2x 4>a28987E:8c:J734=n<10;66g:1;29?l7?03:17b?8b;29?xd5190;694?:1y'5=`=9:90D99l;I645>o303:17d;>:188m4>?2900c<9m:188yg4?n3:187>50z&2=831d=:l50;9~f7>7290?6=4?{%3;b?74;2B?;n5G4638m1>=831b9<4?::k2<=<722e:;o4?::a62`=83>1<7>t$0:e>4543A>=7>5;h3;5;|`13`<72=0;6=u+19d9565<@==h7E:81:k75<8g8276=O<>i0D99>;h6;>5<h1<75rb35`>5<3290;w)?7f;307>N3?j1C8:?4i5:94?=n=80;66g>8983>>i6?k0;66sm3c`94?3=83:p(<6i:e38L11d3A><=6*j5;38m13=831b8;4?::k7f?6=3`>m6=44o0:1>5<55;294~"60o0o=6F;7b9K027<,l?1=6g;5;29?l212900e9l50;9j0c<722e:4?4?::a7gg=83?1<7>t$0:e>a5<@==h7E:81:&f1?0>o3n3:17d?71;29?j7?:3:17pl0<729q/=5h5d09K02e<@==:7)k::09j00<722c?:7>5;h6a>5<7>5;|`0g5<72<0;6=u+19d9`4=O<>i0D99>;%g6>4=n<<0;66g;6;29?l2e2900e9h50;9l5=4=831vn>lj:186>5<7s-;3j7j>;I64g>N3?81/i84>;h66>5<>o3n3:17b?72;29?xd4jo0;684?:1y'5=`=l81C8:m4H552?!c2281b884?::k72?6=3`>i6=44i5d94?=h9181<75rb2a2>5<2290;w)?7f;f2?M20k2B?;<5+e482?l222900e9850;9j0g<722c?j7>5;n3;6?6=3th8o?4?:483>5}#91l1h<5G46a8L1163-o>6<5f4483>>o3>3:17d:m:188m1`=831d=5<50;9~f6ea290>6=4?{%3;b?b63A>>6=44i5494?=n0<729q/=5h5d29K02e<@==:7)k::79j00<722c?:7>5;h6e>5<5<55;294~"60o0o=6F;7b9K027<,l?1=6g;5;29?l212900e9l50;9j0c<722e:4?4?::a7a6=83?1<7>t$0:e>a7<@==h7E:81:&f1?7>o3j3:17d:i:188k4>52900qo=k1;291?6=8r.:4k4k1:J73f=O<>;0(h;51:k71?6=3`>=6=44i5`94?=n8383>>{e;m>1<7;50;2x 4>a2m;0D99l;I645>"b=3;0e9;50;9j03<722c?n7>5;h6e>5<8g8g5>N3?j1C8:?4$d795>o3=3:17d:9:188m1d=831b8k4?::m2<7<722wi?i=50;794?6|,82m6i?4H55`?M2092.n97?4i5794?=n50z&25;h65>5<>i60;0;66sm3e494?3=83:p(<6i:e38L11d3A><=6*j5;38m13=831b8;4?::k7f?6=3`>m6=44o0:1>5<55;294~"60o0o=6F;7b9K027<,l?1=6g;5;29?l212900e9l50;9j0c<722e:4?4?::a7de=83?1<7>t$0:e>a7<@==h7E:81:&f1?7>o3j3:17d:i:188k4>52900qo=ne;291?6=8r.:4k4k1:J73f=O<>;0(h;51:k71?6=3`>=6=44i5`94?=n8383>>{e;hk1<7;50;2x 4>a2m;0D99l;I645>"b=3;0e9;50;9j03<722c?n7>5;h6e>5<8g8g5>N3?j1C8:?4$d795>o3=3:17d:9:188m1d=831b8k4?::m2<7<722wi?ll50;794?6|,82m6i?4H55`?M2092.n97?4i5794?=n50z&25;h65>5<>i60;0;66sm3`494?3=83:p(<6i:e18L11d3A><=6*j5;48m13=831b8;4?::k7b?6=3`;3=7>5;n3;6?6=3th8m54?:483>5}#91l1h<5G46a8L1163-o>6<5f4483>>o3>3:17d:m:188m1`=831d=5<50;9~f6g2290>6=4?{%3;b?b43A>>6=44i5494?=n8083>>i60;0;66sm38;94?5=83:p(<6i:55a?M20k2B?;<5f4983>>o6:00;66a>7c83>>{e;021<7=50;2x 4>a2==i7E:8c:J734=n<10;66g>2883>>i6?k0;66sm39g94?2=83:p(<6i:010?M20k2B?;<5f4983>>o293:17d?78;29?j70j3:17pl<9683>6<729q/=5h546`8L11d3A><=6g;8;29?l7513:17b?8b;29?xd40j0;694?:1y'5=`=9:90D99l;I645>o303:17d;>:188m4>?2900c<9m:188yg5>>3:1?7>50z&2329K02e<@==:7d:7:188m07=831b=5650;9l52d=831vn>7::180>5<7s-;3j7:8b:J73f=O<>;0e9650;9j57?=831d=:l50;9~f6>?290?6=4?{%3;b?74;2B?;n5G4638m1>=831b9<4?::k2<=<722e:;o4?::a7<2=8391<7>t$0:e>11e3A>44?::m23g<722wi?5850;694?6|,82m6<=<;I64g>N3?81b854?::k65?6=3`;347>5;n34f?6=3th85>4?:283>5}#91l18:l4H55`?M2092c?47>5;h31=?6=3f;5;|`0<1<72=0;6=u+19d9565<@==h7E:81:k75<8g873g=O<>i0D99>;h6;>5<5<7>54;294~"60o0:?>5G46a8L1163`>36=44i4394?=n9121<75`16`94?=zj:3:6=4<:183!7?n3>h1<75rb2:3>5<3290;w)?7f;307>N3?j1C8:?4i5:94?=n=80;66g>8983>>i6?k0;66sm38294?5=83:p(<6i:55a?M20k2B?;<5f4983>>o6:00;66a>7c83>>{e;>o1<7:50;2x 4>a28987E:8c:J734=n<10;66g:1;29?l7?03:17b?8b;29?xd4mh0;684?:1y'5=`=l81C8:m4H552?!c2281b884?::k72?6=3`>i6=44i5d94?=h9181<75rb2g:>5<2290;w)?7f;f2?M20k2B?;<5+e482?l222900e9850;9j0g<722c?j7>5;n3;6?6=3th8i54?:483>5}#91l1h<5G46a8L1163-o>6<5f4483>>o3>3:17d:m:188m1`=831d=5<50;9~f6c0290>6=4?{%3;b?b63A>>6=44i5494?=n0<729q/=5h5d09K02e<@==:7)k::09j00<722c?:7>5;h6a>5<6=4::183!7?n3n:7E:8c:J734=#m<0:7d:::188m10=831b8o4?::k7b?6=3f;3>7>5;|`0a1<72<0;6=u+19d9`4=O<>i0D99>;%g6>4=n<<0;66g;6;29?l2e2900e9h50;9l5=4=831vn>k<:186>5<7s-;3j7j>;I64g>N3?81/i84>;h66>5<>o3n3:17b?72;29?xd4m;0;684?:1y'5=`=l81C8:m4H552?!c2281b884?::k72?6=3`>i6=44i5d94?=h9181<75rb2g2>5<2290;w)?7f;f2?M20k2B?;<5+e482?l222900e9850;9j0g<722c?j7>5;n3;6?6=3th8??4?:583>5}#91l1=>=4H55`?M2092c?47>5;h72>5<5<54;294~"60o0:?>5G46a8L1163`>36=44i4394?=n9121<75`16`94?=zj:9?6=4;:183!7?n3;8?6F;7b9K027>o6010;66a>7c83>>{e;:?1<7:50;2x 4>a28987E:8c:J734=n<10;66g:1;29?l7?03:17b?8b;29?xd4;?0;694?:1y'5=`=9:90D99l;I645>o303:17d;>:188m4>?2900c<9m:188yg53=3:187>50z&2=831d=:l50;9~f621290?6=4?{%3;b?74;2B?;n5G4638m1>=831b9<4?::k2<=<722e:;o4?::a711=83>1<7>t$0:e>4543A>=7>5;h3;5;|`00=<72=0;6=u+19d9565<@==h7E:81:k75<8g8276=O<>i0D99>;h6;>5<h1<75rb27a>5<3290;w)?7f;307>N3?j1C8:?4i5:94?=n=80;66g>8983>>i6?k0;66sm34a94?2=83:p(<6i:010?M20k2B?;<5f4983>>o293:17d?78;29?j70j3:17pl<5e83>1<729q/=5h51218L11d3A><=6g;8;29?l362900e<67:188k41e2900qo=:e;290?6=8r.:4k4>329K02e<@==:7d:7:188m07=831b=5650;9l52d=831vn>;i:187>5<7s-;3j7?<3:J73f=O<>;0e9650;9j14<722c:454?::m23g<722wi?;k50;694?6|,82m6i>4H55`?M2092.n97?4i5794?=n1<729q/=5h5d19K02e<@==:7)k::09j00<722c?n7>5;h6e>5<8g8g5>N3?j1C8:?4$d795>o3=3:17d:9:188m1d=831b8k4?::m2<7<722wi8?j50;794?6|,82m6i:4H55`?M2092.n97?4i5794?=nm6=44i0:0>5<8g8g0>N3?j1C8:?4$d795>o3=3:17d:9:188m1`=831b=5=50;9l5=4=831vn95<7s-;3j7j;;I64g>N3?81/i84>;h66>5<>o60:0;66a>8383>>{e<;31<7;50;2x 4>a2m>0D99l;I645>"b=3;0e9;50;9j03<722c?j7>5;h3;7?6=3f;3>7>5;|`76=<72<0;6=u+19d9`1=O<>i0D99>;%g6>4=n<<0;66g;6;29?l2a2900e<6<:188k4>52900qo:=6;291?6=8r.:4k4k4:J73f=O<>;0(h;51:k71?6=3`>=6=44i5d94?=n9191<75`19094?=zj=8>6=4::183!7?n3n?7E:8c:J734=#m<0:7d:::188m10=831b8k4?::k2<6<722e:4?4?::a072=83?1<7>t$0:e>a2<@==h7E:81:&f1?7>o3n3:17d?73;29?j7?:3:17pl;2283>0<729q/=5h5d59K02e<@==:7)k::09j00<722c?:7>5;h6e>5<5<9>7>55;294~"60o0o86F;7b9K027<,l?1=6g;5;29?l212900e9h50;9j5=5=831d=5<50;9~f146290>6=4?{%3;b?b33A>>6=44i5494?=n8283>>i60;0;66sm43294?3=83:p(<6i:e68L11d3A><=6*j5;38m13=831b8;4?::k7b?6=3`;3?7>5;n3;6?6=3th?=k4?:483>5}#91l1h95G46a8L1163-o>6<5f4483>>o3>3:17d:i:188m4>42900c<6=:188yg26m3:197>50z&25;h65>5<5<2290;w)?7f;f7?M20k2B?;<5+e482?l222900e9850;9j0c<722c:4>4?::m2<7<722wi8m6=44i0:0>5<8g8g0>N3?j1C8:?4$d795>o3=3:17d:9:188m1`=831b=5=50;9l5=4=831vn9?7:186>5<7s-;3j7j;;I64g>N3?81/i84>;h66>5<>o60:0;66a>8383>>{e<8=1<7;50;2x 4>a2m>0D99l;I645>"b=3;0e9;50;9j03<722c?j7>5;h3;7?6=3f;3>7>5;|`753<72<0;6=u+19d9`1=O<>i0D99>;%g6>4=n<<0;66g;6;29?l2a2900e<6<:188k4>52900qo:>5;291?6=8r.:4k4k4:J73f=O<>;0(h;51:k71?6=3`>=6=44i5d94?=n9191<75`19094?=zj=;?6=4::183!7?n3n?7E:8c:J734=#m<0:7d:::188m10=831b8k4?::k2<6<722e:4?4?::a045=83?1<7>t$0:e>a2<@==h7E:81:&f1?7>o3n3:17d?73;29?j7?:3:17pl;1383>0<729q/=5h5d59K02e<@==:7)k::09j00<722c?:7>5;h6e>5<5<8?7>55;294~"60o0o86F;7b9K027<,l?1=6g;5;29?l212900e9h50;9j5=5=831d=5<50;9~f155290>6=4?{%3;b?b33A>>6=44i5494?=n8283>>i60;0;66sm42394?3=83:p(<6i:e68L11d3A><=6*j5;38m13=831b8;4?::k7b?6=3`;3?7>5;n3;6?6=3th??=4?:483>5}#91l1h95G46a8L1163-o>6<5f4483>>o3>3:17d:i:188m4>42900c<6=:188yg25n3:197>50z&25;h65>5<5<2290;w)?7f;f7?M20k2B?;<5+e482?l222900e9850;9j0c<722c:4>4?::m2<7<722wi8?950;794?6|,82m6i:4H55`?M2092.n97?4i5794?=nm6=44i0:0>5<8g8g0>N3?j1C8:?4$d795>o3=3:17d:9:188m1`=831b=5=50;9l5=4=831vn9??:186>5<7s-;3j7j;;I64g>N3?81/i84>;h66>5<>o60:0;66a>8383>>{ea288n7E:8c:J734=#m<0:56gk9;29?lbf2900c<9m:188yg2183:1?7>50z&2t$0:e>44b3A>5;hfb>5<8g826`=O<>i0D99>;%g6>4b>i6?k0;66sm1`294?5=83:p(<6i:00f?M20k2B?;<5+e482`>oc13:17djn:188k41e2900qo?6f;297?6=8r.:4k4>2d9K02e<@==:7)k::0f8ma?=831bhl4?::m23g<722wi=4k50;194?6|,82m6<N3?81/i84>d:kg=?6=3`nj6=44o05a>5<53;294~"60o0:>h5G46a8L1163-o>67c83>>{e90i1<7=50;2x 4>a288n7E:8c:J734=#m<0:h6gk9;29?lbf2900c<9m:188yg7>j3:1?7>50z&2t$0:e>44b3A>5;hfb>5<8g826`=O<>i0D99>;%g6>4b>i6?k0;66sm18:94?5=83:p(<6i:00f?M20k2B?;<5+e482`>oc13:17djn:188k41e2900qo?67;297?6=8r.:4k4>2d9K02e<@==:7)k::0f8ma?=831bhl4?::m23g<722wi=4850;194?6|,82m6<N3?81/i84>d:kg=?6=3`nj6=44o05a>5<53;294~"60o0:>h5G46a8L1163-o>67c83>>{e90>1<7=50;2x 4>a288n7E:8c:J734=#m<0:h6gk9;29?lbf2900c<9m:188yg7>;3:1?7>50z&2t$0:e>44b3A>5;hfb>5<8g826`=O<>i0D99>;%g6>4b>i6?k0;66sm18294?5=83:p(<6i:00f?M20k2B?;<5+e482`>oc13:17djn:188k41e2900qo<83;290?6=8r.:4k4>2g9K02e<@==:7)k::ba8ma?=831bhl4?::kgf?6=3f;5;|`15=<72=0;6=u+19d957`<@==h7E:81:&f1?433`n26=44iec94?=nlk0;66a>7c83>>{e9k<1<7:50;2x 4>a288m7E:8c:J734=#m<0986gk9;29?lbf2900eil50;9l52d=831vn?9>:186>5<7s-;3j7?<0:J73f=O<>;0(h;51`9j`<<722com7>5;hfa>5<>oci3:17djm:188mae=831d=:l50;9~f4d?290>6=4?{%3;b?7482B?;n5G4638 `3=9o1bh44?::kge?6=3`ni6=44iea94?=h9>h1<75rb354>5<2290;w)?7f;304>N3?j1C8:?4$d7964=nl00;66gka;29?lbe2900eim50;9l52d=831vn?8m:187>5<7s-;3j7?=f:J73f=O<>;0(h;52c9j`<<722com7>5;hfa>5<8g826`=O<>i0D99>;%g6>4b>i6?k0;66sm1cc94?5=83:p(<6i:00f?M20k2B?;<5+e482`>oc13:17djn:188k41e2900qo<>e;290?6=8r.:4k4>2g9K02e<@==:7)k::368ma?=831bhl4?::kgf?6=3f;5;|`2ff<72=0;6=u+19d957`<@==h7E:81:&f1?433`n26=44iec94?=nlk0;66a>7c83>>{e:;:1<7;50;2x 4>a289;7E:8c:J734=#m<0:j6gk9;29?lbf2900eil50;9j`f<722e:;o4?::a5gc=83?1<7>t$0:e>4573A>5;hfb>5<>i6?k0;66sm33c94?3=83:p(<6i:013?M20k2B?;<5+e4814>oc13:17djn:188mad=831bhn4?::m23g<722wi88o50;694?6|,82m6<N3?81/i84:0:kg=?6=3`nj6=44ie`94?=h9>h1<75rb34b>5<2290;w)?7f;304>N3?j1C8:?4$d7957=nl00;66gka;29?lbe2900eim50;9l52d=831vn?7k:180>5<7s-;3j7?=e:J73f=O<>;0(h;5239j`<<722com7>5;n34f?6=3th94l4?:283>5}#91l1=?k4H55`?M2092.n97<=;hf:>5<>5fd883>>oci3:17djm:188mae=831d=:l50;9~f634290>6=4?{%3;b?7482B?;n5G4638 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9>h1<75rb263>5<2290;w)?7f;304>N3?j1C8:?4$d7966=nl00;66gka;29?lbe2900eim50;9l52d=831vn>87:186>5<7s-;3j7?<0:J73f=O<>;0(h;5229j`<<722com7>5;hfa>5<>5fd883>>oci3:17djm:188mae=831d=:l50;9~f65a290>6=4?{%3;b?7482B?;n5G4638 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9>h1<75rb3;`>5<2290;w)?7f;304>N3?j1C8:?4$d7966=nl00;66gka;29?lbe2900eim50;9l52d=831vn?66:186>5<7s-;3j7?<0:J73f=O<>;0(h;5229j`<<722com7>5;hfa>5<>5fd883>>oci3:17djm:188mae=831d=:l50;9~f636290>6=4?{%3;b?7482B?;n5G4638 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9>h1<75rb21f>5<2290;w)?7f;304>N3?j1C8:?4$d7966=nl00;66gka;29?lbe2900eim50;9l52d=831vn?7m:186>5<7s-;3j7?<0:J73f=O<>;0(h;5229j`<<722com7>5;hfa>5<>5fd883>>oci3:17djm:188mae=831d=:l50;9~f601290>6=4?{%3;b?7482B?;n5G4638 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9>h1<75rb273>5<2290;w)?7f;304>N3?j1C8:?4$d7966=nl00;66gka;29?lbe2900eim50;9l52d=831vn>=k:186>5<7s-;3j7?<0:J73f=O<>;0(h;5229j`<<722com7>5;hfa>5<>5fd883>>oci3:17djm:188mae=831d=:l50;9~f7>0290>6=4?{%3;b?7482B?;n5G4638 `3=::1bh44?::kge?6=3`ni6=44iea94?=h9>h1<75rb252>5<3290;w)?7f;31b>N3?j1C8:?4$d79ga=nl00;66gka;29?lbe2900c<9m:188yg51k3:187>50z&25;n34f?6=3th9m?4?:583>5}#91l1=?h4H55`?M2092.n97mk;hf:>5<>i6?k0;66sm37794?2=83:p(<6i:00e?M20k2B?;<5+e486?lb>2900eio50;9j`g<722e:;o4?::a71`=83>1<7>t$0:e>44a3A>7c83>>{e;:i1<7:50;2x 4>a288m7E:8c:J734=#m<0>7dj6:188mag=831bho4?::m23g<722wi>4750;794?6|,82m6<=?;I64g>N3?81/i84=3:kg=?6=3`nj6=44ie`94?=nlj0;66a>7c83>>{e:1<1<7;50;2x 4>a289;7E:8c:J734=#m<09?6gk9;29?lbf2900eil50;9j`f<722e:;o4?::a675=8391<7>t$0:e>44b3A>5;hfb>5<8g826`=O<>i0D99>;%g6>74>i6?k0;66sm23494?2=83:p(<6i:00e?M20k2B?;<5+e482a>oc13:17djn:188mad=831d=:l50;9~f4e3290?6=4?{%3;b?75n2B?;n5G4638 `3=9l1bh44?::kge?6=3`ni6=44o05a>5<7>53;294~"60o0:>h5G46a8L1163-o>67c83>>{e:kh1<7<50;2x 4>a288o7E:8c:J734=#m<0:=6gk9;29?j70j3:17pl=b883>7<729q/=5h513f8L11d3A><=6*j5;32?lb>2900c<9m:188yg4e?3:1>7>50z&25<7s-;3j7?=d:J73f=O<>;0(h;5109j`<<722e:;o4?::a6g5=8381<7>t$0:e>44c3A>5;n34f?6=3th9n<4?:383>5}#91l1=?j4H55`?M2092.n97?>;hf:>5<8g826a=O<>i0D99>;%g6>47>i6?k0;66sm39d94?4=83:p(<6i:00g?M20k2B?;<5+e4825>oc13:17b?8b;29?xd40m0;6?4?:1y'5=`=9;n0D99l;I645>"b=3;:7dj6:188k41e2900qo=7b;296?6=8r.:4k4>2e9K02e<@==:7)k::038ma?=831d=:l50;9~f6>>29096=4?{%3;b?75l2B?;n5G4638 `3=981bh44?::m23g<722wi?5950;094?6|,82m6<N3?81/i84>1:kg=?6=3f;5;|`0<0<72;0;6=u+19d957b<@==h7E:81:&f1?763`n26=44o05a>5<52;294~"60o0:>i5G46a8L1163-o>6h1<75rb2:2>5<5290;w)?7f;31`>N3?j1C8:?4$d7954=nl00;66a>7c83>>{e;>l1<7<50;2x 4>a288o7E:8c:J734=#m<0:=6gk9;29?j70j3:17pl=c483>7<729q/=5h513f8L11d3A><=6*j5;32?lb>2900c<9m:188yg5>i3:1>7>50z&25<7s-;3j7?=e:J73f=O<>;0(h;5239j`<<722com7>5;n34f?6=3th9j44?:283>5}#91l1=?k4H55`?M2092.n97<=;hf:>5<?5fd883>>oci3:17b?8b;29?xd5nk0;6>4?:1y'5=`=9;o0D99l;I645>"b=3897dj6:188mag=831d=:l50;9~f7`d29086=4?{%3;b?75m2B?;n5G4638 `3=:;1bh44?::kge?6=3f;5;|`1ba<72:0;6=u+19d957c<@==h7E:81:&f1?453`n26=44iec94?=h9>h1<75rb3df>5<4290;w)?7f;31a>N3?j1C8:?4$d7967=nl00;66gka;29?j70j3:17pl=fg83>6<729q/=5h513g8L11d3A><=6*j5;01?lb>2900eio50;9l52d=831vn?h::180>5<7s-;3j7?=e:J73f=O<>;0(h;5239j`<<722com7>5;n34f?6=3th8>n4?:483>5}#91l1=>>4H55`?M2092.n97j:;hf:>5<>ock3:17b?8b;29?xd4:k0;684?:1y'5=`=9::0D99l;I645>"b=38;7dj6:188mag=831bho4?::kgg?6=3f;5;|`036<72:0;6=u+19d957c<@==h7E:81:&f1?763`n26=44iec94?=h9>h1<75rb3d4>5<5290;w)?7f;31<>N3?j1C8:?4ie:94?=h9>h1<75rb24g>5<5290;w)?7f;31<>N3?j1C8:?4ie:94?=h9>h1<75rb301>5<1290;w)?7f;305>N3?j1C8:?4$d7960=nl00;66gka;29?lbe2900eim50;9l57g=831d=:l50;9~f4e7290=6=4?{%3;b?7492B?;n5G4638 `3=:<1bh44?::kge?6=3`ni6=44iea94?=h9;k1<75`16`94?=zj=?36=477;294~N3?81/=5h51968^12=ir21>;4j:07956<6j3l1=;4>4;3`>x"6:>087)jk:59'``<33-nm695+e187?!c62=1/i?4;;%g0>1=#kh0hi6*j6;68 `1=<2.n47:4$d;90>"bi3>0(hl54:&fg?2<,ln186*je;68 ``=<2.m<7:4$g390>"a:3>0(k=54:&e0?2<,o?186*i6;68 c1=<2.m47:4$g;90>"ai3>0(kl54:&eg?2<,on186*ie;68 c`=<2.:<=4;;%335?2<,8:9695+11190>"68=0?7)??5;68 4612=1/==954:&24=<33-;;57:4$02b>1=#99h186*>0b87?!77l3>0(<>j:59'55`=<2.:==4;;%325?2<,8;9695+10190>"69=0?7)?>5;68 4712=1/=<954:&25=<33-;:57:4$03b>1=#98h186*>1b87?!76l3>0(=4;;%315?2<,889695+13190>"6:=0?7)?=5;68 4412;1/=575409'a1<33-;3n7<4$555>4>23-><;7?75:l:`?687826>h60>0986`;79826>h3?00986*lb;af?!7?k390e9750;9j0d<722c?;94?::k`=?6=3`2<6=4+1929l1?65f19g94?=n;?0;6)?70;16?k70n3:07d=;:18'5=6=;<1e=:h51:9j76<72-;3<7=:;o34b?4<3`996=4+192970=i9>l1?65f3083>!7?839>7c?8f;68?l57290/=5>5349m52`==21b>k4?:%3;4?523g;5<#91:1?85a16d93>=n:m0;6)?70;16?k70n3207dl1=65f3e83>!7?839m7c?8f;08?l5d290/=5>53g9m52`=;21b?o4?:%3;4?5a3g;5<#91:1?k5a16d91>=n;00;6)?70;1e?k70n3<07d=7:18'5=6=;o1e=:h57:9j72<72-;3<7=i;o34b?><3`?26=4+19291==i9>l1<65f5683>!7?83?37c?8f;38?l31290/=5>5599m52`=:21b984?:%3;4?3?3g;5<#91:1955a16d90>=n=:0;6)?70;7;?k70n3?07d8=:18'5=6==11e=:h56:9j24<72-;3<7;7;o34b?1<3`<;6=4+19291==i9>l1465f5g83>!7?83?37c?8f;;8?l3b290/=5>5599m52`=i21b9i4?:%3;4?3?3g;5<#91:1955a16d9g>=n=k0;6)?70;7;?k70n3n07d;n:18'5=6==11e=:h5e:9j17<72-;3<7;7;o34b?`<3`2=6=4+1929<0=i9>l1<65f8583>!7?832>7c?8f;38?jd0290/=5>5b79m52`=821dn84?:%3;4?d13g;5<#91:1n;5a16d96>=hj;0;6)?70;`5?k70n3907bl>:18'5=6=j?1e=:h54:9lf5<72-;3<7l9;o34b?3<3fkm6=4+1929f3=i9>l1:65`ad83>!7?83h=7c?8f;58?jgc290/=5>5b79m52`=021dmn4?:%3;4?d13g;5<#91:1n;5a16d9e>=hih0;6)?70;`5?k70n3h07bo7:18'5=6=j?1e=:h5c:9le2<72-;3<7l9;o34b?b<3fk=6=4+1929f3=i9>l1i65`a483>!7?83h=7c?8f;d8?jg3290/=5>5b79m52`=9910cl=50;&2<52d:;k4>1:9le7<72-;3<7l9;o34b?7532ej=7>5$0:3>g05<#91:1n;5a16d951=818a2>h6?o0:965`bd83>!7?83h=7c?8f;35?>iel3:1(<6?:c48j41a28=07bll:18'5=6=j?1e=:h51998kgd=83.:4=4m6:l23c<6121dnl4?:%3;4?d13g;4d<3fh36=4+1929f3=i9>l1=n54oc694?"6090i:6`>7g82`>=hi00;6)?70;`5?k70n3;n76a6e;29 4>72k<0b<9i:0d8?je0290/=5>5c79m52`=821do84?:%3;4?e13g;5<#91:1o;5a16d96>=hk:0;6)?70;a5?k70n3907dm7:188m4>c2900e99::188m2e=83.:4=48b:l23c<732c5$0:3>2d7g81?>o0?3:1(<6?:6`8j41a2:10e:850;&2<5<0j2d:;k4;;:k41?6=,82;6:l4n05e>0=>1<7*>8184f>h6?o0=76g83;29 4>72>h0b<9i:698m24=83.:4=48b:l23c5$0:3>2d7g8b?>o1n3:1(<6?:6`8j41a2k10e;j50;&2<5<0j2d:;k4l;:k5g?6=,82;6:l4n05e>a=8184f>h6?o0n76g9a;29 4>72>h0b<9i:g98m3?=83.:4=48b:l23c<6821b:54?:%3;4?1e3g;;:k53?6=,82;6:l4n05e>44<3`<=6=4+19293g=i9>l1=>54i7794?"60907g820>=n>=0;6)?70;5a?k70n3;>76g73;29 4>72>h0b<9i:048?l>5290/=5>57c9m52`=9>10e5?50;&2<5<0j2d:;k4>8:9j<5<72-;3<79m;o34b?7>32c5$0:3>2d5<#91:1;o5a16d95g=n1<7*>8184f>h6?o0:o65f7883>!7?83=i7c?8f;3g?>o1m3:1(<6?:6`8j41a28o07d8<:18'5=6=?k1e=:h51g98m=d=83.:4=47a:l23c<732c357>5$0:3>=g7g81?>i>;3:1(<6?:808j41a2910c4?50;&2<5<>:2d:;k4>;:m:4?6=,82;64<4n05e>7=818:6>h6?o0876a7e;29 4>72080b<9i:598k=b=83.:4=462:l23c<232e2o7>5$0:3><46`>7g84?>i>i3:1(<6?:808j41a2110c4750;&2<5<>:2d:;k46;:m:d=818:6>h6?o0i76a66;29 4>72080b<9i:b98k<3=83.:4=462:l23c5$0:3><46`>7g8e?>id:3:1(<6?:b38j41a2910cn>50;&2<5;:p10b=833ty>9o4?:6gxZ1?33W?=:6P:659]0=2X3191U85h4^5:f?[2?l2T?4n5Q49`8Z1>f3W>356P:709]126X2>01U9;64^47b?[3212T>955Q5458Z0313W?>96P:559]105m70::c;6e?821>3>m70:95;6e?821<3>m70:9f;6e?821m3>m70;51:0>=63=93865>;5180>=63=91865>;50o0>=63=81865>;5?o0>=63=7d865>;5?m0>=63=7b865>;40l0>=63<8b865>;40h0>=63<89865>;40?0>=63<85865>;40;0>=63<81865>;4?l0>=63<33865>;4;:0>=63<35865>;4;<0>=63<37865>;4<<0>=63<47865>;4<>0>=63<49865>;4<00>=63<5c865>;4=j0>=63<5e865>;4=l0>=63<5g865>;3=103;63;59822e<5=?36:o4=57;>2><5=?36:94=57;>20<5=?36:;4=57;>22<5=?36:=4=57;>24<5=?36:?4=57;>26<5=?36;h4=57;>3b<5=?36;m4=57;>3d<5=?36;o4=57;>3?<5=?36;64=57;>31<5=?36;84=57;>33<5=?36;:4=57;>=5<5=?365<4=57;>=7<5=?365>4=57;>2`<5=?36:k4=57;>2b<5=?36:74=57;>3c<5=?36;=4=57;>=d<5=?36574=57;>=>52z\7<0=:;?k1=5<4}r76b?6=;rT>9k5247595=7<5=?h6<6>;|q130<72;qU9=:4=356>4>53ty>;>4?:2y]125<5:=96i74=250>a?=7>569y]107<5;k;69;4=57f>13<5=?o69;4=57`>13<5=<=69;4=546>13<5=13<5;;869;4=331>13<5;;:69;4=333>13<5;:m69;4=32f>13<5;:o69;4=32`>13<5;<;69;4=37e>13<5;?n69;4=37g>13<5;?h69;4=37a>13<5;?j69;4=37:>13<5;?369;4=36f>13<5;>o69;4=36`>13<5;>i69;4=36b>13<5;>269;4=36;>13<5;><69;4=365>13<5;>>69;4=0f5>13<58n>69;4=0f7>13<58n869;4=0f1>13<58n:69;4=0f3>13<58im69;4=0af>13<5;n<69;4=3f5>13<5;n>69;4=3f7>13<5;n869;4=3f1>13<5;n;69;4=3ae>13<5;n:69;4=3g:>13<5;o369;4=3g4>13<5;o=69;4=3g6>13<5;o?69;4=3g0>13<5;o969;4=3g2>13<5;=?69;4=356>13<5;13<5=8o69;4=50`>13<5=8i69;4=50b>13<5=8269;4=50;>13<5=8=69;4=506>13<5=8?69;4=500>13<5=8969;4=502>13<5=8;69;4=53e>13<5=;n69;4=53g>13<5=;i69;4=53b>13<5=;269;4=53;>13<5=;<69;4=535>13<5=;>69;4=537>13<5=;869;4=531>13<5=9869;4=511>13<5=9:69;4=513>13<5=8m69;4=50f>13<5=8<69;4=53`>13<5=;:69;4=533>13<5=?369o4}r15b?6=:rT>563y]131<5=<269;4=544>13<5=<369;4=54e>13<5=13<58h:69;4=0`3>13<58km69;4=0cf>13<58ko69;4=0c`>13<58ki69;4=0cb>13<58lj69;4=0d:>13<58l369;4=0d4>13<58l=69;4=0d6>13<58l?69;4=0d0>13<58l969;4=0g;>13<58o<69;4=0g5>13<58o>69;4=0g7>13<58o869;4=0g1>13<58o:69;4=0g3>13<5;9j69;4=31:>13<5;9369;4=314>13<5;9=69;4=316>13<5;9?69;4=310>13<5;9969;4=312>13<5:;>69;4=23g>13<5:;h69;4=23a>13<5:;j69;4=23:>13<5:;369;4=234>13<5:;=69;4=237>13<5:8369;4=2`a>13<5:h269;4=2`b>13<5:hh69;4=2`g>13<5:i;69;4=2`f>13<5:hm69;4=2a2>13<5:i969;4=2ae>13<5:io69;4=2af>13<5:n;69;4=2f2>13<5:n?69;4=2f1>13<5:n869;4=2f6>13<5:n=69;4=2cg>13<5:kh69;4=2cf>13<5:kj69;4=2c:>13<5:ki69;4=2c4>13<5:k=69;4=2c;>13<5:k>69;4=2gb>13<5:o269;4=2g;>13<5:o<69;4=2g5>13<5:o>69;4=2g7>13<5:o869;4=2g1>13<5:o:69;4=24f>13<5:13<5=?36974}r11>k5233:95=452z\7`2=:<831=5<4}r1e7?6=:rT?h;5240:95=47>52z\7`0=:<8=1=5<4}r1e5?6=:rT?h95240495=452z\7`6=:<8?1=5<4}r1fb?6=:rT?h?5240695=452z\7`5=:<891=5<4}r1f`?6=:rT?ok5240095=4;j7>52z\7g`=:<:91=5<4}r63a?6=:rT?oi5242095=4;h7>52z\7gf=:<:;1=5<4}r63g?6=:rT?oo5242295=4;n7>52z\7gd=:<;l1=5<4}r63e?6=:rT?o45243g95=4;57>52z\7g==:<;=1=5<4}r636?6=:rT?o:5240a95=452z\7g0=:<8;1=5<4}r1fg?6=:rT?o95240295=4;47>52z\7g6=:<;n1=5<4}r633?6=:rT?o?5243a95=4;:7>52z\7g4=:<;h1=5<4}r631?6=:rT?o=5243c95=4;87>52z\7fc=:<;31=5<4}r637?6=:rT?nh5243:95=4;=7>52z\7fa=:<;<1=5<4}r634?6=:rT?nn5243795=452z\7`a=:<;>1=5<4}r1ea?6=:rT?hn5243195=452z\7`g=:<;81=5<4}r1eg?6=:rT?hl5243395=452z\7`<=:<;:1=5<4}r1ee?6=:rT?h55240d95=452z\7`4=:<8o1=5<4}r1e52z\7fg=:<8h1=5<4}r1e1?6=:rT?nl5240c95=4i<7>52z\7=`=:<<214;5rs5cf>5<5sW>2h63;5986=>{t7}Y<0h019;7:448yv2fj3:1>vP;9`9>00>==<1v9on:181[2>127?954:4:p0d?=838pR977;<66;3=10386s|4c594?4|V=k?70::8;43?xu3j?0;6?uQ4`18913?2>47;l;|q7f7<72;qU84h4=57;>0di=7>52z\7=3=:<<219l5rs5c4>5<5sW>2963;59866>{t9:=1<7mt=55f>41c348io7:7;<0bg?2?348no7;>;<0ff?2?3483j7:7;<04g?2?3492<7:7;<14a?2?3498>7:7;<171?2?349>n7:7;|q1e4<72;q6>l>54g9>6d4=9>h0q~:93;295=}::h:1=5?4=545>4>5348o;7:m;<0g2?2e348o97:m;<0g0?2e348o?7:m;<0g6?2e348o<7:m;<0`b?7?9279h<4;b:?1a<<3j279i54;b:?1a2<3j279i;4;b:?1a0<3j279i94;b:?1a6<3j279i?4;b:?1a4<3j279;94>809>623=91;01?8i:5`8970b2=h0q~>h7?72:?71f<3>2wx88k50;0x913b282970:90;f:?xu3>10;6>u247;90c=:=57>52z?72<<60;168;l5d89~w13d2908w0::d;6e?822k3;3>63;618ge>{t4>534>=47:i;<65f?bf3ty?9k4?:5y>030=91;0198::0:2?821<3;3=63;61823g=z{=<96=4=6z?720<60;16><:54c9>645=<<54c9>647=<>54c9>65`==k54c9>65b==m54c9>636=8h54c9>60c=8j54c9>60e=8l54c9>60g=8754c9>60>=9k54c9>61b=9m54c9>61d=9o54c9>61?=9654c9>611=9854c9>613=5a3=5a5=5a7=54c9>5f`=4>434>9n7?73:?76d<60:168?751918914?282870:=6;3;7>;3:<0:4>5243695=5<5=886<6<;<616?7?;27?><4>829>076=919019?i:0:0?826m3;3?63;1e82<6=:<8h1=5=4=53b>4>434>:57?73:?75=<60:168<9519189171282870:>5;3;7>;39=0:4>5240195=5<5=;96<6<;<607?7?;27???4>829>067=919019=?:0:0?825n3;3?63;2d82<6=:<;=1=5=4=53`>4>434>:=7?73:?755<60:1688o5d`9>00>=91o0q~:9a;297~;3>o0:4<5247g95=7<5=i70=>d;6a?856k3>i70=>b;6a?856i3>i70=>9;6a?85603>i70=>7;6a?856>3>i70=>4;6a?85ej3>i70=m9;6a?85ei3;3=63;4jm0?n63;4jl0?n63;4k80?n63;4ko0?n634>6349nm7:m;<1f=?2e349n47:m;<1f3?2e349n:7:m;<1f1?2e349n87:m;<1f7?2e349n>7:m;<1f5?2e3ty?:n4?:3cx910b282970?m2;6a?87e93>i70?m0;6a?87fn3>i70?ne;6a?87fl3>i70?nc;6a?87fj3>i70?na;6a?87ai3>i70?i9;6a?87a03>i70?i7;6a?87a>3>i70?i5;6a?87a<3>i70?i3;6a?87a:3>i70?j8;6a?87b?3>i70?j6;6a?87b=3>i70?j4;6a?87b;3>i70?j2;6a?87b93>i70?j0;6a?844i3>i70<<9;6a?84403>i70<<7;6a?844>3>i70<<5;6a?844<3>i70<<3;6a?844:3>i70<<1;6a?85503>i70=9e;6a?851n3>i70=9a;6a?xu5=>0;68u220690c=::?:1=5<4=335>ag<5;;36i74=33b>ae53z?151<60;16>4j5d89>6=g=l01v??::181846;3>m70<>6;34f>{t:9k1<7=t=330>4>53482o7jn;<0;=?bf3ty9=:4?:3y>644=<6516`8yv4713:1?v3=1382<7=::0i1hn5229;9`f=z{;;26=49{<025?2a348:m7?8b:?15f?4kc:p65>=839p1??>:0:1?84>j3nj70<78;fb?xu59k0;6?u220290c=::8i1=:l4}r033?6=;r79==4>839>6565db9~w77c2909w0=k54g9>676=9>h0q~5<5s48;h7:i;<017?70j2wx>=:50;1x976c282970<69;fb?84?>3nj7p}=2483>7}::9i18k52234952d53z?14f<60;16>475db9>6=0=lj1v:18687e:3>m70?ia;3;6>;6j=0om63>b78g=>;6j10oo6s|1`;94?3|58h96<6=;<15=?b>349>?7j6;<174?b>348m97jn;|q2f6<72;q6=o?54g9>5g2=9>h0q~?n8;291~;6j80:4?5237;9`g=:;<91ho523529`g=::ol1hl5rs0`6>5<5s4;i<7:i;<3a2?70j2wx=l950;7x94d7282970=98;f:?852:3n270=b683>3}:9hl18k521c:952d<58hj6io4=0``>a?<58hn6il4=0a3>ae55z?2ec<60;16?;65dc9>704=lk16?>h5dc9>6cb=lh1vm70?ma;34f>{t9h?1<7;t=0cf>4>5349=;7j6;<165?b>3498i7j6;<0eg?bf3ty:no4?:3y>5db=ae82<7=:;?=1ho523439`g=:;:o1ho522g`9`d=z{8ho6=4={<3bg?2a34;ii7?8b:p5d5=83?p13n270=:0;f:?854l3n270839>730=lk16?8>5dc9>76b=lk16>k75d`9~w4e42909w0?na;6e?87d<3;349?j7j6;<10g?b>348m47jn;|q101<72;q6>;>54g9>61c=9180q~<;3;296~;5=o0?j63=4e82<7=z{;?=6=4;{<06b?7?:279=;4k9:?15=6}::ad<5;;j6io4}r075?6=:r799i4;f:?10g<60;1v?;;:181842l3;3>63=1`8g=>{t:=:1<71`<5;>j6<6=;|q116<728m51908977d2m301??j:ec897472mi01?<=:e`8yv44n3:1>v3=5c87b>;5<00:4?5rs371>5<3s48>n7?72:?15`=4k9:?167>k50;0x973f2=l01?:7:0:1?xu5=80;6>u224c95=4<5;8;6io4=301>a?52z?11<<3n2798:4>839~w7372908w0<:9;3;6>;5::0o563=278ge>{t::i1<71`<5;>=6<6=;|q10c<72;q6>865190897412m30q~?kf;296~;6nh0?j63>e982<7=z{8nn6=4={<3e=?2a34;n;7?72:p5c6=83>p1de83>7}:9o218k521d495=453z?2b=<60;16=o85dc9>5g>=lh1vm70?j5;3;6>{t9lo1<74>534;i47j6;|q2`g<72;q6=k854g9>5`2=9180q~?jd;291~;6n?0:4?521cc9`<=:9ki1hl521cg9`f=:9j:1ho5rs0fb>5<5s4;m97:i;<3f7?7?:2wx=hm50;6x94`2282970?mc;fa?87em3n270?l0;fb?xu6l00;6?u21g690c=:9l81=5<4}r3ff?6=;r7:j94>839>5gc=lh16=n>5d89~w4b?2909w0?i3;6e?87b93;3>6s|1dc94?5|58l86<6=;<3`5?b>34;h87jn;|q2`2<72;q6=k<54g9>5`6=9180q~?j9;296~;6n;0:4?521b69`<=z{;9;6=4={<07a?2a3488m7?72:p67`=838p1?:k:5d8975>28297p}=2d83>7}::=i18k5222:95=452z?10g<3n279?:4>839~w74d2909w0<;a;6e?844>3;3>6s|23`94?4|5;>269h4=316>4>53ty9>l4?:3y>61>=>:51908yv4513:1>v3=4687b>;5;:0:4?5rs30;>5<5s48?:7:i;<006?7?:2wx>?950;0x97222=l01?=>:0:1?xu5;k0;652z?2a=<3n27:h;4>839~w4ed2909w0?j7;6e?87c=3;3>6s|1b`94?4|58o=69h4=0f7>4>53ty:ol4?:3y>5`3=v3>e587b>;6l;0:4?5rs0a;>5<5s4;n?7:i;<3g5?7?:2wx=n950;0x94c52=l013>m70;6190o563=8`8ge>;3=10?<6s|1g`94?4|58n>69h4=0;3>41e3ty:jn4?:3y>5a2=v3>d287b>;61;0:;o5rs0df>5<5s4;o>7:i;<3:7?70j2wx=kh50;0x94b62=l01<7;:05a?xu5890;6?u21e290c=:90?1=:l4}r035?6=:r7:ok4;f:?2=3<6?k1v?>=:18187dm3>m70?67;34f>{t;l:1<7:t=31b>1`<5:oj6<6=;<3:34>>47=9;|q124<72;q6>>754g9>5<>=9>h0q~<92;296~;5;10?j63>98823g=z{;<86=4={<003?2a34;2m7?8b:p632=838p1?=9:5d894?e28=i7p}=6483>7}:::?18k5218a952d52z?171<3n27:5i4>7c9~w7002909w0<<3;6e?87>m3;41e3ty9:44?:3y>667=516`8yv4bi3:1=8u22e5903=::m<18;522e7903=::m>18;522e1903=::m818;522e2903=::jl18;522e3903=::l318;522d:903=::l=18;522d4903=::l?18;522d6903=::l918;522d0903=::l;18;5244c9`g=::?k1=:l4=3c1>ag52z?1`2<3n279o94>7c9~w7eb290?w0;5m00?j63=9e8ge>;5k<0o56s|2`c94?4|5;n=69h4=3a0>41e3ty9oi4?:5y>6a0=91801?k7:5d897?d2m301?lm:e;8yv4f13:1>v3=d487b>;5k;0:;o5rs3a`>5<3s48o97?72:?1a2<3n2795n4kb:?1f<l650;0x97b32=l01?m>:05a?xu5kk0;69u22e695=4<5;o=69h4=3;a>a?<5;h<6i74}r0b3?6=:r79h>4;f:?1g5<6?k1v?mn:18784c;3;3>63=e487b>;51k0on63=b48g=>{t:h<1<71`<5;hm6<9m;|q1g<<72=q6>i<5190897c32=l01?7n:e;897d42m30q~1}::jl1=5<4=3g2>1`<5;326il4=3cg>a?52z?1`4<3n279nh4>7c9~w7e?290?w0;5m:0?j63=9`8gf>;5j80o56s|2cc94?4|5;i?6964=3`b>41e3ty9o84?:3y>6f2=9;301?m::05a?xu5j10;6>u22b190==::kk185522c:952d53z?1g6<6:016>oo519:897de28=i7p}=b783>6}::j8185522c:90==::k<1=:l4}r0a=?6=;r79o?4>289>6g>=91201?l6:05a?xu5j=0;6>u22b390==::k<185522c6952d53z?1g4<6:016>o8519:897d028=i7p}=b383>6}::j:185522c690==::k81=:l4}r0a1?6=;r79o=4>289>6g2=91201?l::05a?xu5j90;6>u22cd90==::k8185522c2952d53z?1fc<6:016>o<519:897d428=i7p}=ad83>6}::ko185522c290==::ho1=:l4}r0a5?6=;r79nh4>289>6g6=91201?l>:05a?xu5ij0;6>u22cf90==::ho185522`a952d53z?1fa<6:016>lk519:897ga28=i7p}=ae83>6}::ki1=?74=3c`>4>?348jh7?8b:p6a`=83?p1?k7:0:1?87>93n270?60;fb?84?13n270::8;1f?xu5ll0;68u22d595=4<58396i74=0;2>ag<5;226il4=57;>6b55z?1a3<60;16=4=5d89>5<4=lh16>565d89>00>=;j1v?jl:18684b=3;3>63>958g=>;61:0om63=898gf>;3=108n6s|2e`94?3|5;o?6<6=;<3:1?b>34;287jn;<0;3?b>34>>47=n;|q1`d<72h=5190894?12m301<7::ec897>02mh019;7:2;8yv4c13:19v3=e382<7=:90=1h4521849`d=::1<1h45244:97==z{;n36=4;{<0f5?7?:27:5:4ka:?1<363=728gf>;5?80on63=768gf>;5>k0o563=6`8gg>{t:>81<71`<5;=86<9m;|q12f<72?q6>;k5190897142m301?9>:ec897102mk01?8m:ec8970f2mh0q~6=4={<134?751279j84>7c9~w67b2909w0=?0;34f>;49<0?j6s|2g194?5|5::26964=3d7>1><5;l86<9m;|q1bc<72:q6?=7513;897`3282370{t;;=1<741e349:h7:i;|q0gg<72k:5509>7a3=91801>k6:5d896272mi01?hi:e;8yv4a:3:1?v3<0987<>;5n:0?463=f3823g=z{;ln6=4<{<134>899>6cc=9>h0q~==6;296~;4810:;o5230a90c=z{:ij6=4:{<0e7?36349o87?72:?0a=<3n278?k4ka:?1b`k?50;1x96602=201?h=:5:897`628=i7p}=fe83>6}:;9=1=?74=3d1>4>?348mh7?8b:p773=838p1>>8:05a?856j3>m7p}0}::o819<523e195=4<5:o<69h4=21e>ae<5;lo6i74}r0e4?6=;r78<;4;8:?1b4<30279j=4>7c9~w7`d2908w0=?6;31=>;5n80:45522ga952d52z?043<6?k16?w063;4;l0om63=fb8g=>{t:ll1<7=t=226>1><5;l;6964=3ge>41e3ty9jo4?:2y>753=9;301?h?:0:;?84aj3;6<9m;<12=?2a3ty8o:4?:4y>6c6==816?i?5190896c22=l01>=j:ea897`e2m30q~;5ml0:;o5rs3db>5<4s49;87?=9:?1ac<60116>ko516`8yv55:3:1>v3<05823g=:;8218k5rs2a5>5<2s48nj7;>;<1g4?7?:278i94;f:?07a><:5:897cb2=201?kk:05a?xu5n00;6>u2311957?<5;on6<67;<0e=?70j2wx???50;0x966428=i70=>7;6e?xu4k<0;68u22dg914=:;jl1=5<4=2g0>1`<5:9o6im4=3d:>a?53z?047<30279ii4;8:?1af<6?k1v?h7:180857:3;9563=ee82<==::o21=:l4}r114?6=:r787c9>740=m;:18684bl3?:70=le;3;6>;4m;0?j63<3b8ge>;5n10o56s|2d`94?5|5:::6964=3g`>1><5;oi6<9m;|q1b3<72:q6?=?513;897cd282370{t;8l1<741e349:87:i;|q037<72;kp1?km:43896de2=<01>l6:54896df2=<01>ll:54896dc2=<01>m?:54896db2=<01>li:54896e62=<01>m=:54896ea2=<01>mk:54896eb2=<01>j?:54896b62=<01>j;:54896b52=<01>j<:54896b22=<01>j9:54896gc2=<01>ol:54896gb2=<01>on:54896g>2=<01>om:54896g02=<01>o9:54896g?2=<01>o::54896cf2=<01>k6:54896c?2=<01>k8:54896c12=<01>k::54896c32=<01>k<:54896c52=<01>k>:548961428=i7p}<0`83>7}:;8?1=5<4=20b>ae52z?05a<60;16??o5dc9~w6752909w0=>c;3;6>;4:h0om6s|30394?4|5:;i6<6=;<11e?b>3ty8==4?:3y>74g=91801>v3<1882<7=:;;h1h45rs22f>5<5s49:47?72:?06f839>77e=l01v>=70=9a;65?851l3;41e3ty94h4?:3y>6<5=<116>4<516`8yv4>03:1>v3=9282<==::0n1=:l4}r0:b?6=:r795>4>7c9>6d4=l01v?6k:18184>:3>370<61;34f>{t:0=1<74>?3482o7?8b:p6=e=838p1?7>:5:897?728=i7p}=9783>7}::0;1=564=3;a>41e3ty94o4?:3y>6<6=<116>5h516`8yv4>=3:1>v3=9182<==::0k1=:l4}r0:0?6=:r794k4>899>6h0q~<8b;296~;5090?463=7g823g=z{;2>6=4={<0;4?7?02794l4>7c9~w7?b2909w0<70;34f>;5i;0on6s|26c94?4|5;=m6964=35f>41e3ty9494?:3y>62`=91201?66:05a?xu5?00;6?u226g90==::>n1=:l4}r0;7?6=:r79;h4>899>6=>=9>h0q~<88;296~;5?m0?463=7b823g=z{;296=4={<04`?7?02794:4>7c9~w7>62909w0<8c;3;<>;50?0:;o5rs2;g>5<3s49in7:i;<1b3?7?:278:;4kc:?0<61}:;k318k523`795=4<5:<>6il4=25e>a?53z?0f<<60;16?nj54g9>71`=lk1v>7l:18785ei3>m70=n6;3;6>;4><0om63<808g=>{t;k:1<7=t=2`b>4>5349hi7:i;<17b?bf3ty85h4?:5y>7ge=6::e;8yv5e:3:1?v3lk:0:1?85c93>m70=:1;f`?xu4i;0;69u23b290c=:;hi1=5<4=24;>ag<5:2o6i74}r1a2?6=;r78o=4>839>7a2=63<668ge>;4000o56s|3c694?5|5:hn6<6=;<1g6?2a349>=7jn;|q0e4<72=q6?oh54g9>7dd=91801>87:ea896>e2m30q~=m5;297~;4jo0:4?523e190c=:;<81hn5rs2c0>5<3s49h=7:i;<1b`?7?:278:44kc:?01}:;j818k523`g95=4<5:<26io4=2;b>a?53z?0g7<60;16?i854g9>705=lh1v>m<:18785dl3;3>63;4;j0on63=f68g<>{t;ji1<7:t=2f5>4>5349nm7:i;<174?bf348m97j6;|q03f<72;q6?lj54g9>7<>=9>h0q~=8b;296~;4ij0?j63<96823g=z{:=o6=4={<1ba?2a349257?8b:p72?=838p1>on:5d896?228=i7p}<7983>7}:;h318k52386952d52z?0eg<3n2785;4>7c9~w6112909w0=n7;6e?85>:3;41e3ty8;:4?:3y>7d>=v3;4190:;o5rs2:f>5<5s49257:7;<1;a?70j2wx?4o50;0x96?>288270=6a;34f>{t;1i1<7=t=2;;>1><5:2n6964=2:`>41e3ty84k4?:2y>7<>=9;301>6j:0:;?85?n3;1><5:2j6<9m;|q0d282370=7d;34f>{t;121<7=t=2;5>1><5:2j6964=2:;>41e3ty84o4?:2y>7<0=9;301>6n:0:;?85?j3;6964=2:;>1><5:2=6<9m;|q0<<<72:q6?4;513;896>?282370=79;34f>{t;1>1<7=t=2;7>1><5:2=6964=2:7>41e3ty84:4?:2y>7<2=9;301>69:0:;?85??3;1><5:296<9m;|q0<0<72:q6?4=513;896>3282370=75;34f>{t;1:1<7=t=2;1>1><5:296964=2:3>41e3ty84>4?:2y>7<4=9;301>6=:0:;?85?;3;1><5:=n6<9m;|q0<4<72:q6?4?513;896>7282370=71;34f>{t;>l1<7=t=2;3>44>349ji:18785b13;3>63>988g=>;6110om63;59800>{t;mo1<7:t=2g;>4>534;2m7j6;<3:=?bf34>>47=<;|q0`a<72=q6?h95190894?e2m301<7n:ec8913?2:80q~=kc;290~;4m?0:4?5218a9`<=:90h1hl5244:974=z{:ni6=4;{<1f1?7?:27:5i4k9:?2=fp1>k;:0:1?87>m3n270?6d;fb?822038m7p}1}:;l91=5<4=0;e>a?<583n6io4=57;>7c54z?0a7<60;16=l>5d89>5<`=lh1688652e9~w6b02908w0=j1;3;6>;6i90om63;5981g>{t;:=1<74>?3498o7?8b:p77c=838p1>==:05a?854;3>37p}<3983>7}:;:91=564=21g>41e3ty8>k4?:3y>765=9>h01>=;:5:8yv5413:1>v3<3582<==:;:o1=:l4}r104?6=:r78?94>7c9>763=<11v>=n:181854=3;3463<3g823g=z{:9:6=4={<101?70j278?;4;8:p76d=838p1>=9:0:;?85383;713=91201>:i:05a?xu4<80;6?u2357952d<5:>=6964}r17f?6=:r788;4>899>706=9>h0q~=;2;296~;4h6=4={<173?7?02789<4>7c9~w6242909w0=;7;34f>;4<10?46s|35f94?4|5:>36<67;<166?70j2wx?9:50;0x962?28=i70=;9;6;?xu4<5:?86<9m;|q010<72:q6?97516`896162m301>8l:e`8yv5183:1>v3<5c82<==:;??1=:l4}r163?6=:r789o4>7c9>70e=<11v>8>:181852k3;3463<67823g=z{:?36=4={<16g?70j2789i4;8:p734=838p1>;k:0:;?851?3;4?:3y>70c=91201>87:05a?xu4=h0;6?u234g952d<5:?m6964}r150?6=:r789k4>899>73?=9>h0q~=:6;296~;4=o0:;o5237a9`<=z{:=;6=4<{<15a?2a349=j7:i;<145?70j2wx?;k50;6x960b282970=82;fb?850;3nj70=9d;f;?xu4>k0;6?u237c90c=:;?i1=:l4}r66f?6=:07e=07g=07>=073=075=077=5479>04`=04b=04g=04>=040=042=044==5479>064=?5479>066=07c=04e=046=;l516`8yv2283:1>v3;2e87b>;3=10h;6s|45d94?4|5=8h69h4=57;>g1?i7>52z?76g<3n27?954m5:p01b=838p19{t<=h1<71`<5=?36o?4}r67=?6=:r7?>;4;f:?71=v3;2587b>;3=10ji6s|45494?4|5=8869h4=57;>f3?97>52z?767<3n27?954nd:p012=838p19<>:5d8913?2hi0q~:;3;296~;3:90?j63;598bf>{t<=81<71`<5=?36lo4}r675?6=:r7?=h4;f:?71=50;0x917c2=l019;7:`58yv24m3:1>v3;1c87b>;3=10j:6s|42f94?4|5=;j69h4=57;>d38o7>52z?75<<3n27?954l4:p06d=838p19?7:5d8913?2h>0q~:0?j63;598b7>{t<:31<71`<5=?36l<4}r60950;0x91732=l019;7:`28yv24>3:1>v3;1287b>;3=102j6s|42794?4|5=;969h4=57;>gc>;7>52z?776<3n27?954md:p000=838p19==:5d8913?2j90q~::5;296~;3;80?j63;598ag>{t<<>1<71`<5=?36ol4}r667?6=:r7?>k4;f:?71=v3;2687b>;3=10i46s|45c94?4|5=;h69h4=57;>g28j7>52z?754<3n27?954n9:p062=838p19??:5d8913?20o0q~==a;296~;4:h0:;o5233`9`g=z{=?26=4={<66e?70j27?954l9:p7`d=83?p1>9>:ec8960d2mk01>9=:05a?82203><863;598`<>{t9?:1<7ag<5;896<5f6=9;k0q~<=4;296~;5:?0on63=23823g=z{8i96=4={<3`0?be34;h<7?8b:p560=838p1>6s|4`g94?4|V=3o70:<:5;g?!2083;?h6s|4`f94?4|V=3h70:<:5;`?!2083;>;6s|4`a94?4|V=3i70:<:5;a?!2083;>56s|4``94?4|V=3j70:<:5;b?!2083;>m6s|4`c94?4|V=3270:<:5;:?!2083;>n6s|4`;94?4|V=3370:<:5;;?!2083;>h6s|4`:94?4|V=3<70:<:5;4?!2083;>i6s|4c;94?4|V=k=70:<:5c5?!2083;>j6s|4c:94?4|V=k>70:<:5c6?!2083;==6s|4c594?4|V=k?70:<:5c7?!2083;=>6s|4c494?4|V=k870:<:5c0?!2083;=?6s|4c794?4|V=k970:<:5c1?!2083;=86s|4c694?4|V=k:70:<:5c2?!2083;=96s|4c194?4|V=k;70:<:5c3?!2083;=:6s|4c094?4|V=3m70:<:5;e?!2083;=;6s|4c394?4|V=3=70:<:5;5?!2083;=46s|4`594?4|V=3>70:<:5;6?!2083;=56s|56194?4|V<=870:<:450?!2083;=m6s|54f94?4|V70:<:5f6?!2083;<>6s|4g594?4|V=n?70:<:5f7?!2083;70:<:5a6?!2083;8j6s|4d594?4|V=i?70:<:5a7?!2083;?<6s|4d494?4|V=i870:<:5a0?!2083;?=6s|4d794?4|V=i970:<:5a1?!2083;??6s|4d694?4|V=i:70:<:5a2?!2083;?86s|4d194?4|V=i;70:<:5a3?!2083;?96s|4d094?4|V=hm70:<:5`e?!2083;?:6s|4d394?4|V=hn70:<:5`f?!2083;?;6s|4d294?4|V=ho70:<:5`g?!2083;?46s|4ed94?4|V=hh70:<:5``?!2083;?56s|51094?4|V=no70:<:5fg?!2083;?m6s|51394?4|V=nh70:<:5f`?!2083;?n6s|51294?4|V=ni70:<:5fa?!2083;?o6s|4gd94?4|V=nj70:<:5fb?!2083;?i6s|4gg94?4|V=n270:<:5f:?!2083;?j6s|4gf94?4|V=n370:<:5f;?!2083;><6s|4ga94?4|V=n:70:<:5f2?!2083;>=6s|4g694?4|V=i=70:<:5a5?!2083;>>6s|4d;94?4|V=hi70:<:5`a?!2083;>?6s|4eg94?4|V=hj70:<:5`b?!2083;>86s|51c94?4|V<:j70:<:42b?!2083;>96s|49794?4|V=2>70:<:5:6?!2083;>:6s|51694?4|V<:?70:<:427?!2083;>46s|53d94?4|V<8m70:<:40e?!2083;>o6srn`f:>5<5sA><=6saaec94?4|@==:7p`ndc83>7}O<>;0qcokc;296~N3?81vbljk:181M2092wemik50;0xL1163tdjhk4?:3yK02752zJ734=zfho:6=4={I645>{iil81<7vF;709~jdc22909wE:81:me`0=838pD99>;|lba2<72;qC8:?4}ocf5<5sA><=6saadc94?4|@==:7p`nec83>7}O<>;0qcojc;296~N3?81vblkk:181M2092wemhk50;0xL1163tdjik4?:3yK02752zJ734=zfhl:6=4={I645>{iio81<7vF;709~jd`22909wE:81:mec0=838pD99>;|lbb2<72;qC8:?4}oce5<5sA><=6saagc94?4|@==:7p`nfc83>7}O<>;0qcoic;296~N3?81vblhk:181M2092wemkk50;0xL1163tdjjk4?:3yK02752zJ734=zfk::6=4={I645>{ij981<7vF;709~jg622909wE:81:mf50=838pD99>;|la42<72;qC8:?4}o`35<5sA><=6sab1c94?4|@==:7p`m0c83>7}O<>;0qcl?c;296~N3?81vbo>k:181M2092wen=k50;0xL1163tdi52zJ734=zfk;:6=4={I645>{ij881<7vF;709~jg722909wE:81:mf40=838pD99>;|la52<72;qC8:?4}o;2e?6=9rB?;<5rn87:>5<6sA><=6sa94c94?7|@==:7p`65c83>4}O<>;0qc7:c;295~N3?81vb4;k:182M2092we58k50;3xL1163td29k4?:0yK02751zJ734=zf0<:6=4>{I645>{i1?81<7?tH552?xh>>:0;6;|l:22<728qC8:?4}o;55<6sA><=6sa97c94?7|@==:7p`66c83>4}O<>;0qc79c;295~N3?81vb48k:182M2092we5;k50;3xL1163td2:k4?:0yK02751zJ734=zf0=:6=4>{I645>{i1>81<7?tH552?xh>?:0;6;|l:32<728qC8:?4}o;45<6sA><=6sa96c94?7|@==:7p`67c83>4}O<>;0qc78c;295~N3?81vb49k:182M2092we5:k50;3xL1163td2;k4?:0yK02751zJ734=zf02:6=4>{I645>{i1181<7?tH552?xh>0:0;62290:wE:81:m==0=83;pD99>;|l:<2<728qC8:?4}o;;5<6sA><=6sa99c94?7|@==:7p`68c83>4}O<>;0qc77c;295~N3?81vb46k:182M2092we55k50;3xL1163td24k4?:0yK02751zJ734=zf03:6=4>{I645>{i1081<7?tH552?xh>1:0;6<3:1=vF;709~j;|l:=2<728qC8:?4}o;:5<6sA><=6sa98c94?7|@==:7p`69c83>4}O<>;0qc76c;295~N3?81vb47k:182M2092we54k50;3xL1163td25k4?:0yK02751zJ734=zf0k:6=4>{I645>{i1h81<7?tH552?xh>i:0;6;|l:e2<728qC8:?4}o;b5<6sA><=6sa9`c94?7|@==:7p`6ac83>4}O<>;0qc7nc;295~N3?81vb4ok:182M2092we5lk50;3xL1163td2mk4?:0yK02751zJ734=zf0h:6=4>{I645>{i1k81<7?tH552?xh>j:0;6;|l:f2<728qC8:?4}o;a5<6sA><=6sa9cc94?7|@==:7p`6bc83>4}O<>;0qc7mc;295~N3?81vb4lk:182M2092we5ok50;3xL1163td2nk4?:0yK02751zJ734=zf0i:6=4>{I645>{i1j81<7?tH552?xh>k:0;6;|l:g2<728qC8:?4}o;`5<6sA><=6sa9bc94?7|@==:7p`6cc83>4}O<>;0qc7lc;295~N3?81vb4mk:182M2092we5nk50;3xL1163td2ok4?:0yK02751zJ734=zf0n:6=4>{I645>{i1m81<7?tH552?xh>l:0;6;|l:`2<728qC8:?4}o;g5<6sA><=6sa9ec94?7|@==:7p`6dc83>4}O<>;0qc7kc;295~N3?81vb4jk:182M2092we5ik50;3xL1163td2hk4?:0yK02751zJ734=zf0o:6=4>{I645>{i1l81<7?tH552?xh>m:0;6;|l:a2<728qC8:?4}o;f5<6sA><=6sa9dc94?7|@==:7p`6ec83>4}O<>;0qc7jc;295~N3?81vb4kk:182M2092we5hk50;3xL1163td2ik4?:0yK02751zJ734=zf0l:6=4>{I645>{i1o81<7?tH552?xh>n:0;6;|l:b2<728qC8:?4}o;e5<6sA><=6sa9gc94?7|@==:7p`6fc83>4}O<>;0qc7ic;295~N3?81vb4hk:182M2092we5kk50;3xL1163td2jk4?:0yK02751zJ734=zfh::6=4>{I645>{ii981<7?tH552?xhf8:0;6;|lb42<728qC8:?4}oc35<6sA><=6saa1c94?7|@==:7p`n0c83>4}O<>;0qco?c;295~N3?81vbl>k:182M2092wem=k50;3xL1163tdj51zJ734=zfh;:6=4>{I645>{ii881<7?tH552?xhf9:0;6;|lb52<728qC8:?4}oc25<6sA><=6saa0c94?7|@==:7p`n1c83>4}O<>;0qco>c;295~N3?81vbl?k:182M2092wem51zJ734=zfh8:6=4>{I645>{ii;81<7?tH552?xhf::0;6;|lb62<728qC8:?4}oc15<6sA><=6saa3c94?7|@==:7p`n2c83>4}O<>;0qco=c;295~N3?81vblk4?:0yK02751zJ734=zfh9:6=4>{I645>{ii:81<7?tH552?xhf;:0;6;|lb72<728qC8:?4}oc05<6sA><=6saa2c94?7|@==:7p`n3c83>4}O<>;0qcok50;3xL1163tdj?k4?:0yK02751zJ734=zfh>:6=4>{I645>{ii=81<7?tH552?xhf<:0;6;|lb02<728qC8:?4}oc75<6sA><=6saa5c94?7|@==:7p`n4c83>4}O<>;0qco;c;295~N3?81vbl:k:182M2092wem9k50;3xL1163tdj8k4?:0yK027<7>51zJ734=zfh?:6=4>{I645>{ii<81<7?tH552?xhf=:0;6;|lb12<728qC8:?4}oc65<6sA><=6saa4c94?7|@==:7p`n5c83>4}O<>;0qco:c;295~N3?81vbl;k:182M2092wem8k50;3xL1163tdj9k4?:0yK02751zJ734=zfh<:6=4>{I645>{ii?81<7?tH552?xhf>:0;6;|lb22<728qC8:?4}oc55<6sA><=6saa7c94?7|@==:7p`n6c83>4}O<>;0qco9c;295~N3?81vbl8k:182M2092wem;k50;3xL1163tdj:k4?:0yK02751zJ734=zfh=:6=4>{I645>{ii>81<7?tH552?xhf?:0;6;|lb32<728qC8:?4}oc45<6sA><=6saa6c94?7|@==:7p`n7c83>4}O<>;0qco8c;295~N3?81vbl9k:182M2092wem:k50;3xL1163tdj;k4?:0yK02751zJ734=zfh2:6=4>{I645>{ii181<7?tH552?xhf0:0;62290:wE:81:me=0=83;pD99>;|lb<2<728qC8:?4}oc;5<6sA><=6saa9c94?7|@==:7p`n8c83>4}O<>;0qco7c;295~N3?81vbl6k:182M2092wem5k50;3xL1163tdj4k4?:0yK02751zJ734=zfh3:6=4>{I645>{ii081<7?tH552?xhf1:0;6<3:1=vF;709~jd?2290:wE:81:me<0=83;pD99>;|lb=2<728qC8:?4}oc:5<6sA><=6saa8c94?7|@==:7p`n9c83>4}O<>;0qco6c;295~N3?81vbl7k:182M2092wem4k50;3xL1163tdj5k4?:0yK02751zJ734=zfhk:6=4>{I645>{iih81<7?tH552?xhfi:0;6;|lbe2<728qC8:?4}ocb5<6sA><=6saa`c94?7|@==:7p`nac83>4}O<>;0qconc;295~N3?81vblok:182M2092wemlk50;3xL1163tdjmk4?:0yK02751zJ734=zfhh:6=4>{I645>{iik81<7?tH552?xhfj:0;6;|lbf2<728qC8:?4}oca5<6sA><=6saacc94?7|@==:7p`nbc83>4}O<>;0qcomc;295~N3?81vbllk:182M2092wemok50;3xL1163tdjnk4?:0yK02751zJ734=zfhi:6=4>{I645>{iij81<7?tH552?xhfk:0;6;|lbg2<728qC8:?4}oc`5<6sA><=6saabc94?7|@==:7p`ncc83>4}O<>;0qcolc;295~N3?81vblmk:182M2092wemnk50;3xL1163tdjok4?:0yK02751zJ734=zfhn:6=4>{I645>{iim81<7?tH552?xhfl:0;6;|lb`2<728qC8:?4}ocg - - + + diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index 398e5ef81..c6a64fc65 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -15,8 +15,10 @@ // packed into the IO ring. // + //`define NO_EXT_FIFO + module ext_fifo - #(parameter INT_WIDTH=36,EXT_WIDTH=18,DEPTH=19) + #(parameter INT_WIDTH=36,EXT_WIDTH=18,RAM_DEPTH=19,FIFO_DEPTH=19) ( input int_clk, input ext_clk, @@ -24,7 +26,7 @@ module ext_fifo input [EXT_WIDTH-1:0] RAM_D_pi, output [EXT_WIDTH-1:0] RAM_D_po, output RAM_D_poe, - output [DEPTH-1:0] RAM_A, + output [RAM_DEPTH-1:0] RAM_A, output RAM_WEn, output RAM_CENn, output RAM_LDn, @@ -59,16 +61,15 @@ module ext_fifo .empty(empty1)); assign dst_rdy_o = ~full1; - -/* -----\/----- EXCLUDED -----\/----- + +`ifdef NO_EXT_FIFO assign space_avail = ~full2; assign data_avail = ~empty1; assign read_data = write_data; - -----/\----- EXCLUDED -----/\----- */ +`else - // External FIFO running at ext clock rate and 18 bit width. - nobl_fifo #(.WIDTH(EXT_WIDTH),.DEPTH(DEPTH),.FDEPTH(DEPTH)) + nobl_fifo #(.WIDTH(EXT_WIDTH),.RAM_DEPTH(RAM_DEPTH),.FIFO_DEPTH(FIFO_DEPTH)) nobl_fifo_i1 ( .clk(ext_clk), @@ -83,14 +84,14 @@ module ext_fifo .RAM_OEn(RAM_OEn), .RAM_CE1n(RAM_CE1n), .write_data(write_data), - .write_strobe(space_avail & ~empty1 ), + .write_strobe(~empty1 ), .space_avail(space_avail), .read_data(read_data), - .read_strobe(data_avail & ~full2), - .data_avail(data_avail), - .upstream_full(almost_full2) + .read_strobe(~almost_full2), + .data_avail(data_avail) ); - +`endif // !`ifdef NO_EXT_FIFO + // FIFO buffers data read from external FIFO into DSP clk domain and to TX DSP. fifo_xlnx_512x36_2clk_18to36 fifo_xlnx_512x36_2clk_18to36_i1 ( @@ -98,7 +99,7 @@ module ext_fifo .wr_clk(ext_clk), .rd_clk(int_clk), .din(read_data), // Bus [17 : 0] - .wr_en(data_avail & ~full2 ), + .wr_en(data_avail), .rd_en(dst_rdy_i), .dout(dataout), // Bus [35 : 0] .full(full2), @@ -106,5 +107,5 @@ module ext_fifo .empty(empty2)); assign src_rdy_o = ~empty2; - + endmodule // ext_fifo diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v index a93d524d5..db5f31a9d 100644 --- a/usrp2/extramfifo/ext_fifo_tb.v +++ b/usrp2/extramfifo/ext_fifo_tb.v @@ -1,7 +1,8 @@ `timescale 1ns / 1ps `define INT_WIDTH 36 `define EXT_WIDTH 18 -`define DEPTH 19 +`define RAM_DEPTH 19 +`define FIFO_DEPTH 8 `define DUMP_VCD_FULL module ext_fifo_tb(); @@ -17,7 +18,7 @@ module ext_fifo_tb(); wire [`EXT_WIDTH-1:0] RAM_D_po; wire [`EXT_WIDTH-1:0] RAM_D; wire RAM_D_poe; - wire [`DEPTH-1:0] RAM_A; + wire [`RAM_DEPTH-1:0] RAM_A; wire RAM_WEn; wire RAM_CENn; wire RAM_LDn; @@ -30,6 +31,7 @@ module ext_fifo_tb(); reg [`INT_WIDTH-1:0] ref_dataout; wire src_rdy_o; // not EMPTY reg dst_rdy_i; + integer ether_frame; // Clocks @@ -39,7 +41,6 @@ module ext_fifo_tb(); begin int_clk <= 0; ext_clk <= 0; - datain <= 0; ref_dataout <= 1; src_rdy_i <= 0; dst_rdy_i <= 0; @@ -53,6 +54,9 @@ module ext_fifo_tb(); initial begin + datain <= 0; + ether_frame <= 0; + rst <= 1; repeat (5) @(negedge int_clk); rst <= 0; @@ -62,6 +66,18 @@ module ext_fifo_tb(); @(negedge int_clk); datain <= datain + dst_rdy_o; src_rdy_i <= dst_rdy_o; + // Simulate inter-frame time + if (ether_frame == 1500) + begin + ether_frame <= 0; + repeat(1600) + begin + @(negedge int_clk); + src_rdy_i <= 0; + end + end + else + ether_frame <= ether_frame + dst_rdy_o; end end // initial begin @@ -73,8 +89,20 @@ module ext_fifo_tb(); // Fall through fifo, first output already valid if (dataout !== ref_dataout) $display("Error: Expected %x, got %x",ref_dataout, dataout); - - while (ref_dataout < 10000) + // Decimate by 16 rate + while (ref_dataout < 2000) + begin + @(negedge int_clk); + ref_dataout <= ref_dataout + src_rdy_o ; + dst_rdy_i <= src_rdy_o; + if ((dataout !== ref_dataout) && src_rdy_o) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + @(negedge int_clk); + dst_rdy_i <= 0; + repeat(14) @(negedge int_clk); + end // while (ref_dataout < 10000) + // Decimate by 8 rate + while (ref_dataout < 4000) begin @(negedge int_clk); ref_dataout <= ref_dataout + src_rdy_o ; @@ -84,7 +112,33 @@ module ext_fifo_tb(); @(negedge int_clk); dst_rdy_i <= 0; repeat(6) @(negedge int_clk); - end + end // while (ref_dataout < 10000) + // Decimate by 4 rate + while (ref_dataout < 6000) + begin + @(negedge int_clk); + ref_dataout <= ref_dataout + src_rdy_o ; + dst_rdy_i <= src_rdy_o; + if ((dataout !== ref_dataout) && src_rdy_o) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + @(negedge int_clk); + dst_rdy_i <= 0; + repeat(2) @(negedge int_clk); + end // while (ref_dataout < 10000) + // Max rate + while (ref_dataout < 10000) + begin + @(negedge int_clk); + ref_dataout <= ref_dataout + src_rdy_o ; + dst_rdy_i <= src_rdy_o; + if ((dataout !== ref_dataout) && src_rdy_o) + $display("Error: Expected %x, got %x",ref_dataout, dataout); + + end // while (ref_dataout < 10000) + + @(negedge int_clk); + $finish; + end @@ -228,7 +282,7 @@ module ext_fifo_tb(); endgenerate - wire [`DEPTH-1:0] RAM_A_ext; + wire [`RAM_DEPTH-1:0] RAM_A_ext; wire RAM_WEn_ext,RAM_LDn_ext,RAM_CE1n_ext,RAM_OEn_ext,RAM_CENn_ext; assign #1 RAM_D_pi = RAM_D_pi_ext; @@ -292,7 +346,7 @@ module ext_fifo_tb(); ext_fifo - #(.INT_WIDTH(`INT_WIDTH),.EXT_WIDTH(`EXT_WIDTH),.DEPTH(`DEPTH)) + #(.INT_WIDTH(`INT_WIDTH),.EXT_WIDTH(`EXT_WIDTH),.RAM_DEPTH(`RAM_DEPTH),.FIFO_DEPTH(`FIFO_DEPTH)) ext_fifo_i1 ( .int_clk(int_clk), diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index 03e3f5223..19f5fb84e 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -1,18 +1,19 @@ // Since this FIFO uses a ZBT/NoBL SRAM for its storage which is a since port // device it can only sustain data throughput at half the RAM clock rate. // Fair arbitration to ensure this occurs is included in this logic and -// requests for transactions that can not be completed are held off by (re)using the -// "full" and "empty" flags. +// requests for transactions that can not be completed are held off. +// This FIFO requires a an external signal driving read_strobe that assures space for at least 6 +// reads since this the theopretical maximum number in flight due to pipeling. module nobl_fifo - #(parameter WIDTH=18,DEPTH=19,FDEPTH=10) + #(parameter WIDTH=18,RAM_DEPTH=19,FIFO_DEPTH=19) ( input clk, input rst, input [WIDTH-1:0] RAM_D_pi, output [WIDTH-1:0] RAM_D_po, output RAM_D_poe, - output [DEPTH-1:0] RAM_A, + output [RAM_DEPTH-1:0] RAM_A, output RAM_WEn, output RAM_CENn, output RAM_LDn, @@ -21,42 +22,32 @@ module nobl_fifo input [WIDTH-1:0] write_data, input write_strobe, output reg space_avail, - output reg [WIDTH-1:0] read_data, - input read_strobe, - output reg data_avail, - input upstream_full // (Connect to almost full flag upstream) + output [WIDTH-1:0] read_data, + input read_strobe, // Triggers a read, result in approximately 6 cycles. + output data_avail // Qulaifys read data available this cycle on read_data. ); - reg [FDEPTH-1:0] capacity; - reg [FDEPTH-1:0] wr_pointer; - reg [FDEPTH-1:0] rd_pointer; - wire [DEPTH-1:0] address; - reg supress; - reg data_avail_int; // Data available with high latency from ext FIFO flag - wire [WIDTH-1:0] data_in; - wire data_in_valid; - reg [WIDTH-1:0] read_data_pending; - reg pending_avail; - wire read_strobe_int; + reg [FIFO_DEPTH-1:0] capacity; + reg [FIFO_DEPTH-1:0] wr_pointer; + reg [FIFO_DEPTH-1:0] rd_pointer; + wire [RAM_DEPTH-1:0] address; + reg data_avail_int; // Internal not empty flag. - - - assign read = read_strobe_int && data_avail_int; - assign write = write_strobe && space_avail; + assign read = read_strobe && data_avail_int; + assign write = write_strobe && space_avail; - // When a read and write collision occur, supress the availability flags next cycle + // When a read and write collision occur, supress the space_avail flag next cycle // and complete write followed by read over 2 cycles. This forces balanced arbitration // and makes for a simple logic design. always @(posedge clk) if (rst) begin - capacity <= 1 << (FDEPTH-1); + capacity <= 1 << (FIFO_DEPTH-1); wr_pointer <= 0; rd_pointer <= 0; space_avail <= 0; data_avail_int <= 0; - supress <= 0; end else begin @@ -64,187 +55,15 @@ module nobl_fifo // Capacity is already zero; Capacity is 1 and write is asserted (lookahead); both read and write are asserted (collision) space_avail <= ~((capacity == 0) || (read&&write) || ((capacity == 1) && write) ); // Capacity has 1 cycle delay so look ahead here for corner case of read of last item in FIFO. - data_avail_int <= ~((capacity == (1 << (FDEPTH-1))) || (read&&write) || ((capacity == ((1 << (FDEPTH-1))-1)) && read) ); - supress <= read && write; + data_avail_int <= ~((capacity == (1 << (FIFO_DEPTH-1))) || ((capacity == ((1 << (FIFO_DEPTH-1))-1)) && read) ); wr_pointer <= wr_pointer + write; - rd_pointer <= rd_pointer + ((~write && read) || supress); - capacity <= capacity - write + ((~write && read) || supress); // REVISIT + rd_pointer <= rd_pointer + (~write && read); + capacity <= capacity - write + (~write && read) ; end // else: !if(rst) assign address = write ? wr_pointer : rd_pointer; - assign enable = write || read || supress; - - // - // Need to have first item in external FIFO moved into local registers for single cycle latency and throughput on read. - // 2 local registers are provided so that a read every other clock cycle can be sustained. - // No fowarding logic is provided to bypass the external FIFO as latency is of no concern. - // - always @(posedge clk) - if (rst) - begin - read_data <= 0; - data_avail <= 0; - read_data_pending <= 0; - pending_avail <= 0; - end - else - begin - case({read_strobe,data_in_valid}) - // No read externally, no new data arriving from external FIFO - 2'b00: begin - case({data_avail,pending_avail}) - // Start Data empty, Pending empty. - // - // End Data full, Pending empty - 2'b00: begin - read_data <= read_data; - data_avail <= data_avail; - read_data_pending <= read_data_pending ; - pending_avail <= pending_avail; - end - // Start Data empty, Pending full. - // Data <= Pending, - // End Data full, Penidng empty. - 2'b01: begin - read_data <= read_data_pending; - data_avail <= 1'b1; - read_data_pending <= read_data_pending ; - pending_avail <= 1'b0; - end - // Start Data full, Pending empty. - // - // End Data full, Pending empty - 2'b10: begin - read_data <= read_data; - data_avail <= data_avail; - read_data_pending <= read_data_pending ; - pending_avail <= pending_avail; - end - // Start Data full, Pending full. - // - // End Data full, Pending full. - 2'b11: begin - read_data <= read_data; - data_avail <= data_avail; - read_data_pending <= read_data_pending ; - pending_avail <= pending_avail; - end - endcase - end - // No read externally, new data arriving from external FIFO - 2'b01: begin - case({data_avail,pending_avail}) - // Start Data empty, Pending empty. - // Data <= FIFO - // End Data full, Pending empty - 2'b00: begin - read_data <= data_in; - data_avail <= 1'b1; - read_data_pending <= read_data_pending ; - pending_avail <= 1'b0; - end - // Start Data empty, Pending full. - // Data <= Pending, Pending <= FIFO - // End Data full, Penidng full. - 2'b01: begin - read_data <= read_data_pending; - data_avail <= 1'b1; - read_data_pending <= data_in ; - pending_avail <= 1'b1; - end - // Start Data full, Pending empty. - // Pending <= FIFO - // End Data full, Pending full - 2'b10: begin - read_data <= read_data; - data_avail <= 1'b1; - read_data_pending <= data_in ; - pending_avail <= 1'b1; - end - // Data full, Pending full. - // *ILLEGAL STATE* - 2'b11: begin - - end - endcase - end - // Read externally, no new data arriving from external FIFO - 2'b10: begin - case({data_avail,pending_avail}) - // Start Data empty, Pending empty. - // *ILLEGAL STATE* - 2'b00: begin - - end - // Start Data empty, Pending full. - // *ILLEGAL STATE* - 2'b01: begin - - end - // Start Data full, Pending empty. - // Out <= Data - // End Data empty, Pending empty. - 2'b10: begin - read_data <= read_data; - data_avail <= 1'b0; - read_data_pending <= read_data_pending ; - pending_avail <= 1'b0; - end - // Start Data full, Pending full. - // Out <= Data, - // End Data full, Pending empty - 2'b11: begin - read_data <= read_data_pending; - data_avail <= 1'b1; - read_data_pending <= read_data_pending ; - pending_avail <= 1'b0; - end - endcase - end - // Read externally, new data arriving from external FIFO - 2'b11: begin - case({data_avail,pending_avail}) - // Start Data empty, Pending empty. - // *ILLEGAL STATE* - 2'b00: begin - - end - // Start Data empty, Pending full. - // *ILLEGAL STATE* - 2'b01: begin - - end - // Start Data full, Pending empty. - // Out <= Data, Data <= FIFO - // End Data full, Pending empty. - 2'b10: begin - read_data <= data_in; - data_avail <= 1'b1; - read_data_pending <= read_data_pending ; - pending_avail <= 1'b0; - end - // Start Data full, Pending full. - // Out <= Data, Data <= Pending, Pending <= FIFO - // End Data full, Pending full - 2'b11: begin - read_data <= read_data_pending; - data_avail <= 1'b1; - read_data_pending <= data_in ; - pending_avail <= 1'b1; - end - endcase - end - endcase - end + assign enable = write || read; - // Start an external FIFO read as soon as a read of the buffer reg is strobed to minimise refill latency. - // If the buffer reg or the pending buffer reg is already empty also pre-emptively start a read. - // However there must be something in the main external FIFO to read for this to occur!. - // Pay special attention to upstream devices signalling full due to the number of potential in-flight reads\ that need - // to be stalled and stored somewhere. - // This means that there can be 3 outstanding reads to the ext FIFO active at any time helping to hide latency. - assign read_strobe_int = (read_strobe && data_avail && ~pending_avail && ~upstream_full) || (~data_avail && ~pending_avail && ~upstream_full); - // // Simple NoBL SRAM interface, 4 cycle read latency. @@ -265,10 +84,12 @@ module nobl_fifo .RAM_CE1n(RAM_CE1n), .address(address), .data_out(write_data), - .data_in(data_in), - .data_in_valid(data_in_valid), + .data_in(read_data), + .data_in_valid(data_avail), .write(write), .enable(enable) ); + + endmodule // nobl_fifo diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 33e9dbcd9..eba64c66b 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -653,11 +653,12 @@ module u2_core .dataout(tx_data), .src_rdy_o(tx_src_rdy), .dst_rdy_i(tx_dst_rdy) ); -----/\----- EXCLUDED -----/\----- */ - ext_fifo #(.EXT_WIDTH(18),.INT_WIDTH(36),.DEPTH(19)) + ext_fifo #(.EXT_WIDTH(18),.INT_WIDTH(36),.RAM_DEPTH(19),.FIFO_DEPTH(8)) ext_fifo_i1 ( .int_clk(dsp_clk), .ext_clk(clk_to_mac), +// .ext_clk(wb_clk), .rst(dsp_rst), .RAM_D_pi(RAM_D_pi), .RAM_D_po(RAM_D_po), diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index 220d3b061..4d5913b2a 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -70,7 +70,7 @@ module vita_tx_deframer <= 0; end else - if((vita_state == VITA_STORE) & fifo_space) + if((vita_state == VITA_STORE) & fifo_space /* IJB & src_rdy_i*/) if(eop) if(has_trailer_reg) vita_state <= VITA_TRAILER; @@ -168,7 +168,7 @@ module vita_tx_deframer 3: sample_d <= data_i[31:0]; endcase // case (vector_phase) - wire store = (vita_state == VITA_STORE); + wire store = (vita_state == VITA_STORE) /* IJB */ && fifo_space; fifo_short #(.WIDTH(4+64+32*MAXCHAN)) short_tx_q (.clk(clk), .reset(reset), .clear(clear), .datain(fifo_i), .src_rdy_i(store), .dst_rdy_o(fifo_space), -- cgit v1.2.3 From 0e8a978c90c5793374861f29f72517f0070e596a Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 19 Aug 2010 17:28:07 -0700 Subject: Added a bunch of debug signals. --- usrp2/extramfifo/ext_fifo.v | 14 +++++++++++--- usrp2/extramfifo/ext_fifo_tb.cmd | 1 + usrp2/top/u2_rev3/u2_core_udp.v | 9 +++++---- usrp2/vrt/vita_tx_deframer.v | 4 ++-- 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index c6a64fc65..b17fde10b 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -37,7 +37,8 @@ module ext_fifo output dst_rdy_o, // not FULL output [INT_WIDTH-1:0] dataout, output src_rdy_o, // not EMPTY - input dst_rdy_i // READ + input dst_rdy_i, // READ + output reg [31:0] debug ); wire [EXT_WIDTH-1:0] write_data; @@ -46,7 +47,8 @@ module ext_fifo wire almost_full2, full2, empty2; wire [INT_WIDTH-1:0] data_to_fifo; wire [INT_WIDTH-1:0] data_from_fifo; - + wire [FIFO_DEPTH-1:0] capacity; + // FIFO buffers data from UDP engine into external FIFO clock domain. fifo_xlnx_512x36_2clk_36to18 fifo_xlnx_512x36_2clk_36to18_i1 ( @@ -88,7 +90,8 @@ module ext_fifo .space_avail(space_avail), .read_data(read_data), .read_strobe(~almost_full2), - .data_avail(data_avail) + .data_avail(data_avail), + .capacity(capacity) ); `endif // !`ifdef NO_EXT_FIFO @@ -107,5 +110,10 @@ module ext_fifo .empty(empty2)); assign src_rdy_o = ~empty2; + always @ (posedge int_clk) + debug[31:16] = {12'h0,empty2,full1,dst_rdy_i,src_rdy_i }; + + always @ (posedge ext_clk) + debug[15:0] = {3'h0,empty1,space_avail,data_avail,full2,almost_full2,capacity[7:0] }; endmodule // ext_fifo diff --git a/usrp2/extramfifo/ext_fifo_tb.cmd b/usrp2/extramfifo/ext_fifo_tb.cmd index b0ab830dc..521f88f21 100644 --- a/usrp2/extramfifo/ext_fifo_tb.cmd +++ b/usrp2/extramfifo/ext_fifo_tb.cmd @@ -1,6 +1,7 @@ /opt/Xilinx/12.1/ISE_DS/ISE/verilog/src/glbl.v -y . -y ../coregen/ +-y ../fifo -y ../models -y /home/ianb/usrp-fpga/usrp2/sdr_lib -y /home/ianb/usrp-fpga/usrp2/control_lib diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 291a8e74e..ced67072e 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -171,7 +171,7 @@ module u2_core wire [31:0] atr_lines; wire [31:0] debug_rx, debug_mac, debug_mac0, debug_mac1, debug_tx_dsp, debug_txc, - debug_serdes0, debug_serdes1, debug_serdes2, debug_rx_dsp, debug_udp; + debug_serdes0, debug_serdes1, debug_serdes2, debug_rx_dsp, debug_udp, debug_extfifo; wire [15:0] ser_rx_occ, ser_tx_occ, dsp_rx_occ, dsp_tx_occ, eth_rx_occ, eth_tx_occ, eth_rx_occ2; wire ser_rx_full, ser_tx_full, dsp_rx_full, dsp_tx_full, eth_rx_full, eth_tx_full, eth_rx_full2; @@ -686,7 +686,8 @@ module u2_core .dst_rdy_o(rd1_ready_i), // not FULL .dataout(tx_data), .src_rdy_o(tx_src_rdy), // not EMPTY - .dst_rdy_i(tx_dst_rdy) + .dst_rdy_i(tx_dst_rdy), + .debug(debug_extfifo) ); vita_tx_chain #(.BASE_CTRL(SR_TX_CTRL), .BASE_DSP(SR_TX_DSP), @@ -784,8 +785,8 @@ module u2_core // ///////////////////////////////////////////////////////////////////////////////////////// // Debug Pins - assign debug_clk = 2'b00; - assign debug = 32'd0; + assign debug_clk = {dsp_clk, clk_to_mac}; + assign debug = debug_extfifo; assign debug_gpio_0 = 32'd0; assign debug_gpio_1 = 32'd0; diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index f9cd7d00d..b62507092 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -84,7 +84,7 @@ module vita_tx_deframer seqnum_err <= 0; end else - if((vita_state == VITA_STORE) & fifo_space) + if((vita_state == VITA_STORE) & fifo_space ) //& src_rdy_i) if(eop) if(has_trailer_reg) vita_state <= VITA_TRAILER; @@ -183,7 +183,7 @@ module vita_tx_deframer 3: sample_d <= data_i[31:0]; endcase // case (vector_phase) - wire store = (vita_state == VITA_STORE); + wire store = (vita_state == VITA_STORE) ; //& src_rdy_i; fifo_short #(.WIDTH(FIFOWIDTH)) short_tx_q (.clk(clk), .reset(reset), .clear(clear), .datain(fifo_i), .src_rdy_i(store), .dst_rdy_o(fifo_space), -- cgit v1.2.3 From 620d22dc6ad3ca1d9343eb7535ec2e0694be36b1 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 19 Aug 2010 17:30:31 -0700 Subject: Added capacity to the module pinout --- usrp2/extramfifo/nobl_fifo.v | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index 19f5fb84e..cec2a5c4b 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -24,10 +24,11 @@ module nobl_fifo output reg space_avail, output [WIDTH-1:0] read_data, input read_strobe, // Triggers a read, result in approximately 6 cycles. - output data_avail // Qulaifys read data available this cycle on read_data. + output data_avail, // Qulaifys read data available this cycle on read_data. + output reg [FIFO_DEPTH-1:0] capacity ); - reg [FIFO_DEPTH-1:0] capacity; + //reg [FIFO_DEPTH-1:0] capacity; reg [FIFO_DEPTH-1:0] wr_pointer; reg [FIFO_DEPTH-1:0] rd_pointer; wire [RAM_DEPTH-1:0] address; @@ -43,7 +44,7 @@ module nobl_fifo always @(posedge clk) if (rst) begin - capacity <= 1 << (FIFO_DEPTH-1); + capacity <= (1 << FIFO_DEPTH) - 1; wr_pointer <= 0; rd_pointer <= 0; space_avail <= 0; -- cgit v1.2.3 From 492c5d53c31dd403817a27c6b25c30f8e089693b Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 19 Aug 2010 20:25:15 -0700 Subject: capacity logic fix --- usrp2/extramfifo/nobl_fifo.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index cec2a5c4b..62229e6c2 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -56,7 +56,7 @@ module nobl_fifo // Capacity is already zero; Capacity is 1 and write is asserted (lookahead); both read and write are asserted (collision) space_avail <= ~((capacity == 0) || (read&&write) || ((capacity == 1) && write) ); // Capacity has 1 cycle delay so look ahead here for corner case of read of last item in FIFO. - data_avail_int <= ~((capacity == (1 << (FIFO_DEPTH-1))) || ((capacity == ((1 << (FIFO_DEPTH-1))-1)) && read) ); + data_avail_int <= ~((capacity == ((1 << FIFO_DEPTH)-1)) || ((capacity == ((1 << FIFO_DEPTH)-2)) && read) ); wr_pointer <= wr_pointer + write; rd_pointer <= rd_pointer + (~write && read); capacity <= capacity - write + (~write && read) ; -- cgit v1.2.3 From 8cd377d7195fae6b5dcd04318c992231fa633999 Mon Sep 17 00:00:00 2001 From: ianb Date: Wed, 25 Aug 2010 16:32:43 -0700 Subject: Corrected extfifo code so that all registers that are on SRAM signals are packed into IOBs Explcit drives and skews added to GPIO pins Corrected minor error in FIFO logic that showed data avail internally incorrectly --- usrp2/extramfifo/ext_fifo.v | 10 +++++-- usrp2/extramfifo/nobl_fifo.v | 4 +-- usrp2/extramfifo/nobl_if.v | 12 +++++--- usrp2/top/u2_rev3/u2_core_udp.v | 15 ++++++---- usrp2/top/u2_rev3/u2_rev3.ucf | 64 ++++++++++++++++++++--------------------- 5 files changed, 59 insertions(+), 46 deletions(-) diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index b17fde10b..2af59a75d 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -38,7 +38,8 @@ module ext_fifo output [INT_WIDTH-1:0] dataout, output src_rdy_o, // not EMPTY input dst_rdy_i, // READ - output reg [31:0] debug + output reg [31:0] debug, + output reg [31:0] debug2 ); wire [EXT_WIDTH-1:0] write_data; @@ -111,9 +112,12 @@ module ext_fifo assign src_rdy_o = ~empty2; always @ (posedge int_clk) - debug[31:16] = {12'h0,empty2,full1,dst_rdy_i,src_rdy_i }; + debug[31:28] <= {empty2,full1,dst_rdy_i,src_rdy_i }; always @ (posedge ext_clk) - debug[15:0] = {3'h0,empty1,space_avail,data_avail,full2,almost_full2,capacity[7:0] }; + debug[27:0] <= {RAM_WEn,RAM_CE1n,RAM_A[3:0],read_data[17:0],empty1,space_avail,data_avail,almost_full2 }; + always@ (posedge ext_clk) +// debug2[31:0] <= {write_data[15:0],read_data[15:0]}; + debug2[31:0] <= 0; endmodule // ext_fifo diff --git a/usrp2/extramfifo/nobl_fifo.v b/usrp2/extramfifo/nobl_fifo.v index 62229e6c2..4c009d980 100644 --- a/usrp2/extramfifo/nobl_fifo.v +++ b/usrp2/extramfifo/nobl_fifo.v @@ -47,7 +47,7 @@ module nobl_fifo capacity <= (1 << FIFO_DEPTH) - 1; wr_pointer <= 0; rd_pointer <= 0; - space_avail <= 0; + space_avail <= 1; data_avail_int <= 0; end else @@ -56,7 +56,7 @@ module nobl_fifo // Capacity is already zero; Capacity is 1 and write is asserted (lookahead); both read and write are asserted (collision) space_avail <= ~((capacity == 0) || (read&&write) || ((capacity == 1) && write) ); // Capacity has 1 cycle delay so look ahead here for corner case of read of last item in FIFO. - data_avail_int <= ~((capacity == ((1 << FIFO_DEPTH)-1)) || ((capacity == ((1 << FIFO_DEPTH)-2)) && read) ); + data_avail_int <= ~((capacity == ((1 << FIFO_DEPTH)-1)) || ((capacity == ((1 << FIFO_DEPTH)-2)) && (~write && read)) ); wr_pointer <= wr_pointer + write; rd_pointer <= rd_pointer + (~write && read); capacity <= capacity - write + (~write && read) ; diff --git a/usrp2/extramfifo/nobl_if.v b/usrp2/extramfifo/nobl_if.v index 24d463b1e..391a841e8 100644 --- a/usrp2/extramfifo/nobl_if.v +++ b/usrp2/extramfifo/nobl_if.v @@ -9,11 +9,11 @@ module nobl_if output [WIDTH-1:0] RAM_D_po, output reg RAM_D_poe, output [DEPTH-1:0] RAM_A, - output RAM_WEn, + output reg RAM_WEn, output RAM_CENn, output RAM_LDn, output RAM_OEn, - output RAM_CE1n, + output reg RAM_CE1n, input [DEPTH-1:0] address, input [WIDTH-1:0] data_out, output reg [WIDTH-1:0] data_in, @@ -54,11 +54,15 @@ module nobl_if else begin enable_pipe1 <= enable; + RAM_CE1n <= ~enable; // Creates IOB flob + if (enable) begin address_pipe1 <= address; write_pipe1 <= write; + RAM_WEn <= ~write; // Creates IOB flob + if (write) data_out_pipe1 <= data_out; @@ -68,8 +72,8 @@ module nobl_if // Pipeline 1 drives address, write_enable, chip_select on NoBL SRAM assign RAM_A = address_pipe1; assign RAM_CENn = 1'b0; - assign RAM_WEn = ~write_pipe1; - assign RAM_CE1n = ~enable_pipe1; + // assign RAM_WEn = ~write_pipe1; +// assign RAM_CE1n = ~enable_pipe1; // // Pipeline stage2 diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index ced67072e..b2e540aad 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -171,7 +171,7 @@ module u2_core wire [31:0] atr_lines; wire [31:0] debug_rx, debug_mac, debug_mac0, debug_mac1, debug_tx_dsp, debug_txc, - debug_serdes0, debug_serdes1, debug_serdes2, debug_rx_dsp, debug_udp, debug_extfifo; + debug_serdes0, debug_serdes1, debug_serdes2, debug_rx_dsp, debug_udp, debug_extfifo, debug_extfifo2; wire [15:0] ser_rx_occ, ser_tx_occ, dsp_rx_occ, dsp_tx_occ, eth_rx_occ, eth_tx_occ, eth_rx_occ2; wire ser_rx_full, ser_tx_full, dsp_rx_full, dsp_tx_full, eth_rx_full, eth_tx_full, eth_rx_full2; @@ -414,7 +414,7 @@ module u2_core .cyc_i(s4_cyc),.stb_i(s4_stb),.adr_i(s4_adr[3:0]),.we_i(s4_we), .dat_i(s4_dat_o),.dat_o(s4_dat_i),.ack_o(s4_ack), .atr(atr_lines),.debug_0(debug_gpio_0),.debug_1(debug_gpio_1), - .gpio( {io_tx,io_rx} ) ); + .gpio(/* {io_tx,io_rx}*/ ) ); // ///////////////////////////////////////////////////////////////////////// // Buffer Pool Status -- Slave #5 @@ -681,13 +681,16 @@ module u2_core .RAM_LDn(RAM_LDn), .RAM_OEn(RAM_OEn), .RAM_CE1n(RAM_CE1n), - .datain({rd1_flags,rd1_dat}), +// .datain({rd1_flags,rd1_dat}), + .datain({rd1_flags[3:2],rd1_dat[31:16],rd1_flags[1:0],rd1_dat[15:0]}), .src_rdy_i(rd1_ready_o), // WRITE .dst_rdy_o(rd1_ready_i), // not FULL - .dataout(tx_data), +// .dataout(tx_data), + .dataout({tx_data[35:34],tx_data[31:16],tx_data[33:32],tx_data[15:0]}), .src_rdy_o(tx_src_rdy), // not EMPTY .dst_rdy_i(tx_dst_rdy), - .debug(debug_extfifo) + .debug(debug_extfifo), + .debug2(debug_extfifo2) ); vita_tx_chain #(.BASE_CTRL(SR_TX_CTRL), .BASE_DSP(SR_TX_DSP), @@ -789,6 +792,8 @@ module u2_core assign debug = debug_extfifo; assign debug_gpio_0 = 32'd0; assign debug_gpio_1 = 32'd0; + assign {io_tx,io_rx} = debug_extfifo2; + endmodule // u2_core diff --git a/usrp2/top/u2_rev3/u2_rev3.ucf b/usrp2/top/u2_rev3/u2_rev3.ucf index 82d879446..bf9569fe4 100644 --- a/usrp2/top/u2_rev3/u2_rev3.ucf +++ b/usrp2/top/u2_rev3/u2_rev3.ucf @@ -264,22 +264,22 @@ NET "sdi_tx_adc" LOC = "J4" ; NET "sen_tx_dac" LOC = "H4" ; NET "sclk_tx_dac" LOC = "J5" ; NET "sdi_tx_dac" LOC = "J6" ; -NET "io_tx[0]" LOC = "K4" ; -NET "io_tx[1]" LOC = "K3" ; -NET "io_tx[2]" LOC = "G1" ; -NET "io_tx[3]" LOC = "G5" ; -NET "io_tx[4]" LOC = "H5" ; -NET "io_tx[5]" LOC = "F3" ; -NET "io_tx[6]" LOC = "F2" ; -NET "io_tx[7]" LOC = "F5" ; -NET "io_tx[8]" LOC = "G6" ; -NET "io_tx[9]" LOC = "E2" ; -NET "io_tx[10]" LOC = "E1" ; -NET "io_tx[11]" LOC = "E3" ; -NET "io_tx[12]" LOC = "F4" ; -NET "io_tx[13]" LOC = "D2" ; -NET "io_tx[14]" LOC = "D4" ; -NET "io_tx[15]" LOC = "E4" ; +NET "io_tx[0]" LOC = "K4" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[1]" LOC = "K3" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[2]" LOC = "G1" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[3]" LOC = "G5" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[4]" LOC = "H5" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[5]" LOC = "F3" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[6]" LOC = "F2" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[7]" LOC = "F5" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[8]" LOC = "G6" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[9]" LOC = "E2" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[10]" LOC = "E1" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[11]" LOC = "E3" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[12]" LOC = "F4" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[13]" LOC = "D2" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[14]" LOC = "D4" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[15]" LOC = "E4" |DRIVE = 12 |SLEW = FAST ; NET "sen_rx_db" LOC = "D22" ; NET "sclk_rx_db" LOC = "F19" ; NET "sdo_rx_db" LOC = "G20" ; @@ -291,22 +291,22 @@ NET "sdi_rx_adc" LOC = "H22" ; NET "sen_rx_dac" LOC = "J18" ; NET "sclk_rx_dac" LOC = "J19" ; NET "sdi_rx_dac" LOC = "J21" ; -NET "io_rx[0]" LOC = "L21" ; -NET "io_rx[1]" LOC = "L20" ; -NET "io_rx[2]" LOC = "L19" ; -NET "io_rx[3]" LOC = "L18" ; -NET "io_rx[4]" LOC = "L17" ; -NET "io_rx[5]" LOC = "K22" ; -NET "io_rx[6]" LOC = "K21" ; -NET "io_rx[7]" LOC = "K20" ; -NET "io_rx[8]" LOC = "G22" ; -NET "io_rx[9]" LOC = "G21" ; -NET "io_rx[10]" LOC = "F21" ; -NET "io_rx[11]" LOC = "F20" ; -NET "io_rx[12]" LOC = "G19" ; -NET "io_rx[13]" LOC = "G18" ; -NET "io_rx[14]" LOC = "G17" ; -NET "io_rx[15]" LOC = "E22" ; +NET "io_rx[0]" LOC = "L21" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[1]" LOC = "L20" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[2]" LOC = "L19" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[3]" LOC = "L18" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[4]" LOC = "L17" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[5]" LOC = "K22" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[6]" LOC = "K21" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[7]" LOC = "K20" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[8]" LOC = "G22" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[9]" LOC = "G21" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[10]" LOC = "F21" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[11]" LOC = "F20" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[12]" LOC = "G19" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[13]" LOC = "G18" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[14]" LOC = "G17" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[15]" LOC = "E22" |DRIVE = 12 |SLEW = FAST ; NET "clk_to_mac" TNM_NET = "clk_to_mac"; TIMESPEC "TS_clk_to_mac" = PERIOD "clk_to_mac" 8 ns HIGH 50 %; -- cgit v1.2.3 From 596fc8d80ed2200f6d4bb597cb7185b63cf0be77 Mon Sep 17 00:00:00 2001 From: ianb Date: Wed, 25 Aug 2010 18:54:51 -0700 Subject: hangedddddddextrnal fifo size to use full NoBL SRAM --- usrp2/top/u2_rev3/u2_core_udp.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index b2e540aad..2682926f6 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -665,7 +665,7 @@ module u2_core .dataout(tx_data), .src_rdy_o(tx_src_rdy), .dst_rdy_i(tx_dst_rdy) ); -----/\----- EXCLUDED -----/\----- */ - ext_fifo #(.EXT_WIDTH(18),.INT_WIDTH(36),.RAM_DEPTH(19),.FIFO_DEPTH(8)) + ext_fifo #(.EXT_WIDTH(18),.INT_WIDTH(36),.RAM_DEPTH(19),.FIFO_DEPTH(19)) ext_fifo_i1 ( .int_clk(dsp_clk), -- cgit v1.2.3 From f18bf439ad1456452532285eedd131c54065213c Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Wed, 1 Sep 2010 00:44:39 -0700 Subject: Enhanced test bench to be more like real world application --- usrp2/extramfifo/ext_fifo_tb.sh | 3 ++- usrp2/extramfifo/ext_fifo_tb.v | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/usrp2/extramfifo/ext_fifo_tb.sh b/usrp2/extramfifo/ext_fifo_tb.sh index a56574102..dcfede37a 100644 --- a/usrp2/extramfifo/ext_fifo_tb.sh +++ b/usrp2/extramfifo/ext_fifo_tb.sh @@ -1 +1,2 @@ -fuse -prj ext_fifo_tb.prj -t work.glbl -t work.ext_fifo_tb -L unisims_ver -L xilinxcorelib_ver -o ext_fifo_tb +#fuse -prj ext_fifo_tb.prj -t work.glbl -t work.ext_fifo_tb -L unisims_ver -L xilinxcorelib_ver -o ext_fifo_tb +iverilog -c ext_fifo_tb.cmd -o ext_fifo_tb ext_fifo_tb.v diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v index db5f31a9d..0eda89769 100644 --- a/usrp2/extramfifo/ext_fifo_tb.v +++ b/usrp2/extramfifo/ext_fifo_tb.v @@ -84,11 +84,17 @@ module ext_fifo_tb(); initial begin - repeat (20) @(negedge int_clk); + repeat (5) @(negedge int_clk); + dst_rdy_i <= 1; + + while (src_rdy_o !== 1) + @(negedge int_clk); // Fall through fifo, first output already valid if (dataout !== ref_dataout) - $display("Error: Expected %x, got %x",ref_dataout, dataout); + $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time); + ref_dataout <= ref_dataout + src_rdy_o ; + // Decimate by 16 rate while (ref_dataout < 2000) begin @@ -96,7 +102,7 @@ module ext_fifo_tb(); ref_dataout <= ref_dataout + src_rdy_o ; dst_rdy_i <= src_rdy_o; if ((dataout !== ref_dataout) && src_rdy_o) - $display("Error: Expected %x, got %x",ref_dataout, dataout); + $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time); @(negedge int_clk); dst_rdy_i <= 0; repeat(14) @(negedge int_clk); @@ -108,7 +114,7 @@ module ext_fifo_tb(); ref_dataout <= ref_dataout + src_rdy_o ; dst_rdy_i <= src_rdy_o; if ((dataout !== ref_dataout) && src_rdy_o) - $display("Error: Expected %x, got %x",ref_dataout, dataout); + $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time); @(negedge int_clk); dst_rdy_i <= 0; repeat(6) @(negedge int_clk); @@ -120,7 +126,7 @@ module ext_fifo_tb(); ref_dataout <= ref_dataout + src_rdy_o ; dst_rdy_i <= src_rdy_o; if ((dataout !== ref_dataout) && src_rdy_o) - $display("Error: Expected %x, got %x",ref_dataout, dataout); + $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time); @(negedge int_clk); dst_rdy_i <= 0; repeat(2) @(negedge int_clk); @@ -132,7 +138,7 @@ module ext_fifo_tb(); ref_dataout <= ref_dataout + src_rdy_o ; dst_rdy_i <= src_rdy_o; if ((dataout !== ref_dataout) && src_rdy_o) - $display("Error: Expected %x, got %x",ref_dataout, dataout); + $display("Error: Expected %x, got %x @%d",ref_dataout, dataout, $time); end // while (ref_dataout < 10000) -- cgit v1.2.3 From c5295159e9f6eeb9ea72edab18ff97eb55d84692 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Wed, 1 Sep 2010 03:08:11 -0700 Subject: Added to DCM's and some BUFG's to align the internal 125MHz clock edge with its presentation externally at the NoBL SRAM. Since we don't have a board level trace to use to estimate clock propigation delay we just loop through the I/O on the FPGA. This hasn't been verified as working on a USRP2 yet. --- usrp2/top/u2_rev3/u2_core.v | 2 +- usrp2/top/u2_rev3/u2_core_udp.v | 4 +- usrp2/top/u2_rev3/u2_rev3.ucf | 1 + usrp2/top/u2_rev3/u2_rev3.v | 99 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 101 insertions(+), 5 deletions(-) diff --git a/usrp2/top/u2_rev3/u2_core.v b/usrp2/top/u2_rev3/u2_core.v index 9ba3cc136..a5963f6b1 100755 --- a/usrp2/top/u2_rev3/u2_core.v +++ b/usrp2/top/u2_rev3/u2_core.v @@ -123,7 +123,7 @@ module u2_core output [18:0] RAM_A, output RAM_CE1n, output RAM_CENn, - output RAM_CLK, + // output RAM_CLK, output RAM_WEn, output RAM_OEn, output RAM_LDn, diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 2682926f6..bcbaa1f30 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -125,7 +125,7 @@ module u2_core output [18:0] RAM_A, output RAM_CE1n, output RAM_CENn, - output RAM_CLK, + // output RAM_CLK, output RAM_WEn, output RAM_OEn, output RAM_LDn, @@ -775,7 +775,7 @@ module u2_core -----/\----- EXCLUDED -----/\----- */ //assign RAM_CLK = wb_clk; - assign RAM_CLK = clk_to_mac; + //assign RAM_CLK = clk_to_mac; // ///////////////////////////////////////////////////////////////////////// diff --git a/usrp2/top/u2_rev3/u2_rev3.ucf b/usrp2/top/u2_rev3/u2_rev3.ucf index bf9569fe4..175fbec8d 100644 --- a/usrp2/top/u2_rev3/u2_rev3.ucf +++ b/usrp2/top/u2_rev3/u2_rev3.ucf @@ -324,6 +324,7 @@ NET "ser_rx_clk" TNM_NET = "ser_rx_clk"; TIMESPEC "TS_ser_rx_clk" = PERIOD "ser_rx_clk" 10 ns HIGH 50 %; NET "cpld_clk" CLOCK_DEDICATED_ROUTE = FALSE; +NET "GMII_RX_CLK" CLOCK_DEDICATED_ROUTE = FALSE; #NET "adc_a<*>" TNM_NET = ADC_DATA_GRP; #NET "adc_b<*>" TNM_NET = ADC_DATA_GRP; diff --git a/usrp2/top/u2_rev3/u2_rev3.v b/usrp2/top/u2_rev3/u2_rev3.v index 8d9a18345..e9f8d76eb 100644 --- a/usrp2/top/u2_rev3/u2_rev3.v +++ b/usrp2/top/u2_rev3/u2_rev3.v @@ -370,14 +370,109 @@ module u2_rev3 ); end // block: gen_RAM_D_IO endgenerate + + // + // DCM edits start here + // + + + wire RAM_CLK_buf; + wire clk_to_mac_buf; + wire clk125_ext_clk0; + wire clk125_ext_clk180; + wire clk125_ext_clk0_buf; + wire clk125_ext_clk180_buf; + wire clk125_int_buf; + wire clk125_int; + + IBUFG clk_to_mac_buf_i1 (.I(clk_to_mac), + .O(clk_to_mac_buf)); + DCM DCM_INST1 (.CLKFB(RAM_CLK_buf), + .CLKIN(clk_to_mac_buf), + .DSSEN(1'b0), + .PSCLK(1'b0), + .PSEN(1'b0), + .PSINCDEC(1'b0), + .RST(clk125_ext_RST_IN), + .CLK0(clk125_ext_clk0), + .CLK180(clk125_ext_clk180) ); + defparam DCM_INST1.CLK_FEEDBACK = "1X"; + defparam DCM_INST1.CLKDV_DIVIDE = 2.0; + defparam DCM_INST1.CLKFX_DIVIDE = 1; + defparam DCM_INST1.CLKFX_MULTIPLY = 4; + defparam DCM_INST1.CLKIN_DIVIDE_BY_2 = "FALSE"; + defparam DCM_INST1.CLKIN_PERIOD = 8.000; + defparam DCM_INST1.CLKOUT_PHASE_SHIFT = "NONE"; + defparam DCM_INST1.DESKEW_ADJUST = "SYSTEM_SYNCHRONOUS"; + defparam DCM_INST1.DFS_FREQUENCY_MODE = "LOW"; + defparam DCM_INST1.DLL_FREQUENCY_MODE = "LOW"; + defparam DCM_INST1.DUTY_CYCLE_CORRECTION = "TRUE"; + defparam DCM_INST1.FACTORY_JF = 16'h8080; + defparam DCM_INST1.PHASE_SHIFT = 0; + defparam DCM_INST1.STARTUP_WAIT = "FALSE"; + + IBUFG RAM_CLK_buf_i1 (.I(RAM_CLK), + .O(RAM_CLK_buf)); + BUFG clk125_ext_clk0_buf_i1 (.I(clk125_ext_clk0), + .O(clk125_ext_clk0_buf)); + BUFG clk125_ext_clk180_buf_i1 (.I(clk125_ext_clk180), + .O(clk125_ext_clk180_buf)); + + OFDDRRSE RAM_CLK_i1 (.Q(RAM_CLK), + .C0(clk125_ext_clk0_buf), + .C1(clk125_ext_clk180_buf), + .CE(1'b1), + .D0(1'b1), + .D1(1'b0), + .R(1'b0), + .S(1'b0)); + + SRL16 dcm2_rst_i1 (.D(1'b0), + .CLK(clk_to_mac_buf), + .Q(dcm2_rst), + .A0(1'b1), + .A1(1'b1), + .A2(1'b1), + .A3(1'b1)); + // synthesis attribute init of dcm2_rst_i2 is "000F"; + + DCM DCM_INST2 (.CLKFB(clk125_int_buf), + .CLKIN(clk_to_mac_buf), + .DSSEN(1'b0), + .PSCLK(1'b0), + .PSEN(1'b0), + .PSINCDEC(1'b0), + .RST(clk125_int_RST_IN), + .CLK0(clk125_int)); + defparam DCM_INST2.CLK_FEEDBACK = "1X"; + defparam DCM_INST2.CLKDV_DIVIDE = 2.0; + defparam DCM_INST2.CLKFX_DIVIDE = 1; + defparam DCM_INST2.CLKFX_MULTIPLY = 4; + defparam DCM_INST2.CLKIN_DIVIDE_BY_2 = "FALSE"; + defparam DCM_INST2.CLKIN_PERIOD = 8.000; + defparam DCM_INST2.CLKOUT_PHASE_SHIFT = "NONE"; + defparam DCM_INST2.DESKEW_ADJUST = "SYSTEM_SYNCHRONOUS"; + defparam DCM_INST2.DFS_FREQUENCY_MODE = "LOW"; + defparam DCM_INST2.DLL_FREQUENCY_MODE = "LOW"; + defparam DCM_INST2.DUTY_CYCLE_CORRECTION = "TRUE"; + defparam DCM_INST2.FACTORY_JF = 16'h8080; + defparam DCM_INST2.PHASE_SHIFT = 0; + defparam DCM_INST2.STARTUP_WAIT = "FALSE"; + + BUFG clk125_int_buf_i1 (.I(clk125_int), + .O(clk125_int_buf)); + + // + // DCM edits end here + // u2_core #(.RAM_SIZE(32768)) u2_core(.dsp_clk (dsp_clk), .wb_clk (wb_clk), .clock_ready (clock_ready), - .clk_to_mac (clk_to_mac), + .clk_to_mac (clk125_int_buf), .pps_in (pps_in), .leds (leds_int), .debug (debug[31:0]), @@ -460,7 +555,7 @@ module u2_rev3 .RAM_A (RAM_A), .RAM_CE1n (RAM_CE1n), .RAM_CENn (RAM_CENn), - .RAM_CLK (RAM_CLK), + // .RAM_CLK (RAM_CLK), .RAM_WEn (RAM_WEn), .RAM_OEn (RAM_OEn), .RAM_LDn (RAM_LDn), -- cgit v1.2.3 From 7ffe28ccc6059ae3caa500e35b76718ae6ff100a Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Tue, 14 Sep 2010 11:46:58 -0700 Subject: Enabled phase offset adjustment on DCM_INST1 which drives the external Fast SRAM clock. Set phase shift to -12 after experimentation using logic analyzer to see results. This value gives near optimum 1.5nS setup times on the source sync signals FPGA -> SRAM under lab conditions. --- usrp2/top/u2_rev3/u2_rev3.v | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/usrp2/top/u2_rev3/u2_rev3.v b/usrp2/top/u2_rev3/u2_rev3.v index e9f8d76eb..079a5cc4c 100644 --- a/usrp2/top/u2_rev3/u2_rev3.v +++ b/usrp2/top/u2_rev3/u2_rev3.v @@ -394,7 +394,7 @@ module u2_rev3 .PSCLK(1'b0), .PSEN(1'b0), .PSINCDEC(1'b0), - .RST(clk125_ext_RST_IN), + .RST(1'b0), .CLK0(clk125_ext_clk0), .CLK180(clk125_ext_clk180) ); defparam DCM_INST1.CLK_FEEDBACK = "1X"; @@ -403,13 +403,13 @@ module u2_rev3 defparam DCM_INST1.CLKFX_MULTIPLY = 4; defparam DCM_INST1.CLKIN_DIVIDE_BY_2 = "FALSE"; defparam DCM_INST1.CLKIN_PERIOD = 8.000; - defparam DCM_INST1.CLKOUT_PHASE_SHIFT = "NONE"; + defparam DCM_INST1.CLKOUT_PHASE_SHIFT = "FIXED"; defparam DCM_INST1.DESKEW_ADJUST = "SYSTEM_SYNCHRONOUS"; defparam DCM_INST1.DFS_FREQUENCY_MODE = "LOW"; defparam DCM_INST1.DLL_FREQUENCY_MODE = "LOW"; defparam DCM_INST1.DUTY_CYCLE_CORRECTION = "TRUE"; defparam DCM_INST1.FACTORY_JF = 16'h8080; - defparam DCM_INST1.PHASE_SHIFT = 0; + defparam DCM_INST1.PHASE_SHIFT = -12; defparam DCM_INST1.STARTUP_WAIT = "FALSE"; IBUFG RAM_CLK_buf_i1 (.I(RAM_CLK), @@ -428,14 +428,14 @@ module u2_rev3 .R(1'b0), .S(1'b0)); - SRL16 dcm2_rst_i1 (.D(1'b0), - .CLK(clk_to_mac_buf), - .Q(dcm2_rst), - .A0(1'b1), - .A1(1'b1), - .A2(1'b1), - .A3(1'b1)); - // synthesis attribute init of dcm2_rst_i2 is "000F"; +// SRL16 dcm2_rst_i1 (.D(1'b0), +// .CLK(clk_to_mac_buf), +// .Q(dcm2_rst), +// .A0(1'b1), +// .A1(1'b1), +// .A2(1'b1), +// .A3(1'b1)); + // synthesis attribute init of dcm2_rst_i1 is "000F"; DCM DCM_INST2 (.CLKFB(clk125_int_buf), .CLKIN(clk_to_mac_buf), @@ -443,7 +443,7 @@ module u2_rev3 .PSCLK(1'b0), .PSEN(1'b0), .PSINCDEC(1'b0), - .RST(clk125_int_RST_IN), + .RST(1'b0), .CLK0(clk125_int)); defparam DCM_INST2.CLK_FEEDBACK = "1X"; defparam DCM_INST2.CLKDV_DIVIDE = 2.0; -- cgit v1.2.3 From 1c3dfe21f8bacbf762b440a23ce652a879288615 Mon Sep 17 00:00:00 2001 From: Ian Buckley Date: Thu, 30 Sep 2010 15:54:03 -0700 Subject: Modified phase shift of DCM1 to -64 which is intended to give more timing margin on reads from the SRAM at the expense of Writes to the SRAM. Tested to be at least as stable as a phase shift of 12 and beter looking timing on the logic analyzer. Signals driven by the FPGA are observed changing on the SRAM pins about 4 nS after the rising edge of the RAM clock. --- usrp2/top/u2_rev3/u2_rev3.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/top/u2_rev3/u2_rev3.v b/usrp2/top/u2_rev3/u2_rev3.v index 079a5cc4c..53f1e0a14 100644 --- a/usrp2/top/u2_rev3/u2_rev3.v +++ b/usrp2/top/u2_rev3/u2_rev3.v @@ -409,7 +409,7 @@ module u2_rev3 defparam DCM_INST1.DLL_FREQUENCY_MODE = "LOW"; defparam DCM_INST1.DUTY_CYCLE_CORRECTION = "TRUE"; defparam DCM_INST1.FACTORY_JF = 16'h8080; - defparam DCM_INST1.PHASE_SHIFT = -12; + defparam DCM_INST1.PHASE_SHIFT = -64; defparam DCM_INST1.STARTUP_WAIT = "FALSE"; IBUFG RAM_CLK_buf_i1 (.I(RAM_CLK), -- cgit v1.2.3 From c07bc03b4f0fe6210f3bfc6ecdc079487d882f7d Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 1 Oct 2010 15:18:26 -0700 Subject: fix timing problem on DAC output bus --- usrp2/top/u2_rev3/u2_rev3.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usrp2/top/u2_rev3/u2_rev3.v b/usrp2/top/u2_rev3/u2_rev3.v index 4daa66212..bab5a7706 100644 --- a/usrp2/top/u2_rev3/u2_rev3.v +++ b/usrp2/top/u2_rev3/u2_rev3.v @@ -330,8 +330,8 @@ module u2_rev3 wire [15:0] dac_a_int, dac_b_int; // DAC A and B are swapped in schematic to facilitate clean layout // DAC A is also inverted in schematic to facilitate clean layout - always @(negedge dsp_clk) dac_a <= ~dac_b_int; - always @(negedge dsp_clk) dac_b <= dac_a_int; + always @(posedge dsp_clk) dac_a <= ~dac_b_int; + always @(posedge dsp_clk) dac_b <= dac_a_int; /* OFDDRRSE OFDDRRSE_serdes_inst -- cgit v1.2.3 From 8d1214d5a0279fec2dcd2e2c2b97ea60250cc6d4 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Wed, 6 Oct 2010 18:15:17 -0700 Subject: reconnect GPIOs, remove debug pins, meets timing now --- usrp2/top/u2_rev3/u2_core_udp.v | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 2cf7fe5ee..4879cfc6b 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -414,7 +414,7 @@ module u2_core .cyc_i(s4_cyc),.stb_i(s4_stb),.adr_i(s4_adr[3:0]),.we_i(s4_we), .dat_i(s4_dat_o),.dat_o(s4_dat_i),.ack_o(s4_ack), .atr(atr_lines),.debug_0(debug_gpio_0),.debug_1(debug_gpio_1), - .gpio(/* {io_tx,io_rx}*/ ) ); + .gpio({io_tx,io_rx}) ); // ///////////////////////////////////////////////////////////////////////// // Buffer Pool Status -- Slave #5 @@ -788,12 +788,10 @@ module u2_core // ///////////////////////////////////////////////////////////////////////////////////////// // Debug Pins - assign debug_clk = {dsp_clk, clk_to_mac}; - assign debug = debug_extfifo; + assign debug_clk = 2'b00; // {dsp_clk, clk_to_mac}; + assign debug = 32'd0; // debug_extfifo; assign debug_gpio_0 = 32'd0; assign debug_gpio_1 = 32'd0; - assign {io_tx,io_rx} = debug_extfifo2; - endmodule // u2_core -- cgit v1.2.3 From 26ada69153c8db487dda81ca63a5ea9c7ac6ba88 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 7 Oct 2010 11:10:00 -0700 Subject: revert unneeded changes and incorrect comments --- usrp2/fifo/fifo_cascade.v | 8 +++--- usrp2/top/u2_rev3/u2_rev3.ucf | 64 +++++++++++++++++++++---------------------- usrp2/vrt/vita_tx_deframer.v | 4 +-- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/usrp2/fifo/fifo_cascade.v b/usrp2/fifo/fifo_cascade.v index ff2993ed5..fdd8449bc 100644 --- a/usrp2/fifo/fifo_cascade.v +++ b/usrp2/fifo/fifo_cascade.v @@ -10,11 +10,11 @@ module fifo_cascade #(parameter WIDTH=32, SIZE=9) (input clk, input reset, input clear, input [WIDTH-1:0] datain, - input src_rdy_i, // WRITE - output dst_rdy_o, // not FULL + input src_rdy_i, + output dst_rdy_o, output [WIDTH-1:0] dataout, - output src_rdy_o, // not EMPTY - input dst_rdy_i, // READ + output src_rdy_o, + input dst_rdy_i, output [15:0] space, output [15:0] occupied); diff --git a/usrp2/top/u2_rev3/u2_rev3.ucf b/usrp2/top/u2_rev3/u2_rev3.ucf index 175fbec8d..6e0caedd5 100644 --- a/usrp2/top/u2_rev3/u2_rev3.ucf +++ b/usrp2/top/u2_rev3/u2_rev3.ucf @@ -264,22 +264,22 @@ NET "sdi_tx_adc" LOC = "J4" ; NET "sen_tx_dac" LOC = "H4" ; NET "sclk_tx_dac" LOC = "J5" ; NET "sdi_tx_dac" LOC = "J6" ; -NET "io_tx[0]" LOC = "K4" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[1]" LOC = "K3" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[2]" LOC = "G1" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[3]" LOC = "G5" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[4]" LOC = "H5" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[5]" LOC = "F3" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[6]" LOC = "F2" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[7]" LOC = "F5" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[8]" LOC = "G6" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[9]" LOC = "E2" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[10]" LOC = "E1" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[11]" LOC = "E3" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[12]" LOC = "F4" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[13]" LOC = "D2" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[14]" LOC = "D4" |DRIVE = 12 |SLEW = FAST ; -NET "io_tx[15]" LOC = "E4" |DRIVE = 12 |SLEW = FAST ; +NET "io_tx[0]" LOC = "K4" ; +NET "io_tx[1]" LOC = "K3" ; +NET "io_tx[2]" LOC = "G1" ; +NET "io_tx[3]" LOC = "G5" ; +NET "io_tx[4]" LOC = "H5" ; +NET "io_tx[5]" LOC = "F3" ; +NET "io_tx[6]" LOC = "F2" ; +NET "io_tx[7]" LOC = "F5" ; +NET "io_tx[8]" LOC = "G6" ; +NET "io_tx[9]" LOC = "E2" ; +NET "io_tx[10]" LOC = "E1" ; +NET "io_tx[11]" LOC = "E3" ; +NET "io_tx[12]" LOC = "F4" ; +NET "io_tx[13]" LOC = "D2" ; +NET "io_tx[14]" LOC = "D4" ; +NET "io_tx[15]" LOC = "E4" ; NET "sen_rx_db" LOC = "D22" ; NET "sclk_rx_db" LOC = "F19" ; NET "sdo_rx_db" LOC = "G20" ; @@ -291,22 +291,22 @@ NET "sdi_rx_adc" LOC = "H22" ; NET "sen_rx_dac" LOC = "J18" ; NET "sclk_rx_dac" LOC = "J19" ; NET "sdi_rx_dac" LOC = "J21" ; -NET "io_rx[0]" LOC = "L21" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[1]" LOC = "L20" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[2]" LOC = "L19" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[3]" LOC = "L18" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[4]" LOC = "L17" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[5]" LOC = "K22" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[6]" LOC = "K21" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[7]" LOC = "K20" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[8]" LOC = "G22" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[9]" LOC = "G21" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[10]" LOC = "F21" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[11]" LOC = "F20" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[12]" LOC = "G19" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[13]" LOC = "G18" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[14]" LOC = "G17" |DRIVE = 12 |SLEW = FAST ; -NET "io_rx[15]" LOC = "E22" |DRIVE = 12 |SLEW = FAST ; +NET "io_rx[0]" LOC = "L21" ; +NET "io_rx[1]" LOC = "L20" ; +NET "io_rx[2]" LOC = "L19" ; +NET "io_rx[3]" LOC = "L18" ; +NET "io_rx[4]" LOC = "L17" ; +NET "io_rx[5]" LOC = "K22" ; +NET "io_rx[6]" LOC = "K21" ; +NET "io_rx[7]" LOC = "K20" ; +NET "io_rx[8]" LOC = "G22" ; +NET "io_rx[9]" LOC = "G21" ; +NET "io_rx[10]" LOC = "F21" ; +NET "io_rx[11]" LOC = "F20" ; +NET "io_rx[12]" LOC = "G19" ; +NET "io_rx[13]" LOC = "G18" ; +NET "io_rx[14]" LOC = "G17" ; +NET "io_rx[15]" LOC = "E22" ; NET "clk_to_mac" TNM_NET = "clk_to_mac"; TIMESPEC "TS_clk_to_mac" = PERIOD "clk_to_mac" 8 ns HIGH 50 %; diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index b62507092..f9cd7d00d 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -84,7 +84,7 @@ module vita_tx_deframer seqnum_err <= 0; end else - if((vita_state == VITA_STORE) & fifo_space ) //& src_rdy_i) + if((vita_state == VITA_STORE) & fifo_space) if(eop) if(has_trailer_reg) vita_state <= VITA_TRAILER; @@ -183,7 +183,7 @@ module vita_tx_deframer 3: sample_d <= data_i[31:0]; endcase // case (vector_phase) - wire store = (vita_state == VITA_STORE) ; //& src_rdy_i; + wire store = (vita_state == VITA_STORE); fifo_short #(.WIDTH(FIFOWIDTH)) short_tx_q (.clk(clk), .reset(reset), .clear(clear), .datain(fifo_i), .src_rdy_i(store), .dst_rdy_o(fifo_space), -- cgit v1.2.3 From 37f928fa5a3c01bd522a1d0db17d88ce4cdd0e03 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 8 Oct 2010 14:01:33 -0700 Subject: checkpoint in flow control packet generation --- usrp2/vrt/gen_context_pkt.v | 37 +++++++++++++++++------- usrp2/vrt/trigger_context_pkt.v | 52 ++++++++++++++++++++++++++++++++++ usrp2/vrt/vita_tx_chain.v | 28 +++++++++++++------ usrp2/vrt/vita_tx_control.v | 10 +++++-- usrp2/vrt/vita_tx_deframer.v | 62 +++++++++++++++++++++++++++-------------- 5 files changed, 147 insertions(+), 42 deletions(-) create mode 100644 usrp2/vrt/trigger_context_pkt.v diff --git a/usrp2/vrt/gen_context_pkt.v b/usrp2/vrt/gen_context_pkt.v index 780a027ba..f840ec6e1 100644 --- a/usrp2/vrt/gen_context_pkt.v +++ b/usrp2/vrt/gen_context_pkt.v @@ -3,10 +3,12 @@ module gen_context_pkt #(parameter PROT_ENG_FLAGS=1) (input clk, input reset, input clear, - input trigger, output sent, + input trigger, input error, output sent, input [31:0] streamid, input [63:0] vita_time, input [31:0] message, + input [15:0] seqnum0, + input [15:0] seqnum1, output [35:0] data_o, output src_rdy_o, input dst_rdy_i); localparam CTXT_IDLE = 0; @@ -17,17 +19,30 @@ module gen_context_pkt localparam CTXT_TICS = 5; localparam CTXT_TICS2 = 6; localparam CTXT_MESSAGE = 7; - localparam CTXT_DONE = 8; + localparam CTXT_FLOWCTRL = 8; + localparam CTXT_DONE = 9; reg [33:0] data_int; wire src_rdy_int, dst_rdy_int; - wire [3:0] seqno = 0; + reg [3:0] seqno; reg [3:0] ctxt_state; reg [63:0] err_time; + + always @(posedge clk) + if(reset | clear) + stored_message <= 0; + else + if(error) + stored_message <= message; + else if(state == CTXT_FLOWCTRL) + stored_message <= 0; always @(posedge clk) if(reset | clear) - ctxt_state <= CTXT_IDLE; + begin + ctxt_state <= CTXT_IDLE; + seqno <= 0; + end else case(ctxt_state) CTXT_IDLE : @@ -41,9 +56,10 @@ module gen_context_pkt end CTXT_DONE : - if(~trigger) - ctxt_state <= CTXT_IDLE; - + begin + ctxt_state <= CTXT_IDLE; + seqno <= seqno + 4'd1; + end default : if(dst_rdy_int) ctxt_state <= ctxt_state + 1; @@ -53,13 +69,14 @@ module gen_context_pkt always @* case(ctxt_state) - CTXT_PROT_ENG : data_int <= { 2'b01, 16'd1, 16'd24 }; - CTXT_HEADER : data_int <= { 1'b0, (PROT_ENG_FLAGS ? 1'b0 : 1'b1), 12'b010100001101, seqno, 16'd6 }; + CTXT_PROT_ENG : data_int <= { 2'b01, 16'd1, 16'd28 }; + CTXT_HEADER : data_int <= { 1'b0, (PROT_ENG_FLAGS ? 1'b0 : 1'b1), 12'b010100001101, seqno, 16'd7 }; CTXT_STREAMID : data_int <= { 2'b00, streamid }; CTXT_SECS : data_int <= { 2'b00, err_time[63:32] }; CTXT_TICS : data_int <= { 2'b00, 32'd0 }; CTXT_TICS2 : data_int <= { 2'b00, err_time[31:0] }; - CTXT_MESSAGE : data_int <= { 2'b10, message }; + CTXT_MESSAGE : data_int <= { 2'b00, message }; + CTXT_FLOWCTRL : data_int <= { 2'b10, {seqnum1,seqnum0} }; default : data_int <= {2'b00, 32'b00}; endcase // case (ctxt_state) diff --git a/usrp2/vrt/trigger_context_pkt.v b/usrp2/vrt/trigger_context_pkt.v new file mode 100644 index 000000000..51790dfae --- /dev/null +++ b/usrp2/vrt/trigger_context_pkt.v @@ -0,0 +1,52 @@ + + +module trigger_context_pkt + #(parameter BASE=0) + (input clk, input reset, input clear, + input set_stb, input [7:0] set_addr, input [31:0] set_data, + input packet_consumed, output reg trigger); + + wire [23:0] cycles; + wire [15:0] packets; + wire [6:0] dummy1; + wire [14:0] dummy2; + wire enable_timed, enable_consumed; + reg [30:0] cycle_count, packet_count; + + + setting_reg #(.my_addr(BASE_CTRL+X), .at_reset(0)) sr_settings + (.clk(clk),.rst(reset),.strobe(set_stb),.addr(set_addr), + .in(set_data),.out({enable_cycle,dummy1,cycles}),.changed()); + + setting_reg #(.my_addr(BASE_CTRL+X), .at_reset(0)) sr_settings + (.clk(clk),.rst(reset),.strobe(set_stb),.addr(set_addr), + .in(set_data),.out({enable_consumed,dummy2,packets}),.changed()); + + always @(posedge clk) + if(reset | clear) + cycle_count <= 0; + else + if(trigger) + cycle_count <= 0; + else if(enable_cycle) + cycle_count <= cycle_count + 1; + + always @(posedge clk) + if(reset | clear) + packet_count <= 0; + else + if(trigger) + packet_count <= 0; + else if(packet_consumed & enable_consumed) + packet_count <= packet_count + 1; + + always @(posedge clk) + if(reset | clear) + trigger <= 0; + else + if((cycle_count > cycles)|(packet_count > packets)) + trigger <= 1; + else + trigger <= 0; + +endmodule // trigger_context_pkt diff --git a/usrp2/vrt/vita_tx_chain.v b/usrp2/vrt/vita_tx_chain.v index 662cdca62..12e94b1a8 100644 --- a/usrp2/vrt/vita_tx_chain.v +++ b/usrp2/vrt/vita_tx_chain.v @@ -24,9 +24,10 @@ module vita_tx_chain wire trigger, sent; wire [31:0] debug_vtc, debug_vtd, debug_tx_dsp; - wire error; + wire error, packet_consumed; wire [31:0] error_code; wire clear_seqnum; + wire [15:0] current_seqnum; assign underrun = error; assign message = error_code; @@ -40,6 +41,7 @@ module vita_tx_chain .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), .data_i(tx_data_i), .src_rdy_i(tx_src_rdy_i), .dst_rdy_o(tx_dst_rdy_o), .sample_fifo_o(tx1_data), .sample_fifo_src_rdy_o(tx1_src_rdy), .sample_fifo_dst_rdy_i(tx1_dst_rdy), + .current_seqnum(current_seqnum), .debug(debug_vtd) ); vita_tx_control #(.BASE(BASE_CTRL), .WIDTH(32*MAXCHAN)) vita_tx_control @@ -47,7 +49,7 @@ module vita_tx_chain .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), .vita_time(vita_time),.error(error),.error_code(error_code), .sample_fifo_i(tx1_data), .sample_fifo_src_rdy_i(tx1_src_rdy), .sample_fifo_dst_rdy_o(tx1_dst_rdy), - .sample(sample_tx), .run(run), .strobe(strobe_tx), + .sample(sample_tx), .run(run), .strobe(strobe_tx), .packet_consumed(packet_consumed), .debug(debug_vtc) ); dsp_core_tx #(.BASE(BASE_DSP)) dsp_core_tx @@ -59,13 +61,21 @@ module vita_tx_chain generate if(REPORT_ERROR==1) - gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_tx_err_pkt - (.clk(clk), .reset(reset), .clear(clear_vita), - .trigger(error), .sent(), - .streamid(streamid), .vita_time(vita_time), .message(message), - .data_o(err_data_o), .src_rdy_o(err_src_rdy_o), .dst_rdy_i(err_dst_rdy_i)); + begin + gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_tx_err_pkt + (.clk(clk), .reset(reset), .clear(clear_vita), + .trigger(trigger),.error(error), .sent(), + .streamid(streamid), .vita_time(vita_time), .message(message), + .seqnum0(current_seqnum), .seqnum1(16'd0), + .data_o(err_data_o), .src_rdy_o(err_src_rdy_o), .dst_rdy_i(err_dst_rdy_i)); + trigger_context_pkt #(.BASE(BASE_CTRL)) trigger_context_pkt + (.clk(clk), .reset(reset), .clear(clear_vita), + .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), + .packet_consumed(packet_consumed), .trigger(trigger)); + end endgenerate - - assign debug = debug_vtc | debug_vtd; + + //assign debug = debug_vtc | debug_vtd; + assign debug = { debug_vtd[15:0], current_seqnum }; endmodule // vita_tx_chain diff --git a/usrp2/vrt/vita_tx_control.v b/usrp2/vrt/vita_tx_control.v index d0516bec8..61cd9edb5 100644 --- a/usrp2/vrt/vita_tx_control.v +++ b/usrp2/vrt/vita_tx_control.v @@ -8,7 +8,8 @@ module vita_tx_control input [63:0] vita_time, output error, output reg [31:0] error_code, - + output reg packet_consumed, + // From vita_tx_deframer input [5+64+16+WIDTH-1:0] sample_fifo_i, input sample_fifo_src_rdy_i, @@ -154,9 +155,14 @@ module vita_tx_control assign sample_fifo_dst_rdy_o = (ibs_state == IBS_ERROR) | (strobe & (ibs_state == IBS_RUN)); // FIXME also cleanout assign run = (ibs_state == IBS_RUN) | (ibs_state == IBS_CONT_BURST); - //assign error = (ibs_state == IBS_ERROR_DONE); assign error = send_error; + always @(posedge clk) + if(reset) + packet_consumed <= 0; + else + packet_consumed <= eop & sample_fifo_src_rdy_i & sample_fifo_dst_rdy_o; + assign debug = { { now,early,late,too_early,eop,eob,sob,send_at }, { sample_fifo_src_rdy_i, sample_fifo_dst_rdy_o, strobe, run, error, ibs_state[2:0] }, { 8'b0 }, diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index f9cd7d00d..f7902e645 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -13,6 +13,8 @@ module vita_tx_deframer output [5+64+16+(32*MAXCHAN)-1:0] sample_fifo_o, output sample_fifo_src_rdy_o, input sample_fifo_dst_rdy_i, + + output [15:0] current_seqnum, // FIFO Levels output [15:0] fifo_occupied, @@ -45,23 +47,29 @@ module vita_tx_deframer reg [1:0] vector_phase; wire line_done; - reg seqnum_err; - reg [3:0] seqnum_reg; - wire [3:0] seqnum = data_i[19:16]; - wire [3:0] next_seqnum = seqnum_reg + 4'd1; + wire [15:0] seqnum = data_i[15:0]; + reg [15:0] seqnum_reg; + wire [15:0] next_seqnum = seqnum_reg + 16'd1; + wire [3:0] vita_seqnum = data_i[19:16]; + reg [3:0] vita_seqnum_reg; + wire [3:0] next_vita_seqnum = vita_seqnum_reg[3:0] + 4'd1; + reg seqnum_err; + + assign curren_seqnum = seqnum_reg; // Output FIFO for packetized data - localparam VITA_HEADER = 0; - localparam VITA_STREAMID = 1; - localparam VITA_CLASSID = 2; - localparam VITA_CLASSID2 = 3; - localparam VITA_SECS = 4; - localparam VITA_TICS = 5; - localparam VITA_TICS2 = 6; - localparam VITA_PAYLOAD = 7; - localparam VITA_STORE = 8; - localparam VITA_TRAILER = 9; - + localparam VITA_TRANS_HEADER = 0; + localparam VITA_HEADER = 1; + localparam VITA_STREAMID = 2; + localparam VITA_CLASSID = 3; + localparam VITA_CLASSID2 = 4; + localparam VITA_SECS = 5; + localparam VITA_TICS = 6; + localparam VITA_TICS2 = 7; + localparam VITA_PAYLOAD = 8; + localparam VITA_STORE = 9; + localparam VITA_TRAILER = 10; + wire [15:0] hdr_len = 2 + has_streamid_reg + has_classid_reg + has_classid_reg + has_secs_reg + has_tics_reg + has_tics_reg + has_trailer_reg; @@ -70,15 +78,22 @@ module vita_tx_deframer always @(posedge clk) if(reset | clear_seqnum) - seqnum_reg <= 4'hF; + begin + seqnum_reg <= 16'hFFFF; + vita_seqnum_reg <= 4'hF; + end else - if((vita_state==VITA_HEADER) & src_rdy_i) - seqnum_reg <= seqnum; + begin + if((vita_state==VITA_TRANS_HEADER) & src_rdy_i) + seqnum_reg <= seqnum; + if((vita_state==VITA_HEADER) & src_rdy_i) + vita_seqnum_reg <= vita_seqnum; + end // else: !if(reset | clear_seqnum) always @(posedge clk) if(reset | clear) begin - vita_state <= VITA_HEADER; + vita_state <= VITA_TRANS_HEADER; {has_streamid_reg, has_classid_reg, has_secs_reg, has_tics_reg, has_trailer_reg, is_sob_reg, is_eob_reg} <= 0; seqnum_err <= 0; @@ -97,6 +112,11 @@ module vita_tx_deframer end else if(src_rdy_i) case(vita_state) + VITA_TRANS_HEADER : + begin + seqnum_err <= ~(seqnum == next_seqnum); + vita_state <= VITA_HEADER; + end VITA_HEADER : begin {has_streamid_reg, has_classid_reg, has_secs_reg, has_tics_reg, has_trailer_reg, is_sob_reg, is_eob_reg} @@ -113,7 +133,7 @@ module vita_tx_deframer vita_state <= VITA_TICS; else vita_state <= VITA_PAYLOAD; - seqnum_err <= ~(seqnum == next_seqnum); + seqnum_err <= seqnum_err | ~(vita_seqnum == next_vita_seqnum); end // case: VITA_HEADER VITA_STREAMID : if(has_classid_reg) @@ -191,7 +211,7 @@ module vita_tx_deframer // sob, eob, has_secs (send_at) ignored on all lines except first assign fifo_i = {sample_d,sample_c,sample_b,sample_a,seqnum_err,has_secs_reg,is_sob_reg,is_eob_reg,eop, - 12'd0,seqnum_reg,send_time}; + 12'd0,seqnum_reg[3:0],send_time}; assign dst_rdy_o = ~(vita_state == VITA_PAYLOAD) & ~((vita_state==VITA_STORE)& ~fifo_space) ; -- cgit v1.2.3 From ecadee9c605c65849856d56cf842dd65e27181f6 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 8 Oct 2010 14:07:26 -0700 Subject: declarations --- usrp2/vrt/gen_context_pkt.v | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/usrp2/vrt/gen_context_pkt.v b/usrp2/vrt/gen_context_pkt.v index f840ec6e1..0ea2797ec 100644 --- a/usrp2/vrt/gen_context_pkt.v +++ b/usrp2/vrt/gen_context_pkt.v @@ -27,14 +27,15 @@ module gen_context_pkt reg [3:0] seqno; reg [3:0] ctxt_state; reg [63:0] err_time; - + reg [31:0] stored_message; + always @(posedge clk) if(reset | clear) stored_message <= 0; else if(error) stored_message <= message; - else if(state == CTXT_FLOWCTRL) + else if(ctxt_state == CTXT_FLOWCTRL) stored_message <= 0; always @(posedge clk) -- cgit v1.2.3 From d8d5158e6d20d86689807c887102f684ec80cea8 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 8 Oct 2010 14:33:06 -0700 Subject: assign setting reg addresses --- usrp2/vrt/trigger_context_pkt.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usrp2/vrt/trigger_context_pkt.v b/usrp2/vrt/trigger_context_pkt.v index 51790dfae..226ec45f2 100644 --- a/usrp2/vrt/trigger_context_pkt.v +++ b/usrp2/vrt/trigger_context_pkt.v @@ -14,11 +14,11 @@ module trigger_context_pkt reg [30:0] cycle_count, packet_count; - setting_reg #(.my_addr(BASE_CTRL+X), .at_reset(0)) sr_settings + setting_reg #(.my_addr(BASE+4), .at_reset(0)) sr_cycles (.clk(clk),.rst(reset),.strobe(set_stb),.addr(set_addr), .in(set_data),.out({enable_cycle,dummy1,cycles}),.changed()); - setting_reg #(.my_addr(BASE_CTRL+X), .at_reset(0)) sr_settings + setting_reg #(.my_addr(BASE+5), .at_reset(0)) sr_packets (.clk(clk),.rst(reset),.strobe(set_stb),.addr(set_addr), .in(set_data),.out({enable_consumed,dummy2,packets}),.changed()); -- cgit v1.2.3 From 8d20d691531c582e51affd734020daa27317de38 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 8 Oct 2010 15:17:49 -0700 Subject: add trigger to makefile --- usrp2/vrt/Makefile.srcs | 1 + 1 file changed, 1 insertion(+) diff --git a/usrp2/vrt/Makefile.srcs b/usrp2/vrt/Makefile.srcs index dc4bd8c96..aa1356d82 100644 --- a/usrp2/vrt/Makefile.srcs +++ b/usrp2/vrt/Makefile.srcs @@ -12,4 +12,5 @@ vita_tx_control.v \ vita_tx_deframer.v \ vita_tx_chain.v \ gen_context_pkt.v \ +trigger_context_pkt.v \ )) -- cgit v1.2.3 From b32c3729f847c1e7fc064d9306f814f99214c78c Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 8 Oct 2010 16:01:42 -0700 Subject: add a fifo to the end of the mux to help in timing. --- usrp2/fifo/fifo36_mux.v | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/usrp2/fifo/fifo36_mux.v b/usrp2/fifo/fifo36_mux.v index 92bf13ff9..c6fd40f27 100644 --- a/usrp2/fifo/fifo36_mux.v +++ b/usrp2/fifo/fifo36_mux.v @@ -20,6 +20,9 @@ module fifo36_mux wire eof0 = data0_i[33]; wire eof1 = data1_i[33]; + wire [35:0] data_int; + wire src_rdy_int, dst_rdy_int; + always @(posedge clk) if(reset | clear) state <= MUX_IDLE0; @@ -32,7 +35,7 @@ module fifo36_mux state <= MUX_DATA1; MUX_DATA0 : - if(src0_rdy_i & dst_rdy_i & eof0) + if(src0_rdy_i & dst_rdy_int & eof0) state <= prio ? MUX_IDLE0 : MUX_IDLE1; MUX_IDLE1 : @@ -42,16 +45,20 @@ module fifo36_mux state <= MUX_DATA0; MUX_DATA1 : - if(src1_rdy_i & dst_rdy_i & eof1) + if(src1_rdy_i & dst_rdy_int & eof1) state <= MUX_IDLE0; default : state <= MUX_IDLE0; endcase // case (state) - assign dst0_rdy_o = (state==MUX_DATA0) ? dst_rdy_i : 0; - assign dst1_rdy_o = (state==MUX_DATA1) ? dst_rdy_i : 0; - assign src_rdy_o = (state==MUX_DATA0) ? src0_rdy_i : (state==MUX_DATA1) ? src1_rdy_i : 0; - assign data_o = (state==MUX_DATA0) ? data0_i : data1_i; + assign dst0_rdy_o = (state==MUX_DATA0) ? dst_rdy_int : 0; + assign dst1_rdy_o = (state==MUX_DATA1) ? dst_rdy_int : 0; + assign src_rdy_int = (state==MUX_DATA0) ? src0_rdy_i : (state==MUX_DATA1) ? src1_rdy_i : 0; + assign data_int = (state==MUX_DATA0) ? data0_i : data1_i; + fifo_short #(.WIDTH(36)) mux_fifo + (.clk(clk), .reset(reset), .clear(clear), + .datain(data_int), .src_rdy_i(src_rdy_int), .dst_rdy_o(dst_rdy_int), + .dataout(data_o), .src_rdy_o(src_rdy_o), .dst_rdy_i(dst_rdy_i)); endmodule // fifo36_demux -- cgit v1.2.3 From e16fbb404322cb75a7b8abe8abe8afd594464d8a Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Fri, 8 Oct 2010 18:01:10 -0700 Subject: go to the correct state --- usrp2/vrt/vita_tx_deframer.v | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index f7902e645..e12747cd5 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -104,7 +104,7 @@ module vita_tx_deframer if(has_trailer_reg) vita_state <= VITA_TRAILER; else - vita_state <= VITA_HEADER; + vita_state <= VITA_TRANS_HEADER; else begin vita_state <= VITA_PAYLOAD; @@ -171,11 +171,11 @@ module vita_tx_deframer else vector_phase <= vector_phase + 1; VITA_TRAILER : - vita_state <= VITA_HEADER; + vita_state <= VITA_TRANS_HEADER; VITA_STORE : ; default : - vita_state <= VITA_HEADER; + vita_state <= VITA_TRANS_HEADER; endcase // case (vita_state) assign line_done = (vector_phase == numchan); -- cgit v1.2.3 From a3cf4ea0fca439b91a299eee782ee7858c3a9468 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Sun, 10 Oct 2010 23:38:56 -0700 Subject: separated flow control and error reporting on tx path. should work with and without flow control --- usrp2/top/u2_rev3/u2_core_udp.v | 3 ++- usrp2/vrt/gen_context_pkt.v | 4 ++-- usrp2/vrt/vita_tx_chain.v | 50 +++++++++++++++++++++++++++-------------- usrp2/vrt/vita_tx_deframer.v | 11 ++++----- 4 files changed, 43 insertions(+), 25 deletions(-) diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 4879cfc6b..809218a75 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -694,7 +694,8 @@ module u2_core ); vita_tx_chain #(.BASE_CTRL(SR_TX_CTRL), .BASE_DSP(SR_TX_DSP), - .REPORT_ERROR(1), .PROT_ENG_FLAGS(1)) + .REPORT_ERROR(1), .DO_FLOW_CONTROL(1), + .PROT_ENG_FLAGS(1), .USE_TRANS_HEADER(1)) vita_tx_chain (.clk(dsp_clk), .reset(dsp_rst), .set_stb(set_stb_dsp),.set_addr(set_addr_dsp),.set_data(set_data_dsp), diff --git a/usrp2/vrt/gen_context_pkt.v b/usrp2/vrt/gen_context_pkt.v index 0ea2797ec..31c2a53e1 100644 --- a/usrp2/vrt/gen_context_pkt.v +++ b/usrp2/vrt/gen_context_pkt.v @@ -3,7 +3,7 @@ module gen_context_pkt #(parameter PROT_ENG_FLAGS=1) (input clk, input reset, input clear, - input trigger, input error, output sent, + input trigger, output sent, input [31:0] streamid, input [63:0] vita_time, input [31:0] message, @@ -33,7 +33,7 @@ module gen_context_pkt if(reset | clear) stored_message <= 0; else - if(error) + if(trigger) stored_message <= message; else if(ctxt_state == CTXT_FLOWCTRL) stored_message <= 0; diff --git a/usrp2/vrt/vita_tx_chain.v b/usrp2/vrt/vita_tx_chain.v index 12e94b1a8..09da377f8 100644 --- a/usrp2/vrt/vita_tx_chain.v +++ b/usrp2/vrt/vita_tx_chain.v @@ -3,7 +3,9 @@ module vita_tx_chain #(parameter BASE_CTRL=0, parameter BASE_DSP=0, parameter REPORT_ERROR=0, - parameter PROT_ENG_FLAGS=0) + parameter DO_FLOW_CONTROL=0, + parameter PROT_ENG_FLAGS=0, + parameter USE_TRANS_HEADER=0) (input clk, input reset, input set_stb, input [7:0] set_addr, input [31:0] set_data, input [63:0] vita_time, @@ -36,7 +38,10 @@ module vita_tx_chain (.clk(clk),.rst(reset),.strobe(set_stb),.addr(set_addr), .in(set_data),.out(streamid),.changed(clear_seqnum)); - vita_tx_deframer #(.BASE(BASE_CTRL), .MAXCHAN(MAXCHAN)) vita_tx_deframer + vita_tx_deframer #(.BASE(BASE_CTRL), + .MAXCHAN(MAXCHAN), + .USE_TRANS_HEADER(USE_TRANS_HEADER)) + vita_tx_deframer (.clk(clk), .reset(reset), .clear(clear_vita), .clear_seqnum(clear_seqnum), .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), .data_i(tx_data_i), .src_rdy_i(tx_src_rdy_i), .dst_rdy_o(tx_dst_rdy_o), @@ -59,23 +64,34 @@ module vita_tx_chain .dac_a(dac_a),.dac_b(dac_b), .debug(debug_tx_dsp) ); - generate - if(REPORT_ERROR==1) - begin - gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_tx_err_pkt - (.clk(clk), .reset(reset), .clear(clear_vita), - .trigger(trigger),.error(error), .sent(), - .streamid(streamid), .vita_time(vita_time), .message(message), - .seqnum0(current_seqnum), .seqnum1(16'd0), - .data_o(err_data_o), .src_rdy_o(err_src_rdy_o), .dst_rdy_i(err_dst_rdy_i)); - trigger_context_pkt #(.BASE(BASE_CTRL)) trigger_context_pkt - (.clk(clk), .reset(reset), .clear(clear_vita), - .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), - .packet_consumed(packet_consumed), .trigger(trigger)); - end - endgenerate + wire [35:0] flow_data, err_data_int; + wire flow_src_rdy, flow_dst_rdy, err_src_rdy_int, err_dst_rdy_int; + + gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_flow_pkt + (.clk(clk), .reset(reset), .clear(clear_vita), + .trigger(trigger & (DO_FLOW_CONTROL==1)), .sent(), + .streamid(streamid), .vita_time(vita_time), .message(32'd0), + .seqnum0(current_seqnum), .seqnum1(16'd0), + .data_o(flow_data), .src_rdy_o(flow_src_rdy), .dst_rdy_i(flow_dst_rdy)); + trigger_context_pkt #(.BASE(BASE_CTRL)) trigger_context_pkt + (.clk(clk), .reset(reset), .clear(clear_vita), + .set_stb(set_stb),.set_addr(set_addr),.set_data(set_data), + .packet_consumed(packet_consumed), .trigger(trigger)); + + gen_context_pkt #(.PROT_ENG_FLAGS(PROT_ENG_FLAGS)) gen_tx_err_pkt + (.clk(clk), .reset(reset), .clear(clear_vita), + .trigger(error & (REPORT_ERROR==1)), .sent(), + .streamid(streamid), .vita_time(vita_time), .message(message), + .seqnum0(current_seqnum), .seqnum1(16'd0), + .data_o(err_data_int), .src_rdy_o(err_src_rdy_int), .dst_rdy_i(err_dst_rdy_int)); //assign debug = debug_vtc | debug_vtd; assign debug = { debug_vtd[15:0], current_seqnum }; + fifo36_mux #(.prio(1)) mux_err_and_flow // Priority to err messages + (.clk(clk), .reset(reset), .clear(clear_vita), + .data0_i(err_data_int), .src0_rdy_i(err_src_rdy_int), .dst0_rdy_o(err_dst_rdy_int), + .data1_i(flow_data), .src1_rdy_i(flow_src_rdy), .dst1_rdy_o(flow_dst_rdy), + .data_o(err_data_o), .src_rdy_o(err_src_rdy_o), .dst_rdy_i(err_dst_rdy_i)); + endmodule // vita_tx_chain diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index e12747cd5..c55f43373 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -1,7 +1,8 @@ module vita_tx_deframer #(parameter BASE=0, - parameter MAXCHAN=1) + parameter MAXCHAN=1, + parameter USE_TRANS_HEADER=0) (input clk, input reset, input clear, input clear_seqnum, input set_stb, input [7:0] set_addr, input [31:0] set_data, @@ -93,7 +94,7 @@ module vita_tx_deframer always @(posedge clk) if(reset | clear) begin - vita_state <= VITA_TRANS_HEADER; + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; {has_streamid_reg, has_classid_reg, has_secs_reg, has_tics_reg, has_trailer_reg, is_sob_reg, is_eob_reg} <= 0; seqnum_err <= 0; @@ -104,7 +105,7 @@ module vita_tx_deframer if(has_trailer_reg) vita_state <= VITA_TRAILER; else - vita_state <= VITA_TRANS_HEADER; + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; else begin vita_state <= VITA_PAYLOAD; @@ -171,11 +172,11 @@ module vita_tx_deframer else vector_phase <= vector_phase + 1; VITA_TRAILER : - vita_state <= VITA_TRANS_HEADER; + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; VITA_STORE : ; default : - vita_state <= VITA_TRANS_HEADER; + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; endcase // case (vita_state) assign line_done = (vector_phase == numchan); -- cgit v1.2.3 From 369c0e1dbc1518bd0fe2f81bec5e197d0c3bfe41 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 8 Oct 2010 17:41:19 -0700 Subject: usrp2: implement fc seq number on tx header packing --- host/lib/usrp/usrp2/io_impl.cpp | 54 ++++++++++++++++++++++++-------------- host/lib/usrp/usrp2/usrp2_impl.cpp | 6 ++--- host/lib/usrp/usrp2/usrp2_impl.hpp | 6 ++--- 3 files changed, 41 insertions(+), 25 deletions(-) diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index eba704059..b7585afe9 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -18,11 +18,11 @@ #include "../../transport/vrt_packet_handler.hpp" #include "usrp2_impl.hpp" #include "usrp2_regs.hpp" +#include #include #include #include #include -#include //htonl and ntohl #include #include #include @@ -32,7 +32,12 @@ using namespace uhd::usrp; using namespace uhd::transport; namespace asio = boost::asio; -static const int underflow_flags = async_metadata_t::EVENT_CODE_UNDERFLOW | async_metadata_t::EVENT_CODE_UNDERFLOW_IN_PACKET; +static const int underflow_flags = 0 + | async_metadata_t::EVENT_CODE_UNDERFLOW + | async_metadata_t::EVENT_CODE_UNDERFLOW_IN_PACKET +; + +static const size_t vrt_send_header_offset_words32 = 1; /*********************************************************************** * io impl details (internal to this file) @@ -63,6 +68,27 @@ struct usrp2_impl::io_impl{ return recv_pirate_booty->pop_elems_with_timed_wait(buffs, timeout); } + bool get_send_buffs( + const std::vector &trans, + vrt_packet_handler::managed_send_buffs_t &buffs, + double timeout + ){ + UHD_ASSERT_THROW(trans.size() == buffs.size()); + + //calculate the 16-bit sequence number for the special header + const boost::uint32_t next_seq = uhd::htonx(boost::uint32_t( + packet_handler_send_state.next_packet_seq & 0xffff + )); + + //grab a managed buffer for each index + for (size_t i = 0; i < buffs.size(); i++){ + buffs[i] = trans[i]->get_send_buff(timeout); + if (not buffs[i].get()) return false; + buffs[i]->cast()[0] = next_seq; + } + return true; + } + //state management for the vrt packet handler code vrt_packet_handler::recv_state packet_handler_recv_state; vrt_packet_handler::send_state packet_handler_send_state; @@ -146,7 +172,9 @@ void usrp2_impl::io_init(void){ //send a small data packet so the usrp2 knows the udp source port BOOST_FOREACH(zero_copy_if::sptr data_transport, _data_transports){ managed_send_buffer::sptr send_buff = data_transport->get_send_buff(); - static const boost::uint32_t data = htonl(USRP2_INVALID_VRT_HEADER); + static const boost::uint32_t data = uhd::htonx( + boost::uint32_t(USRP2_INVALID_VRT_HEADER) + ); std::memcpy(send_buff->cast(), &data, sizeof(data)); send_buff->commit(sizeof(data)); //drain the recv buffers (may have junk) @@ -183,23 +211,10 @@ bool usrp2_impl::recv_async_msg( /*********************************************************************** * Send Data **********************************************************************/ -static bool get_send_buffs( - const std::vector &trans, - vrt_packet_handler::managed_send_buffs_t &buffs, - double timeout -){ - UHD_ASSERT_THROW(trans.size() == buffs.size()); - bool good = true; - for (size_t i = 0; i < buffs.size(); i++){ - buffs[i] = trans[i]->get_send_buff(timeout); - good = good and (buffs[i].get() != NULL); - } - return good; -} - size_t usrp2_impl::get_max_send_samps_per_packet(void) const{ static const size_t hdr_size = 0 + vrt::max_if_hdr_words32*sizeof(boost::uint32_t) + + vrt_send_header_offset_words32*sizeof(boost::uint32_t) - sizeof(vrt::if_packet_info_t().cid) //no class id ever used ; const size_t bpp = _data_transports.front()->get_send_frame_size() - hdr_size; @@ -218,8 +233,9 @@ size_t usrp2_impl::send( io_type, _tx_otw_type, //input and output types to convert _mboards.front()->get_master_clock_freq(), //master clock tick rate uhd::transport::vrt::if_hdr_pack_be, - boost::bind(&get_send_buffs, _data_transports, _1, timeout), - get_max_send_samps_per_packet() + boost::bind(&usrp2_impl::io_impl::get_send_buffs, _io_impl.get(), _data_transports, _1, timeout), + get_max_send_samps_per_packet(), + vrt_send_header_offset_words32 ); } diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index a680708ad..8429a2593 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -17,7 +17,7 @@ #include "usrp2_impl.hpp" #include -#include +#include #include #include #include @@ -128,7 +128,7 @@ static device::sptr usrp2_make(const device_addr_t &device_addr){ //create a ctrl and data transport for each address std::vector ctrl_transports; - std::vector data_transports; + std::vector data_transports; BOOST_FOREACH(const std::string &addr, std::split_string(device_addr["addr"])){ ctrl_transports.push_back(udp_simple::make_connected( @@ -154,7 +154,7 @@ UHD_STATIC_BLOCK(register_usrp2_device){ **********************************************************************/ usrp2_impl::usrp2_impl( std::vector ctrl_transports, - std::vector data_transports + std::vector data_transports ): _data_transports(data_transports) { diff --git a/host/lib/usrp/usrp2/usrp2_impl.hpp b/host/lib/usrp/usrp2/usrp2_impl.hpp index 558726a2b..6d35e925d 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.hpp +++ b/host/lib/usrp/usrp2/usrp2_impl.hpp @@ -33,7 +33,7 @@ #include #include #include //mtu -#include +#include #include #include @@ -178,7 +178,7 @@ public: */ usrp2_impl( std::vector ctrl_transports, - std::vector data_transports + std::vector data_transports ); ~usrp2_impl(void); @@ -208,7 +208,7 @@ private: uhd::dict _mboard_dict; //io impl methods and members - std::vector _data_transports; + std::vector _data_transports; uhd::otw_type_t _rx_otw_type, _tx_otw_type; UHD_PIMPL_DECL(io_impl) _io_impl; void io_init(void); -- cgit v1.2.3 From 37f1f1451f65aace9ca978ac3edcaa31d16e8c0d Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 8 Oct 2010 18:04:37 -0700 Subject: usrp2: add fc control registers, use small timeout for control packets again --- host/lib/usrp/usrp2/usrp2_iface.cpp | 12 +----------- host/lib/usrp/usrp2/usrp2_regs.hpp | 5 +++++ 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/host/lib/usrp/usrp2/usrp2_iface.cpp b/host/lib/usrp/usrp2/usrp2_iface.cpp index 2d450bfc6..6fdde7b2e 100644 --- a/host/lib/usrp/usrp2/usrp2_iface.cpp +++ b/host/lib/usrp/usrp2/usrp2_iface.cpp @@ -30,17 +30,7 @@ using namespace uhd; using namespace uhd::transport; -/*! - * FIXME: large timeout, ethernet pause frames... - * - * Use a large timeout to work-around the fact that - * flow-control may throttle outgoing control packets - * due to its use of ethernet pause frames. - * - * This will be fixed when host-based flow control is implemented, - * along with larger incoming send buffers using the on-board SRAM. - */ -static const size_t CONTROL_TIMEOUT_MS = 3000; //3 seconds +static const size_t CONTROL_TIMEOUT_MS = 200; class usrp2_iface_impl : public usrp2_iface{ public: diff --git a/host/lib/usrp/usrp2/usrp2_regs.hpp b/host/lib/usrp/usrp2/usrp2_regs.hpp index 064ad4e95..bdd5194f9 100644 --- a/host/lib/usrp/usrp2/usrp2_regs.hpp +++ b/host/lib/usrp/usrp2/usrp2_regs.hpp @@ -193,9 +193,14 @@ #define U2_REG_TX_CTRL_CLEAR_STATE _SR_ADDR(SR_TX_CTRL + 1) #define U2_REG_TX_CTRL_REPORT_SID _SR_ADDR(SR_TX_CTRL + 2) #define U2_REG_TX_CTRL_POLICY _SR_ADDR(SR_TX_CTRL + 3) +#define U2_REG_TX_CTRL_CYCLES_PER_ACK _SR_ADDR(SR_TX_CTRL + 4) +#define U2_REG_TX_CTRL_PACKETS_PER_ACK _SR_ADDR(SR_TX_CTRL + 5) #define U2_FLAG_TX_CTRL_POLICY_WAIT (0x1 << 0) #define U2_FLAG_TX_CTRL_POLICY_NEXT_PACKET (0x1 << 1) #define U2_FLAG_TX_CTRL_POLICY_NEXT_BURST (0x1 << 2) +//enable flag for registers: cycles and packets per ack +#define U2_FLAG_TX_CTRL_ACK_ENB (1ul << 31) + #endif /* INCLUDED_USRP2_REGS_HPP */ -- cgit v1.2.3 From b338398599e915a66e6d329bffa45b955992b491 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Mon, 11 Oct 2010 13:57:17 -0700 Subject: typo which isn't caught by xilinx --- usrp2/vrt/vita_tx_deframer.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index c55f43373..d8575b745 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -56,7 +56,7 @@ module vita_tx_deframer wire [3:0] next_vita_seqnum = vita_seqnum_reg[3:0] + 4'd1; reg seqnum_err; - assign curren_seqnum = seqnum_reg; + assign current_seqnum = seqnum_reg; // Output FIFO for packetized data localparam VITA_TRANS_HEADER = 0; -- cgit v1.2.3 From e45ee09da1f064e58e49d126b3144df198b11fc2 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Mon, 11 Oct 2010 15:53:24 -0700 Subject: send message on eob to ack the end of transmission --- usrp2/vrt/vita_tx_control.v | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/usrp2/vrt/vita_tx_control.v b/usrp2/vrt/vita_tx_control.v index 61cd9edb5..ed470418b 100644 --- a/usrp2/vrt/vita_tx_control.v +++ b/usrp2/vrt/vita_tx_control.v @@ -49,6 +49,7 @@ module vita_tx_control localparam IBS_ERROR_DONE = 4; localparam IBS_ERROR_WAIT = 5; + wire [31:0] CODE_EOB_ACK = {seqnum,16'd1}; wire [31:0] CODE_UNDERRUN = {seqnum,16'd2}; wire [31:0] CODE_SEQ_ERROR = {seqnum,16'd4}; wire [31:0] CODE_TIME_ERROR = {seqnum,16'd8}; @@ -107,7 +108,11 @@ module vita_tx_control end else if(eop) if(eob) - ibs_state <= IBS_IDLE; + begin + ibs_state <= IBS_ERROR; // Not really an error + error_code <= CODE_EOB_ACK; + send_error <= 1; + end else ibs_state <= IBS_CONT_BURST; -- cgit v1.2.3 From 453b450aa2f40f1ab3689855654fd2167f554ccc Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 11 Oct 2010 16:31:51 -0700 Subject: usrp2: implemented flow control monitor set registers in mboard impl to enable asyn fc packets modified microblaze code to handle dummy data packet offset --- firmware/microblaze/apps/txrx_uhd.c | 2 +- host/lib/usrp/usrp2/fw_common.h | 2 +- host/lib/usrp/usrp2/io_impl.cpp | 103 +++++++++++++++++++++++++++++++----- host/lib/usrp/usrp2/mboard_impl.cpp | 14 +++-- host/lib/usrp/usrp2/usrp2_impl.cpp | 4 +- host/lib/usrp/usrp2/usrp2_impl.hpp | 7 ++- 6 files changed, 110 insertions(+), 22 deletions(-) diff --git a/firmware/microblaze/apps/txrx_uhd.c b/firmware/microblaze/apps/txrx_uhd.c index 1dd6e80ac..e38eb621d 100644 --- a/firmware/microblaze/apps/txrx_uhd.c +++ b/firmware/microblaze/apps/txrx_uhd.c @@ -372,7 +372,7 @@ eth_pkt_inspector(dbsm_t *sm, int bufno) // In the future, a hardware state machine will do this... if ( //warning! magic numbers approaching.... (((buff + ((2 + 14 + 20)/sizeof(uint32_t)))[0] & 0xffff) == USRP2_UDP_DATA_PORT) && - ((buff + ((2 + 14 + 20 + 8)/sizeof(uint32_t)))[0] != USRP2_INVALID_VRT_HEADER) + ((buff + ((2 + 14 + 20 + 8)/sizeof(uint32_t)))[1] != USRP2_INVALID_VRT_HEADER) ) return false; //test if its an ip recovery packet diff --git a/host/lib/usrp/usrp2/fw_common.h b/host/lib/usrp/usrp2/fw_common.h index e812e1221..783e5c772 100644 --- a/host/lib/usrp/usrp2/fw_common.h +++ b/host/lib/usrp/usrp2/fw_common.h @@ -34,7 +34,7 @@ extern "C" { //fpga and firmware compatibility numbers #define USRP2_FPGA_COMPAT_NUM 2 -#define USRP2_FW_COMPAT_NUM 6 +#define USRP2_FW_COMPAT_NUM 7 //used to differentiate control packets over data port #define USRP2_INVALID_VRT_HEADER 0 diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index b7585afe9..6d5eb488c 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -32,6 +32,9 @@ using namespace uhd::usrp; using namespace uhd::transport; namespace asio = boost::asio; +/*********************************************************************** + * constants + **********************************************************************/ static const int underflow_flags = 0 | async_metadata_t::EVENT_CODE_UNDERFLOW | async_metadata_t::EVENT_CODE_UNDERFLOW_IN_PACKET @@ -39,6 +42,67 @@ static const int underflow_flags = 0 static const size_t vrt_send_header_offset_words32 = 1; +/*********************************************************************** + * flow control monitor for a single tx channel + * - the pirate thread calls update + * - the get send buffer calls check + **********************************************************************/ +class flow_control_monitor{ +public: + typedef boost::shared_ptr sptr; + + /*! + * Make a new flow control monitor. + * \param max_seqs_out num seqs before throttling + */ + flow_control_monitor(size_t max_seqs_out){ + _last_seq_out = 0; + _last_seq_ack = 0; + _max_seqs_out = max_seqs_out; + } + + /*! + * Check the flow control condition. + * \param seq the sequence to go out + * \param timeout the timeout in seconds + * \return false on timeout + */ + UHD_INLINE bool check_fc_condition(boost::uint16_t seq, double timeout){ + boost::unique_lock lock(_fc_mutex); + _last_seq_out = seq; + return _fc_cond.timed_wait( + lock, + boost::posix_time::microseconds(long(timeout*1e6)), + boost::bind(&flow_control_monitor::ready, this) + ); + } + + /*! + * Update the flow control condition. + * \param seq the last sequence number to be ACK'd + */ + UHD_INLINE void update_fc_condition(boost::uint16_t seq){ + boost::unique_lock lock(_fc_mutex); + _last_seq_ack = seq; + lock.unlock(); + _fc_cond.notify_one(); + } + +private: + bool ready(void){ + //return true; + //std::cout << "_last_seq_out " << _last_seq_out << std::endl; + //std::cout << "_last_seq_ack " << _last_seq_ack << std::endl; + //std::cout << "boost::uint16_t(_last_seq_out -_last_seq_ack) " << boost::uint16_t(_last_seq_out -_last_seq_ack) << std::endl; + return boost::uint16_t(_last_seq_out -_last_seq_ack) < boost::uint16_t(_max_seqs_out); + } + + boost::mutex _fc_mutex; + boost::condition _fc_cond; + boost::uint16_t _last_seq_out, _last_seq_ack; + size_t _max_seqs_out; +}; + /*********************************************************************** * io impl details (internal to this file) * - pirate crew @@ -49,12 +113,14 @@ static const size_t vrt_send_header_offset_words32 = 1; struct usrp2_impl::io_impl{ typedef alignment_buffer alignment_buffer_type; - io_impl(size_t num_frames, size_t width): + io_impl(size_t num_recv_frames, size_t send_frame_size, size_t width): packet_handler_recv_state(width), - recv_pirate_booty(alignment_buffer_type::make(num_frames, width)), + recv_pirate_booty(alignment_buffer_type::make(num_recv_frames, width)), async_msg_fifo(bounded_buffer::make(100/*messages deep*/)) { - /* NOP */ + for (size_t i = 0; i < width; i++) fc_mons.push_back( + flow_control_monitor::sptr(new flow_control_monitor(usrp2_impl::sram_bytes/send_frame_size)) + ); } ~io_impl(void){ @@ -76,19 +142,22 @@ struct usrp2_impl::io_impl{ UHD_ASSERT_THROW(trans.size() == buffs.size()); //calculate the 16-bit sequence number for the special header - const boost::uint32_t next_seq = uhd::htonx(boost::uint32_t( - packet_handler_send_state.next_packet_seq & 0xffff - )); + const boost::uint16_t seq_num = boost::uint16_t(packet_handler_send_state.next_packet_seq & 0xffff); + const boost::uint32_t fc_word32 = uhd::htonx(boost::uint32_t(seq_num)); //grab a managed buffer for each index for (size_t i = 0; i < buffs.size(); i++){ + if (not fc_mons[i]->check_fc_condition(seq_num, timeout)) return false; buffs[i] = trans[i]->get_send_buff(timeout); if (not buffs[i].get()) return false; - buffs[i]->cast()[0] = next_seq; + buffs[i]->cast()[0] = fc_word32; } return true; } + //flow control monitors + std::vector fc_mons; + //state management for the vrt packet handler code vrt_packet_handler::recv_state packet_handler_recv_state; vrt_packet_handler::send_state packet_handler_send_state; @@ -138,6 +207,13 @@ void usrp2_impl::io_impl::recv_pirate_loop( ); metadata.event_code = vrt_packet_handler::get_context_code(vrt_hdr, if_packet_info); + //catch the flow control packets and react + if (metadata.event_code == 0){ + boost::uint32_t fc_word32 = uhd::ntohx((vrt_hdr + if_packet_info.num_header_words32)[1]); + this->fc_mons[index]->update_fc_condition(fc_word32 & 0xffff); + continue; + } + //print the famous U, and push the metadata into the message queue if (metadata.event_code & underflow_flags) std::cerr << "U" << std::flush; async_msg_fifo->push_with_pop_on_full(metadata); @@ -172,21 +248,22 @@ void usrp2_impl::io_init(void){ //send a small data packet so the usrp2 knows the udp source port BOOST_FOREACH(zero_copy_if::sptr data_transport, _data_transports){ managed_send_buffer::sptr send_buff = data_transport->get_send_buff(); - static const boost::uint32_t data = uhd::htonx( - boost::uint32_t(USRP2_INVALID_VRT_HEADER) - ); + static const boost::uint32_t data[2] = { + uhd::htonx(boost::uint32_t(0 /* don't care seq num */)), + uhd::htonx(boost::uint32_t(USRP2_INVALID_VRT_HEADER)) + }; std::memcpy(send_buff->cast(), &data, sizeof(data)); send_buff->commit(sizeof(data)); //drain the recv buffers (may have junk) while (data_transport->get_recv_buff().get()){}; } - //the number of recv frames is the number for the first transport //the assumption is that all data transports should be identical - size_t num_frames = _data_transports.front()->get_num_recv_frames(); + const size_t num_recv_frames = _data_transports.front()->get_num_recv_frames(); + const size_t send_frame_size = _data_transports.front()->get_send_frame_size(); //create new io impl - _io_impl = UHD_PIMPL_MAKE(io_impl, (num_frames, _data_transports.size())); + _io_impl = UHD_PIMPL_MAKE(io_impl, (num_recv_frames, send_frame_size, _data_transports.size())); //create a new pirate thread for each zc if (yarr!!) for (size_t i = 0; i < _data_transports.size(); i++){ diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index a0e6adfad..37e69b39d 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -38,10 +38,11 @@ using namespace uhd::usrp; usrp2_mboard_impl::usrp2_mboard_impl( size_t index, transport::udp_simple::sptr ctrl_transport, - size_t recv_frame_size + size_t recv_samps_per_packet, + size_t send_bytes_per_packet ): _index(index), - _recv_frame_size(recv_frame_size) + _recv_samps_per_packet(recv_samps_per_packet) { //make a new interface for usrp2 stuff _iface = usrp2_iface::make(ctrl_transport); @@ -75,7 +76,7 @@ usrp2_mboard_impl::usrp2_mboard_impl( this->issue_ddc_stream_cmd(stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS); //init the rx control registers - _iface->poke32(U2_REG_RX_CTRL_NSAMPS_PER_PKT, _recv_frame_size); + _iface->poke32(U2_REG_RX_CTRL_NSAMPS_PER_PKT, _recv_samps_per_packet); _iface->poke32(U2_REG_RX_CTRL_NCHANNELS, 1); _iface->poke32(U2_REG_RX_CTRL_CLEAR_OVERRUN, 1); //reset _iface->poke32(U2_REG_RX_CTRL_VRT_HEADER, 0 @@ -93,6 +94,11 @@ usrp2_mboard_impl::usrp2_mboard_impl( _iface->poke32(U2_REG_TX_CTRL_CLEAR_STATE, 1); //reset _iface->poke32(U2_REG_TX_CTRL_REPORT_SID, 1); //sid 1 (different from rx) _iface->poke32(U2_REG_TX_CTRL_POLICY, U2_FLAG_TX_CTRL_POLICY_NEXT_PACKET); + const size_t cycles_per_ack = size_t(_clock_ctrl->get_master_clock_rate()/100); //100 aps + //_iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | cycles_per_ack); //FIXME total pause frames + static const double sram_frac = 1.0/8.0; //fraction of sram to fill before ack + const size_t packets_per_ack = size_t(usrp2_impl::sram_bytes*sram_frac/send_bytes_per_packet); + _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | packets_per_ack); //init the ddc init_ddc_config(); @@ -178,7 +184,7 @@ void usrp2_mboard_impl::set_time_spec(const time_spec_t &time_spec, bool now){ void usrp2_mboard_impl::issue_ddc_stream_cmd(const stream_cmd_t &stream_cmd){ _iface->poke32(U2_REG_RX_CTRL_STREAM_CMD, dsp_type1::calc_stream_cmd_word( - stream_cmd, _recv_frame_size + stream_cmd, _recv_samps_per_packet )); _iface->poke32(U2_REG_RX_CTRL_TIME_SECS, boost::uint32_t(stream_cmd.time_spec.get_full_secs())); _iface->poke32(U2_REG_RX_CTRL_TIME_TICKS, stream_cmd.time_spec.get_tick_count(get_master_clock_freq())); diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index 8429a2593..79bf2b260 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -173,7 +173,9 @@ usrp2_impl::usrp2_impl( //create a new mboard handler for each control transport for(size_t i = 0; i < ctrl_transports.size(); i++){ _mboards.push_back(usrp2_mboard_impl::sptr(new usrp2_mboard_impl( - i, ctrl_transports[i], this->get_max_recv_samps_per_packet() + i, ctrl_transports[i], + this->get_max_recv_samps_per_packet(), + _data_transports[i]->get_send_frame_size() ))); //use an empty name when there is only one mboard std::string name = (ctrl_transports.size() > 1)? boost::lexical_cast(i) : ""; diff --git a/host/lib/usrp/usrp2/usrp2_impl.hpp b/host/lib/usrp/usrp2/usrp2_impl.hpp index 6d35e925d..2077b0a50 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.hpp +++ b/host/lib/usrp/usrp2/usrp2_impl.hpp @@ -84,7 +84,8 @@ public: usrp2_mboard_impl( size_t index, uhd::transport::udp_simple::sptr, - size_t recv_frame_size + size_t recv_samps_per_packet, + size_t send_bytes_per_packet ); ~usrp2_mboard_impl(void); @@ -95,7 +96,7 @@ public: private: size_t _index; int _rev_hi, _rev_lo; - const size_t _recv_frame_size; + const size_t _recv_samps_per_packet; //properties for this mboard void get(const wax::obj &, wax::obj &); @@ -171,6 +172,8 @@ private: */ class usrp2_impl : public uhd::device{ public: + static const size_t sram_bytes = size_t(1 << 20); + /*! * Create a new usrp2 impl base. * \param ctrl_transports the udp transports for control -- cgit v1.2.3 From e650ed086c68c9e3458c91817fd0b01da261cd57 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Mon, 11 Oct 2010 16:39:31 -0700 Subject: switch to 32 bit sequence numbers. Will wrap in ~15 hours at max rate --- usrp2/vrt/gen_context_pkt.v | 18 ++++++++++-------- usrp2/vrt/vita_tx_chain.v | 2 +- usrp2/vrt/vita_tx_deframer.v | 10 +++++----- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/usrp2/vrt/gen_context_pkt.v b/usrp2/vrt/gen_context_pkt.v index 31c2a53e1..0eb035f3e 100644 --- a/usrp2/vrt/gen_context_pkt.v +++ b/usrp2/vrt/gen_context_pkt.v @@ -7,8 +7,8 @@ module gen_context_pkt input [31:0] streamid, input [63:0] vita_time, input [31:0] message, - input [15:0] seqnum0, - input [15:0] seqnum1, + input [31:0] seqnum0, + input [31:0] seqnum1, output [35:0] data_o, output src_rdy_o, input dst_rdy_i); localparam CTXT_IDLE = 0; @@ -19,8 +19,9 @@ module gen_context_pkt localparam CTXT_TICS = 5; localparam CTXT_TICS2 = 6; localparam CTXT_MESSAGE = 7; - localparam CTXT_FLOWCTRL = 8; - localparam CTXT_DONE = 9; + localparam CTXT_FLOWCTRL0 = 8; + localparam CTXT_FLOWCTRL1 = 9; + localparam CTXT_DONE = 10; reg [33:0] data_int; wire src_rdy_int, dst_rdy_int; @@ -35,7 +36,7 @@ module gen_context_pkt else if(trigger) stored_message <= message; - else if(ctxt_state == CTXT_FLOWCTRL) + else if(ctxt_state == CTXT_FLOWCTRL1) stored_message <= 0; always @(posedge clk) @@ -70,14 +71,15 @@ module gen_context_pkt always @* case(ctxt_state) - CTXT_PROT_ENG : data_int <= { 2'b01, 16'd1, 16'd28 }; - CTXT_HEADER : data_int <= { 1'b0, (PROT_ENG_FLAGS ? 1'b0 : 1'b1), 12'b010100001101, seqno, 16'd7 }; + CTXT_PROT_ENG : data_int <= { 2'b01, 16'd1, 16'd32 }; + CTXT_HEADER : data_int <= { 1'b0, (PROT_ENG_FLAGS ? 1'b0 : 1'b1), 12'b010100001101, seqno, 16'd8 }; CTXT_STREAMID : data_int <= { 2'b00, streamid }; CTXT_SECS : data_int <= { 2'b00, err_time[63:32] }; CTXT_TICS : data_int <= { 2'b00, 32'd0 }; CTXT_TICS2 : data_int <= { 2'b00, err_time[31:0] }; CTXT_MESSAGE : data_int <= { 2'b00, message }; - CTXT_FLOWCTRL : data_int <= { 2'b10, {seqnum1,seqnum0} }; + CTXT_FLOWCTRL0 : data_int <= { 2'b00, seqnum0 }; + CTXT_FLOWCTRL1 : data_int <= { 2'b10, seqnum1 }; default : data_int <= {2'b00, 32'b00}; endcase // case (ctxt_state) diff --git a/usrp2/vrt/vita_tx_chain.v b/usrp2/vrt/vita_tx_chain.v index 09da377f8..eee19bebf 100644 --- a/usrp2/vrt/vita_tx_chain.v +++ b/usrp2/vrt/vita_tx_chain.v @@ -29,7 +29,7 @@ module vita_tx_chain wire error, packet_consumed; wire [31:0] error_code; wire clear_seqnum; - wire [15:0] current_seqnum; + wire [31:0] current_seqnum; assign underrun = error; assign message = error_code; diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index d8575b745..40867cc55 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -15,7 +15,7 @@ module vita_tx_deframer output sample_fifo_src_rdy_o, input sample_fifo_dst_rdy_i, - output [15:0] current_seqnum, + output [31:0] current_seqnum, // FIFO Levels output [15:0] fifo_occupied, @@ -48,9 +48,9 @@ module vita_tx_deframer reg [1:0] vector_phase; wire line_done; - wire [15:0] seqnum = data_i[15:0]; - reg [15:0] seqnum_reg; - wire [15:0] next_seqnum = seqnum_reg + 16'd1; + wire [31:0] seqnum = data_i; + reg [31:0] seqnum_reg; + wire [31:0] next_seqnum = seqnum_reg + 32'd1; wire [3:0] vita_seqnum = data_i[19:16]; reg [3:0] vita_seqnum_reg; wire [3:0] next_vita_seqnum = vita_seqnum_reg[3:0] + 4'd1; @@ -80,7 +80,7 @@ module vita_tx_deframer always @(posedge clk) if(reset | clear_seqnum) begin - seqnum_reg <= 16'hFFFF; + seqnum_reg <= 32'hFFFF_FFFF; vita_seqnum_reg <= 4'hF; end else -- cgit v1.2.3 From 41489884015ceb3dd2d4731ece813445d20629d3 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Mon, 11 Oct 2010 16:40:25 -0700 Subject: increase compatibility number for flow control --- usrp2/top/u2_rev3/u2_core_udp.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index 809218a75..d2bc01d6d 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -427,7 +427,7 @@ module u2_core cycle_count <= cycle_count + 1; //compatibility number -> increment when the fpga has been sufficiently altered - localparam compat_num = 32'd2; + localparam compat_num = 32'd3; wb_readback_mux buff_pool_status (.wb_clk_i(wb_clk), .wb_rst_i(wb_rst), .wb_stb_i(s5_stb), -- cgit v1.2.3 From 0edf80fc80303c475b0dfd29d3ce5967fe646bfc Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Mon, 11 Oct 2010 16:41:41 -0700 Subject: cleanup for 32 bit seqnum --- usrp2/vrt/vita_tx_chain.v | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/usrp2/vrt/vita_tx_chain.v b/usrp2/vrt/vita_tx_chain.v index eee19bebf..6cfbdf763 100644 --- a/usrp2/vrt/vita_tx_chain.v +++ b/usrp2/vrt/vita_tx_chain.v @@ -71,7 +71,7 @@ module vita_tx_chain (.clk(clk), .reset(reset), .clear(clear_vita), .trigger(trigger & (DO_FLOW_CONTROL==1)), .sent(), .streamid(streamid), .vita_time(vita_time), .message(32'd0), - .seqnum0(current_seqnum), .seqnum1(16'd0), + .seqnum0(current_seqnum), .seqnum1(32'd0), .data_o(flow_data), .src_rdy_o(flow_src_rdy), .dst_rdy_i(flow_dst_rdy)); trigger_context_pkt #(.BASE(BASE_CTRL)) trigger_context_pkt (.clk(clk), .reset(reset), .clear(clear_vita), @@ -82,11 +82,10 @@ module vita_tx_chain (.clk(clk), .reset(reset), .clear(clear_vita), .trigger(error & (REPORT_ERROR==1)), .sent(), .streamid(streamid), .vita_time(vita_time), .message(message), - .seqnum0(current_seqnum), .seqnum1(16'd0), + .seqnum0(current_seqnum), .seqnum1(32'd0), .data_o(err_data_int), .src_rdy_o(err_src_rdy_int), .dst_rdy_i(err_dst_rdy_int)); - //assign debug = debug_vtc | debug_vtd; - assign debug = { debug_vtd[15:0], current_seqnum }; + assign debug = debug_vtc | debug_vtd; fifo36_mux #(.prio(1)) mux_err_and_flow // Priority to err messages (.clk(clk), .reset(reset), .clear(clear_vita), -- cgit v1.2.3 From 1314feb429b8c2713d9fd0e9da077825d0a9c3bc Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 11 Oct 2010 18:09:56 -0700 Subject: usrp2: use 32-bit flow control sequence numbers --- host/include/uhd/types/metadata.hpp | 4 ++-- host/lib/usrp/usrp2/fw_common.h | 2 +- host/lib/usrp/usrp2/io_impl.cpp | 29 ++++++++++++----------------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/host/include/uhd/types/metadata.hpp b/host/include/uhd/types/metadata.hpp index 65952941c..96c4ad0d3 100644 --- a/host/include/uhd/types/metadata.hpp +++ b/host/include/uhd/types/metadata.hpp @@ -130,7 +130,7 @@ namespace uhd{ /*! * Event codes: - * - success: a packet was successfully transmitted + * - eob ack: an eob packet was successfully transmitted * - underflow: an internal send buffer has emptied * - sequence error: packet loss between host and device * - time error: packet had time that was late (or too early) @@ -138,7 +138,7 @@ namespace uhd{ * - sequence error in burst: packet loss within a burst */ enum event_code_t { - EVENT_CODE_SUCCESS = 0x1, + EVENT_CODE_EOB_ACK = 0x1, EVENT_CODE_UNDERFLOW = 0x2, EVENT_CODE_SEQ_ERROR = 0x4, EVENT_CODE_TIME_ERROR = 0x8, diff --git a/host/lib/usrp/usrp2/fw_common.h b/host/lib/usrp/usrp2/fw_common.h index 783e5c772..2cd3ee595 100644 --- a/host/lib/usrp/usrp2/fw_common.h +++ b/host/lib/usrp/usrp2/fw_common.h @@ -33,7 +33,7 @@ extern "C" { #endif //fpga and firmware compatibility numbers -#define USRP2_FPGA_COMPAT_NUM 2 +#define USRP2_FPGA_COMPAT_NUM 3 #define USRP2_FW_COMPAT_NUM 7 //used to differentiate control packets over data port diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 6d5eb488c..2d1ebe57b 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -49,13 +49,14 @@ static const size_t vrt_send_header_offset_words32 = 1; **********************************************************************/ class flow_control_monitor{ public: + typedef boost::uint32_t seq_type; typedef boost::shared_ptr sptr; /*! * Make a new flow control monitor. * \param max_seqs_out num seqs before throttling */ - flow_control_monitor(size_t max_seqs_out){ + flow_control_monitor(seq_type max_seqs_out){ _last_seq_out = 0; _last_seq_ack = 0; _max_seqs_out = max_seqs_out; @@ -67,7 +68,7 @@ public: * \param timeout the timeout in seconds * \return false on timeout */ - UHD_INLINE bool check_fc_condition(boost::uint16_t seq, double timeout){ + UHD_INLINE bool check_fc_condition(seq_type seq, double timeout){ boost::unique_lock lock(_fc_mutex); _last_seq_out = seq; return _fc_cond.timed_wait( @@ -81,7 +82,7 @@ public: * Update the flow control condition. * \param seq the last sequence number to be ACK'd */ - UHD_INLINE void update_fc_condition(boost::uint16_t seq){ + UHD_INLINE void update_fc_condition(seq_type seq){ boost::unique_lock lock(_fc_mutex); _last_seq_ack = seq; lock.unlock(); @@ -90,17 +91,12 @@ public: private: bool ready(void){ - //return true; - //std::cout << "_last_seq_out " << _last_seq_out << std::endl; - //std::cout << "_last_seq_ack " << _last_seq_ack << std::endl; - //std::cout << "boost::uint16_t(_last_seq_out -_last_seq_ack) " << boost::uint16_t(_last_seq_out -_last_seq_ack) << std::endl; - return boost::uint16_t(_last_seq_out -_last_seq_ack) < boost::uint16_t(_max_seqs_out); + return seq_type(_last_seq_out -_last_seq_ack) < _max_seqs_out; } boost::mutex _fc_mutex; boost::condition _fc_cond; - boost::uint16_t _last_seq_out, _last_seq_ack; - size_t _max_seqs_out; + seq_type _last_seq_out, _last_seq_ack, _max_seqs_out; }; /*********************************************************************** @@ -141,16 +137,15 @@ struct usrp2_impl::io_impl{ ){ UHD_ASSERT_THROW(trans.size() == buffs.size()); - //calculate the 16-bit sequence number for the special header - const boost::uint16_t seq_num = boost::uint16_t(packet_handler_send_state.next_packet_seq & 0xffff); - const boost::uint32_t fc_word32 = uhd::htonx(boost::uint32_t(seq_num)); + //calculate the flow control word + const boost::uint32_t fc_word32 = packet_handler_send_state.next_packet_seq; //grab a managed buffer for each index for (size_t i = 0; i < buffs.size(); i++){ - if (not fc_mons[i]->check_fc_condition(seq_num, timeout)) return false; + if (not fc_mons[i]->check_fc_condition(fc_word32, timeout)) return false; buffs[i] = trans[i]->get_send_buff(timeout); if (not buffs[i].get()) return false; - buffs[i]->cast()[0] = fc_word32; + buffs[i]->cast()[0] = uhd::htonx(fc_word32); } return true; } @@ -209,8 +204,8 @@ void usrp2_impl::io_impl::recv_pirate_loop( //catch the flow control packets and react if (metadata.event_code == 0){ - boost::uint32_t fc_word32 = uhd::ntohx((vrt_hdr + if_packet_info.num_header_words32)[1]); - this->fc_mons[index]->update_fc_condition(fc_word32 & 0xffff); + boost::uint32_t fc_word32 = (vrt_hdr + if_packet_info.num_header_words32)[1]; + this->fc_mons[index]->update_fc_condition(uhd::ntohx(fc_word32)); continue; } -- cgit v1.2.3 From d54fd2abffd8849bf41a5f8084a828e6472ba342 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 11 Oct 2010 18:21:16 -0700 Subject: usrp2: use select rather than manually polling the simple udp socket --- host/include/uhd/transport/udp_simple.hpp | 4 +-- host/lib/transport/udp_simple.cpp | 44 +++++++++++++++---------------- host/lib/usrp/usrp2/usrp2_iface.cpp | 4 +-- host/lib/usrp/usrp2/usrp2_impl.cpp | 5 +--- 4 files changed, 26 insertions(+), 31 deletions(-) diff --git a/host/include/uhd/transport/udp_simple.hpp b/host/include/uhd/transport/udp_simple.hpp index c84393ecf..83f895ba9 100644 --- a/host/include/uhd/transport/udp_simple.hpp +++ b/host/include/uhd/transport/udp_simple.hpp @@ -73,10 +73,10 @@ public: * Receive into the provided buffer. * Blocks until data is received or a timeout occurs. * \param buff a mutable buffer to receive into - * \param timeout_ms the timeout in milliseconds + * \param timeout the timeout in seconds * \return the number of bytes received or zero on timeout */ - virtual size_t recv(const boost::asio::mutable_buffer &buff, size_t timeout_ms) = 0; + virtual size_t recv(const boost::asio::mutable_buffer &buff, double timeout = 0.1) = 0; }; }} //namespace diff --git a/host/lib/transport/udp_simple.cpp b/host/lib/transport/udp_simple.cpp index 89750f99d..5829b462b 100644 --- a/host/lib/transport/udp_simple.cpp +++ b/host/lib/transport/udp_simple.cpp @@ -27,23 +27,25 @@ using namespace uhd::transport; * Helper Functions **********************************************************************/ /*! - * A receive timeout for a socket: - * - * It seems that asio cannot have timeouts with synchronous io. - * However, we can implement a polling loop that will timeout. - * This is okay bacause this is the slow-path implementation. - * + * Wait for available data or timeout. * \param socket the asio socket - * \param timeout_ms the timeout in milliseconds + * \param timeout the timeout in seconds + * \return false for timeout, true for data */ -static void reasonable_recv_timeout( - boost::asio::ip::udp::socket &socket, size_t timeout_ms +static bool wait_available( + boost::asio::ip::udp::socket &socket, double timeout ){ - boost::asio::deadline_timer timer(socket.get_io_service()); - timer.expires_from_now(boost::posix_time::milliseconds(timeout_ms)); - while (not (socket.available() or timer.expires_from_now().is_negative())){ - boost::this_thread::sleep(boost::posix_time::milliseconds(1)); - } + //setup timeval for timeout + timeval tv; + tv.tv_sec = 0; + tv.tv_usec = long(timeout*1e6); + + //setup rset for timeout + fd_set rset; + FD_ZERO(&rset); + FD_SET(socket.native(), &rset); + + return ::select(socket.native()+1, &rset, NULL, NULL, &tv) > 0; } /*********************************************************************** @@ -57,7 +59,7 @@ public: //send/recv size_t send(const boost::asio::const_buffer &); - size_t recv(const boost::asio::mutable_buffer &, size_t); + size_t recv(const boost::asio::mutable_buffer &, double); private: boost::asio::ip::udp::socket *_socket; @@ -86,9 +88,8 @@ size_t udp_connected_impl::send(const boost::asio::const_buffer &buff){ return _socket->send(boost::asio::buffer(buff)); } -size_t udp_connected_impl::recv(const boost::asio::mutable_buffer &buff, size_t timeout_ms){ - reasonable_recv_timeout(*_socket, timeout_ms); - if (not _socket->available()) return 0; +size_t udp_connected_impl::recv(const boost::asio::mutable_buffer &buff, double timeout){ + if (not wait_available(*_socket, timeout)) return 0; return _socket->receive(boost::asio::buffer(buff)); } @@ -103,7 +104,7 @@ public: //send/recv size_t send(const boost::asio::const_buffer &); - size_t recv(const boost::asio::mutable_buffer &, size_t); + size_t recv(const boost::asio::mutable_buffer &, double); private: boost::asio::ip::udp::socket *_socket; @@ -137,9 +138,8 @@ size_t udp_broadcast_impl::send(const boost::asio::const_buffer &buff){ return _socket->send_to(boost::asio::buffer(buff), _receiver_endpoint); } -size_t udp_broadcast_impl::recv(const boost::asio::mutable_buffer &buff, size_t timeout_ms){ - reasonable_recv_timeout(*_socket, timeout_ms); - if (not _socket->available()) return 0; +size_t udp_broadcast_impl::recv(const boost::asio::mutable_buffer &buff, double timeout){ + if (not wait_available(*_socket, timeout)) return 0; boost::asio::ip::udp::endpoint sender_endpoint; return _socket->receive_from(boost::asio::buffer(buff), sender_endpoint); } diff --git a/host/lib/usrp/usrp2/usrp2_iface.cpp b/host/lib/usrp/usrp2/usrp2_iface.cpp index 6fdde7b2e..55c42567e 100644 --- a/host/lib/usrp/usrp2/usrp2_iface.cpp +++ b/host/lib/usrp/usrp2/usrp2_iface.cpp @@ -30,8 +30,6 @@ using namespace uhd; using namespace uhd::transport; -static const size_t CONTROL_TIMEOUT_MS = 200; - class usrp2_iface_impl : public usrp2_iface{ public: /*********************************************************************** @@ -177,7 +175,7 @@ public: boost::uint8_t usrp2_ctrl_data_in_mem[udp_simple::mtu]; //allocate max bytes for recv const usrp2_ctrl_data_t *ctrl_data_in = reinterpret_cast(usrp2_ctrl_data_in_mem); while(true){ - size_t len = _ctrl_transport->recv(boost::asio::buffer(usrp2_ctrl_data_in_mem), CONTROL_TIMEOUT_MS); + size_t len = _ctrl_transport->recv(boost::asio::buffer(usrp2_ctrl_data_in_mem)); if(len >= sizeof(boost::uint32_t) and ntohl(ctrl_data_in->proto_ver) != USRP2_FW_COMPAT_NUM){ throw std::runtime_error(str(boost::format( "Expected protocol compatibility number %d, but got %d:\n" diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index 79bf2b260..1d9f25019 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -35,9 +35,6 @@ using namespace uhd::usrp; using namespace uhd::transport; namespace asio = boost::asio; -//! wait this long for a control response when discovering devices -static const size_t DISCOVERY_TIMEOUT_MS = 100; - /*********************************************************************** * Helper Functions **********************************************************************/ @@ -99,7 +96,7 @@ static uhd::device_addrs_t usrp2_find(const device_addr_t &hint){ boost::uint8_t usrp2_ctrl_data_in_mem[udp_simple::mtu]; //allocate max bytes for recv const usrp2_ctrl_data_t *ctrl_data_in = reinterpret_cast(usrp2_ctrl_data_in_mem); while(true){ - size_t len = udp_transport->recv(asio::buffer(usrp2_ctrl_data_in_mem), DISCOVERY_TIMEOUT_MS); + size_t len = udp_transport->recv(asio::buffer(usrp2_ctrl_data_in_mem)); //std::cout << len << "\n"; if (len > offsetof(usrp2_ctrl_data_t, data)){ //handle the received data -- cgit v1.2.3 From b49e2955b0f68d59e7903f89a26c39dc9b3614fd Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 11 Oct 2010 18:38:06 -0700 Subject: usrp2: enable the cycles per ack, and drain recv without the timeout (fixes previous conflict) --- host/lib/usrp/usrp2/io_impl.cpp | 2 +- host/lib/usrp/usrp2/mboard_impl.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 2d1ebe57b..c9271cc8c 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -250,7 +250,7 @@ void usrp2_impl::io_init(void){ std::memcpy(send_buff->cast(), &data, sizeof(data)); send_buff->commit(sizeof(data)); //drain the recv buffers (may have junk) - while (data_transport->get_recv_buff().get()){}; + while (data_transport->get_recv_buff(0).get()){}; } //the assumption is that all data transports should be identical diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index 37e69b39d..ddf147c8d 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -95,7 +95,7 @@ usrp2_mboard_impl::usrp2_mboard_impl( _iface->poke32(U2_REG_TX_CTRL_REPORT_SID, 1); //sid 1 (different from rx) _iface->poke32(U2_REG_TX_CTRL_POLICY, U2_FLAG_TX_CTRL_POLICY_NEXT_PACKET); const size_t cycles_per_ack = size_t(_clock_ctrl->get_master_clock_rate()/100); //100 aps - //_iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | cycles_per_ack); //FIXME total pause frames + _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | cycles_per_ack); static const double sram_frac = 1.0/8.0; //fraction of sram to fill before ack const size_t packets_per_ack = size_t(usrp2_impl::sram_bytes*sram_frac/send_bytes_per_packet); _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | packets_per_ack); @@ -121,7 +121,8 @@ usrp2_mboard_impl::usrp2_mboard_impl( } usrp2_mboard_impl::~usrp2_mboard_impl(void){ - /* NOP */ + _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_ACK, 0); + _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_ACK, 0); } /*********************************************************************** -- cgit v1.2.3 From f9755b0ab33eb20abb5689893061f3b4039505fd Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 12 Oct 2010 10:55:07 -0700 Subject: uhd: test eob ack message, usrp2: remove rx drain on init with the promise of a reset register --- host/examples/test_async_messages.cpp | 32 ++++++++++++++++++++------------ host/lib/usrp/usrp2/io_impl.cpp | 2 -- host/lib/usrp/usrp2/mboard_impl.cpp | 5 ----- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/host/examples/test_async_messages.cpp b/host/examples/test_async_messages.cpp index e4a996ef5..fa39bcde6 100644 --- a/host/examples/test_async_messages.cpp +++ b/host/examples/test_async_messages.cpp @@ -27,13 +27,13 @@ namespace po = boost::program_options; /*! - * Test that no messages are received: + * Test the eob ack message: * Send a burst of many samples that will fragment internally. - * We expect to not get any async messages. + * We expect to get an eob ack async message. */ -void test_no_async_message(uhd::usrp::single_usrp::sptr sdev){ +void test_ack_async_message(uhd::usrp::single_usrp::sptr sdev){ uhd::device::sptr dev = sdev->get_device(); - std::cout << "Test no async message... " << std::flush; + std::cout << "Test eob ack message... " << std::flush; uhd::tx_metadata_t md; md.start_of_burst = true; @@ -50,19 +50,27 @@ void test_no_async_message(uhd::usrp::single_usrp::sptr sdev){ ); uhd::async_metadata_t async_md; - if (dev->recv_async_msg(async_md)){ + if (not dev->recv_async_msg(async_md)){ std::cout << boost::format( "failed:\n" - " Got unexpected event code 0x%x.\n" - ) % async_md.event_code << std::endl; - //clear the async messages - while (dev->recv_async_msg(async_md, 0)){}; + " Async message recv timed out.\n" + ) << std::endl; + return; } - else{ + + switch(async_md.event_code){ + case uhd::async_metadata_t::EVENT_CODE_EOB_ACK: std::cout << boost::format( "success:\n" - " Did not get an async message.\n" + " Got event code eob ack message.\n" ) << std::endl; + break; + + default: + std::cout << boost::format( + "failed:\n" + " Got unexpected event code 0x%x.\n" + ) % async_md.event_code << std::endl; } } @@ -195,7 +203,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ //------------------------------------------------------------------ // begin asyc messages test //------------------------------------------------------------------ - test_no_async_message(sdev); + test_ack_async_message(sdev); test_underflow_message(sdev); test_time_error_message(sdev); diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index c9271cc8c..48ff7d509 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -249,8 +249,6 @@ void usrp2_impl::io_init(void){ }; std::memcpy(send_buff->cast(), &data, sizeof(data)); send_buff->commit(sizeof(data)); - //drain the recv buffers (may have junk) - while (data_transport->get_recv_buff(0).get()){}; } //the assumption is that all data transports should be identical diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index ddf147c8d..65066f125 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -70,11 +70,6 @@ usrp2_mboard_impl::usrp2_mboard_impl( _allowed_decim_and_interp_rates.push_back(i); } - //Issue a stop streaming command (in case it was left running). - //Since this command is issued before the networking is setup, - //most if not all junk packets will never make it to the socket. - this->issue_ddc_stream_cmd(stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS); - //init the rx control registers _iface->poke32(U2_REG_RX_CTRL_NSAMPS_PER_PKT, _recv_samps_per_packet); _iface->poke32(U2_REG_RX_CTRL_NCHANNELS, 1); -- cgit v1.2.3 From b77f9abf8597765b53c28b9ac99faaa3d535803b Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Tue, 12 Oct 2010 13:16:35 -0700 Subject: proper triggering for interrupts generated on the dsp_clk --- usrp2/top/u2_rev3/u2_core_udp.v | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/usrp2/top/u2_rev3/u2_core_udp.v b/usrp2/top/u2_rev3/u2_core_udp.v index d2bc01d6d..b47e7e311 100644 --- a/usrp2/top/u2_rev3/u2_core_udp.v +++ b/usrp2/top/u2_rev3/u2_core_udp.v @@ -541,10 +541,17 @@ module u2_core // ///////////////////////////////////////////////////////////////////////// // Interrupt Controller, Slave #8 + // Pass interrupts on dsp_clk to wb_clk. These need edge triggering in the pic + wire underrun_wb, overrun_wb, pps_wb; + + oneshot_2clk underrun_1s (.clk_in(dsp_clk), .in(underrun), .clk_out(wb_clk), .out(underrun_wb)); + oneshot_2clk overrun_1s (.clk_in(dsp_clk), .in(overrun), .clk_out(wb_clk), .out(overrun_wb)); + oneshot_2clk pps_1s (.clk_in(dsp_clk), .in(pps_int), .clk_out(wb_clk), .out(pps_wb)); + assign irq= {{8'b0}, {8'b0}, {3'b0, periodic_int, clk_status, serdes_link_up, uart_tx_int, uart_rx_int}, - {pps_int,overrun,underrun,PHY_INTn,i2c_int,spi_int,onetime_int,buffer_int}}; + {pps_wb,overrun_wb,underrun_wb,PHY_INTn,i2c_int,spi_int,onetime_int,buffer_int}}; pic pic(.clk_i(wb_clk),.rst_i(wb_rst),.cyc_i(s8_cyc),.stb_i(s8_stb),.adr_i(s8_adr[4:2]), .we_i(s8_we),.dat_i(s8_dat_o),.dat_o(s8_dat_i),.ack_o(s8_ack),.int_o(proc_int), -- cgit v1.2.3 From 2c08c9a7e62b2ad7f75047cc54b0256173f1b674 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Tue, 12 Oct 2010 15:24:37 -0700 Subject: usrp2: register overflow, underflow, and pps level for pic also fix minor build issue w/ LDADD --- firmware/microblaze/lib/pic.c | 2 +- firmware/microblaze/usrp2/Makefile.am | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/firmware/microblaze/lib/pic.c b/firmware/microblaze/lib/pic.c index e89d2b755..226da5f85 100644 --- a/firmware/microblaze/lib/pic.c +++ b/firmware/microblaze/lib/pic.c @@ -44,7 +44,7 @@ pic_init(void) // uP is level triggered pic_regs->mask = ~0; // mask all interrupts - pic_regs->edge_enable = PIC_ONETIME_INT; + pic_regs->edge_enable = PIC_ONETIME_INT | PIC_UNDERRUN_INT | PIC_OVERRUN_INT | PIC_PPS_INT; pic_regs->polarity = ~0 & ~PIC_PHY_INT; // rising edge pic_regs->pending = ~0; // clear all pending ints } diff --git a/firmware/microblaze/usrp2/Makefile.am b/firmware/microblaze/usrp2/Makefile.am index 8da013980..ba426b75c 100644 --- a/firmware/microblaze/usrp2/Makefile.am +++ b/firmware/microblaze/usrp2/Makefile.am @@ -22,10 +22,11 @@ AM_CFLAGS = \ AM_LDFLAGS = \ $(COMMON_LFLAGS) \ - libusrp2.a \ -Wl,-defsym -Wl,_TEXT_START_ADDR=0x0050 \ -Wl,-defsym -Wl,_STACK_SIZE=3072 +LDADD = libusrp2.a + ######################################################################## # USRP2 specific library and programs ######################################################################## -- cgit v1.2.3 From c82dffc89991272f103866d64fb29d435f67412a Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Tue, 12 Oct 2010 23:02:30 -0700 Subject: don't flag an error on eob ack --- usrp2/vrt/vita_tx_chain.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/vrt/vita_tx_chain.v b/usrp2/vrt/vita_tx_chain.v index 6cfbdf763..00da4c6e1 100644 --- a/usrp2/vrt/vita_tx_chain.v +++ b/usrp2/vrt/vita_tx_chain.v @@ -31,7 +31,7 @@ module vita_tx_chain wire clear_seqnum; wire [31:0] current_seqnum; - assign underrun = error; + assign underrun = error & ~(error_code == 1); assign message = error_code; setting_reg #(.my_addr(BASE_CTRL+2), .at_reset(0)) sr_streamid -- cgit v1.2.3 From ecea1b5b4a0c7eb6683d15ca15e176f57a5a372a Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Tue, 12 Oct 2010 23:05:47 -0700 Subject: don't clear out following packets on an eob ack --- usrp2/vrt/vita_tx_control.v | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usrp2/vrt/vita_tx_control.v b/usrp2/vrt/vita_tx_control.v index ed470418b..936762212 100644 --- a/usrp2/vrt/vita_tx_control.v +++ b/usrp2/vrt/vita_tx_control.v @@ -109,7 +109,7 @@ module vita_tx_control else if(eop) if(eob) begin - ibs_state <= IBS_ERROR; // Not really an error + ibs_state <= IBS_ERROR_DONE; // Not really an error error_code <= CODE_EOB_ACK; send_error <= 1; end -- cgit v1.2.3 From ee03f1d4acf5c7d3359c86baba5085660d63ebae Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Tue, 12 Oct 2010 23:21:39 -0700 Subject: now handles frames larger than the vita packet (i.e. with padding) --- usrp2/vrt/vita_tx_deframer.v | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/usrp2/vrt/vita_tx_deframer.v b/usrp2/vrt/vita_tx_deframer.v index 40867cc55..7fb8e3893 100644 --- a/usrp2/vrt/vita_tx_deframer.v +++ b/usrp2/vrt/vita_tx_deframer.v @@ -70,11 +70,13 @@ module vita_tx_deframer localparam VITA_PAYLOAD = 8; localparam VITA_STORE = 9; localparam VITA_TRAILER = 10; + localparam VITA_DUMP = 11; wire [15:0] hdr_len = 2 + has_streamid_reg + has_classid_reg + has_classid_reg + has_secs_reg + has_tics_reg + has_tics_reg + has_trailer_reg; - wire eop = eof | (pkt_len==hdr_len); // FIXME would ignoring eof allow larger VITA packets? + wire vita_eof = (pkt_len==hdr_len); + wire eop = eof | vita_eof; // FIXME would ignoring eof allow larger VITA packets? wire fifo_space; always @(posedge clk) @@ -101,12 +103,14 @@ module vita_tx_deframer end else if((vita_state == VITA_STORE) & fifo_space) - if(eop) - if(has_trailer_reg) + if(vita_eof) + if(eof) + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; + else if(has_trailer_reg) vita_state <= VITA_TRAILER; else - vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; - else + vita_state <= VITA_DUMP; + else begin vita_state <= VITA_PAYLOAD; pkt_len <= pkt_len - 1; @@ -172,7 +176,13 @@ module vita_tx_deframer else vector_phase <= vector_phase + 1; VITA_TRAILER : - vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; + if(eof) + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; + else + vita_state <= VITA_DUMP; + VITA_DUMP : + if(eof) + vita_state <= (USE_TRANS_HEADER==1) ? VITA_TRANS_HEADER : VITA_HEADER; VITA_STORE : ; default : -- cgit v1.2.3 From 35eda148fc3979c022c58166fa628d5b7dbfd80b Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 13 Oct 2010 11:59:15 -0700 Subject: usrp2: increment tx sequence after commit --- host/lib/transport/vrt_packet_handler.hpp | 3 ++- host/lib/usrp/usrp2/io_impl.cpp | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/host/lib/transport/vrt_packet_handler.hpp b/host/lib/transport/vrt_packet_handler.hpp index 939517411..d5f03de0e 100644 --- a/host/lib/transport/vrt_packet_handler.hpp +++ b/host/lib/transport/vrt_packet_handler.hpp @@ -318,7 +318,7 @@ template UHD_INLINE T get_context_code( ){ //load the rest of the if_packet_info in here if_packet_info.num_payload_words32 = (num_samps*chans_per_otw_buff*otw_type.get_sample_size())/sizeof(boost::uint32_t); - if_packet_info.packet_count = state.next_packet_seq++; + if_packet_info.packet_count = state.next_packet_seq; //get send buffers for each channel managed_send_buffs_t send_buffs(buffs.size()/chans_per_otw_buff); @@ -345,6 +345,7 @@ template UHD_INLINE T get_context_code( size_t num_bytes_total = (vrt_header_offset_words32+if_packet_info.num_packet_words32)*sizeof(boost::uint32_t); send_buffs[i]->commit(num_bytes_total); } + state.next_packet_seq++; //increment sequence after commits return num_samps; } diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 48ff7d509..d6f7e8476 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -211,6 +211,7 @@ void usrp2_impl::io_impl::recv_pirate_loop( //print the famous U, and push the metadata into the message queue if (metadata.event_code & underflow_flags) std::cerr << "U" << std::flush; + //else std::cout << "metadata.event_code " << metadata.event_code << std::endl; async_msg_fifo->push_with_pop_on_full(metadata); continue; } -- cgit v1.2.3 From 4dfb7b8cabef3097f822ac52f346cd6021cb35da Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 13 Oct 2010 11:59:35 -0700 Subject: usrp: test async messages app randomly runs tests --- host/examples/test_async_messages.cpp | 84 ++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 17 deletions(-) diff --git a/host/examples/test_async_messages.cpp b/host/examples/test_async_messages.cpp index fa39bcde6..bdee7a504 100644 --- a/host/examples/test_async_messages.cpp +++ b/host/examples/test_async_messages.cpp @@ -19,8 +19,12 @@ #include #include #include +#include #include +#include +#include #include +#include #include #include @@ -31,7 +35,7 @@ namespace po = boost::program_options; * Send a burst of many samples that will fragment internally. * We expect to get an eob ack async message. */ -void test_ack_async_message(uhd::usrp::single_usrp::sptr sdev){ +bool test_eob_ack_message(uhd::usrp::single_usrp::sptr sdev){ uhd::device::sptr dev = sdev->get_device(); std::cout << "Test eob ack message... " << std::flush; @@ -55,7 +59,7 @@ void test_ack_async_message(uhd::usrp::single_usrp::sptr sdev){ "failed:\n" " Async message recv timed out.\n" ) << std::endl; - return; + return false; } switch(async_md.event_code){ @@ -64,13 +68,14 @@ void test_ack_async_message(uhd::usrp::single_usrp::sptr sdev){ "success:\n" " Got event code eob ack message.\n" ) << std::endl; - break; + return true; default: std::cout << boost::format( "failed:\n" " Got unexpected event code 0x%x.\n" ) % async_md.event_code << std::endl; + return false; } } @@ -79,7 +84,7 @@ void test_ack_async_message(uhd::usrp::single_usrp::sptr sdev){ * Send a start of burst packet with no following end of burst. * We expect to get an underflow(within a burst) async message. */ -void test_underflow_message(uhd::usrp::single_usrp::sptr sdev){ +bool test_underflow_message(uhd::usrp::single_usrp::sptr sdev){ uhd::device::sptr dev = sdev->get_device(); std::cout << "Test underflow message... " << std::flush; @@ -88,18 +93,21 @@ void test_underflow_message(uhd::usrp::single_usrp::sptr sdev){ md.end_of_burst = false; md.has_time_spec = false; - dev->send(NULL, 0, md, + std::vector > buff(1); //minimum 1 sample + + dev->send( + &buff.front(), buff.size(), md, uhd::io_type_t::COMPLEX_FLOAT32, uhd::device::SEND_MODE_FULL_BUFF ); uhd::async_metadata_t async_md; - if (not dev->recv_async_msg(async_md)){ + if (not dev->recv_async_msg(async_md, 1)){ std::cout << boost::format( "failed:\n" " Async message recv timed out.\n" ) << std::endl; - return; + return false; } switch(async_md.event_code){ @@ -108,13 +116,14 @@ void test_underflow_message(uhd::usrp::single_usrp::sptr sdev){ "success:\n" " Got event code underflow message.\n" ) << std::endl; - break; + return true; default: std::cout << boost::format( "failed:\n" " Got unexpected event code 0x%x.\n" ) % async_md.event_code << std::endl; + return false; } } @@ -123,7 +132,7 @@ void test_underflow_message(uhd::usrp::single_usrp::sptr sdev){ * Send a burst packet that occurs at a time in the past. * We expect to get a time error async message. */ -void test_time_error_message(uhd::usrp::single_usrp::sptr sdev){ +bool test_time_error_message(uhd::usrp::single_usrp::sptr sdev){ uhd::device::sptr dev = sdev->get_device(); std::cout << "Test time error message... " << std::flush; @@ -135,7 +144,10 @@ void test_time_error_message(uhd::usrp::single_usrp::sptr sdev){ sdev->set_time_now(uhd::time_spec_t(200.0)); //time at 200s - dev->send(NULL, 0, md, + std::vector > buff(1); //minimum 1 sample + + dev->send( + &buff.front(), buff.size(), md, uhd::io_type_t::COMPLEX_FLOAT32, uhd::device::SEND_MODE_FULL_BUFF ); @@ -146,7 +158,7 @@ void test_time_error_message(uhd::usrp::single_usrp::sptr sdev){ "failed:\n" " Async message recv timed out.\n" ) << std::endl; - return; + return false; } switch(async_md.event_code){ @@ -155,29 +167,38 @@ void test_time_error_message(uhd::usrp::single_usrp::sptr sdev){ "success:\n" " Got event code time error message.\n" ) << std::endl; - break; + return true; default: std::cout << boost::format( "failed:\n" " Got unexpected event code 0x%x.\n" ) % async_md.event_code << std::endl; + return false; } } +void flush_async_md(uhd::usrp::single_usrp::sptr sdev){ + uhd::device::sptr dev = sdev->get_device(); + uhd::async_metadata_t async_md; + while (dev->recv_async_msg(async_md, 1.0)){} +} + int UHD_SAFE_MAIN(int argc, char *argv[]){ uhd::set_thread_priority_safe(); //variables to be set by po std::string args; double rate; + size_t ntests; //setup the program options po::options_description desc("Allowed options"); desc.add_options() ("help", "help message") - ("args", po::value(&args)->default_value(""), "single uhd device address args") - ("rate", po::value(&rate)->default_value(1.5e6), "rate of outgoing samples") + ("args", po::value(&args)->default_value(""), "single uhd device address args") + ("rate", po::value(&rate)->default_value(1.5e6), "rate of outgoing samples") + ("ntests", po::value(&ntests)->default_value(10), "number of tests to run") ; po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc), vm); @@ -203,9 +224,38 @@ int UHD_SAFE_MAIN(int argc, char *argv[]){ //------------------------------------------------------------------ // begin asyc messages test //------------------------------------------------------------------ - test_ack_async_message(sdev); - test_underflow_message(sdev); - test_time_error_message(sdev); + static const uhd::dict > + tests = boost::assign::map_list_of + ("Test EOB ACK ", &test_eob_ack_message) + ("Test Underflow ", &test_underflow_message) + ("Test Time Error", &test_time_error_message) + ; + + //init result counts + uhd::dict failures, successes; + BOOST_FOREACH(const std::string &key, tests.keys()){ + failures[key] = 0; + successes[key] = 0; + } + + //run the tests, pick at random + for (size_t n = 0; n < ntests; n++){ + std::string key = tests.keys()[std::rand() % tests.size()]; + bool pass = tests[key](sdev); + flush_async_md(sdev); + + //store result + if (pass) successes[key]++; + else failures[key]++; + } + + //print the result summary + std::cout << std::endl << "Summary:" << std::endl << std::endl; + BOOST_FOREACH(const std::string &key, tests.keys()){ + std::cout << boost::format( + "%s -> %3d successes, %3d failures" + ) % key % successes[key] % failures[key] << std::endl; + } //finished std::cout << std::endl << "Done!" << std::endl << std::endl; -- cgit v1.2.3 From c6042a0b317a6f74d2b74b259f14431f5c8246d4 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 13 Oct 2010 14:28:52 -0700 Subject: usrp2: added docs on flow control ricer args and using usrp2 with a switch implemented flow control param hints in the mboard impl --- host/docs/transport.rst | 11 +++++++++++ host/docs/usrp2.rst | 15 +++++++-------- host/lib/usrp/usrp2/mboard_impl.cpp | 22 ++++++++++++++-------- host/lib/usrp/usrp2/usrp2_impl.cpp | 8 +++++--- host/lib/usrp/usrp2/usrp2_impl.hpp | 7 +++++-- host/lib/usrp/usrp2/usrp2_regs.hpp | 8 ++++---- 6 files changed, 46 insertions(+), 25 deletions(-) diff --git a/host/docs/transport.rst b/host/docs/transport.rst index 432db4bb5..2f730f8e4 100644 --- a/host/docs/transport.rst +++ b/host/docs/transport.rst @@ -39,6 +39,17 @@ The following parameters can be used to alter the transport's default behavior: **Note:** num_send_frames and concurrency_hint will not have an effect as the asynchronous send implementation is currently disabled. +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Flow control parameters +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The host-based flow control expects periodic update packets from the device. +These update packets inform the host of the last packet consumed by the device, +which allows the host to determine throttling conditions for the transmission of packets. +The following mechanisms affect the transmission of periodic update packets: + +* **ups_per_fifo:** The number of update packets for each FIFO's worth of bytes sent into the device +* **ups_per_sec:** The number of update packets per second + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Resize socket buffers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/host/docs/usrp2.rst b/host/docs/usrp2.rst index 1ebab388a..8fa666a49 100644 --- a/host/docs/usrp2.rst +++ b/host/docs/usrp2.rst @@ -39,12 +39,10 @@ Use the card burner tool (windows) ------------------------------------------------------------------------ Setup networking ------------------------------------------------------------------------ -The USRP2 only supports gigabit ethernet, and -will not work with a 10/100 Mbps interface. -Because the USRP2 uses gigabit ethernet pause frames for flow control, -you cannot use multiple USRP2s with a switch or a hub. -It is recommended that each USRP2 be plugged directly into its own -dedicated gigabit ethernet interface on the host computer. +The USRP2 only supports gigabit ethernet, +and will not work with a 10/100 Mbps interface. +However, a 10/100 Mbps interface can be connected indirectly +to a USRP2 through a gigabit ethernet switch. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Setup the host interface @@ -63,8 +61,9 @@ It is recommended that you change or disable your firewall settings. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Multiple device configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -As described above, you will need one ethernet interface per USRP2. -Each ethernet interface should have its own subnet, +For maximum throughput, one ethernet interface per USRP2 is recommended, +although multiple devices may be connected via a gigabit ethernet switch. +In any case, each ethernet interface should have its own subnet, and the corresponding USRP2 device should be assigned an address in that subnet. Example: diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index 65066f125..5210eee94 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -39,7 +39,8 @@ usrp2_mboard_impl::usrp2_mboard_impl( size_t index, transport::udp_simple::sptr ctrl_transport, size_t recv_samps_per_packet, - size_t send_bytes_per_packet + size_t send_bytes_per_packet, + const device_addr_t &flow_control_hints ): _index(index), _recv_samps_per_packet(recv_samps_per_packet) @@ -89,11 +90,16 @@ usrp2_mboard_impl::usrp2_mboard_impl( _iface->poke32(U2_REG_TX_CTRL_CLEAR_STATE, 1); //reset _iface->poke32(U2_REG_TX_CTRL_REPORT_SID, 1); //sid 1 (different from rx) _iface->poke32(U2_REG_TX_CTRL_POLICY, U2_FLAG_TX_CTRL_POLICY_NEXT_PACKET); - const size_t cycles_per_ack = size_t(_clock_ctrl->get_master_clock_rate()/100); //100 aps - _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | cycles_per_ack); - static const double sram_frac = 1.0/8.0; //fraction of sram to fill before ack - const size_t packets_per_ack = size_t(usrp2_impl::sram_bytes*sram_frac/send_bytes_per_packet); - _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_ACK, U2_FLAG_TX_CTRL_ACK_ENB | packets_per_ack); + + //setting the cycles per update + const double ups_per_sec = flow_control_hints.cast("ups_per_sec", 100); + const size_t cycles_per_up = size_t(_clock_ctrl->get_master_clock_rate()/ups_per_sec); + _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_UP, U2_FLAG_TX_CTRL_UP_ENB | cycles_per_up); + + //setting the packets per update + const double ups_per_fifo = flow_control_hints.cast("ups_per_fifo", 8); + const size_t packets_per_up = size_t(usrp2_impl::sram_bytes/ups_per_fifo/send_bytes_per_packet); + _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_UP, U2_FLAG_TX_CTRL_UP_ENB | packets_per_up); //init the ddc init_ddc_config(); @@ -116,8 +122,8 @@ usrp2_mboard_impl::usrp2_mboard_impl( } usrp2_mboard_impl::~usrp2_mboard_impl(void){ - _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_ACK, 0); - _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_ACK, 0); + _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_UP, 0); + _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_UP, 0); } /*********************************************************************** diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index 1d9f25019..e271f839c 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -138,7 +138,7 @@ static device::sptr usrp2_make(const device_addr_t &device_addr){ //create the usrp2 implementation guts return device::sptr( - new usrp2_impl(ctrl_transports, data_transports) + new usrp2_impl(ctrl_transports, data_transports, device_addr) ); } @@ -151,7 +151,8 @@ UHD_STATIC_BLOCK(register_usrp2_device){ **********************************************************************/ usrp2_impl::usrp2_impl( std::vector ctrl_transports, - std::vector data_transports + std::vector data_transports, + const device_addr_t &flow_control_hints ): _data_transports(data_transports) { @@ -172,7 +173,8 @@ usrp2_impl::usrp2_impl( _mboards.push_back(usrp2_mboard_impl::sptr(new usrp2_mboard_impl( i, ctrl_transports[i], this->get_max_recv_samps_per_packet(), - _data_transports[i]->get_send_frame_size() + _data_transports[i]->get_send_frame_size(), + flow_control_hints ))); //use an empty name when there is only one mboard std::string name = (ctrl_transports.size() > 1)? boost::lexical_cast(i) : ""; diff --git a/host/lib/usrp/usrp2/usrp2_impl.hpp b/host/lib/usrp/usrp2/usrp2_impl.hpp index 2077b0a50..3aa6e9cd5 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.hpp +++ b/host/lib/usrp/usrp2/usrp2_impl.hpp @@ -85,7 +85,8 @@ public: size_t index, uhd::transport::udp_simple::sptr, size_t recv_samps_per_packet, - size_t send_bytes_per_packet + size_t send_bytes_per_packet, + const uhd::device_addr_t &flow_control_hints ); ~usrp2_mboard_impl(void); @@ -178,10 +179,12 @@ public: * Create a new usrp2 impl base. * \param ctrl_transports the udp transports for control * \param data_transports the udp transports for data + * \param flow_control_hints optional flow control params */ usrp2_impl( std::vector ctrl_transports, - std::vector data_transports + std::vector data_transports, + const uhd::device_addr_t &flow_control_hints ); ~usrp2_impl(void); diff --git a/host/lib/usrp/usrp2/usrp2_regs.hpp b/host/lib/usrp/usrp2/usrp2_regs.hpp index bdd5194f9..c3a4d22de 100644 --- a/host/lib/usrp/usrp2/usrp2_regs.hpp +++ b/host/lib/usrp/usrp2/usrp2_regs.hpp @@ -193,14 +193,14 @@ #define U2_REG_TX_CTRL_CLEAR_STATE _SR_ADDR(SR_TX_CTRL + 1) #define U2_REG_TX_CTRL_REPORT_SID _SR_ADDR(SR_TX_CTRL + 2) #define U2_REG_TX_CTRL_POLICY _SR_ADDR(SR_TX_CTRL + 3) -#define U2_REG_TX_CTRL_CYCLES_PER_ACK _SR_ADDR(SR_TX_CTRL + 4) -#define U2_REG_TX_CTRL_PACKETS_PER_ACK _SR_ADDR(SR_TX_CTRL + 5) +#define U2_REG_TX_CTRL_CYCLES_PER_UP _SR_ADDR(SR_TX_CTRL + 4) +#define U2_REG_TX_CTRL_PACKETS_PER_UP _SR_ADDR(SR_TX_CTRL + 5) #define U2_FLAG_TX_CTRL_POLICY_WAIT (0x1 << 0) #define U2_FLAG_TX_CTRL_POLICY_NEXT_PACKET (0x1 << 1) #define U2_FLAG_TX_CTRL_POLICY_NEXT_BURST (0x1 << 2) -//enable flag for registers: cycles and packets per ack -#define U2_FLAG_TX_CTRL_ACK_ENB (1ul << 31) +//enable flag for registers: cycles and packets per update packet +#define U2_FLAG_TX_CTRL_UP_ENB (1ul << 31) #endif /* INCLUDED_USRP2_REGS_HPP */ -- cgit v1.2.3 From c25fd486f82d646cf8a08582c6e7105fd3c58c45 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 13 Oct 2010 15:01:45 -0700 Subject: udp: fix to use concurrency hint, default hint is zero when no async enabled --- host/lib/transport/udp_zero_copy_asio.cpp | 31 ++++++++++++++++++++----------- host/lib/usrp/usrp2/io_impl.cpp | 1 + 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/host/lib/transport/udp_zero_copy_asio.cpp b/host/lib/transport/udp_zero_copy_asio.cpp index d84aeefdd..938ae4473 100644 --- a/host/lib/transport/udp_zero_copy_asio.cpp +++ b/host/lib/transport/udp_zero_copy_asio.cpp @@ -59,16 +59,23 @@ static const size_t DEFAULT_NUM_RECV_FRAMES = 32; #else static const size_t DEFAULT_NUM_RECV_FRAMES = MIN_RECV_SOCK_BUFF_SIZE/udp_simple::mtu; #endif + //The non-async send only ever requires a single frame //because the buffer will be committed before a new get. #ifdef USE_ASIO_ASYNC_SEND static const size_t DEFAULT_NUM_SEND_FRAMES = 32; #else -static const size_t DEFAULT_NUM_SEND_FRAMES = MIN_SEND_SOCK_BUFF_SIZE/udp_simple::mtu;; +static const size_t DEFAULT_NUM_SEND_FRAMES = MIN_SEND_SOCK_BUFF_SIZE/udp_simple::mtu; #endif -//a single concurrent thread for io_service seems to be the fastest +//The number of service threads to spawn for async ASIO: +//A single concurrent thread for io_service seems to be the fastest. +//Threads are disabled when no async implementations are enabled. +#if defined(USE_ASIO_ASYNC_RECV) || defined(USE_ASIO_ASYNC_SEND) static const size_t CONCURRENCY_HINT = 1; +#else +static const size_t CONCURRENCY_HINT = 0; +#endif /*********************************************************************** * Zero Copy UDP implementation with ASIO: @@ -86,11 +93,12 @@ public: const std::string &port, const device_addr_t &hints ): - _io_service(hints.cast("concurrency_hint", CONCURRENCY_HINT)), _recv_frame_size(size_t(hints.cast("recv_frame_size", udp_simple::mtu))), _num_recv_frames(size_t(hints.cast("num_recv_frames", DEFAULT_NUM_RECV_FRAMES))), _send_frame_size(size_t(hints.cast("send_frame_size", udp_simple::mtu))), - _num_send_frames(size_t(hints.cast("num_send_frames", DEFAULT_NUM_SEND_FRAMES))) + _num_send_frames(size_t(hints.cast("num_send_frames", DEFAULT_NUM_SEND_FRAMES))), + _concurrency_hint(hints.cast("concurrency_hint", CONCURRENCY_HINT)), + _io_service(_concurrency_hint) { //std::cout << boost::format("Creating udp transport for %s %s") % addr % port << std::endl; @@ -129,7 +137,7 @@ public: //spawn the service threads that will run the io service _work = new asio::io_service::work(_io_service); //new work to delete later - for (size_t i = 0; i < CONCURRENCY_HINT; i++) _thread_group.create_thread( + for (size_t i = 0; i < _concurrency_hint; i++) _thread_group.create_thread( boost::bind(&udp_zero_copy_asio_impl::service, this) ); } @@ -292,12 +300,6 @@ public: size_t get_send_frame_size(void) const {return _send_frame_size;} private: - //asio guts -> socket and service - asio::ip::udp::socket *_socket; - asio::io_service _io_service; - asio::io_service::work *_work; - int _sock_fd; - //memory management -> buffers and fifos boost::thread_group _thread_group; boost::shared_array _send_buffer, _recv_buffer; @@ -305,6 +307,13 @@ private: pending_buffs_type::sptr _pending_recv_buffs, _pending_send_buffs; const size_t _recv_frame_size, _num_recv_frames; const size_t _send_frame_size, _num_send_frames; + + //asio guts -> socket and service + size_t _concurrency_hint; + asio::io_service _io_service; + asio::ip::udp::socket *_socket; + asio::io_service::work *_work; + int _sock_fd; }; /*********************************************************************** diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index d6f7e8476..25fd1c484 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -69,6 +69,7 @@ public: * \return false on timeout */ UHD_INLINE bool check_fc_condition(seq_type seq, double timeout){ + boost::this_thread::disable_interruption di; //disable because the wait can throw boost::unique_lock lock(_fc_mutex); _last_seq_out = seq; return _fc_cond.timed_wait( -- cgit v1.2.3 From 376e22ca3bf25c8d6bb53cd987b245e5b79860f9 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Wed, 13 Oct 2010 18:38:54 -0700 Subject: usrp2: handle destination port unreachable icmp in fw (kills streaming and update packets) --- firmware/microblaze/lib/net_common.c | 11 ++++++++++- firmware/microblaze/usrp2/memory_map.h | 3 +++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/firmware/microblaze/lib/net_common.c b/firmware/microblaze/lib/net_common.c index 6c9509c92..0efb26639 100644 --- a/firmware/microblaze/lib/net_common.c +++ b/firmware/microblaze/lib/net_common.c @@ -291,8 +291,17 @@ handle_icmp_packet(struct ip_addr src, struct ip_addr dst, { switch (icmp->type){ case ICMP_DUR: // Destinatino Unreachable - //stop_streaming(); //FIXME if (icmp->code == ICMP_DUR_PORT){ // port unreachable + //handle destination port unreachable (the host ctrl+c'd the app): + + //end async update packets per second + sr_tx_ctrl->cyc_per_up = 0; + + //the end continuous streaming command + sr_rx_ctrl->cmd = (1 << 31) | 1; //one sample, asap + sr_rx_ctrl->time_secs = 0; + sr_rx_ctrl->time_ticks = 0; //latch the command + //struct udp_hdr *udp = (struct udp_hdr *)((char *)icmp + 28); //printf("icmp port unr %d\n", udp->dest); putchar('i'); diff --git a/firmware/microblaze/usrp2/memory_map.h b/firmware/microblaze/usrp2/memory_map.h index 41a2820bc..e7f41bc8d 100644 --- a/firmware/microblaze/usrp2/memory_map.h +++ b/firmware/microblaze/usrp2/memory_map.h @@ -463,6 +463,9 @@ typedef struct { typedef struct { volatile uint32_t num_chan; volatile uint32_t clear_state; // clears out state machine, fifos, + volatile uint32_t report_sid; + volatile uint32_t policy; + volatile uint32_t cyc_per_up; } sr_tx_ctrl_t; #define sr_tx_ctrl ((sr_tx_ctrl_t *) _SR_ADDR(SR_TX_CTRL)) -- cgit v1.2.3 From 4582a2deb385c0a4849f5d20c44a5469779bcbb2 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 14 Oct 2010 11:51:48 -0700 Subject: usrp2: move udp port initialization into mboard impl so its done before async registers are setup --- host/lib/usrp/usrp2/io_impl.cpp | 10 ---------- host/lib/usrp/usrp2/mboard_impl.cpp | 16 ++++++++++++++-- host/lib/usrp/usrp2/usrp2_impl.cpp | 3 +-- host/lib/usrp/usrp2/usrp2_impl.hpp | 2 +- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 25fd1c484..8314cf9ae 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -242,16 +242,6 @@ void usrp2_impl::io_impl::recv_pirate_loop( * Helper Functions **********************************************************************/ void usrp2_impl::io_init(void){ - //send a small data packet so the usrp2 knows the udp source port - BOOST_FOREACH(zero_copy_if::sptr data_transport, _data_transports){ - managed_send_buffer::sptr send_buff = data_transport->get_send_buff(); - static const boost::uint32_t data[2] = { - uhd::htonx(boost::uint32_t(0 /* don't care seq num */)), - uhd::htonx(boost::uint32_t(USRP2_INVALID_VRT_HEADER)) - }; - std::memcpy(send_buff->cast(), &data, sizeof(data)); - send_buff->commit(sizeof(data)); - } //the assumption is that all data transports should be identical const size_t num_recv_frames = _data_transports.front()->get_num_recv_frames(); diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index 5210eee94..8f3ae5c1b 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -38,13 +39,24 @@ using namespace uhd::usrp; usrp2_mboard_impl::usrp2_mboard_impl( size_t index, transport::udp_simple::sptr ctrl_transport, + transport::zero_copy_if::sptr data_transport, size_t recv_samps_per_packet, - size_t send_bytes_per_packet, const device_addr_t &flow_control_hints ): _index(index), _recv_samps_per_packet(recv_samps_per_packet) { + //Send a small data packet so the usrp2 knows the udp source port. + //This setup must happen before further initialization occurs + //or the async update packets will cause ICMP destination unreachable. + transport::managed_send_buffer::sptr send_buff = data_transport->get_send_buff(); + static const boost::uint32_t data[2] = { + uhd::htonx(boost::uint32_t(0 /* don't care seq num */)), + uhd::htonx(boost::uint32_t(USRP2_INVALID_VRT_HEADER)) + }; + std::memcpy(send_buff->cast(), &data, sizeof(data)); + send_buff->commit(sizeof(data)); + //make a new interface for usrp2 stuff _iface = usrp2_iface::make(ctrl_transport); @@ -98,7 +110,7 @@ usrp2_mboard_impl::usrp2_mboard_impl( //setting the packets per update const double ups_per_fifo = flow_control_hints.cast("ups_per_fifo", 8); - const size_t packets_per_up = size_t(usrp2_impl::sram_bytes/ups_per_fifo/send_bytes_per_packet); + const size_t packets_per_up = size_t(usrp2_impl::sram_bytes/ups_per_fifo/data_transport->get_send_frame_size()); _iface->poke32(U2_REG_TX_CTRL_PACKETS_PER_UP, U2_FLAG_TX_CTRL_UP_ENB | packets_per_up); //init the ddc diff --git a/host/lib/usrp/usrp2/usrp2_impl.cpp b/host/lib/usrp/usrp2/usrp2_impl.cpp index e271f839c..afc69f703 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.cpp +++ b/host/lib/usrp/usrp2/usrp2_impl.cpp @@ -171,9 +171,8 @@ usrp2_impl::usrp2_impl( //create a new mboard handler for each control transport for(size_t i = 0; i < ctrl_transports.size(); i++){ _mboards.push_back(usrp2_mboard_impl::sptr(new usrp2_mboard_impl( - i, ctrl_transports[i], + i, ctrl_transports[i], data_transports[i], this->get_max_recv_samps_per_packet(), - _data_transports[i]->get_send_frame_size(), flow_control_hints ))); //use an empty name when there is only one mboard diff --git a/host/lib/usrp/usrp2/usrp2_impl.hpp b/host/lib/usrp/usrp2/usrp2_impl.hpp index 3aa6e9cd5..2531bd6cb 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.hpp +++ b/host/lib/usrp/usrp2/usrp2_impl.hpp @@ -84,8 +84,8 @@ public: usrp2_mboard_impl( size_t index, uhd::transport::udp_simple::sptr, + uhd::transport::zero_copy_if::sptr, size_t recv_samps_per_packet, - size_t send_bytes_per_packet, const uhd::device_addr_t &flow_control_hints ); ~usrp2_mboard_impl(void); -- cgit v1.2.3 From 71e1763332141603e9edba097fd19b00e9a76ab8 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Thu, 14 Oct 2010 16:51:47 -0700 Subject: uhd: removed 1 sample buffers in test async messages made a hack in the vrt handler to bump 0 sample requests up to 1 sample (until the hardware supports it) --- host/examples/test_async_messages.cpp | 8 ++------ host/lib/transport/vrt_packet_handler.hpp | 13 +++++++++++-- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/host/examples/test_async_messages.cpp b/host/examples/test_async_messages.cpp index bdee7a504..61db7ec04 100644 --- a/host/examples/test_async_messages.cpp +++ b/host/examples/test_async_messages.cpp @@ -93,10 +93,8 @@ bool test_underflow_message(uhd::usrp::single_usrp::sptr sdev){ md.end_of_burst = false; md.has_time_spec = false; - std::vector > buff(1); //minimum 1 sample - dev->send( - &buff.front(), buff.size(), md, + NULL, 0, md, uhd::io_type_t::COMPLEX_FLOAT32, uhd::device::SEND_MODE_FULL_BUFF ); @@ -144,10 +142,8 @@ bool test_time_error_message(uhd::usrp::single_usrp::sptr sdev){ sdev->set_time_now(uhd::time_spec_t(200.0)); //time at 200s - std::vector > buff(1); //minimum 1 sample - dev->send( - &buff.front(), buff.size(), md, + NULL, 0, md, uhd::io_type_t::COMPLEX_FLOAT32, uhd::device::SEND_MODE_FULL_BUFF ); diff --git a/host/lib/transport/vrt_packet_handler.hpp b/host/lib/transport/vrt_packet_handler.hpp index d5f03de0e..278bcfeaa 100644 --- a/host/lib/transport/vrt_packet_handler.hpp +++ b/host/lib/transport/vrt_packet_handler.hpp @@ -388,10 +388,19 @@ template UHD_INLINE T get_context_code( if_packet_info.sob = metadata.start_of_burst; if_packet_info.eob = metadata.end_of_burst; + //TODO remove this code when sample counts of zero are supported by hardware + std::vector buffs_(buffs); + size_t total_num_samps_(total_num_samps); + if (total_num_samps == 0){ + static const boost::uint64_t zeros = 0; //max size of a host sample + buffs_ = std::vector(buffs.size(), &zeros); + total_num_samps_ = 1; + } + return _send1( state, - buffs, 0, - std::min(total_num_samps, max_samples_per_packet), + buffs_, 0, + std::min(total_num_samps_, max_samples_per_packet), if_packet_info, io_type, otw_type, vrt_packer, -- cgit v1.2.3 From 972fae172ae30323ed57795ca5a4aad790bac7f9 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 15 Oct 2010 14:37:26 -0700 Subject: usrp2: temp fix to send dummy packets and flush so FPGA vita machine are in known state --- host/lib/usrp/usrp2/io_impl.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 8314cf9ae..00061ae47 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -241,6 +241,8 @@ void usrp2_impl::io_impl::recv_pirate_loop( /*********************************************************************** * Helper Functions **********************************************************************/ +#include //TODO remove when hack below is fixed + void usrp2_impl::io_init(void){ //the assumption is that all data transports should be identical @@ -250,6 +252,30 @@ void usrp2_impl::io_init(void){ //create new io impl _io_impl = UHD_PIMPL_MAKE(io_impl, (num_recv_frames, send_frame_size, _data_transports.size())); + //TODO temporary fix for weird power up state, remove when FPGA fixed + { + //send an initial packet to all transports + tx_metadata_t md; md.end_of_burst = true; + this->send( + std::vector(_data_transports.size(), NULL), 0, md, + io_type_t::COMPLEX_FLOAT32, device::SEND_MODE_ONE_PACKET, 0 + ); + + //issue a stream command to each motherboard + BOOST_FOREACH(usrp2_mboard_impl::sptr mboard, _mboards){ + (*mboard)[MBOARD_PROP_STREAM_CMD] = stream_cmd_t(stream_cmd_t::STREAM_MODE_START_CONTINUOUS); + (*mboard)[MBOARD_PROP_STREAM_CMD] = stream_cmd_t(stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS); + } + + //wait + boost::this_thread::sleep(boost::posix_time::milliseconds(100)); + + //flush all transport receive queues (no timeout) + BOOST_FOREACH(zero_copy_if::sptr xport, _data_transports){ + while(xport->get_recv_buff(0).get() != NULL){}; + } + } + //create a new pirate thread for each zc if (yarr!!) for (size_t i = 0; i < _data_transports.size(); i++){ _io_impl->recv_pirate_crew.create_thread(boost::bind( -- cgit v1.2.3 From a2abd6bc615cb63e585e7fafa9ea8491bb25f5b5 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 15 Oct 2010 17:05:45 -0700 Subject: usrp2: dont need to start streaming for this hack --- host/lib/usrp/usrp2/io_impl.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 00061ae47..95a627266 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -263,7 +263,6 @@ void usrp2_impl::io_init(void){ //issue a stream command to each motherboard BOOST_FOREACH(usrp2_mboard_impl::sptr mboard, _mboards){ - (*mboard)[MBOARD_PROP_STREAM_CMD] = stream_cmd_t(stream_cmd_t::STREAM_MODE_START_CONTINUOUS); (*mboard)[MBOARD_PROP_STREAM_CMD] = stream_cmd_t(stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS); } -- cgit v1.2.3 From c32f4fbc8973633280249399d5d5a937ef0f1f3e Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 21 Oct 2010 13:08:23 -0700 Subject: should combine the randomizer with flow_control --- usrp2/extramfifo/Makefile.srcs | 1 + usrp2/extramfifo/ext_fifo.v | 125 ++++++++++++++++++++++++----------- usrp2/extramfifo/ext_fifo_tb.sav | 30 +++++++++ usrp2/extramfifo/ext_fifo_tb.v | 103 ++++++++++++++++++++--------- usrp2/extramfifo/refill_randomizer.v | 66 ++++++++++++++++++ 5 files changed, 254 insertions(+), 71 deletions(-) create mode 100644 usrp2/extramfifo/ext_fifo_tb.sav create mode 100644 usrp2/extramfifo/refill_randomizer.v diff --git a/usrp2/extramfifo/Makefile.srcs b/usrp2/extramfifo/Makefile.srcs index 7cd49f4f6..b255ef916 100644 --- a/usrp2/extramfifo/Makefile.srcs +++ b/usrp2/extramfifo/Makefile.srcs @@ -13,4 +13,5 @@ icon.v \ icon.xco \ ila.v \ ila.xco \ +refill_randomizer.v \ )) diff --git a/usrp2/extramfifo/ext_fifo.v b/usrp2/extramfifo/ext_fifo.v index 2af59a75d..6888617a7 100644 --- a/usrp2/extramfifo/ext_fifo.v +++ b/usrp2/extramfifo/ext_fifo.v @@ -18,7 +18,7 @@ //`define NO_EXT_FIFO module ext_fifo - #(parameter INT_WIDTH=36,EXT_WIDTH=18,RAM_DEPTH=19,FIFO_DEPTH=19) + #(parameter INT_WIDTH=36,EXT_WIDTH=18,RAM_DEPTH=19,FIFO_DEPTH=19) ( input int_clk, input ext_clk, @@ -44,34 +44,29 @@ module ext_fifo wire [EXT_WIDTH-1:0] write_data; wire [EXT_WIDTH-1:0] read_data; - wire full1, empty1; - wire almost_full2, full2, empty2; + wire full1, empty1; + wire almost_full2, full2, empty2; wire [INT_WIDTH-1:0] data_to_fifo; wire [INT_WIDTH-1:0] data_from_fifo; wire [FIFO_DEPTH-1:0] capacity; - + wire space_avail; + wire data_avail; + + // These next 2 lines here purely because ICARUS is crap at handling generate statements. + // Empirically this has been determined to make simulations work. + wire read_input_fifo = space_avail & ~empty1; + wire write_output_fifo = data_avail; - // FIFO buffers data from UDP engine into external FIFO clock domain. - fifo_xlnx_512x36_2clk_36to18 fifo_xlnx_512x36_2clk_36to18_i1 ( - .rst(rst), - .wr_clk(int_clk), - .rd_clk(ext_clk), - .din(datain), // Bus [35 : 0] - .wr_en(src_rdy_i), - .rd_en(space_avail&~empty1), - .dout(write_data), // Bus [17 : 0] - .full(full1), - .empty(empty1)); - - assign dst_rdy_o = ~full1; + assign src_rdy_o = ~empty2; + assign dst_rdy_o = ~full1; `ifdef NO_EXT_FIFO - assign space_avail = ~full2; - assign data_avail = ~empty1; - assign read_data = write_data; + assign space_avail = ~full2; + assign data_avail = ~empty1; + assign read_data = write_data; `else - // External FIFO running at ext clock rate and 18 bit width. + // External FIFO running at ext clock rate and 18 or 36 bit width. nobl_fifo #(.WIDTH(EXT_WIDTH),.RAM_DEPTH(RAM_DEPTH),.FIFO_DEPTH(FIFO_DEPTH)) nobl_fifo_i1 ( @@ -90,27 +85,80 @@ module ext_fifo .write_strobe(~empty1 ), .space_avail(space_avail), .read_data(read_data), - .read_strobe(~almost_full2), + .read_strobe(~almost_full2_spread), .data_avail(data_avail), .capacity(capacity) ); `endif // !`ifdef NO_EXT_FIFO + + + generate + if (EXT_WIDTH == 18 && INT_WIDTH == 36) begin: fifo_g1 + // FIFO buffers data from UDP engine into external FIFO clock domain. + fifo_xlnx_512x36_2clk_36to18 fifo_xlnx_512x36_2clk_36to18_i1 ( + .rst(rst), + .wr_clk(int_clk), + .rd_clk(ext_clk), + .din(datain), // Bus [35 : 0] + .wr_en(src_rdy_i), + .rd_en(read_input_fifo), + .dout(write_data), // Bus [17 : 0] + .full(full1), + .empty(empty1)); + + + // FIFO buffers data read from external FIFO into DSP clk domain and to TX DSP. + fifo_xlnx_512x36_2clk_18to36 fifo_xlnx_512x36_2clk_18to36_i1 ( + .rst(rst), + .wr_clk(ext_clk), + .rd_clk(int_clk), + .din(read_data), // Bus [17 : 0] + .wr_en(write_output_fifo), + .rd_en(dst_rdy_i), + .dout(dataout), // Bus [35 : 0] + .full(full2), + .prog_full(almost_full2), + .empty(empty2)); + end // block: fifo_g1 + else if (EXT_WIDTH == 36 && INT_WIDTH == 36) begin: fifo_g1 + // FIFO buffers data from UDP engine into external FIFO clock domain. + fifo_xlnx_32x36_2clk fifo_xlnx_32x36_2clk_i1 ( + .rst(rst), + .wr_clk(int_clk), + .rd_clk(ext_clk), + .din(datain), // Bus [35 : 0] + .wr_en(src_rdy_i), + .rd_en(read_input_fifo), + .dout(write_data), // Bus [35 : 0] + .full(full1), + .empty(empty1)); + + // FIFO buffers data read from external FIFO into DSP clk domain and to TX DSP. + fifo_xlnx_32x36_2clk fifo_xlnx_32x36_2clk_i2 ( + .rst(rst), + .wr_clk(ext_clk), + .rd_clk(int_clk), + .din(read_data), // Bus [35 : 0] + .wr_en(write_output_fifo), + .rd_en(dst_rdy_i), + .dout(dataout), // Bus [35 : 0] + .full(full2), + .empty(empty2), + .prog_full(almost_full2)); + + end + endgenerate - - // FIFO buffers data read from external FIFO into DSP clk domain and to TX DSP. - fifo_xlnx_512x36_2clk_18to36 fifo_xlnx_512x36_2clk_18to36_i1 ( - .rst(rst), - .wr_clk(ext_clk), - .rd_clk(int_clk), - .din(read_data), // Bus [17 : 0] - .wr_en(data_avail), - .rd_en(dst_rdy_i), - .dout(dataout), // Bus [35 : 0] - .full(full2), - .prog_full(almost_full2), - .empty(empty2)); - assign src_rdy_o = ~empty2; + refill_randomizer #(.BITS(7)) + refill_randomizer_i1 ( + .clk(ext_clk), + .rst(rst), + .full_in(almost_full2), + .full_out(almost_full2_spread) + ); + + always @ (posedge int_clk) debug[31:28] <= {empty2,full1,dst_rdy_i,src_rdy_i }; @@ -118,6 +166,7 @@ module ext_fifo debug[27:0] <= {RAM_WEn,RAM_CE1n,RAM_A[3:0],read_data[17:0],empty1,space_avail,data_avail,almost_full2 }; always@ (posedge ext_clk) -// debug2[31:0] <= {write_data[15:0],read_data[15:0]}; - debug2[31:0] <= 0; + // debug2[31:0] <= {write_data[15:0],read_data[15:0]}; + debug2[31:0] <= 0; + endmodule // ext_fifo diff --git a/usrp2/extramfifo/ext_fifo_tb.sav b/usrp2/extramfifo/ext_fifo_tb.sav new file mode 100644 index 000000000..a54b40fc5 --- /dev/null +++ b/usrp2/extramfifo/ext_fifo_tb.sav @@ -0,0 +1,30 @@ +[timestart] 0 +[size] 1523 832 +[pos] -1 -1 +*-15.000000 66300 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[treeopen] ext_fifo_tb. +[treeopen] ext_fifo_tb.ext_fifo_i1. +[treeopen] ext_fifo_tb.ext_fifo_i1.nobl_fifo_i1. +@28 +ext_fifo_tb.ext_fifo_i1.src_rdy_i +ext_fifo_tb.ext_fifo_i1.dst_rdy_o +@22 +ext_fifo_tb.ext_fifo_i1.datain[35:0] +@28 +ext_fifo_tb.ext_fifo_i1.src_rdy_o +ext_fifo_tb.ext_fifo_i1.dst_rdy_i +@22 +ext_fifo_tb.ext_fifo_i1.dataout[35:0] +ext_fifo_tb.ext_fifo_i1.RAM_A[17:0] +@28 +ext_fifo_tb.ext_fifo_i1.RAM_WEn +ext_fifo_tb.ext_fifo_i1.RAM_CE1n +@22 +ext_fifo_tb.ext_fifo_i1.RAM_D_pi[35:0] +ext_fifo_tb.ext_fifo_i1.RAM_D_po[35:0] +ext_fifo_tb.ext_fifo_i1.write_data[35:0] +@28 +ext_fifo_tb.ext_fifo_i1.full1 +ext_fifo_tb.ext_fifo_i1.empty1 +@29 +ext_fifo_tb.ext_fifo_i1.space_avail diff --git a/usrp2/extramfifo/ext_fifo_tb.v b/usrp2/extramfifo/ext_fifo_tb.v index 0eda89769..395ad2884 100644 --- a/usrp2/extramfifo/ext_fifo_tb.v +++ b/usrp2/extramfifo/ext_fifo_tb.v @@ -1,18 +1,31 @@ `timescale 1ns / 1ps -`define INT_WIDTH 36 -`define EXT_WIDTH 18 -`define RAM_DEPTH 19 -`define FIFO_DEPTH 8 -`define DUMP_VCD_FULL - -module ext_fifo_tb(); +`define USRP2 +//`define USRP2PLUS +`ifdef USRP2 + `define INT_WIDTH 36 + `define EXT_WIDTH 18 + `define RAM_DEPTH 19 + `define FIFO_DEPTH 8 + `define DUMP_VCD_FULL + `define INT_CLK_PERIOD 5 + `define EXT_CLK_PERIOD 4 +`elsif USRP2PLUS + `define INT_WIDTH 36 + `define EXT_WIDTH 36 + `define RAM_DEPTH 18 + `define FIFO_DEPTH 8 + `define DUMP_VCD_FULL + `define INT_CLK_PERIOD 5 + `define EXT_CLK_PERIOD 5 +`endif // `ifdef USRP2 + +module ext_fifo_tb(); + reg int_clk; reg ext_clk; reg rst; - - wire [`EXT_WIDTH-1:0] RAM_D_pi; wire [`EXT_WIDTH-1:0] RAM_D_po; @@ -33,7 +46,6 @@ module ext_fifo_tb(); reg dst_rdy_i; integer ether_frame; - // Clocks // Int clock is 100MHz // Ext clock is 125MHz @@ -47,10 +59,10 @@ module ext_fifo_tb(); end always - #5 int_clk <= ~int_clk; + #(`INT_CLK_PERIOD/2) int_clk <= ~int_clk; always - #4 ext_clk <= ~ext_clk; + #(`EXT_CLK_PERIOD/2) ext_clk <= ~ext_clk; initial begin @@ -270,7 +282,7 @@ module ext_fifo_tb(); // generate - for (i=0;i<18;i=i+1) + for (i=0;i<`EXT_WIDTH;i=i+1) begin : gen_RAM_D_IO IOBUF #( @@ -309,28 +321,53 @@ module ext_fifo_tb(); assign #2 RAM_A_ext = RAM_A; - - idt71v65603s150 idt71v65603s150_i1 - ( - .A(RAM_A_ext[17:0]), - .adv_ld_(RAM_LDn_ext), // advance (high) / load (low) - .bw1_(1'b0), - .bw2_(1'b0), - .bw3_(1'b1), - .bw4_(1'b1), // byte write enables (low) - .ce1_(RAM_CE1n_ext), - .ce2(1'b1), - .ce2_(1'b0), // chip enables - .cen_(RAM_CENn_ext), // clock enable (low) - .clk(ext_clk), // clock - .IO({RAM_D[16:9],RAM_D[7:0]}), - .IOP({RAM_D[17],RAM_D[8]}), // data bus - .lbo_(1'b0), // linear burst order (low) - .oe_(RAM_OEn_ext), // output enable (low) - .r_w_(RAM_WEn_ext) - ); // read (high) / write (low) + generate + if (`EXT_WIDTH==18) begin: ram_tb_g1 + idt71v65603s150 idt71v65603s150_i1 + ( + .A(RAM_A_ext[17:0]), + .adv_ld_(RAM_LDn_ext), // advance (high) / load (low) + .bw1_(1'b0), + .bw2_(1'b0), + .bw3_(1'b1), + .bw4_(1'b1), // byte write enables (low) + .ce1_(RAM_CE1n_ext), + .ce2(1'b1), + .ce2_(1'b0), // chip enables + .cen_(RAM_CENn_ext), // clock enable (low) + .clk(ext_clk), // clock + .IO({RAM_D[16:9],RAM_D[7:0]}), + .IOP({RAM_D[17],RAM_D[8]}), // data bus + .lbo_(1'b0), // linear burst order (low) + .oe_(RAM_OEn_ext), // output enable (low) + .r_w_(RAM_WEn_ext) + ); // read (high) / write (low) + end // block: ram_tb_g1 + else if (`EXT_WIDTH==36) begin: ram_tb_g1 + idt71v65603s150 idt71v65603s150_i1 + ( + .A(RAM_A_ext[17:0]), + .adv_ld_(RAM_LDn_ext), // advance (high) / load (low) + .bw1_(1'b0), + .bw2_(1'b0), + .bw3_(1'b0), + .bw4_(1'b0), // byte write enables (low) + .ce1_(RAM_CE1n_ext), + .ce2(1'b1), + .ce2_(1'b0), // chip enables + .cen_(RAM_CENn_ext), // clock enable (low) + .clk(ext_clk), // clock + .IO(RAM_D[31:0]), + .IOP(RAM_D[35:32]), // data bus + .lbo_(1'b0), // linear burst order (low) + .oe_(RAM_OEn_ext), // output enable (low) + .r_w_(RAM_WEn_ext) + ); // read (high) / write (low) + end // block: ram_tb_g1 + endgenerate + /* -----\/----- EXCLUDED -----\/----- diff --git a/usrp2/extramfifo/refill_randomizer.v b/usrp2/extramfifo/refill_randomizer.v new file mode 100644 index 000000000..0b30f4049 --- /dev/null +++ b/usrp2/extramfifo/refill_randomizer.v @@ -0,0 +1,66 @@ +// +// EMI mitigation. +// Process FULL flag from FIFO so that de-assertion +// (FIFO now not FULL) is delayed by a pseudo random +// value, but assertion is passed straight through. +// + + +module refill_randomizer + #(parameter BITS=7) + ( + input clk, + input rst, + input full_in, + output full_out + ); + + wire feedback; + reg full_last; + wire full_deasserts; + reg [6:0] shift_reg; + reg [6:0] count; + reg delayed_fall; + + + always @(posedge clk) + full_last <= full_in; + + assign full_deasserts = full_last & ~full_in; + + // 7 bit LFSR + always @(posedge clk) + if (rst) + shift_reg <= 7'b1; + else + if (full_deasserts) + shift_reg <= {shift_reg[5:0],feedback}; + + assign feedback = ^(shift_reg & 7'h41); + + always @(posedge clk) + if (rst) + begin + count <= 1; + delayed_fall <= 1; + end + else if (full_deasserts) + begin + count <= shift_reg; + delayed_fall <= 1; + end + else if (count == 1) + begin + count <= 1; + delayed_fall <= 0; + end + else + begin + count <= count - 1; + delayed_fall <= 1; + end + + // Full_out goes instantly high if full_in does. However its fall is delayed. + assign full_out = (full_in == 1) || (full_last == 1) || delayed_fall; + +endmodule \ No newline at end of file -- cgit v1.2.3 From cd0f9cf58a87866d27ece0a47f85896a9f3ff705 Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 21 Oct 2010 13:10:28 -0700 Subject: slow slew rate and lower drive to 8ma on RAM_XX signals to reduce emi --- usrp2/top/u2_rev3/u2_rev3.ucf | 86 +++++++++++++++++++++---------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/usrp2/top/u2_rev3/u2_rev3.ucf b/usrp2/top/u2_rev3/u2_rev3.ucf index 6e0caedd5..deaeecb53 100644 --- a/usrp2/top/u2_rev3/u2_rev3.ucf +++ b/usrp2/top/u2_rev3/u2_rev3.ucf @@ -74,49 +74,49 @@ NET "MDC" LOC = "V18" ; NET "PHY_INTn" LOC = "AB13" ; NET "PHY_RESETn" LOC = "AA19" ; NET "PHY_CLK" LOC = "V15" ; -NET "RAM_D[0]" LOC = "N20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[1]" LOC = "N21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[2]" LOC = "N22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[3]" LOC = "M17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[4]" LOC = "M18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[5]" LOC = "M19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[6]" LOC = "M20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[7]" LOC = "M21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[8]" LOC = "M22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[9]" LOC = "Y22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[10]" LOC = "Y21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[11]" LOC = "Y20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[12]" LOC = "Y19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[13]" LOC = "W22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[14]" LOC = "W21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[15]" LOC = "W20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[16]" LOC = "W19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_D[17]" LOC = "V22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[0]" LOC = "U21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[1]" LOC = "T19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[2]" LOC = "V21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[3]" LOC = "V20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[4]" LOC = "T20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[5]" LOC = "T21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[6]" LOC = "T22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[7]" LOC = "T18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[8]" LOC = "R18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[9]" LOC = "P19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[10]" LOC = "P21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[11]" LOC = "P22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[12]" LOC = "N19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[13]" LOC = "N17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[14]" LOC = "N18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[15]" LOC = "T17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[16]" LOC = "U19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[17]" LOC = "U18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_A[18]" LOC = "V19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_CE1n" LOC = "U20" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_CENn" LOC = "P18" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_CLK" LOC = "P17" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_WEn" LOC = "R22" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_OEn" LOC = "R21" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; -NET "RAM_LDn" LOC = "R19" |IOSTANDARD = LVCMOS25 |DRIVE = 12 |SLEW = FAST ; +NET "RAM_D[0]" LOC = "N20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[1]" LOC = "N21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[2]" LOC = "N22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[3]" LOC = "M17" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[4]" LOC = "M18" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[5]" LOC = "M19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[6]" LOC = "M20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[7]" LOC = "M21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[8]" LOC = "M22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[9]" LOC = "Y22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[10]" LOC = "Y21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[11]" LOC = "Y20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[12]" LOC = "Y19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[13]" LOC = "W22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[14]" LOC = "W21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[15]" LOC = "W20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[16]" LOC = "W19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_D[17]" LOC = "V22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[0]" LOC = "U21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[1]" LOC = "T19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[2]" LOC = "V21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[3]" LOC = "V20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[4]" LOC = "T20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[5]" LOC = "T21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[6]" LOC = "T22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[7]" LOC = "T18" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[8]" LOC = "R18" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[9]" LOC = "P19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[10]" LOC = "P21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[11]" LOC = "P22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[12]" LOC = "N19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[13]" LOC = "N17" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[14]" LOC = "N18" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[15]" LOC = "T17" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[16]" LOC = "U19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[17]" LOC = "U18" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_A[18]" LOC = "V19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_CE1n" LOC = "U20" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_CENn" LOC = "P18" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_CLK" LOC = "P17" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_WEn" LOC = "R22" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_OEn" LOC = "R21" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; +NET "RAM_LDn" LOC = "R19" |IOSTANDARD = LVCMOS25 |DRIVE = 8 |SLEW = SLOW ; NET "ser_enable" LOC = "W11" ; NET "ser_prbsen" LOC = "AA3" ; NET "ser_loopen" LOC = "Y4" ; -- cgit v1.2.3 From 9a687bdb82eeb5f5133146bb3af6800d8435c75d Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 21 Oct 2010 15:14:37 -0700 Subject: address gray coding --- usrp2/extramfifo/nobl_if.v | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/usrp2/extramfifo/nobl_if.v b/usrp2/extramfifo/nobl_if.v index 391a841e8..a8303deca 100644 --- a/usrp2/extramfifo/nobl_if.v +++ b/usrp2/extramfifo/nobl_if.v @@ -39,6 +39,12 @@ module nobl_if assign RAM_LDn = 0; // ZBT/NoBL RAM actually manages its own output enables very well. assign RAM_OEn = 0; + + // gray code the address to reduce EMI + wire [WIDTH-1:0] address_gray; + + bin2gray #(.WIDTH(WIDTH)) bin2gray (.bin(address),.gray(address_gray)); + // // Pipeline stage 1 @@ -59,7 +65,7 @@ module nobl_if if (enable) begin - address_pipe1 <= address; + address_pipe1 <= address_gray; write_pipe1 <= write; RAM_WEn <= ~write; // Creates IOB flob -- cgit v1.2.3 From f14e7eb89b09e6fc4b1619c9ec255ebad3fa2aed Mon Sep 17 00:00:00 2001 From: Matt Ettus Date: Thu, 21 Oct 2010 21:10:08 -0700 Subject: the width of the address bus is called DEPTH, not WIDTH... --- usrp2/extramfifo/nobl_if.v | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/usrp2/extramfifo/nobl_if.v b/usrp2/extramfifo/nobl_if.v index a8303deca..adf9f165b 100644 --- a/usrp2/extramfifo/nobl_if.v +++ b/usrp2/extramfifo/nobl_if.v @@ -41,9 +41,9 @@ module nobl_if assign RAM_OEn = 0; // gray code the address to reduce EMI - wire [WIDTH-1:0] address_gray; + wire [DEPTH-1:0] address_gray; - bin2gray #(.WIDTH(WIDTH)) bin2gray (.bin(address),.gray(address_gray)); + bin2gray #(.WIDTH(DEPTH)) bin2gray (.bin(address),.gray(address_gray)); // -- cgit v1.2.3 From 960078083c602685a8680e68bbd82bbf8956828c Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 22 Oct 2010 16:50:23 -0700 Subject: images: remove exe bit left by some build processes --- images/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/images/Makefile b/images/Makefile index 57277e787..a2e3d945b 100644 --- a/images/Makefile +++ b/images/Makefile @@ -119,6 +119,7 @@ $(BUILT_IMAGES_DIR): mkdir $@ images: $(BUILT_IMAGES_DIR) $(IMAGES_LIST) + chmod -x $(BUILT_IMAGES_DIR)/* clean: $(RM) -rf $(BUILT_IMAGES_DIR) -- cgit v1.2.3 From 2d71c7a6e973b5715ca8e14cac99fb81fca9822c Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Fri, 22 Oct 2010 12:47:02 -0700 Subject: BasicRX: GPIOs now output 0 to decrease noise pickup. --- host/lib/usrp/dboard/db_basic_and_lf.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/host/lib/usrp/dboard/db_basic_and_lf.cpp b/host/lib/usrp/dboard/db_basic_and_lf.cpp index 41f6f8002..c58d0e326 100644 --- a/host/lib/usrp/dboard/db_basic_and_lf.cpp +++ b/host/lib/usrp/dboard/db_basic_and_lf.cpp @@ -95,6 +95,11 @@ UHD_STATIC_BLOCK(reg_basic_and_lf_dboards){ **********************************************************************/ basic_rx::basic_rx(ctor_args_t args, double max_freq) : rx_dboard_base(args){ _max_freq = max_freq; + + //set GPIOs to output 0x0000 to decrease noise pickup + this->get_iface()->set_pin_ctrl(dboard_iface::UNIT_RX, 0x0000); + this->get_iface()->set_gpio_ddr(dboard_iface::UNIT_RX, 0xFFFF); + this->get_iface()->write_gpio(dboard_iface::UNIT_RX, 0x0000); } basic_rx::~basic_rx(void){ -- cgit v1.2.3 From 971f6de77c6b67515b5d37d748e823da155b310c Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Sun, 24 Oct 2010 16:01:47 -0700 Subject: dbsrx: allow for setup time after changing the vco selection --- host/lib/usrp/dboard/db_dbsrx.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/host/lib/usrp/dboard/db_dbsrx.cpp b/host/lib/usrp/dboard/db_dbsrx.cpp index aecd7249d..8ec87a4f7 100644 --- a/host/lib/usrp/dboard/db_dbsrx.cpp +++ b/host/lib/usrp/dboard/db_dbsrx.cpp @@ -374,6 +374,9 @@ void dbsrx::set_lo_freq(double target_freq){ //update vco selection and check vtune send_reg(0x2, 0x2); read_reg(0x0, 0x0); + + //allow for setup time before checking condition again + boost::this_thread::sleep(boost::posix_time::milliseconds(1)); } if(dbsrx_debug) std::cerr << boost::format( -- cgit v1.2.3 From 81c9f77306dc82f250bfb2871b8bd7db67a40085 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Mon, 8 Nov 2010 17:22:37 -0800 Subject: usrp2: implemented clear state for RX and TX control, and zero sample command support --- firmware/microblaze/lib/net_common.c | 2 +- host/include/uhd/usrp/dsp_utils.hpp | 5 +---- host/lib/usrp/dsp_utils.cpp | 6 ++---- host/lib/usrp/usrp2/io_impl.cpp | 25 ------------------------- host/lib/usrp/usrp2/mboard_impl.cpp | 13 +++++-------- host/lib/usrp/usrp2/usrp2_impl.hpp | 1 - host/lib/usrp/usrp2/usrp2_regs.hpp | 2 +- 7 files changed, 10 insertions(+), 44 deletions(-) diff --git a/firmware/microblaze/lib/net_common.c b/firmware/microblaze/lib/net_common.c index 0a085db3a..6305408d6 100644 --- a/firmware/microblaze/lib/net_common.c +++ b/firmware/microblaze/lib/net_common.c @@ -298,7 +298,7 @@ handle_icmp_packet(struct ip_addr src, struct ip_addr dst, sr_tx_ctrl->cyc_per_up = 0; //the end continuous streaming command - sr_rx_ctrl->cmd = (1 << 31) | 1; //one sample, asap + sr_rx_ctrl->cmd = 1 << 31; //no samples now sr_rx_ctrl->time_secs = 0; sr_rx_ctrl->time_ticks = 0; //latch the command diff --git a/host/include/uhd/usrp/dsp_utils.hpp b/host/include/uhd/usrp/dsp_utils.hpp index 8ec04dd2f..5b81ce322 100644 --- a/host/include/uhd/usrp/dsp_utils.hpp +++ b/host/include/uhd/usrp/dsp_utils.hpp @@ -85,12 +85,9 @@ namespace dsp_type1{ /*! * Calculate the stream command word from the stream command struct. * \param stream_cmd the requested stream command with mode, flags, timestamp - * \param num_samps_continuous number of samples to request in continuous mode * \return the 32-bit stream command word */ - UHD_API boost::uint32_t calc_stream_cmd_word( - const stream_cmd_t &stream_cmd, size_t num_samps_continuous - ); + UHD_API boost::uint32_t calc_stream_cmd_word(const stream_cmd_t &stream_cmd); } //namespace dsp_type1 diff --git a/host/lib/usrp/dsp_utils.cpp b/host/lib/usrp/dsp_utils.cpp index 10ae9a086..2553e4a25 100644 --- a/host/lib/usrp/dsp_utils.cpp +++ b/host/lib/usrp/dsp_utils.cpp @@ -109,9 +109,7 @@ boost::uint32_t dsp_type1::calc_iq_scale_word(unsigned rate){ return calc_iq_scale_word(scale, scale); } -boost::uint32_t dsp_type1::calc_stream_cmd_word( - const stream_cmd_t &stream_cmd, size_t num_samps_continuous -){ +boost::uint32_t dsp_type1::calc_stream_cmd_word(const stream_cmd_t &stream_cmd){ UHD_ASSERT_THROW(stream_cmd.num_samps <= 0x3fffffff); //setup the mode to instruction flags @@ -133,6 +131,6 @@ boost::uint32_t dsp_type1::calc_stream_cmd_word( word |= boost::uint32_t((stream_cmd.stream_now)? 1 : 0) << 31; word |= boost::uint32_t((inst_chain)? 1 : 0) << 30; word |= boost::uint32_t((inst_reload)? 1 : 0) << 29; - word |= (inst_samps)? stream_cmd.num_samps : ((inst_chain)? num_samps_continuous : 1); + word |= (inst_samps)? stream_cmd.num_samps : ((inst_chain)? 1 : 0); return word; } diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 39e6c167f..844df603c 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -241,8 +241,6 @@ void usrp2_impl::io_impl::recv_pirate_loop( /*********************************************************************** * Helper Functions **********************************************************************/ -#include //TODO remove when hack below is fixed - void usrp2_impl::io_init(void){ //the assumption is that all data transports should be identical @@ -252,29 +250,6 @@ void usrp2_impl::io_init(void){ //create new io impl _io_impl = UHD_PIMPL_MAKE(io_impl, (num_recv_frames, send_frame_size, _data_transports.size())); - //TODO temporary fix for weird power up state, remove when FPGA fixed - { - //send an initial packet to all transports - tx_metadata_t md; md.end_of_burst = true; - this->send( - std::vector(_data_transports.size(), NULL), 0, md, - io_type_t::COMPLEX_FLOAT32, device::SEND_MODE_ONE_PACKET, 0 - ); - - //issue a stream command to each motherboard - BOOST_FOREACH(usrp2_mboard_impl::sptr mboard, _mboards){ - (*mboard)[MBOARD_PROP_STREAM_CMD] = stream_cmd_t(stream_cmd_t::STREAM_MODE_STOP_CONTINUOUS); - } - - //wait - boost::this_thread::sleep(boost::posix_time::milliseconds(100)); - - //flush all transport receive queues (no timeout) - BOOST_FOREACH(zero_copy_if::sptr xport, _data_transports){ - while(xport->get_recv_buff(0).get() != NULL){}; - } - } - //create a new pirate thread for each zc if (yarr!!) for (size_t i = 0; i < _data_transports.size(); i++){ _io_impl->recv_pirate_crew.create_thread(boost::bind( diff --git a/host/lib/usrp/usrp2/mboard_impl.cpp b/host/lib/usrp/usrp2/mboard_impl.cpp index bb9b6d1a9..d4dc8a4bd 100644 --- a/host/lib/usrp/usrp2/mboard_impl.cpp +++ b/host/lib/usrp/usrp2/mboard_impl.cpp @@ -40,7 +40,6 @@ usrp2_mboard_impl::usrp2_mboard_impl( const device_addr_t &flow_control_hints ): _index(index), - _recv_samps_per_packet(recv_samps_per_packet), _iface(usrp2_iface::make(ctrl_transport)) { //Send a small data packet so the usrp2 knows the udp source port. @@ -74,9 +73,9 @@ usrp2_mboard_impl::usrp2_mboard_impl( } //init the rx control registers - _iface->poke32(U2_REG_RX_CTRL_NSAMPS_PER_PKT, _recv_samps_per_packet); + _iface->poke32(U2_REG_TX_CTRL_CLEAR_STATE, 1); //reset + _iface->poke32(U2_REG_RX_CTRL_NSAMPS_PER_PKT, recv_samps_per_packet); _iface->poke32(U2_REG_RX_CTRL_NCHANNELS, 1); - _iface->poke32(U2_REG_RX_CTRL_CLEAR_OVERRUN, 1); //reset _iface->poke32(U2_REG_RX_CTRL_VRT_HEADER, 0 | (0x1 << 28) //if data with stream id | (0x1 << 26) //has trailer @@ -88,8 +87,8 @@ usrp2_mboard_impl::usrp2_mboard_impl( _iface->poke32(U2_REG_TIME64_TPS, size_t(get_master_clock_freq())); //init the tx control registers - _iface->poke32(U2_REG_TX_CTRL_NUM_CHAN, 0); //1 channel _iface->poke32(U2_REG_TX_CTRL_CLEAR_STATE, 1); //reset + _iface->poke32(U2_REG_TX_CTRL_NUM_CHAN, 0); //1 channel _iface->poke32(U2_REG_TX_CTRL_REPORT_SID, 1); //sid 1 (different from rx) _iface->poke32(U2_REG_TX_CTRL_POLICY, U2_FLAG_TX_CTRL_POLICY_NEXT_PACKET); @@ -97,6 +96,7 @@ usrp2_mboard_impl::usrp2_mboard_impl( const double ups_per_sec = flow_control_hints.cast("ups_per_sec", 100); const size_t cycles_per_up = size_t(_clock_ctrl->get_master_clock_rate()/ups_per_sec); _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_UP, U2_FLAG_TX_CTRL_UP_ENB | cycles_per_up); + _iface->poke32(U2_REG_TX_CTRL_CYCLES_PER_UP, 0); //cycles per update is disabled //setting the packets per update const double ups_per_fifo = flow_control_hints.cast("ups_per_fifo", 8); @@ -187,7 +187,6 @@ void usrp2_mboard_impl::set_time_spec(const time_spec_t &time_spec, bool now){ } void usrp2_mboard_impl::handle_overflow(void){ - _iface->poke32(U2_REG_RX_CTRL_CLEAR_OVERRUN, 1); if (_continuous_streaming){ //re-issue the stream command if already continuous this->issue_ddc_stream_cmd(stream_cmd_t::STREAM_MODE_START_CONTINUOUS); } @@ -195,9 +194,7 @@ void usrp2_mboard_impl::handle_overflow(void){ void usrp2_mboard_impl::issue_ddc_stream_cmd(const stream_cmd_t &stream_cmd){ _continuous_streaming = stream_cmd.stream_mode == stream_cmd_t::STREAM_MODE_START_CONTINUOUS; - _iface->poke32(U2_REG_RX_CTRL_STREAM_CMD, dsp_type1::calc_stream_cmd_word( - stream_cmd, _recv_samps_per_packet - )); + _iface->poke32(U2_REG_RX_CTRL_STREAM_CMD, dsp_type1::calc_stream_cmd_word(stream_cmd)); _iface->poke32(U2_REG_RX_CTRL_TIME_SECS, boost::uint32_t(stream_cmd.time_spec.get_full_secs())); _iface->poke32(U2_REG_RX_CTRL_TIME_TICKS, stream_cmd.time_spec.get_tick_count(get_master_clock_freq())); } diff --git a/host/lib/usrp/usrp2/usrp2_impl.hpp b/host/lib/usrp/usrp2/usrp2_impl.hpp index e4980a539..e41cefc10 100644 --- a/host/lib/usrp/usrp2/usrp2_impl.hpp +++ b/host/lib/usrp/usrp2/usrp2_impl.hpp @@ -98,7 +98,6 @@ public: private: size_t _index; - const size_t _recv_samps_per_packet; bool _continuous_streaming; //interfaces diff --git a/host/lib/usrp/usrp2/usrp2_regs.hpp b/host/lib/usrp/usrp2/usrp2_regs.hpp index c3a4d22de..cef7cf2e6 100644 --- a/host/lib/usrp/usrp2/usrp2_regs.hpp +++ b/host/lib/usrp/usrp2/usrp2_regs.hpp @@ -179,7 +179,7 @@ #define U2_REG_RX_CTRL_TIME_SECS _SR_ADDR(SR_RX_CTRL + 1) #define U2_REG_RX_CTRL_TIME_TICKS _SR_ADDR(SR_RX_CTRL + 2) -#define U2_REG_RX_CTRL_CLEAR_OVERRUN _SR_ADDR(SR_RX_CTRL + 3) // write anything to clear overrun +#define U2_REG_RX_CTRL_CLEAR_STATE _SR_ADDR(SR_RX_CTRL + 3) #define U2_REG_RX_CTRL_VRT_HEADER _SR_ADDR(SR_RX_CTRL + 4) // word 0 of packet. FPGA fills in packet counter #define U2_REG_RX_CTRL_VRT_STREAM_ID _SR_ADDR(SR_RX_CTRL + 5) // word 1 of packet. #define U2_REG_RX_CTRL_VRT_TRAILER _SR_ADDR(SR_RX_CTRL + 6) -- cgit v1.2.3 From 4b637f3ea251d39e518e4316521255d4cc648cc1 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Thu, 18 Nov 2010 09:49:12 -0800 Subject: Updated fw rev number in N2XX burner. --- host/utils/usrp_n2xx_net_burner.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/host/utils/usrp_n2xx_net_burner.py b/host/utils/usrp_n2xx_net_burner.py index 456f273df..21327e0af 100755 --- a/host/utils/usrp_n2xx_net_burner.py +++ b/host/utils/usrp_n2xx_net_burner.py @@ -16,7 +16,6 @@ # along with this program. If not, see . # -# TODO: make it work # TODO: make it autodetect UHD devices # TODO: you should probably watch sequence numbers @@ -36,7 +35,7 @@ UDP_MAX_XFER_BYTES = 1024 UDP_TIMEOUT = 3 UDP_POLL_INTERVAL = 0.10 #in seconds -USRP2_FW_PROTO_VERSION = 6 +USRP2_FW_PROTO_VERSION = 7 #from bootloader_utils.h -- cgit v1.2.3 From 768af46dc01d036999cb60ff16df4215d014c906 Mon Sep 17 00:00:00 2001 From: Nick Foster Date: Thu, 18 Nov 2010 09:55:48 -0800 Subject: Firmware mem map changes for flow ctrl somehow didn't get propagated. Also removed firmware update fw rev checking -- it occurs to me that checking fw rev in order to update fw is counterproductive. --- firmware/microblaze/usrp2/memory_map.h | 1 + firmware/microblaze/usrp2p/memory_map.h | 4 ++++ firmware/microblaze/usrp2p/udp_fw_update.c | 4 ++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/firmware/microblaze/usrp2/memory_map.h b/firmware/microblaze/usrp2/memory_map.h index e7f41bc8d..eac0c217f 100644 --- a/firmware/microblaze/usrp2/memory_map.h +++ b/firmware/microblaze/usrp2/memory_map.h @@ -466,6 +466,7 @@ typedef struct { volatile uint32_t report_sid; volatile uint32_t policy; volatile uint32_t cyc_per_up; + volatile uint32_t packets_per_up; } sr_tx_ctrl_t; #define sr_tx_ctrl ((sr_tx_ctrl_t *) _SR_ADDR(SR_TX_CTRL)) diff --git a/firmware/microblaze/usrp2p/memory_map.h b/firmware/microblaze/usrp2p/memory_map.h index 8d0d0c365..3b2dc0057 100644 --- a/firmware/microblaze/usrp2p/memory_map.h +++ b/firmware/microblaze/usrp2p/memory_map.h @@ -490,6 +490,10 @@ typedef struct { typedef struct { volatile uint32_t num_chan; volatile uint32_t clear_state; // clears out state machine, fifos, + volatile uint32_t report_sid; + volatile uint32_t policy; + volatile uint32_t cyc_per_up; + volatile uint32_t packets_per_up; } sr_tx_ctrl_t; #define sr_tx_ctrl ((sr_tx_ctrl_t *) _SR_ADDR(SR_TX_CTRL)) diff --git a/firmware/microblaze/usrp2p/udp_fw_update.c b/firmware/microblaze/usrp2p/udp_fw_update.c index 55c206b1b..ead08ad2c 100644 --- a/firmware/microblaze/usrp2p/udp_fw_update.c +++ b/firmware/microblaze/usrp2p/udp_fw_update.c @@ -38,13 +38,13 @@ void handle_udp_fw_update_packet(struct socket_address src, struct socket_addres usrp2_fw_update_id_t update_data_in_id = update_data_in->id; //ensure that the protocol versions match - if (payload_len >= sizeof(uint32_t) && update_data_in->proto_ver != USRP2_FW_COMPAT_NUM){ +/* if (payload_len >= sizeof(uint32_t) && update_data_in->proto_ver != USRP2_FW_COMPAT_NUM){ printf("!Error in update packet handler: Expected compatibility number %d, but got %d\n", USRP2_FW_COMPAT_NUM, update_data_in->proto_ver ); update_data_in_id = USRP2_FW_UPDATE_ID_OHAI_LOL; //so we can respond } - +*/ //ensure that this is not a short packet if (payload_len < sizeof(usrp2_fw_update_data_t)){ printf("!Error in update packet handler: Expected payload length %d, but got %d\n", -- cgit v1.2.3