OSDN Git Service

add upsample+yccrgb+devdrv
authorKenichi Kurimoto <kurimoto12@users.sourceforge.jp>
Thu, 20 Jan 2011 03:49:30 +0000 (12:49 +0900)
committerKenichi Kurimoto <kurimoto12@users.sourceforge.jp>
Thu, 20 Jan 2011 03:49:30 +0000 (12:49 +0900)
47 files changed:
grlib-gpl-1.0.22-b4095/designs/leon3-altera-ep3c25-eek-mjpeg/.config
grlib-gpl-1.0.22-b4095/designs/leon3-altera-ep3c25-eek-mjpeg/config.vhd
grlib-gpl-1.0.22-b4095/designs/leon3-altera-ep3c25-eek-mjpeg/leon3mp.vhd
grlib-gpl-1.0.22-b4095/designs/leon3-altera-ep3c25-eek-mjpeg/systest.c
grlib-gpl-1.0.22-b4095/designs/leon3-gr-xc3s-1500-mjpeg/leon3mp.vhd
grlib-gpl-1.0.22-b4095/designs/work_ip/Makefile
grlib-gpl-1.0.22-b4095/designs/work_ip/bus_upycc.vhd [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/designs/work_ip/in_upycc.txt [new symlink]
grlib-gpl-1.0.22-b4095/designs/work_ip/out_upycc.txt [new symlink]
grlib-gpl-1.0.22-b4095/designs/work_ip/sim_upycc.vhd [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/designs/work_ip/sim_upycc.vhd.bak [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/mjpeg.vhd
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/mjpeg.vhd.bak [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/upycc.vhd [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/upycc.vhd.bak [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/vhdlsyn.txt
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccambaif.vhd [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccambaif.vhd.bak [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccmemcont.vhd [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccmemcont.vhd.bak [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccrgb.vhd [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccrgb.vhd.bak [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/software/leon3/Makefile
grlib-gpl-1.0.22-b4095/software/leon3/in_upycc.txt [new symlink]
grlib-gpl-1.0.22-b4095/software/leon3/upycc_array.txt [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/software/leon3/upycc_array2.txt [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/software/leon3/upycc_connect.c [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/software/leon3/upycc_connect_neek.c [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/software/leon3/upycc_pic.c [new file with mode: 0644]
grlib-gpl-1.0.22-b4095/software/leon3/upycc_pic_neek.c [new file with mode: 0644]
snapgear-2.6-p42/linux-2.6.21.1/drivers/kmjpeg/kmjpeg.c
snapgear-2.6-p42/linux-2.6.21.1/drivers/kmjpeg/kmjpeg.h
snapgear-2.6-p42/user/jpeg-6b-host/djpeg.c
snapgear-2.6-p42/user/jpeg-6b-host/gmon.out
snapgear-2.6-p42/user/jpeg-6b-host/in_upycc.txt [new file with mode: 0644]
snapgear-2.6-p42/user/jpeg-6b-host/in_yccrgbs.txt
snapgear-2.6-p42/user/jpeg-6b-host/jdcolor.c
snapgear-2.6-p42/user/jpeg-6b-host/jdsample.c
snapgear-2.6-p42/user/jpeg-6b-host/jidctint.c
snapgear-2.6-p42/user/jpeg-6b-host/jpeglib.h
snapgear-2.6-p42/user/jpeg-6b-host/out_upycc.txt [new file with mode: 0644]
snapgear-2.6-p42/user/jpeg-6b-host/out_yccrgbs.txt
snapgear-2.6-p42/user/jpeg-6b/dmjpeg.c
snapgear-2.6-p42/user/jpeg-6b/jdcolor.c
snapgear-2.6-p42/user/jpeg-6b/jdsample.c
snapgear-2.6-p42/user/jpeg-6b/jidctint.c
snapgear-2.6-p42/vendors/gaisler/leon3mmu/romfs/etc/init.d/rcS

index 428d27f..5e8396d 100755 (executable)
@@ -111,8 +111,8 @@ CONFIG_ICACHE_ALGOLRR=y
 # CONFIG_ICACHE_ALGOLRU is not set
 # CONFIG_ICACHE_LOCK is not set
 CONFIG_DCACHE_ENABLE=y
-# CONFIG_DCACHE_ASSO1 is not set
-CONFIG_DCACHE_ASSO2=y
+CONFIG_DCACHE_ASSO1=y
+# CONFIG_DCACHE_ASSO2 is not set
 # CONFIG_DCACHE_ASSO3 is not set
 # CONFIG_DCACHE_ASSO4 is not set
 # CONFIG_DCACHE_SZ1 is not set
@@ -126,10 +126,6 @@ CONFIG_DCACHE_SZ4=y
 # CONFIG_DCACHE_SZ256 is not set
 CONFIG_DCACHE_LZ16=y
 # CONFIG_DCACHE_LZ32 is not set
-# CONFIG_DCACHE_ALGORND is not set
-CONFIG_DCACHE_ALGOLRR=y
-# CONFIG_DCACHE_ALGOLRU is not set
-# CONFIG_DCACHE_LOCK is not set
 CONFIG_DCACHE_SNOOP=y
 # CONFIG_DCACHE_SNOOP_FAST is not set
 # CONFIG_DCACHE_SNOOP_SEPTAG is not set
index 4383d0d..532dbc0 100644 (file)
@@ -49,10 +49,10 @@ package config is
   constant CFG_ILRAMADDR: integer := 16#8E#;
   constant CFG_ILRAMSZ : integer := 1;
   constant CFG_DCEN : integer := 1;
-  constant CFG_DSETS : integer := 2;
+  constant CFG_DSETS : integer := 1;
   constant CFG_DSETSZ : integer := 4;
   constant CFG_DLINE : integer := 4;
-  constant CFG_DREPL : integer := 1;
+  constant CFG_DREPL : integer := 0;
   constant CFG_DLOCK : integer := 0;
   constant CFG_DSNOOP : integer := 1 + 0 + 4*0;
   constant CFG_DFIXED : integer := 16#0#;
index 50584ca..8f5ba20 100644 (file)
@@ -804,8 +804,8 @@ begin
 ---   YCC-RGB translation module   ------------------------------------
 -----------------------------------------------------------------------
 
-  jpgycc : yccrgbs
-    generic map(shindex => 5, haddr => 16#B00#, hirq => 13, pindex => 14,
+  jpgycc : upycc
+    generic map(memtech => memtech, shindex => 5, haddr => 16#B00#, hirq => 13, pindex => 14,
     paddr => 7, mhindex => 3 )
     port map(rst => rstn, clk => clkm, ahbmi => ahbmi,
              ahbmo => ahbmo(3), ahbsi => ahbsi, ahbso => ahbso(5),
index a0b6dcd..728c0eb 100644 (file)
@@ -1,6 +1,6 @@
 //#define NORMALTEST
-#define IP_CONNECT
-//#define BOARD_TEST
+//#define IP_CONNECT
+#define BOARD_TEST
 
 main()
 {
@@ -14,11 +14,11 @@ main()
 #endif
 
 #ifdef IP_CONNECT
-       yccrgbs_connect_neek();
+       upycc_connect_neek();
 #endif
 
 #ifdef BOARD_TEST
-       yccrgbs_pic_neek();
+       upycc_pic_neek();
 #endif
 
 }
index d3397a5..9af6c43 100644 (file)
@@ -889,9 +889,9 @@ begin
 
 
 -------------------------------------------------------------------------------
---  YCC-RGB translation module          ---------------------------------------
+--  Upsample YCC-RGB translation module ---------------------------------------
 -------------------------------------------------------------------------------
-    jpgycc : yccrgbs
+    jpgycc : upycc
     generic map(shindex => 4, haddr => 16#A00#, hirq => 10, pindex => 12,
     paddr => 12, mhindex => CFG_NCPU+CFG_AHB_UART+CFG_GRETH+CFG_AHB_JTAG+
                  CFG_SVGA_ENABLE+CFG_SPW_NUM*CFG_SPW_EN+CFG_GRUSB_DCL+
index f47db5b..f7ce1a3 100644 (file)
@@ -1,5 +1,5 @@
 GRLIB=../..
-TOP=bus_yccrgbs
+TOP=bus_upycc
 BOARD=altera-ep3c25-eek
 include $(GRLIB)/boards/$(BOARD)/Makefile.inc
 DEVICE=$(PART)-$(PACKAGE)$(SPEED)
@@ -8,9 +8,9 @@ QSF=$(GRLIB)/boards/$(BOARD)/$(TOP).qsf
 EFFORT=std
 XSTOPT=
 SYNPOPT="set_option -pipe 1; set_option -retiming 1"
-VHDLSYNFILES=config.vhd bus_yccrgbs.vhd 
-VHDLSIMFILES=sim_yccrgbs.vhd
-SIMTOP=sim_yccrgbs
+VHDLSYNFILES=config.vhd bus_upycc.vhd 
+VHDLSIMFILES=sim_upycc.vhd
+SIMTOP=sim_upycc
 SDCFILE=$(GRLIB)/boards/$(BOARD)/default.sdc
 BITGEN=$(GRLIB)/boards/$(BOARD)/default.ut
 CLEAN=soft-clean
diff --git a/grlib-gpl-1.0.22-b4095/designs/work_ip/bus_upycc.vhd b/grlib-gpl-1.0.22-b4095/designs/work_ip/bus_upycc.vhd
new file mode 100644 (file)
index 0000000..ec2b131
--- /dev/null
@@ -0,0 +1,94 @@
+------------------------------------------------------------------------------
+--  Copyright (C) 2010, Kenichi Kurimoto
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 2 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program; if not, write to the Free Software
+--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+-----------------------------------------------------------------------------
+
+
+
+
+
+library ieee;
+use ieee.std_logic_1164.all;
+
+library grlib,techmap;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use techmap.gencomp.all;
+library gaisler;
+use gaisler.misc.all;
+--use gaisler.ambatest.all;
+use gaisler.ahbtbp.all;
+library kuri;
+use kuri.mjpeg.all;
+
+use work.config.all;
+
+entity bus_upycc is
+  port (
+    rstn : in std_ulogic;
+    clk : in std_ulogic;
+    ctrl_in1 : in ahbtbm_ctrl_in_type; 
+    ctrl_out1 : out ahbtbm_ctrl_out_type);
+end;
+
+architecture rtl of bus_upycc is
+
+
+  signal apbi  : apb_slv_in_type;
+  signal apbo  : apb_slv_out_vector := (others => apb_none);
+  signal ahbsi : ahb_slv_in_type;
+  signal ahbso : ahb_slv_out_vector := (others => ahbs_none);
+  signal ahbmi : ahb_mst_in_type;
+  signal ahbmo : ahb_mst_out_vector := (others => ahbm_none);
+
+--  signal rst : std_ulogic;
+
+
+
+begin  -- rtl
+
+  
+--  rst <= not rstn;
+   
+  upyccinst : upycc
+     generic map(shindex => 2, haddr => 16#900#, pindex => 2, paddr => 2, mhindex => 3, hirq => 2)
+     port map (rstn, clk, ahbmi, ahbmo(3), ahbsi, ahbso(2), apbi, apbo(2));
+         
+  apb0 : apbctrl
+     generic map (hindex => 4, haddr => 16#800#)
+     port map(rstn, clk, ahbsi, ahbso(4), apbi, apbo);
+   
+  ahbcontroller : ahbctrl                -- AHB arbiter/multiplexer
+     generic map (defmast => CFG_DEFMST, split => CFG_SPLIT, 
+        enbusmon => 0,rrobin => CFG_RROBIN, ioaddr => CFG_AHBIO)
+     port map (rstn, clk, ahbmi, ahbmo, ahbsi, ahbso);
+
+  ram0 : ahbram 
+     generic map (hindex => 7, haddr => 16#a00#, tech => CFG_MEMTECH, kbytes => 24) 
+     port map (rstn, clk, ahbsi, ahbso(7));
+
+  mast_em : ahbtbm
+     generic map(hindex => 0)
+     port map (rstn, clk, ctrl_in1, ctrl_out1, ahbmi, ahbmo(0));
+
+
+--  mast_em2 : ahbtbm
+--    generic map(hindex => 1)
+--    port map (rstn, clk, ctrl_in2, ctrl_out2, ahbmi, ahbmo(1));
+
+end rtl;
+  
diff --git a/grlib-gpl-1.0.22-b4095/designs/work_ip/in_upycc.txt b/grlib-gpl-1.0.22-b4095/designs/work_ip/in_upycc.txt
new file mode 120000 (symlink)
index 0000000..86d1da3
--- /dev/null
@@ -0,0 +1 @@
+../../../snapgear-2.6-p42/user/jpeg-6b-host/in_upycc.txt
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/designs/work_ip/out_upycc.txt b/grlib-gpl-1.0.22-b4095/designs/work_ip/out_upycc.txt
new file mode 120000 (symlink)
index 0000000..6a5c4fa
--- /dev/null
@@ -0,0 +1 @@
+../../../snapgear-2.6-p42/user/jpeg-6b-host/out_upycc.txt
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/designs/work_ip/sim_upycc.vhd b/grlib-gpl-1.0.22-b4095/designs/work_ip/sim_upycc.vhd
new file mode 100644 (file)
index 0000000..8139162
--- /dev/null
@@ -0,0 +1,150 @@
+------------------------------------------------------------------------------
+--  Copyright (C) 2010, Kenichi Kurimoto
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 2 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program; if not, write to the Free Software
+--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+-----------------------------------------------------------------------------
+
+
+
+library ieee;
+use ieee.std_logic_1164.all;
+use std.textio.all;
+use ieee.std_logic_textio.all;
+--use ieee.numeric_std.all;
+
+
+library gaisler;
+use gaisler.sim.all;
+use gaisler.ambatest.all;
+use gaisler.ahbtbp.all;
+library techmap;
+use techmap.gencomp.all;
+library grlib;
+use grlib.stdlib.all;
+library kuri;
+use kuri.mjpeg.all;
+
+use work.debug.all;
+use work.config.all;
+
+
+
+entity sim_upycc is
+  
+  generic (
+    clkperiod : integer := 20);
+
+end ;
+
+architecture behav of sim_upycc is
+
+
+
+  component bus_upycc
+    port(
+      rstn : in std_ulogic;
+      clk : in std_ulogic;
+      ctrl_in1 : in ahbtbm_ctrl_in_type;
+      ctrl_out1 : out ahbtbm_ctrl_out_type
+      );
+    
+  end component;
+
+signal clk : std_ulogic := '0';
+signal rst : std_ulogic := '0';
+signal ctrl1 : ahbtb_ctrl_type;
+-- signal data_in : std_logic_vector(31 downto 0);
+
+file in_file : text open read_mode is "in_upycc.txt";
+file compare_file : text open read_mode is "out_upycc.txt";
+
+begin  -- behav
+
+    b0 : bus_upycc
+    port map (rst,clk,ctrl1.i,ctrl1.o);
+   
+    tictak : process
+    begin
+        clk <= '0';
+        wait for 10 ns;
+        clk <= '1';
+        wait for 10 ns;
+    end process;
+    
+    stim: process
+       variable li : line;
+       variable lc : line;
+       variable i,j : integer;
+  --     variable ycc : std_logic_vector(23 downto 0);
+       variable eightbdata : std_logic_vector(7 downto 0);
+       variable indata : std_logic_vector(31 downto 0);
+       variable radd : std_logic_vector(31 downto 0);
+  --     variable cdata1, cdata2 : std_logic_vector(15 downto 0);
+       variable cdata32 : std_logic_vector(31 downto 0);
+       
+    begin
+
+      report " stimulus process start ";
+      
+      rst  <= '0';   
+      wait for 100 ns;
+      rst <= '1';
+
+    -- initialize
+      ahbtbminit(ctrl1);
+
+-- Write Control registers through APB bus
+
+ahbwrite(x"80000200", x"a0000000", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"80000204", x"00082464", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"80000208", x"04E4B504", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"8000020C", x"00000000", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"8000020C", x"ffffffff", "10", "10", '1', 2, false , ctrl1);
+
+-- Write YCC data for IP core      
+--      for i in 0 to 33821 loop
+      for i in 0 to 3999 loop
+        readline(in_file,li);
+        hread(li, eightbdata);
+        indata := x"000000" & eightbdata;
+        ahbwrite(x"90000000", indata, "10", "10", '1', 2, false , ctrl1);                   
+        ahbtbmidle(true, ctrl1);
+        wait for 20 ns;
+      end loop;
+      
+      radd := x"a0000000";  
+--      for i in 0 to 79 loop
+      for i in 0 to 17 loop
+        for j in 0 to 39 loop
+          readline(compare_file, lc);
+          hread(lc, cdata32);
+          ahbread(radd, cdata32, "10", 2, false, ctrl1);
+          radd := radd + x"004";
+        end loop;
+        radd := radd + x"460";
+      end loop;
+      
+      ahbtbmidle(true,ctrl1);
+      wait for 100 ns; 
+  
+       
+      ahbtbmdone(0, ctrl1);
+      wait for 300 ns;
+
+      report "stimulus process end" severity failure;
+      wait;
+   end process;
+
+end behav;
diff --git a/grlib-gpl-1.0.22-b4095/designs/work_ip/sim_upycc.vhd.bak b/grlib-gpl-1.0.22-b4095/designs/work_ip/sim_upycc.vhd.bak
new file mode 100644 (file)
index 0000000..bf6910e
--- /dev/null
@@ -0,0 +1,150 @@
+------------------------------------------------------------------------------
+--  Copyright (C) 2010, Kenichi Kurimoto
+--
+--  This program is free software; you can redistribute it and/or modify
+--  it under the terms of the GNU General Public License as published by
+--  the Free Software Foundation; either version 2 of the License, or
+--  (at your option) any later version.
+--
+--  This program is distributed in the hope that it will be useful,
+--  but WITHOUT ANY WARRANTY; without even the implied warranty of
+--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--  GNU General Public License for more details.
+--
+--  You should have received a copy of the GNU General Public License
+--  along with this program; if not, write to the Free Software
+--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+-----------------------------------------------------------------------------
+
+
+
+library ieee;
+use ieee.std_logic_1164.all;
+use std.textio.all;
+use ieee.std_logic_textio.all;
+--use ieee.numeric_std.all;
+
+
+library gaisler;
+use gaisler.sim.all;
+use gaisler.ambatest.all;
+use gaisler.ahbtbp.all;
+library techmap;
+use techmap.gencomp.all;
+library grlib;
+use grlib.stdlib.all;
+library kuri;
+use kuri.mjpeg.all;
+
+use work.debug.all;
+use work.config.all;
+
+
+
+entity sim_upycc is
+  
+  generic (
+    clkperiod : integer := 20);
+
+end ;
+
+architecture behav of sim_upycc is
+
+
+
+  component bus_upycc
+    port(
+      rstn : in std_ulogic;
+      clk : in std_ulogic;
+      ctrl_in1 : in ahbtbm_ctrl_in_type;
+      ctrl_out1 : out ahbtbm_ctrl_out_type
+      );
+    
+  end component;
+
+signal clk : std_ulogic := '0';
+signal rst : std_ulogic := '0';
+signal ctrl1 : ahbtb_ctrl_type;
+-- signal data_in : std_logic_vector(31 downto 0);
+
+file in_file : text open read_mode is "in_upycc.txt";
+file compare_file : text open read_mode is "out_upycc.txt";
+
+begin  -- behav
+
+    b0 : bus_upycc
+    port map (rst,clk,ctrl1.i,ctrl1.o);
+   
+    tictak : process
+    begin
+        clk <= '0';
+        wait for 10 ns;
+        clk <= '1';
+        wait for 10 ns;
+    end process;
+    
+    stim: process
+       variable li : line;
+       variable lc : line;
+       variable i,j : integer;
+  --     variable ycc : std_logic_vector(23 downto 0);
+       variable eightbdata : std_logic_vector(7 downto 0);
+       variable indata : std_logic_vector(31 downto 0);
+       variable radd : std_logic_vector(31 downto 0);
+  --     variable cdata1, cdata2 : std_logic_vector(15 downto 0);
+       variable cdata32 : std_logic_vector(31 downto 0);
+       
+    begin
+
+      report " stimulus process start ";
+      
+      rst  <= '0';   
+      wait for 100 ns;
+      rst <= '1';
+
+    -- initialize
+      ahbtbminit(ctrl1);
+
+-- Write Control registers through APB bus
+
+ahbwrite(x"80000200", x"a0000000", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"80000204", x"00082464", "10", "10", '1', 2, false , ctrl1);
+--ahbwrite(x"80000204", x"000A2C44", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"80000208", x"00000000", "10", "10", '1', 2, false , ctrl1);
+ahbwrite(x"80000208", x"ffffffff", "10", "10", '1', 2, false , ctrl1);
+
+-- Write YCC data for IP core      
+--      for i in 0 to 33821 loop
+      for i in 0 to 3999 loop
+        readline(in_file,li);
+        hread(li, eightbdata);
+        indata := x"000000" & eightbdata;
+        ahbwrite(x"90000000", indata, "10", "10", '1', 2, false , ctrl1);                   
+        ahbtbmidle(true, ctrl1);
+        wait for 20 ns;
+      end loop;
+      
+      radd := x"a0000000";  
+--      for i in 0 to 79 loop
+      for i in 0 to 17 loop
+        for j in 0 to 39 loop
+          readline(compare_file, lc);
+          hread(lc, cdata32);
+          ahbread(radd, cdata32, "10", 2, false, ctrl1);
+          radd := radd + x"004";
+        end loop;
+        radd := radd + x"460";
+      end loop;
+      
+      ahbtbmidle(true,ctrl1);
+      wait for 100 ns; 
+  
+       
+      ahbtbmdone(0, ctrl1);
+      wait for 300 ns;
+
+      report "stimulus process end" severity failure;
+      wait;
+   end process;
+
+end behav;
index c2150db..a66dfdd 100644 (file)
@@ -12,6 +12,104 @@ use techmap.gencomp.all;
 
 package mjpeg is
 
+component upycc
+  generic (
+    memtech : integer := DEFMEMTECH;
+--    fifo_depth : integer := 32;
+    shindex : integer := 0;
+    haddr  : integer := 0;
+    hmask  : integer := 16#fff#;
+    hirq   : integer := 0;      
+    pindex : integer := 0;
+    paddr  : integer := 0;
+    pmask  : integer := 16#fff#;
+    mhindex : integer := 0;
+    chprot : integer := 3);
+   port (
+     rst    : in std_ulogic;
+     clk   : in std_ulogic;
+     ahbmi : in ahb_mst_in_type;
+     ahbmo : out ahb_mst_out_type;
+     ahbsi : in ahb_slv_in_type;
+     ahbso : out ahb_slv_out_type;
+     apbi  : in apb_slv_in_type;
+     apbo  : out apb_slv_out_type
+   );   
+end component;
+
+component yccambaif
+     generic (
+      memtech : integer := DEFMEMTECH;
+      shindex : integer := 0;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      hirq   : integer := 0;      
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type;
+      kready : in std_logic;
+      kstrobe : out std_logic;
+      kdata   : out std_logic_vector(7 downto 0);
+      samp_fact : out std_logic;
+      error : in std_logic;
+      xmcumax : out std_logic_vector(5 downto 0);
+      ymcumax : out std_logic_vector(4 downto 0);
+      incaddy  : out std_logic_vector(15 downto 0);
+      incaddmcux : out std_logic_vector(15 downto 0);
+      incaddmcuy : out std_logic_vector(10 downto 0);
+      fbstartadd : out std_logic_vector(31 downto 0);
+      startgen : out std_logic
+   );
+end component;
+
+component yccmemcont
+   generic (
+      memtech : integer := DEFMEMTECH);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      kready1  : out std_logic;
+      kstrobe1 : in std_logic;
+      kdata1   : in std_logic_vector(7 downto 0);
+      kready2  : in std_logic;
+      kstrobe2 : out std_logic;
+      kdata2   : out std_logic_vector(23 downto 0);
+      samp_fact : in std_logic;
+      error     : out std_logic
+   );
+end component;
+
+component yccrgb
+   generic (
+      memtech : integer := DEFMEMTECH;
+      hirq   : integer := 0;       
+      mhindex : integer := 0;
+      chprot : integer := 3);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      kready  : out std_logic;
+      kstrobe : in std_logic;
+      kdata   : in std_logic_vector(23 downto 0);
+      xmcumax : in std_logic_vector(5 downto 0);
+      ymcumax : in std_logic_vector(4 downto 0);
+      incaddy  : in std_logic_vector(15 downto 0);
+      incaddmcux : in std_logic_vector(15 downto 0);      
+      incaddmcuy : in std_logic_vector(10 downto 0);
+      fbstartadd : in std_logic_vector(31 downto 0);
+      startgen   : in std_logic
+   );
+end component;
+
 component yccrgbs 
    generic (
       memtech : integer := DEFMEMTECH;
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/mjpeg.vhd.bak b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/mjpeg.vhd.bak
new file mode 100644 (file)
index 0000000..9fa492c
--- /dev/null
@@ -0,0 +1,139 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.stdlib.all;
+use grlib.amba.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+package mjpeg is
+
+component upycc
+  generic (
+    memtech : integer := DEFMEMTECH;
+--    fifo_depth : integer := 32;
+    shindex : integer := 0;
+    haddr  : integer := 0;
+    hmask  : integer := 16#fff#;
+    hirq   : integer := 0;      
+    pindex : integer := 0;
+    paddr  : integer := 0;
+    pmask  : integer := 16#fff#;
+    mhindex : integer := 0;
+    chprot : integer := 3);
+   port (
+     rst    : in std_ulogic;
+     clk   : in std_ulogic;
+     ahbmi : in ahb_mst_in_type;
+     ahbmo : out ahb_mst_out_type;
+     ahbsi : in ahb_slv_in_type;
+     ahbso : out ahb_slv_out_type;
+     apbi  : in apb_slv_in_type;
+     apbo  : out apb_slv_out_type
+   );   
+end component;
+
+component yccambaif
+     generic (
+      memtech : integer := DEFMEMTECH;
+      shindex : integer := 0;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      hirq   : integer := 0;      
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type;
+      kready : in std_logic;
+      kstrobe : out std_logic;
+      kdata   : out std_logic_vector(7 downto 0);
+      samp_fact : out std_logic;
+      error : in std_logic;
+      xmcumax : out std_logic_vector(5 downto 0);
+      ymcumax : out std_logic_vector(4 downto 0);
+      incaddy  : in std_logic_vector(15 downto 0);
+      incaddmcux : in std_logic_vector(15 downto 0);
+      incaddmcuy : out std_logic_vector(10 downto 0);
+      fbstartadd : out std_logic_vector(31 downto 0);
+      startgen : out std_logic
+   );
+end component;
+
+component yccmemcont
+   generic (
+      memtech : integer := DEFMEMTECH);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      kready1  : out std_logic;
+      kstrobe1 : in std_logic;
+      kdata1   : in std_logic_vector(7 downto 0);
+      kready2  : in std_logic;
+      kstrobe2 : out std_logic;
+      kdata2   : out std_logic_vector(23 downto 0);
+      samp_fact : in std_logic;
+      error     : out std_logic
+   );
+end component;
+
+component yccrgb
+   generic (
+      memtech : integer := DEFMEMTECH;
+      hirq   : integer := 0;       
+      mhindex : integer := 0;
+      chprot : integer := 3);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      kready  : out std_logic;
+      kstrobe : in std_logic;
+      kdata   : in std_logic_vector(23 downto 0);
+      xmcumax : in std_logic_vector(5 downto 0);
+      ymcumax : in std_logic_vector(4 downto 0);
+      incaddy  : in std_logic_vector(15 downto 0);
+      incaddmcux : in std_logic_vector(15 downto 0);      
+      incaddmcuy : in std_logic_vector(10 downto 0);
+      fbstartadd : in std_logic_vector(31 downto 0);
+      startgen   : in std_logic
+   );
+end component;
+
+component yccrgbs 
+   generic (
+      memtech : integer := DEFMEMTECH;
+      fifo_depth : integer := 32;
+      shindex : integer := 0;
+      chprot : integer := 3;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#;
+      mhindex : integer := 0;
+      hirq   : integer := 0;
+      burst_num : integer := 16);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type
+   );
+end component;   
+    
+end;
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/upycc.vhd b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/upycc.vhd
new file mode 100644 (file)
index 0000000..919da01
--- /dev/null
@@ -0,0 +1,81 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+library kuri;
+use kuri.mjpeg.all;
+
+entity upycc is
+   generic (
+      memtech : integer := DEFMEMTECH;
+--      fifo_depth : integer := 32;
+      shindex : integer := 0;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      hirq   : integer := 0;      
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#;
+      mhindex : integer := 0;
+      chprot : integer := 3);      
+
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type
+   );
+end;
+
+architecture rtl of upycc is
+
+signal kready1, kready2, kstrobe1, kstrobe2 : std_logic;
+signal kdata1 : std_logic_vector(7 downto 0);
+signal kdata2 : std_logic_vector(23 downto 0);
+signal samp_fact, error : std_logic;
+signal xmcumax : std_logic_vector(5 downto 0);
+signal ymcumax : std_logic_vector(4 downto 0);
+signal incaddy : std_logic_vector(15 downto 0);
+signal incaddmcux : std_logic_vector(15 downto 0);
+signal incaddmcuy : std_logic_vector(10 downto 0);
+signal fbstartadd : std_logic_vector(31 downto 0);
+signal startgen : std_logic;
+
+begin
+   amif : yccambaif 
+   generic map(memtech => memtech,shindex => shindex , haddr => haddr, hmask => hmask,
+               hirq => hirq, pindex => pindex, paddr => paddr, pmask => pmask)
+   port map(rst => rst, clk => clk, ahbsi => ahbsi, ahbso => ahbso, apbi => apbi, apbo => apbo,
+             kready => kready1, kstrobe => kstrobe1, kdata => kdata1, samp_fact => samp_fact, 
+             error => error, xmcumax => xmcumax, ymcumax => ymcumax, incaddy => incaddy,
+             incaddmcux => incaddmcux, incaddmcuy => incaddmcuy, fbstartadd => fbstartadd,
+             startgen => startgen);
+   
+   yccmem : yccmemcont
+   generic map(memtech => memtech)
+   port map(rst => rst, clk => clk, kready1 => kready1, kstrobe1 => kstrobe1, kdata1 => kdata1,
+            kready2 => kready2, kstrobe2 => kstrobe2, kdata2 => kdata2, samp_fact => samp_fact,
+            error => error);
+   
+   ycb : yccrgb
+   generic map(memtech => memtech, hirq => hirq, mhindex => mhindex,
+               chprot => chprot)
+   port map(rst => rst, clk => clk, ahbmi => ahbmi, ahbmo => ahbmo, kready => kready2,
+            kstrobe => kstrobe2, kdata => kdata2, xmcumax => xmcumax, ymcumax => ymcumax,
+            incaddy => incaddy, incaddmcux => incaddmcux, incaddmcuy => incaddmcuy,
+            fbstartadd => fbstartadd, startgen => startgen);
+   
+end;
+   
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/upycc.vhd.bak b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/upycc.vhd.bak
new file mode 100644 (file)
index 0000000..242601a
--- /dev/null
@@ -0,0 +1,83 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+library kuri;
+use kuri.mjpeg.all;
+
+entity upycc is
+   generic (
+      memtech : integer := DEFMEMTECH;
+--      fifo_depth : integer := 32;
+      shindex : integer := 0;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      hirq   : integer := 0;      
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#;
+      mhindex : integer := 0;
+      chprot : integer := 3);      
+
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type
+   );
+end;
+
+architecture rtl of upycc is
+
+signal kready1, kready2, kstrobe1, kstrobe2 : std_logic;
+signal kdata1 : std_logic_vector(7 downto 0);
+signal kdata2 : std_logic_vector(23 downto 0);
+signal samp_fact, error : std_logic;
+signal xmcumax : std_logic_vector(5 downto 0);
+signal ymcumax : std_logic_vector(4 downto 0);
+signal incaddy : std_logic_vector(15 downto 0);
+signal incaddmcux : std_logic_vector(15 downto 0);
+signal incaddmcuy : std_logic_vector(10 downto 0);
+signal fbstartadd : std_logic_vector(31 downto 0);
+signal startgen : std_logic;
+
+begin
+   amif : yccambaif 
+   generic map(memtech => memtech,shindex => shindex , haddr => haddr, hmask => hmask,
+               hirq => hirq, pindex => pindex, paddr => paddr, pmask => pmask)
+   port map(rst => rst, clk => clk, ahbsi => ahbsi, ahbso => ahbso, apbi => apbi, apbo => apbo,
+             kready => kready1, kstrobe => kstrobe1, kdata => kdata1, samp_fact => samp_fact, 
+             error => error, xmcumax => xmcumax, ymcumax => ymcumax, incaddy => incaddy,
+             incaddmcux => incaddmcux,
+              incaddmcuy => incaddmcuy,
+               fbstartadd => fbstartadd,
+             startgen => startgen);
+   
+   yccmem : yccmemcont
+   generic map(memtech => memtech)
+   port map(rst => rst, clk => clk, kready1 => kready1, kstrobe1 => kstrobe1, kdata1 => kdata1,
+            kready2 => kready2, kstrobe2 => kstrobe2, kdata2 => kdata2, samp_fact => samp_fact,
+            error => error);
+   
+   ycb : yccrgb
+   generic map(memtech => memtech, hirq => hirq, mhindex => mhindex,
+               chprot => chprot)
+   port map(rst => rst, clk => clk, ahbmi => ahbmi, ahbmo => ahbmo, kready => kready2,
+            kstrobe => kstrobe2, kdata => kdata2, xmcumax => xmcumax, ymcumax => ymcumax,
+            incaddy => incaddy, incaddmcux => incaddmcux, incaddmcuy => incaddmcuy,
+            fbstartadd => fbstartadd, startgen => startgen);
+   
+end;
+   
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccambaif.vhd b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccambaif.vhd
new file mode 100644 (file)
index 0000000..31390aa
--- /dev/null
@@ -0,0 +1,189 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+entity yccambaif is
+   generic (
+      memtech : integer := DEFMEMTECH;
+      shindex : integer := 0;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      hirq   : integer := 0;      
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type;
+      kready : in std_logic;
+      kstrobe : out std_logic;
+      kdata   : out std_logic_vector(7 downto 0);
+      samp_fact : out std_logic;
+      error : in std_logic;
+      xmcumax : out std_logic_vector(5 downto 0);
+      ymcumax : out std_logic_vector(4 downto 0);
+      incaddy  : out std_logic_vector(15 downto 0);
+      incaddmcux : out std_logic_vector(15 downto 0);
+      incaddmcuy : out std_logic_vector(10 downto 0);
+      fbstartadd : out std_logic_vector(31 downto 0);
+      startgen : out std_logic
+   );
+end;
+
+architecture rtl of yccambaif is
+
+constant shconfig : ahb_config_type := (
+ 0 => ahb_device_reg( VENDOR_CONTRIB, CONTRIB_CORE1, 0, 0, hirq),
+ 4 => ahb_membar(haddr, '0', '0', hmask),
+ others => zero32);
+  
+constant pconfig : apb_config_type := (
+ 0 => ahb_device_reg( VENDOR_CONTRIB, CONTRIB_CORE1, 0, 0, 0),
+ 1 => apb_iobar(paddr, pmask));
+type ahbs_reg is record
+   get : std_logic;
+   hdata    : std_logic_vector(7 downto 0);
+   written : std_ulogic;
+end record;
+
+type apbs_reg is record
+   sampf : std_logic;
+   xmcumax  : std_logic_vector(5 downto 0);
+   ymcumax  : std_logic_vector(4 downto 0);
+   incaddy : std_logic_vector(15 downto 0);
+   incaddmcux : std_logic_vector(15 downto 0);
+   incaddmcuy : std_logic_vector(10 downto 0);
+   fbstartadd : std_logic_vector(31 downto 0);
+   error_reg : std_logic_vector(2 downto 0);
+end record;
+
+type all_reg is record
+   hreg : ahbs_reg;
+   preg : apbs_reg;
+end record;
+
+signal r, rin : all_reg;
+
+begin
+comb : process (r, rst, ahbsi, apbi, kready, error)
+      variable v : all_reg;
+      variable apbwrite : std_logic;
+      variable vprdata : std_logic_vector(31 downto 0);
+      variable virq : std_logic_vector(NAHBIRQ-1 downto 0);
+      variable vstartgen : std_logic;
+    begin
+
+   v := r;
+   vprdata := (others => '0'); 
+   virq := (others => '0');
+   v.hreg.written := '0';
+   vstartgen := '0';
+   
+-- apb controle part
+   apbwrite := apbi.psel(pindex) and apbi.pwrite and apbi.penable;
+   vprdata := (others => '0');
+   case apbi.paddr(5 downto 2) is
+   when "0000" =>
+      if apbwrite = '1' then
+         v.preg.fbstartadd := apbi.pwdata(31 downto 0);
+      end if;
+      vprdata := r.preg.fbstartadd(31 downto 0);
+   when "0001" =>
+      if apbwrite = '1' then
+         v.preg.sampf := apbi.pwdata(22);
+         v.preg.ymcumax := apbi.pwdata(21 downto 17);
+         v.preg.xmcumax := apbi.pwdata(16 downto 11);
+         v.preg.incaddmcuy := apbi.pwdata(10 downto 0);
+      end if;
+      vprdata := "0000000000" & r.preg.ymcumax & r.preg.xmcumax & r.preg.incaddmcuy;
+   when "0010" => 
+      if apbwrite = '1' then
+         v.preg.incaddy := apbi.pwdata(31 downto 16);
+         v.preg.incaddmcux := apbi.pwdata(15 downto 0);
+      end if;
+      vprdata := r.preg.incaddy & r.preg.incaddmcux;
+   when "0011" =>
+      if apbwrite = '1' then
+          if  apbi.pwdata(31) = '1' then
+              vstartgen := '1'; 
+          end if;        
+          v.preg.error_reg(2) := apbi.pwdata(31);
+      end if;
+      vprdata := r.preg.error_reg(2) & "00000000000000000000000000000" & r.preg.error_reg(1 downto 0);
+   when others =>
+   end case;  
+
+   v.hreg.get := '0';
+-- ahb slave input part
+   if (ahbsi.hready = '1') and (ahbsi.hsel(shindex) = '1') then
+       if (ahbsi.haddr(15 downto 0) = "0000000000000000") and (ahbsi.hwrite = '1') and (ahbsi.htrans = HTRANS_NONSEQ) then
+           v.hreg.get := '1';
+       end if;
+   end if;
+   if r.hreg.get = '1' then
+        v.hreg.hdata(7 downto 0) := ahbsi.hwdata(7 downto 0);
+        v.hreg.written := '1';            
+   end if;
+  
+-- reset part
+   if rst = '0' then
+         v.hreg.hdata := (others => '0');
+         v.hreg.written := '0';
+         v.hreg.get := '0';
+         v.preg.xmcumax := (others => '0');
+         v.preg.ymcumax := (others => '0');
+         v.preg.incaddmcuy := (others => '0');
+         v.preg.error_reg := (others => '0');
+   end if;
+   
+-- signal
+   rin <= v;   
+   apbo.prdata <= vprdata;
+   ahbso.hirq <= virq;
+   ahbso.hrdata <= kready & "00000000000000000000000" & r.hreg.hdata;
+   startgen <= vstartgen;
+   kstrobe <= r.hreg.written;
+   kdata <= r.hreg.hdata;
+   xmcumax <= r.preg.xmcumax;
+   ymcumax <= r.preg.ymcumax;
+   incaddy <= r.preg.incaddy;
+   incaddmcux <= r.preg.incaddmcux;
+   incaddmcuy <= r.preg.incaddmcuy;
+   fbstartadd <= r.preg.fbstartadd;
+   samp_fact <= r.preg.sampf;
+end process;
+
+   apbo.pirq <= (others => '0');
+   apbo.pindex <= pindex;
+   apbo.pconfig <= pconfig;
+   ahbso.hconfig <= shconfig;
+   ahbso.hresp <= "00";
+   ahbso.hsplit <= (others => '0');
+   ahbso.hcache <= '0';
+   ahbso.hready <= '1';
+   ahbso.hindex <= shindex;
+   
+-- registers 
+reg : process(clk)
+begin
+   if rising_edge(clk) then
+        r <= rin;
+   end if;
+end process;
+
+
+end;
+   
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccambaif.vhd.bak b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccambaif.vhd.bak
new file mode 100644 (file)
index 0000000..949b219
--- /dev/null
@@ -0,0 +1,195 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+entity yccambaif is
+   generic (
+      memtech : integer := DEFMEMTECH;
+      shindex : integer := 0;
+      haddr  : integer := 0;
+      hmask  : integer := 16#fff#;
+      hirq   : integer := 0;      
+      pindex : integer := 0;
+      paddr  : integer := 0;
+      pmask  : integer := 16#fff#);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbsi : in ahb_slv_in_type;
+      ahbso : out ahb_slv_out_type;
+      apbi  : in apb_slv_in_type;
+      apbo  : out apb_slv_out_type;
+      kready : in std_logic;
+      kstrobe : out std_logic;
+      kdata   : out std_logic_vector(7 downto 0);
+      samp_fact : out std_logic;
+      error : in std_logic;
+      xmcumax : out std_logic_vector(5 downto 0);
+      ymcumax : out std_logic_vector(4 downto 0);
+      incaddy  : out std_logic_vector(15 downto 0);
+      incaddmcux : out std_logic_vector(15 downto 0);
+      incaddmcuy : out std_logic_vector(10 downto 0);
+      fbstartadd : out std_logic_vector(31 downto 0);
+      startgen : out std_logic
+   );
+end;
+
+architecture rtl of yccambaif is
+
+constant shconfig : ahb_config_type := (
+ 0 => ahb_device_reg( VENDOR_CONTRIB, CONTRIB_CORE1, 0, 0, hirq),
+ 4 => ahb_membar(haddr, '0', '0', hmask),
+ others => zero32);
+  
+constant pconfig : apb_config_type := (
+ 0 => ahb_device_reg( VENDOR_CONTRIB, CONTRIB_CORE1, 0, 0, 0),
+ 1 => apb_iobar(paddr, pmask));
+type ahbs_reg is record
+   get : std_logic;
+   hdata    : std_logic_vector(7 downto 0);
+   written : std_ulogic;
+end record;
+
+type apbs_reg is record
+   sampf : std_logic;
+   xmcumax  : std_logic_vector(5 downto 0);
+   ymcumax  : std_logic_vector(4 downto 0);
+   incaddy : std_logic_vector(15 downto 0);
+   incaddmcux : std_logic_vector(15 downto 0);
+   incaddmcuy : std_logic_vector(10 downto 0);
+   fbstartadd : std_logic_vector(31 downto 0);
+   error_reg : std_logic_vector(2 downto 0);
+end record;
+
+type all_reg is record
+   hreg : ahbs_reg;
+   preg : apbs_reg;
+end record;
+
+
+
+signal r, rin : all_reg;
+
+begin
+comb : process (r, rst, ahbsi, apbi, kready, error)
+      variable v : all_reg;
+      variable apbwrite : std_logic;
+      variable vprdata : std_logic_vector(31 downto 0);
+      variable virq : std_logic_vector(NAHBIRQ-1 downto 0);
+      variable vstartgen : std_logic;
+    begin
+
+   v := r;
+   vprdata := (others => '0'); 
+   virq := (others => '0');
+   v.hreg.written := '0';
+   vstartgen := '0';
+   
+-- apb controle part
+   apbwrite := apbi.psel(pindex) and apbi.pwrite and apbi.penable;
+   vprdata := (others => '0');
+   case apbi.paddr(5 downto 2) is
+   when "0000" =>
+      if apbwrite = '1' then
+         v.preg.fbstartadd := apbi.pwdata(31 downto 0);
+      end if;
+      vprdata := r.preg.fbstartadd(31 downto 0);
+   when "0001" =>
+      if apbwrite = '1' then
+         v.preg.sampf := apbi.pwdata(22);
+         v.preg.ymcumax := apbi.pwdata(21 downto 17);
+         v.preg.xmcumax := apbi.pwdata(16 downto 11);
+         v.preg.incaddmcuy := apbi.pwdata(10 downto 0);
+      end if;
+      vprdata := "0000000000" & r.preg.ymcumax & r.preg.xmcumax & r.preg.incaddmcuy;
+   when "0010" => 
+      if apbwrite = '1' then
+         v.preg.incaddy := apbi.pwdata(31 downto 16);
+         v.preg.incaddmcux := apbi.pwdata(15 downto 0);
+      end if;
+      vprdata := r.preg.incaddy & r.preg.incaddmcux;
+   when "0011" =>
+      if apbwrite = '1' then
+          if  apbi.pwdata(31) = '1' then
+              vstartgen := '1'; 
+          end if;        
+          v.preg.error_reg(2) := apbi.pwdata(31);
+      end if;
+      vprdata := r.preg.error_reg(2) & "00000000000000000000000000000" & r.preg.error_reg(1 downto 0);
+   when others =>
+   end case;  
+
+   
+   v.hreg.get := '0';
+-- ahb slave input part
+   if (ahbsi.hready = '1') and (ahbsi.hsel(shindex) = '1') then
+       if (ahbsi.haddr(15 downto 0) = "0000000000000000") and (ahbsi.hwrite = '1') and (ahbsi.htrans = HTRANS_NONSEQ) then
+           v.hreg.get := '1';
+       end if;
+   end if;
+   if r.hreg.get = '1' then
+        v.hreg.hdata(7 downto 0) := ahbsi.hwdata(7 downto 0);
+        v.hreg.written := '1';            
+   end if;
+  
+
+-- reset part
+   if rst = '0' then
+         v.hreg.hdata := (others => '0');
+         v.hreg.written := '0';
+         v.hreg.get := '0';
+         v.preg.xmcumax := (others => '0');
+         v.preg.ymcumax := (others => '0');
+         v.preg.incaddmcuy := (others => '0');
+         v.preg.error_reg := (others => '0');
+--         v.preg.startgen := '0';
+   end if;
+   
+-- signal
+
+   rin <= v;   
+   apbo.prdata <= vprdata;
+   ahbso.hirq <= virq;
+   ahbso.hrdata <= kready & "00000000000000000000000" & r.hreg.hdata;
+   startgen <= vstartgen;
+   kstrobe <= r.hreg.written;
+   kdata <= r.hreg.hdata;
+   xmcumax <= r.preg.xmcumax;
+   ymcumax <= r.preg.ymcumax;
+   incaddy <= r.preg.incaddy;
+   incaddmcux <= r.preg.incaddmcux;
+   incaddmcuy <= r.preg.incaddmcuy;
+   fbstartadd <= r.preg.fbstartadd;
+   samp_fact <= r.preg.sampf;
+end process;
+
+   apbo.pirq <= (others => '0');
+   apbo.pindex <= pindex;
+   apbo.pconfig <= pconfig;
+   ahbso.hconfig <= shconfig;
+   ahbso.hresp <= "00";
+   ahbso.hsplit <= (others => '0');
+   ahbso.hcache <= '0';
+   ahbso.hready <= '1';
+   ahbso.hindex <= shindex;
+   
+-- registers 
+reg : process(clk)
+begin
+   if rising_edge(clk) then
+        r <= rin;
+   end if;
+end process;
+
+
+end;
+   
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccmemcont.vhd b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccmemcont.vhd
new file mode 100644 (file)
index 0000000..106f604
--- /dev/null
@@ -0,0 +1,341 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+--use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+entity yccmemcont is
+   generic (
+      memtech : integer := DEFMEMTECH);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      kready1  : out std_logic;
+      kstrobe1 : in std_logic;
+      kdata1   : in std_logic_vector(7 downto 0);
+      kready2  : in std_logic;
+      kstrobe2 : out std_logic;
+      kdata2   : out std_logic_vector(23 downto 0);
+      samp_fact : in std_logic;
+      error     : out std_logic
+   );
+end;
+-- samp_fact = 0 -> 4:1:1
+-- samp_fact = 1 -> 4:2:2
+
+architecture rtl of yccmemcont is
+          
+type sstate_type is (mem0, mem1);
+type mstate_type is (empty, writing, full, reading, standby);
+
+type control_reg is record
+    swf : sstate_type;
+    swb : sstate_type;
+    mem0state : mstate_type;
+    mem1state : mstate_type;
+    countf   : std_logic_vector(8 downto 0);
+--    selectf  : std_logic_vector(1 downto 0);
+    countb   : std_logic_vector(7 downto 0);
+    stb2keep : std_logic;
+end record;
+
+signal r, rin : control_reg;
+signal y0address, y1address : std_logic_vector(7 downto 0);
+signal cb0address, cb1address, cr0address, cr1address : std_logic_vector(6 downto 0);
+signal y0datain, y1datain, cb0datain, cb1datain, cr0datain, cr1datain : std_logic_vector(7 downto 0);
+signal y0dataout, y1dataout, cb0dataout, cb1dataout, cr0dataout, cr1dataout : std_logic_vector(7 downto 0);
+signal y0enable, y1enable, cb0enable, cb1enable, cr0enable, cr1enable : std_logic;
+signal y0write, y1write, cb0write, cb1write, cr0write, cr1write : std_logic;
+
+begin
+yram0 : syncram generic map(tech => memtech, abits => 8, dbits => 8)
+            port map( clk, y0address, y0datain, y0dataout, y0enable, y0write);
+yram1 : syncram generic map(tech => memtech, abits => 8, dbits => 8)
+            port map( clk, y1address, y1datain, y1dataout, y1enable, y1write);
+cbram0 : syncram generic map(tech => memtech, abits => 7, dbits => 8)
+             port map( clk, cb0address, cb0datain, cb0dataout, cb0enable, cb0write);
+cbram1 : syncram generic map(tech => memtech, abits => 7, dbits => 8)
+             port map( clk, cb1address, cb1datain, cb1dataout, cb1enable, cb1write);
+crram0 : syncram generic map(tech => memtech, abits => 7, dbits => 8)
+             port map( clk, cr0address, cr0datain, cr0dataout, cr0enable, cr0write);
+crram1 : syncram generic map(tech => memtech, abits => 7, dbits => 8)
+             port map( clk, cr1address, cr1datain, cr1dataout, cr1enable, cr1write);                 
+                 
+                 
+comb : process (r, rst, kstrobe1, kdata1, kready2, samp_fact, y0dataout, y1dataout, 
+                   cb0dataout, cb1dataout, cr0dataout, cr1dataout)
+      variable v : control_reg;     
+      variable vkready1 : std_logic;
+      variable verror : std_logic;
+      variable vy0address, vy1address : std_logic_vector(7 downto 0);
+      variable vcb0address, vcb1address, vcr0address, vcr1address : std_logic_vector(6 downto 0);
+      variable vy0enable, vy1enable, vcb0enable, vcb1enable, vcr0enable, vcr1enable : std_logic;
+      variable vy0write, vy1write, vcb0write, vcb1write, vcr0write, vcr1write : std_logic;
+      variable fcountup, bcountup : std_logic;
+      variable fcntint : integer;
+      variable vstrobe : std_logic;
+      variable outdata : std_logic_vector(23 downto 0);
+   begin
+
+   v := r;
+   verror := '0';
+   vy0enable := '0'; vy1enable := '0'; vcb0enable := '0'; vcb1enable := '0'; vcr0enable := '0'; vcr1enable := '0';
+   vy0write := '0'; vy1write := '0'; vcb0write := '0'; vcb1write := '0'; vcr0write := '0'; vcr1write := '0';
+   fcountup := '0'; bcountup := '0';
+   vy0address := (others => '0'); vy1address := (others => '0'); 
+   vcb0address := (others => '0'); vcb1address := (others => '0');
+   vcr0address := (others => '0'); vcr1address := (others => '0');
+   
+   -- forward part
+   fcntint := to_integer(unsigned(r.countf));
+   if (kstrobe1 = '1') then
+       if ((r.swf = mem0 and (r.mem0state = full or r.mem0state = reading))or
+           (r.swf = mem1 and (r.mem1state = full or r.mem1state = reading)))then
+           verror := '1'; 
+       end if;
+       fcountup := '1';
+       if(r.swf = mem0) then
+           if(samp_fact = '0') then
+               if(fcntint < 256) then
+                   vy0enable := '1';
+                   vy0write := '1';
+                   vy0address := r.countf(7 downto 0);
+               elsif(fcntint < 320) then
+                   vcb0enable := '1';
+                   vcb0write := '1';
+                   vcb0address := r.countf(6 downto 0);
+               elsif(fcntint < 384) then
+                   vcr0enable := '1';
+                   vcr0write := '1';
+                   vcr0address := '0' & r.countf(5 downto 0);
+               else
+                   verror := '1';
+               end if;
+           else
+               if(fcntint < 256) then
+                   vy0enable := '1';
+                   vy0write := '1';
+                   vy0address := r.countf(7 downto 0);
+               elsif(fcntint < 384) then
+                   vcb0enable := '1';
+                   vcb0write := '1';
+                   vcb0address := r.countf(6 downto 0);
+               elsif(fcntint < 512) then
+                   vcr0enable := '1';
+                   vcr0write := '1';
+                   vcr0address := r.countf(6 downto 0);
+               else
+                   verror := '1';
+               end if;           
+           end if;
+       else
+           if(samp_fact = '0') then
+               if(fcntint < 256) then
+                   vy1enable := '1';
+                   vy1write := '1';
+                   vy1address := r.countf(7 downto 0);
+               elsif(fcntint < 320) then
+                   vcb1enable := '1';
+                   vcb1write := '1';
+                   vcb1address := r.countf(6 downto 0);
+               elsif(fcntint < 384) then
+                   vcr1enable := '1';
+                   vcr1write := '1';
+                   vcr1address := '0' & r.countf(5 downto 0);
+               else
+                   verror := '1';
+               end if;
+           else
+               if(fcntint < 256) then
+                   vy1enable := '1';
+                   vy1write := '1';
+                   vy1address := r.countf(7 downto 0);
+               elsif(fcntint < 384) then
+                   vcb1enable := '1';
+                   vcb1write := '1';
+                   vcb1address := r.countf(6 downto 0);
+               elsif(fcntint < 512) then
+                   vcr1enable := '1';
+                   vcr1write := '1';
+                   vcr1address := r.countf(6 downto 0);
+               else
+                   verror := '1';
+               end if;           
+           end if;
+       end if;              
+   end if;
+   
+   vkready1 := '0';
+   if (r.swf = mem0 and (r.mem0state = empty or r.mem0state = writing)) or (r.swf = mem1 and (r.mem1state = empty or r.mem1state = writing)) then
+       vkready1 := '1';
+   end if;
+   
+   --backward part
+   v.stb2keep := '0';   
+   if (kready2 = '1') then
+       if(r.swb = mem0 and (r.mem0state = full or r.mem0state = reading)) then
+           bcountup := '1';
+           v.stb2keep := '1';
+           vy0enable := '1';         
+           vcb0enable := '1';
+           vcr0enable := '1';
+           vy0address := r.countb(7) & r.countb(3) & r.countb(6 downto 4) & r.countb(2 downto 0);
+           if(samp_fact = '0') then   
+               vcb0address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);
+               vcr0address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);
+           else
+               vcb0address := r.countb(7 downto 1);  
+               vcr0address := r.countb(7 downto 1);
+           end if;
+       elsif(r.swb = mem1 and (r.mem1state = full or r.mem1state = reading))then
+           bcountup := '1';
+           v.stb2keep := '1';
+           vy1enable := '1';
+           vcb1enable := '1';
+           vcr1enable := '1';
+           vy1address := r.countb(7) & r.countb(3) & r.countb(6 downto 4) & r.countb(2 downto 0);
+           if(samp_fact = '0') then   
+               vcb1address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);
+               vcr1address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);
+           else
+               vcb1address := r.countb(7 downto 1);  
+               vcr1address := r.countb(7 downto 1);
+           end if;
+       end if;
+   end if;
+   
+   if(r.swb = mem0)then
+       outdata := y0dataout & cb0dataout & cr0dataout;
+   else
+       outdata := y1dataout & cb1dataout & cr1dataout;
+   end if;
+   
+   
+   --state-machine
+   --check empty case batting memory read write access
+   
+
+   case r.mem0state is
+   when empty =>
+       if (r.swf = mem0 and fcountup = '1') then
+           v.mem0state := writing;
+       end if;
+   when writing =>
+       if ((samp_fact = '0' and fcntint = 383 and fcountup = '1')or(samp_fact = '1' and fcntint = 511 and fcountup = '1')) then
+          v.mem0state := full; 
+          v.swf := mem1;
+       end if;
+   when full => 
+       if (r.swb = mem0 and kready2 = '1') then
+           v.mem0state := reading;
+       end if;
+   when reading =>
+       if (r.countb = "11111111") then
+           v.mem0state := standby;
+       end if;
+   when standby => 
+       v.swb := mem1;
+       v.mem0state := empty;
+   when others =>
+   end case;
+   
+   case r.mem1state is
+   when empty =>
+       if (r.swf = mem1 and fcountup = '1') then
+           v.mem1state := writing;
+       end if;
+   when writing =>
+       if ((samp_fact = '0' and fcntint = 383 and fcountup = '1')or(samp_fact = '1' and fcntint = 511 and fcountup = '1')) then
+          v.mem1state := full; 
+          v.swf := mem0;
+       end if;
+   when full => 
+       if (r.swb = mem1 and kready2 = '1') then
+           v.mem1state := reading;
+       end if;
+   when reading =>
+       if (r.countb = "11111111") then
+           v.mem1state := standby;
+       end if;
+   when standby =>
+       v.swb := mem0;
+       v.mem1state := empty;
+   when others =>
+   end case;   
+
+-- counter
+   if(fcountup = '1') then
+       v.countf := r.countf + '1';
+       if (samp_fact = '0') and (fcntint = 383) then
+           v.countf := "000000000";
+       elsif (samp_fact = '1') and (fcntint = 511) then
+           v.countf := "000000000";
+       end if; 
+   end if;
+   if (bcountup = '1') then
+       v.countb := r.countb + '1';
+   end if;
+  
+-- reset part
+   if rst = '0' then
+       v.swf := mem0;
+       v.swb := mem0;
+       v.mem0state := empty;
+       v.mem1state := empty;
+       v.countf := (others => '0');
+       v.countb := (others => '0');
+       v.stb2keep := '0';
+   end if;
+  
+-- signal
+
+   rin <= v;   
+   kready1 <= vkready1;
+   kstrobe2 <= r.stb2keep;
+   kdata2 <= outdata;
+   error <= verror;
+   y0address <= vy0address;
+   y1address <= vy1address;
+   cb0address <= vcb0address;
+   cb1address <= vcb1address;
+   cr0address <= vcr0address;
+   cr1address <= vcr1address;
+   y0enable <= vy0enable;
+   y1enable <= vy1enable;
+   cb0enable <= vcb0enable;
+   cb1enable <= vcb1enable;
+   cr0enable <= vcr0enable;
+   cr1enable <= vcr1enable;
+   y0write <= vy0write;
+   y1write <= vy1write;
+   cb0write <= vcb0write;
+   cb1write <= vcb1write;
+   cr0write <= vcr0write;
+   cr1write <= vcr1write;
+   
+end process;
+
+   y0datain <= kdata1;
+   y1datain <= kdata1;
+   cb0datain <= kdata1;
+   cb1datain <= kdata1;
+   cr0datain <= kdata1;
+   cr1datain <= kdata1;
+   
+-- registers 
+reg : process(clk)
+begin
+   if rising_edge(clk) then
+        r <= rin;
+   end if;
+end process;
+
+
+end;
+   
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccmemcont.vhd.bak b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccmemcont.vhd.bak
new file mode 100644 (file)
index 0000000..0f88489
--- /dev/null
@@ -0,0 +1,375 @@
+library ieee;\r
+use ieee.std_logic_1164.all;\r
+use ieee.numeric_std.all;\r
+\r
+library grlib;\r
+--use grlib.amba.all;\r
+use grlib.stdlib.all;\r
+use grlib.devices.all;\r
+\r
+library techmap;\r
+use techmap.gencomp.all;\r
+\r
+entity yccmemcont is\r
+   generic (\r
+      memtech : integer := DEFMEMTECH);\r
+   port (\r
+      rst   : in std_ulogic;\r
+      clk   : in std_ulogic;\r
+      kready1  : out std_logic;\r
+      kstrobe1 : in std_logic;\r
+      kdata1   : in std_logic_vector(7 downto 0);\r
+      kready2  : in std_logic;\r
+      kstrobe2 : out std_logic;\r
+      kdata2   : out std_logic_vector(23 downto 0);\r
+      samp_fact : in std_logic;\r
+      error     : out std_logic\r
+   );\r
+end;\r
+-- samp_fact = 0 -> 4:1:1\r
+-- samp_fact = 1 -> 4:2:2\r
+\r
+\r
+architecture rtl of yccmemcont is\r
+\r
+function stdv2str(vec:std_logic_vector) return string is\r
+   variable str : string(vec'length downto 1);\r
+   begin\r
+   for i in vec'length-1 downto 0 loop\r
+      if(vec(i)='U') then\r
+          str(i+1) := 'U';\r
+      elsif(vec(i)='X') then\r
+          str(i+1) := 'X';\r
+      elsif(vec(i)='0') then\r
+          str(i+1) := '0';\r
+      elsif(vec(i)='1') then\r
+           str(i+1) := '1';\r
+      elsif(vec(i)='Z') then\r
+           str(i+1) := 'Z';\r
+      elsif(vec(i)='W') then\r
+           str(i+1) := 'W';\r
+      elsif(vec(i)='L') then\r
+           str(i+1) := 'L';\r
+      elsif(vec(i)='H') then\r
+           str(i+1) := 'H';\r
+      else\r
+           str(i+1) := '-';\r
+      end if;\r
+   end loop;\r
+   return str;\r
+end;   \r
+          \r
+type sstate_type is (mem0, mem1);\r
+type mstate_type is (empty, writing, full, reading, standby);\r
+\r
+type control_reg is record\r
+    swf : sstate_type;\r
+    swb : sstate_type;\r
+    mem0state : mstate_type;\r
+    mem1state : mstate_type;\r
+    countf   : std_logic_vector(8 downto 0);\r
+--    selectf  : std_logic_vector(1 downto 0);\r
+    countb   : std_logic_vector(7 downto 0);\r
+--    countby  : std_logic_vector(7 downto 0);\r
+--    countbcb : std_logic_vector(7 downto 0);\r
+--    countbcr : std_logic_vector(7 downto 0);\r
+    stb2keep : std_logic;\r
+end record;\r
+\r
+signal r, rin : control_reg;\r
+signal y0address, y1address : std_logic_vector(7 downto 0);\r
+signal cb0address, cb1address, cr0address, cr1address : std_logic_vector(6 downto 0);\r
+signal y0datain, y1datain, cb0datain, cb1datain, cr0datain, cr1datain : std_logic_vector(7 downto 0);\r
+signal y0dataout, y1dataout, cb0dataout, cb1dataout, cr0dataout, cr1dataout : std_logic_vector(7 downto 0);\r
+signal y0enable, y1enable, cb0enable, cb1enable, cr0enable, cr1enable : std_logic;\r
+signal y0write, y1write, cb0write, cb1write, cr0write, cr1write : std_logic;\r
+\r
+begin\r
+yram0 : syncram generic map(tech => memtech, abits => 8, dbits => 8)\r
+            port map( clk, y0address, y0datain, y0dataout, y0enable, y0write);\r
+yram1 : syncram generic map(tech => memtech, abits => 8, dbits => 8)\r
+            port map( clk, y1address, y1datain, y1dataout, y1enable, y1write);\r
+cbram0 : syncram generic map(tech => memtech, abits => 7, dbits => 8)\r
+             port map( clk, cb0address, cb0datain, cb0dataout, cb0enable, cb0write);\r
+cbram1 : syncram generic map(tech => memtech, abits => 7, dbits => 8)\r
+             port map( clk, cb1address, cb1datain, cb1dataout, cb1enable, cb1write);\r
+crram0 : syncram generic map(tech => memtech, abits => 7, dbits => 8)\r
+             port map( clk, cr0address, cr0datain, cr0dataout, cr0enable, cr0write);\r
+crram1 : syncram generic map(tech => memtech, abits => 7, dbits => 8)\r
+             port map( clk, cr1address, cr1datain, cr1dataout, cr1enable, cr1write);                 \r
+                 \r
+                 \r
+comb : process (r, rst, kstrobe1, kdata1, kready2, samp_fact, y0dataout, y1dataout, \r
+                   cb0dataout, cb1dataout, cr0dataout, cr1dataout)\r
+      variable v : control_reg;     \r
+      variable vkready1 : std_logic;\r
+      variable verror : std_logic;\r
+      variable vy0address, vy1address : std_logic_vector(7 downto 0);\r
+      variable vcb0address, vcb1address, vcr0address, vcr1address : std_logic_vector(6 downto 0);\r
+--      variable vy0datain, vy1datain, vcb0datain, vcb1datain, vcr0datain, vcr1datain \r
+--                        : std_logic_vector(7 downto 0);\r
+      variable vy0enable, vy1enable, vcb0enable, vcb1enable, vcr0enable, vcr1enable \r
+                        : std_logic;\r
+      variable vy0write, vy1write, vcb0write, vcb1write, vcr0write, vcr1write : std_logic;\r
+      variable fcountup, bcountup : std_logic;\r
+      variable fcntint : integer;\r
+      variable vstrobe : std_logic;\r
+      variable outdata : std_logic_vector(23 downto 0);\r
+   begin\r
+\r
+   v := r;\r
+   verror := '0';\r
+   vy0enable := '0'; vy1enable := '0'; vcb0enable := '0'; vcb1enable := '0'; vcr0enable := '0'; vcr1enable := '0';\r
+   vy0write := '0'; vy1write := '0'; vcb0write := '0'; vcb1write := '0'; vcr0write := '0'; vcr1write := '0';\r
+   fcountup := '0'; bcountup := '0';\r
+   vy0address := (others => '0'); vy1address := (others => '0'); \r
+   vcb0address := (others => '0'); vcb1address := (others => '0');\r
+   vcr0address := (others => '0'); vcr1address := (others => '0');\r
+   \r
+   -- forward part\r
+   fcntint := to_integer(unsigned(r.countf));\r
+   if (kstrobe1 = '1') then\r
+       if ((r.swf = mem0 and (r.mem0state = full or r.mem0state = reading))or\r
+           (r.swf = mem1 and (r.mem1state = full or r.mem1state = reading)))then\r
+           verror := '1'; \r
+       end if;\r
+       fcountup := '1';\r
+       if(r.swf = mem0) then\r
+           if(samp_fact = '0') then\r
+               if(fcntint < 256) then\r
+                   vy0enable := '1';\r
+                   vy0write := '1';\r
+                   vy0address := r.countf(7 downto 0);\r
+               elsif(fcntint < 320) then\r
+                   vcb0enable := '1';\r
+                   vcb0write := '1';\r
+                   vcb0address := r.countf(6 downto 0);\r
+               elsif(fcntint < 384) then\r
+                   vcr0enable := '1';\r
+                   vcr0write := '1';\r
+                   vcr0address := '0' & r.countf(5 downto 0);\r
+               else\r
+                   verror := '1';\r
+               end if;\r
+           else\r
+               if(fcntint < 256) then\r
+                   vy0enable := '1';\r
+                   vy0write := '1';\r
+                   vy0address := r.countf(7 downto 0);\r
+               elsif(fcntint < 384) then\r
+                   vcb0enable := '1';\r
+                   vcb0write := '1';\r
+                   vcb0address := r.countf(6 downto 0);\r
+               elsif(fcntint < 512) then\r
+                   vcr0enable := '1';\r
+                   vcr0write := '1';\r
+                   vcr0address := r.countf(6 downto 0);\r
+               else\r
+                   verror := '1';\r
+               end if;           \r
+           end if;\r
+       else\r
+           if(samp_fact = '0') then\r
+               if(fcntint < 256) then\r
+                   vy1enable := '1';\r
+                   vy1write := '1';\r
+                   vy1address := r.countf(7 downto 0);\r
+               elsif(fcntint < 320) then\r
+                   vcb1enable := '1';\r
+                   vcb1write := '1';\r
+                   vcb1address := r.countf(6 downto 0);\r
+               elsif(fcntint < 384) then\r
+                   vcr1enable := '1';\r
+                   vcr1write := '1';\r
+                   vcr1address := '0' & r.countf(5 downto 0);\r
+               else\r
+                   verror := '1';\r
+               end if;\r
+           else\r
+               if(fcntint < 256) then\r
+                   vy1enable := '1';\r
+                   vy1write := '1';\r
+                   vy1address := r.countf(7 downto 0);\r
+               elsif(fcntint < 384) then\r
+                   vcb1enable := '1';\r
+                   vcb1write := '1';\r
+                   vcb1address := r.countf(6 downto 0);\r
+               elsif(fcntint < 512) then\r
+                   vcr1enable := '1';\r
+                   vcr1write := '1';\r
+                   vcr1address := r.countf(6 downto 0);\r
+               else\r
+                   verror := '1';\r
+               end if;           \r
+           end if;\r
+       end if;              \r
+   end if;\r
+   \r
+   vkready1 := '0';\r
+   if (r.swf = mem0 and (r.mem0state = empty or r.mem0state = writing)) or (r.swf = mem1 and (r.mem1state = empty or r.mem1state = writing)) then\r
+       vkready1 := '1';\r
+   end if;\r
+   \r
+   --backward part\r
+   v.stb2keep := '0';   \r
+   if (kready2 = '1') then\r
+       if(r.swb = mem0 and (r.mem0state = full or r.mem0state = reading)) then\r
+           bcountup := '1';\r
+           v.stb2keep := '1';\r
+           vy0enable := '1';         \r
+           vcb0enable := '1';\r
+           vcr0enable := '1';\r
+           vy0address := r.countb(7) & r.countb(3) & r.countb(6 downto 4) & r.countb(2 downto 0);\r
+           if(samp_fact = '0') then   \r
+               vcb0address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);\r
+               vcr0address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);\r
+           else\r
+               vcb0address := r.countb(7 downto 1);  \r
+               vcr0address := r.countb(7 downto 1);\r
+           end if;\r
+       elsif(r.swb = mem1 and (r.mem1state = full or r.mem1state = reading))then\r
+           bcountup := '1';\r
+           v.stb2keep := '1';\r
+           vy1enable := '1';\r
+           vcb1enable := '1';\r
+           vcr1enable := '1';\r
+           vy1address := r.countb(7) & r.countb(3) & r.countb(6 downto 4) & r.countb(2 downto 0);\r
+           if(samp_fact = '0') then   \r
+               vcb1address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);\r
+               vcr1address := '0' & r.countb(7 downto 5) & r.countb(3 downto 1);\r
+           else\r
+               vcb1address := r.countb(7 downto 1);  \r
+               vcr1address := r.countb(7 downto 1);\r
+           end if;\r
+       end if;\r
+   end if;\r
+   \r
+   if(r.swb = mem0)then\r
+       outdata := y0dataout & cb0dataout & cr0dataout;\r
+   else\r
+       outdata := y1dataout & cb1dataout & cr1dataout;\r
+   end if;\r
+   \r
+   \r
+   --state-machine\r
+   --check empty case batting memory read write access\r
+   \r
+\r
+   case r.mem0state is\r
+   when empty =>\r
+       if (r.swf = mem0 and fcountup = '1') then\r
+           v.mem0state := writing;\r
+       end if;\r
+   when writing =>\r
+       if ((samp_fact = '0' and fcntint = 383 and fcountup = '1')or(samp_fact = '1' and fcntint = 511 and fcountup = '1')) then\r
+          v.mem0state := full; \r
+          v.swf := mem1;\r
+       end if;\r
+   when full => \r
+       if (r.swb = mem0 and kready2 = '1') then\r
+           v.mem0state := reading;\r
+       end if;\r
+   when reading =>\r
+       if (r.countb = "11111111") then\r
+           v.mem0state := standby;\r
+       end if;\r
+   when standby => \r
+       v.swb := mem1;\r
+       v.mem0state := empty;\r
+   when others =>\r
+   end case;\r
+   \r
+   case r.mem1state is\r
+   when empty =>\r
+       if (r.swf = mem1 and fcountup = '1') then\r
+           v.mem1state := writing;\r
+       end if;\r
+   when writing =>\r
+       if ((samp_fact = '0' and fcntint = 383 and fcountup = '1')or(samp_fact = '1' and fcntint = 511 and fcountup = '1')) then\r
+          v.mem1state := full; \r
+          v.swf := mem0;\r
+       end if;\r
+   when full => \r
+       if (r.swb = mem1 and kready2 = '1') then\r
+           v.mem1state := reading;\r
+       end if;\r
+   when reading =>\r
+       if (r.countb = "11111111") then\r
+           v.mem1state := standby;\r
+       end if;\r
+   when standby =>\r
+       v.swb := mem0;\r
+       v.mem1state := empty;\r
+   when others =>\r
+   end case;   \r
+\r
+-- counter\r
+   if(fcountup = '1') then\r
+       v.countf := r.countf + '1';\r
+       if (samp_fact = '0') and (fcntint = 383) then\r
+           v.countf := "000000000";\r
+       elsif (samp_fact = '1') and (fcntint = 511) then\r
+           v.countf := "000000000";\r
+       end if; \r
+   end if;\r
+   if (bcountup = '1') then\r
+       v.countb := r.countb + '1';\r
+   end if;\r
+  \r
+-- reset part\r
+   if rst = '0' then\r
+       v.swf := mem0;\r
+       v.swb := mem0;\r
+       v.mem0state := empty;\r
+       v.mem1state := empty;\r
+       v.countf := (others => '0');\r
+       v.countb := (others => '0');\r
+       v.stb2keep := '0';\r
+   end if;\r
+  \r
+-- signal\r
+\r
+   rin <= v;   \r
+   kready1 <= vkready1;\r
+   kstrobe2 <= r.stb2keep;\r
+   kdata2 <= outdata;\r
+   error <= verror;\r
+   y0address <= vy0address;\r
+   y1address <= vy1address;\r
+   cb0address <= vcb0address;\r
+   cb1address <= vcb1address;\r
+   cr0address <= vcr0address;\r
+   cr1address <= vcr1address;\r
+   y0enable <= vy0enable;\r
+   y1enable <= vy1enable;\r
+   cb0enable <= vcb0enable;\r
+   cb1enable <= vcb1enable;\r
+   cr0enable <= vcr0enable;\r
+   cr1enable <= vcr1enable;\r
+   y0write <= vy0write;\r
+   y1write <= vy1write;\r
+   cb0write <= vcb0write;\r
+   cb1write <= vcb1write;\r
+   cr0write <= vcr0write;\r
+   cr1write <= vcr1write;\r
+   \r
+end process;\r
+\r
+   y0datain <= kdata1;\r
+   y1datain <= kdata1;\r
+   cb0datain <= kdata1;\r
+   cb1datain <= kdata1;\r
+   cr0datain <= kdata1;\r
+   cr1datain <= kdata1;\r
+   \r
+-- registers \r
+reg : process(clk)\r
+begin\r
+   if rising_edge(clk) then\r
+        r <= rin;\r
+   end if;\r
+end process;\r
+\r
+\r
+end;\r
+   
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccrgb.vhd b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccrgb.vhd
new file mode 100644 (file)
index 0000000..eaefd7a
--- /dev/null
@@ -0,0 +1,372 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+entity yccrgb is
+   generic (
+      memtech : integer := DEFMEMTECH;
+      hirq   : integer := 0;       
+      mhindex : integer := 0;
+      chprot : integer := 3);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      kready  : out std_logic;
+      kstrobe : in std_logic;
+      kdata   : in std_logic_vector(23 downto 0);
+      xmcumax : in std_logic_vector(5 downto 0);
+      ymcumax : in std_logic_vector(4 downto 0);
+      incaddy  : in std_logic_vector(15 downto 0);
+      incaddmcux : in std_logic_vector(15 downto 0);
+      incaddmcuy : in std_logic_vector(10 downto 0);
+      fbstartadd : in std_logic_vector(31 downto 0);
+      startgen   : in std_logic
+   );
+end;
+
+architecture rtl of yccrgb is
+
+constant mhconfig : ahb_config_type := (
+ 0 => ahb_device_reg( VENDOR_CONTRIB, CONTRIB_CORE1, 0, 0, 0),
+ others => zero32);
+constant fdepth : integer :=256;
+          
+function mysigned_mul(a,b : std_logic_vector) return std_logic_vector is
+variable z : std_logic_vector(a'length + b'length -1 downto 0);
+begin
+    z := std_logic_vector(signed(a) * signed(b));
+    return(z);
+end;
+
+function mysigned_add(a,b : std_logic_vector) return std_logic_vector is
+variable ex_a : std_logic_vector(a'length downto 0);
+variable ex_b : std_logic_vector(b'length downto 0);
+variable z1 : std_logic_vector(a'length downto 0);
+variable z2 : std_logic_vector(b'length downto 0);
+begin
+    ex_a := a(a'left) & a;
+    ex_b := b(b'left) & b;
+    if( a'length > b'length)then
+       z1 := std_logic_vector(signed(ex_a) + signed(ex_b));
+       return(z1);
+    else
+       z2 := std_logic_vector(signed(ex_a) + signed(ex_b));
+       return(z2);
+    end if;
+end;
+
+type fstate_type is (ready, stuck);
+type mstate_type is (idle, busreq, grant, nonseq, seq);
+
+type control_reg is record
+   ycc    : std_logic_vector(23 downto 0);
+   written : std_ulogic;
+   fifo_state : fstate_type;
+   fifo_rp : std_logic_vector(7 downto 0);
+   fifo_wp : std_logic_vector(7 downto 0);
+   gen_add : std_logic_vector(31 downto 0);
+   temp_data : std_logic_vector(15 downto 0);
+   mstate : mstate_type;
+   yxpoint : std_logic_vector( 6 downto 0);
+   xmcu : std_logic_vector(5 downto 0);
+   ymcu : std_logic_vector(4 downto 0);
+   keep_data : std_logic_vector(31 downto 0);
+   dhready : std_logic;
+end record;
+
+signal r, rin : control_reg;
+signal read_en_fifo, write_en_fifo : std_logic;
+signal read_pointer_fifo : std_logic_vector(7 downto 0);
+signal write_pointer_fifo : std_logic_vector(7 downto 0);
+signal data_out_fifo : std_logic_vector(31 downto 0);
+signal data_in_fifo : std_logic_vector(31 downto 0);
+
+begin
+ram0 : syncram_2p generic map(tech => memtech, abits => 8, dbits => 32, sepclk => 0)
+            port map( clk, read_en_fifo, read_pointer_fifo, data_out_fifo,
+                clk, write_en_fifo, write_pointer_fifo, data_in_fifo);
+
+comb : process (r, rst, ahbmi, kstrobe, kdata, xmcumax, ymcumax, incaddmcuy, fbstartadd, startgen, data_out_fifo)
+      variable v : control_reg;
+      variable virq : std_logic_vector(NAHBIRQ-1 downto 0);
+      variable vsready : std_logic;
+      variable fifo_write : std_logic;
+      variable fifo_read :std_logic;
+      variable write_point : integer;
+      variable read_point : integer;
+      variable num_ele : integer;
+      variable mhtrans : std_logic_vector(1 downto 0);
+      variable mhbusreq : std_ulogic;
+      variable mhprot : std_logic_vector(3 downto 0);
+      variable add_inc : std_logic;
+      variable vmhwdata : std_logic_vector(31 downto 0);
+      variable incval : std_logic_vector(15 downto 0);
+      variable refresh : std_logic;
+      variable rout : std_logic_vector(4 downto 0);
+      variable gout : std_logic_vector(5 downto 0);
+      variable bout : std_logic_vector(4 downto 0);     
+      variable node1 : std_logic_vector(9 downto 0);
+      variable node2 : std_logic_vector(9 downto 0);
+      variable node3 : std_logic_vector(15 downto 0);
+      variable node4 : std_logic_vector(15 downto 0);
+      variable node5 : std_logic_vector(15 downto 0);
+      variable node6 : std_logic_vector(15 downto 0);
+      variable node7 : std_logic_vector(9 downto 0);
+      variable node8 : std_logic_vector(8 downto 0);
+      variable node9 : std_logic_vector(9 downto 0);
+      variable node10 : std_logic_vector(9 downto 0);     
+      constant c_01011010 : std_logic_vector(7 downto 0) := "01011010";
+      constant c_11101010 : std_logic_vector(7 downto 0) := "11101010";
+      constant c_11010010 : std_logic_vector(7 downto 0) := "11010010";
+      constant c_01110001 : std_logic_vector(7 downto 0) := "01110001";      
+    begin
+
+   v := r;
+   virq := (others => '0');
+   mhprot := conv_std_logic_vector(chprot,4);
+   v.written := '0';
+   fifo_write := '0';
+   vsready := '1';
+   mhbusreq := '0';
+   mhtrans := HTRANS_IDLE;
+      
+   if kstrobe = '1' then
+        v.ycc(23 downto 0) := kdata;
+        v.written := '1';            
+   end if;
+
+-- register write   
+      node1 := mysigned_add(('0' & r.ycc(15 downto 8)), "110000000");
+      node2 := mysigned_add(('0' & r.ycc(7 downto 0)), "110000000");
+      node3 := mysigned_mul(c_01011010, node2(7 downto 0));
+      node4 := mysigned_mul(c_11101010, node1(7 downto 0));
+      node5 := mysigned_mul(c_11010010, node2(7 downto 0));
+      node6 := mysigned_mul(c_01110001, node1(7 downto 0));
+      node7 := mysigned_add(('0' & r.ycc(23 downto 16)), (node3(14 downto 7) & '0'));
+      node8 := mysigned_add((node4(13 downto 7) & '0'), (node5(13 downto 7) & '0'));
+      node9 := mysigned_add(('0' & r.ycc(23 downto 16)), ( node6(14 downto 7) & '0'));
+      node10 := mysigned_add(('0' & r.ycc(23 downto 16)), node8);
+      if(node7(9) = '1') then
+         rout := "00000";
+      elsif(node7(8) = '1') then
+         rout := "11111";
+      else
+         rout := node7(7 downto 3);
+      end if;
+     
+      if(node10(9) = '1') then
+         gout := "000000";
+      elsif(node10(8) = '1') then
+         gout := "111111";
+      else
+         gout := node10(7 downto 2);
+      end if;
+      
+      if(node9(9) = '1') then
+         bout := "00000";
+      elsif(node9(8) = '1') then
+         bout := "11111";
+      else
+         bout := node9(7 downto 3);
+      end if;
+
+-- Fifo part
+   write_point := to_integer(unsigned(r.fifo_wp));
+   read_point := to_integer(unsigned(r.fifo_rp));
+   if write_point >= read_point then
+       num_ele := write_point - read_point;
+   else
+       num_ele := fdepth - read_point + write_point;
+   end if;
+   if num_ele > fdepth/2 then
+       vsready := '0';
+   end if;
+   if (num_ele = fdepth/2) and ( r.written = '1' or r.fifo_state = stuck) then
+       vsready := '0';
+   end if;
+   
+   case r.fifo_state is
+   when ready =>
+      if r.written = '1' then
+         v.temp_data := rout & gout & bout;
+         v.fifo_state := stuck;
+      end if;
+   when stuck =>
+      if r.written = '1' then
+         fifo_write := '1';
+         write_point := write_point + 1;
+         if write_point = fdepth then
+            write_point := 0;
+         end if;
+         v.fifo_state := ready;
+      end if;
+   end case; 
+      
+   data_in_fifo <= r.temp_data & rout & gout & bout; 
+   write_en_fifo <= fifo_write;
+   v.fifo_wp := std_logic_vector(to_unsigned(write_point,8));
+
+-- AHB master part
+   fifo_read := '0';
+   add_inc := '0';
+
+   case r.mstate is
+   when idle =>
+       mhbusreq := '0';
+       mhtrans := HTRANS_IDLE;
+       if (num_ele >= 8) then
+           v.mstate := busreq;
+       end if;
+   when busreq =>
+       mhbusreq := '1';
+       mhtrans := HTRANS_NONSEQ;
+       if  (ahbmi.hready = '1') and (ahbmi.hgrant(mhindex) = '1') then
+           v.mstate := nonseq;
+       end if;
+   when nonseq =>
+       mhbusreq := '1';
+       mhtrans := HTRANS_NONSEQ;
+       if ahbmi.hready = '1' then
+           fifo_read := '1';
+           add_inc := '1';
+           v.mstate := seq;
+       end if;
+   when seq =>
+       mhbusreq := '1';
+       mhtrans := HTRANS_SEQ;
+       if ahbmi.hready = '1' then
+           fifo_read := '1';
+           add_inc := '1';
+           if (r.yxpoint(2 downto 0) = "111") then
+               v.mstate := idle;
+           end if;
+       end if;
+   when others =>
+   end case;
+   
+   
+   refresh := '0';
+   incval := (others => '0');
+   if add_inc = '1' then
+   v.yxpoint := r.yxpoint + '1';
+       if r.yxpoint(2 downto 0) /= "111" then
+          incval := "0000000000000100";
+       else 
+          if r.yxpoint(6 downto 3) /= "1111" then
+             incval := incaddy;
+          else 
+             v.xmcu := r.xmcu + '1';
+             if r.xmcu /= xmcumax then
+                incval := incaddmcux;
+             else   
+                v.xmcu := "000000";
+                v.ymcu := r.ymcu + '1';
+                if r.ymcu /= ymcumax then
+                   incval := "00000" & incaddmcuy;
+                else
+                   v.ymcu := "00000";
+                   refresh := '1';
+                end if;
+             end if;
+          end if;
+       end if;
+   end if;
+  
+   if refresh = '1' then
+       v.gen_add := fbstartadd;
+   else
+       v.gen_add := std_logic_vector(signed(r.gen_add) + signed(incval));
+   end if;
+
+   if fifo_read = '1' then
+      read_point := read_point + 1;
+      if read_point = fdepth then
+          read_point := 0;
+      end if;
+   end if;
+   v.fifo_rp :=  std_logic_vector(to_unsigned(read_point,8));
+   
+-- for the hready assert
+   v.dhready := ahbmi.hready;
+   if  (ahbmi.hready = '1') or (ahbmi.hgrant(mhindex) = '0') then
+      v.keep_data := data_out_fifo;
+   end if;
+   if (r.dhready = '0') and (ahbmi.hgrant(mhindex) = '1') then
+      vmhwdata := r.keep_data;
+   else
+      vmhwdata := data_out_fifo;
+   end if; 
+
+-- soft reset
+   if startgen = '1' then
+         v.gen_add := fbstartadd;
+         v.written := '0';
+         v.fifo_state := ready;
+         v.fifo_rp := (others => '0');
+         v.fifo_wp := (others => '0');
+         v.mstate := idle;
+         v.yxpoint := (others => '0');
+         v.xmcu := (others => '0');
+         v.ymcu := (others => '0');
+   end if;      
+-- reset part
+   if rst = '0' then
+         v.ycc := (others => '0');
+         v.written := '0';
+         v.fifo_state := ready;
+         v.fifo_rp := (others => '0');
+         v.fifo_wp := (others => '0');
+         v.mstate := idle;
+         v.yxpoint := (others => '0');
+         v.xmcu := (others => '0');
+         v.ymcu := (others => '0');  
+         v.temp_data := (others => '0');
+         v.gen_add := (others => '0'); 
+   end if;
+   
+-- signal
+   rin <= v;   
+   kready <= vsready;
+   read_en_fifo <= '1';
+   write_pointer_fifo <= r.fifo_wp(7 downto 0);
+   read_pointer_fifo <= r.fifo_rp(7 downto 0);
+   ahbmo.haddr <= r.gen_add;
+   ahbmo.htrans <= mhtrans;
+   ahbmo.hbusreq <= mhbusreq;
+   ahbmo.hprot <= mhprot;
+   ahbmo.hwdata <= vmhwdata; 
+   
+
+end process;
+
+   ahbmo.hconfig <= mhconfig;
+   ahbmo.hlock <= '0';
+   ahbmo.hwrite <= '1';
+   ahbmo.hsize <= "010";
+   ahbmo.hburst <= HBURST_INCR;   
+   ahbmo.hirq <= (others => '0');
+   ahbmo.hindex <= mhindex;
+
+   
+-- registers 
+reg : process(clk)
+begin
+   if rising_edge(clk) then
+        r <= rin;
+   end if;
+end process;
+
+
+end;
+   
diff --git a/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccrgb.vhd.bak b/grlib-gpl-1.0.22-b4095/lib/kuri/mjpeg/yccrgb.vhd.bak
new file mode 100644 (file)
index 0000000..9aa777d
--- /dev/null
@@ -0,0 +1,432 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+library grlib;
+use grlib.amba.all;
+use grlib.stdlib.all;
+use grlib.devices.all;
+
+library techmap;
+use techmap.gencomp.all;
+
+entity yccrgb is
+   generic (
+      memtech : integer := DEFMEMTECH;
+      hirq   : integer := 0;       
+      mhindex : integer := 0;
+      chprot : integer := 3);
+   port (
+      rst   : in std_ulogic;
+      clk   : in std_ulogic;
+      ahbmi : in ahb_mst_in_type;
+      ahbmo : out ahb_mst_out_type;
+      kready  : out std_logic;
+      kstrobe : in std_logic;
+      kdata   : in std_logic_vector(23 downto 0);
+      xmcumax : in std_logic_vector(5 downto 0);
+      ymcumax : in std_logic_vector(4 downto 0);
+      incaddy  : in std_logic_vector(15 downto 0);
+      incaddmcux : in std_logic_vector(15 downto 0);
+      incaddmcuy : in std_logic_vector(10 downto 0);
+      fbstartadd : in std_logic_vector(31 downto 0);
+      startgen   : in std_logic
+   );
+end;
+
+architecture rtl of yccrgb is
+
+constant mhconfig : ahb_config_type := (
+ 0 => ahb_device_reg( VENDOR_CONTRIB, CONTRIB_CORE1, 0, 0, 0),
+ others => zero32);
+--constant incaddy : std_logic_vector(15 downto 0) := "0000010011100100";
+--constant incaddmcux : std_logic_vector(15 downto 0) := "1011010100000100";
+
+constant fdepth : integer :=256;
+
+function stdv2str(vec:std_logic_vector) return string is
+   variable str : string(vec'length downto 1);
+   begin
+   for i in vec'length-1 downto 0 loop
+      if(vec(i)='U') then
+          str(i+1) := 'U';
+      elsif(vec(i)='X') then
+          str(i+1) := 'X';
+      elsif(vec(i)='0') then
+          str(i+1) := '0';
+      elsif(vec(i)='1') then
+           str(i+1) := '1';
+      elsif(vec(i)='Z') then
+           str(i+1) := 'Z';
+      elsif(vec(i)='W') then
+           str(i+1) := 'W';
+      elsif(vec(i)='L') then
+           str(i+1) := 'L';
+      elsif(vec(i)='H') then
+           str(i+1) := 'H';
+      else
+           str(i+1) := '-';
+      end if;
+   end loop;
+   return str;
+end;   
+          
+function mysigned_mul(a,b : std_logic_vector) return std_logic_vector is
+variable z : std_logic_vector(a'length + b'length -1 downto 0);
+begin
+    z := std_logic_vector(signed(a) * signed(b));
+    return(z);
+end;
+
+function mysigned_add(a,b : std_logic_vector) return std_logic_vector is
+variable ex_a : std_logic_vector(a'length downto 0);
+variable ex_b : std_logic_vector(b'length downto 0);
+variable z1 : std_logic_vector(a'length downto 0);
+variable z2 : std_logic_vector(b'length downto 0);
+begin
+    ex_a := a(a'left) & a;
+    ex_b := b(b'left) & b;
+    if( a'length > b'length)then
+       z1 := std_logic_vector(signed(ex_a) + signed(ex_b));
+       return(z1);
+    else
+       z2 := std_logic_vector(signed(ex_a) + signed(ex_b));
+       return(z2);
+    end if;
+end;
+
+type fstate_type is (ready, stuck);
+type mstate_type is (idle, busreq, grant, nonseq, seq);
+
+type control_reg is record
+   ycc    : std_logic_vector(23 downto 0);
+   written : std_ulogic;
+   fifo_state : fstate_type;
+   fifo_rp : std_logic_vector(7 downto 0);
+   fifo_wp : std_logic_vector(7 downto 0);
+   gen_add : std_logic_vector(31 downto 0);
+   temp_data : std_logic_vector(15 downto 0);
+   mstate : mstate_type;
+   yxpoint : std_logic_vector( 6 downto 0);
+   xmcu : std_logic_vector(5 downto 0);
+   ymcu : std_logic_vector(4 downto 0);
+   keep_data : std_logic_vector(31 downto 0);
+   dhready : std_logic;
+end record;
+
+signal r, rin : control_reg;
+signal read_en_fifo, write_en_fifo : std_logic;
+signal read_pointer_fifo : std_logic_vector(7 downto 0);
+signal write_pointer_fifo : std_logic_vector(7 downto 0);
+signal data_out_fifo : std_logic_vector(31 downto 0);
+signal data_in_fifo : std_logic_vector(31 downto 0);
+
+signal dbg_node1 : std_logic_vector(9 downto 0);
+signal dbg_node2 : std_logic_vector(9 downto 0);
+signal dbg_node3 : std_logic_vector(15 downto 0);
+signal dbg_node4 : std_logic_vector(15 downto 0);
+signal dbg_node5 : std_logic_vector(15 downto 0);
+signal dbg_node6 : std_logic_vector(15 downto 0);
+signal dbg_node7 : std_logic_vector(9 downto 0);
+signal dbg_node8 : std_logic_vector(8 downto 0);
+signal dbg_node9 : std_logic_vector(9 downto 0);
+signal dbg_node10 : std_logic_vector(9 downto 0);
+signal debug_numele : std_logic_vector(15 downto 0);
+
+begin
+ram0 : syncram_2p generic map(tech => memtech, abits => 8, dbits => 32, sepclk => 0)
+            port map( clk, read_en_fifo, read_pointer_fifo, data_out_fifo,
+                clk, write_en_fifo, write_pointer_fifo, data_in_fifo);
+
+comb : process (r, rst, ahbmi, kstrobe, kdata, xmcumax, ymcumax, incaddmcuy, fbstartadd, startgen, data_out_fifo)
+      variable v : control_reg;
+      variable virq : std_logic_vector(NAHBIRQ-1 downto 0);
+      variable vsready : std_logic;
+      variable fifo_write : std_logic;
+      variable fifo_read :std_logic;
+      variable write_point : integer;
+      variable read_point : integer;
+      variable num_ele : integer;
+      variable mhtrans : std_logic_vector(1 downto 0);
+      variable mhbusreq : std_ulogic;
+      variable mhprot : std_logic_vector(3 downto 0);
+      variable add_inc : std_logic;
+      variable vmhwdata : std_logic_vector(31 downto 0);
+      variable incval : std_logic_vector(15 downto 0);
+      variable refresh : std_logic;
+      variable rout : std_logic_vector(4 downto 0);
+      variable gout : std_logic_vector(5 downto 0);
+      variable bout : std_logic_vector(4 downto 0);     
+      variable node1 : std_logic_vector(9 downto 0);
+      variable node2 : std_logic_vector(9 downto 0);
+      variable node3 : std_logic_vector(15 downto 0);
+      variable node4 : std_logic_vector(15 downto 0);
+      variable node5 : std_logic_vector(15 downto 0);
+      variable node6 : std_logic_vector(15 downto 0);
+      variable node7 : std_logic_vector(9 downto 0);
+      variable node8 : std_logic_vector(8 downto 0);
+      variable node9 : std_logic_vector(9 downto 0);
+      variable node10 : std_logic_vector(9 downto 0);     
+      constant c_01011010 : std_logic_vector(7 downto 0) := "01011010";
+      constant c_11101010 : std_logic_vector(7 downto 0) := "11101010";
+      constant c_11010010 : std_logic_vector(7 downto 0) := "11010010";
+      constant c_01110001 : std_logic_vector(7 downto 0) := "01110001";      
+    begin
+
+   v := r;
+   virq := (others => '0');
+   mhprot := conv_std_logic_vector(chprot,4);
+   v.written := '0';
+   fifo_write := '0';
+   vsready := '1';
+   mhbusreq := '0';
+   mhtrans := HTRANS_IDLE;
+      
+   if kstrobe = '1' then
+        v.ycc(23 downto 0) := kdata;
+        v.written := '1';            
+   end if;
+
+-- register write   
+--   yc_datapath(r.ycc(23 downto 16), r.ycc(15 downto 8),r.ycc(7 downto 0), red,green,blue);
+      node1 := mysigned_add(('0' & r.ycc(15 downto 8)), "110000000");
+      node2 := mysigned_add(('0' & r.ycc(7 downto 0)), "110000000");
+      node3 := mysigned_mul(c_01011010, node2(7 downto 0));
+      node4 := mysigned_mul(c_11101010, node1(7 downto 0));
+      node5 := mysigned_mul(c_11010010, node2(7 downto 0));
+      node6 := mysigned_mul(c_01110001, node1(7 downto 0));
+      node7 := mysigned_add(('0' & r.ycc(23 downto 16)), (node3(14 downto 7) & '0'));
+      node8 := mysigned_add((node4(13 downto 7) & '0'), (node5(13 downto 7) & '0'));
+      node9 := mysigned_add(('0' & r.ycc(23 downto 16)), ( node6(14 downto 7) & '0'));
+      node10 := mysigned_add(('0' & r.ycc(23 downto 16)), node8);
+      if(node7(9) = '1') then
+         rout := "00000";
+      elsif(node7(8) = '1') then
+         rout := "11111";
+      else
+         rout := node7(7 downto 3);
+      end if;
+     
+      if(node10(9) = '1') then
+         gout := "000000";
+      elsif(node10(8) = '1') then
+         gout := "111111";
+      else
+         gout := node10(7 downto 2);
+      end if;
+      
+      if(node9(9) = '1') then
+         bout := "00000";
+      elsif(node9(8) = '1') then
+         bout := "11111";
+      else
+         bout := node9(7 downto 3);
+      end if;
+
+-- Fifo part
+   write_point := to_integer(unsigned(r.fifo_wp));
+   read_point := to_integer(unsigned(r.fifo_rp));
+   if write_point >= read_point then
+       num_ele := write_point - read_point;
+   else
+       num_ele := fdepth - read_point + write_point;
+   end if;
+   if num_ele > fdepth/2 then
+       vsready := '0';
+   end if;
+   if (num_ele = fdepth/2) and ( r.written = '1' or r.fifo_state = stuck) then
+       vsready := '0';
+   end if;
+   
+   case r.fifo_state is
+   when ready =>
+      if r.written = '1' then
+         v.temp_data := rout & gout & bout;
+         v.fifo_state := stuck;
+      end if;
+   when stuck =>
+      if r.written = '1' then
+         fifo_write := '1';
+         write_point := write_point + 1;
+         if write_point = fdepth then
+            write_point := 0;
+         end if;
+         v.fifo_state := ready;
+      end if;
+   end case; 
+      
+   data_in_fifo <= r.temp_data & rout & gout & bout; 
+   write_en_fifo <= fifo_write;
+   v.fifo_wp := std_logic_vector(to_unsigned(write_point,8));
+   debug_numele <= std_logic_vector(to_unsigned(num_ele,16));
+   
+-- AHB master part
+   fifo_read := '0';
+   add_inc := '0';
+
+   case r.mstate is
+   when idle =>
+       mhbusreq := '0';
+       mhtrans := HTRANS_IDLE;
+       if (num_ele >= 8) then
+           v.mstate := busreq;
+       end if;
+   when busreq =>
+       mhbusreq := '1';
+       mhtrans := HTRANS_NONSEQ;
+       if  (ahbmi.hready = '1') and (ahbmi.hgrant(mhindex) = '1') then
+           v.mstate := nonseq;
+       end if;
+   when nonseq =>
+       mhbusreq := '1';
+       mhtrans := HTRANS_NONSEQ;
+       if ahbmi.hready = '1' then
+           fifo_read := '1';
+           add_inc := '1';
+           v.mstate := seq;
+       end if;
+   when seq =>
+       mhbusreq := '1';
+       mhtrans := HTRANS_SEQ;
+       if ahbmi.hready = '1' then
+           fifo_read := '1';
+           add_inc := '1';
+           if (r.yxpoint(2 downto 0) = "111") then
+               v.mstate := idle;
+           end if;
+       end if;
+   when others =>
+   end case;
+   
+   
+   refresh := '0';
+   incval := (others => '0');
+   if add_inc = '1' then
+   v.yxpoint := r.yxpoint + '1';
+       if r.yxpoint(2 downto 0) /= "111" then
+          incval := "0000000000000100";
+       else 
+          if r.yxpoint(6 downto 3) /= "1111" then
+             incval := incaddy;
+          else 
+             v.xmcu := r.xmcu + '1';
+             if r.xmcu /= xmcumax then
+                incval := incaddmcux;
+             else   
+                v.xmcu := "000000";
+                v.ymcu := r.ymcu + '1';
+                if r.ymcu /= ymcumax then
+                   incval := "00000" & incaddmcuy;
+                else
+                   v.ymcu := "00000";
+                   refresh := '1';
+                end if;
+             end if;
+          end if;
+       end if;
+   end if;
+
+  
+   if refresh = '1' then
+       v.gen_add := fbstartadd;
+   else
+       v.gen_add := std_logic_vector(signed(r.gen_add) + signed(incval));
+   end if;
+
+
+   if fifo_read = '1' then
+      read_point := read_point + 1;
+      if read_point = fdepth then
+          read_point := 0;
+      end if;
+   end if;
+   v.fifo_rp :=  std_logic_vector(to_unsigned(read_point,8));
+   
+-- for the hready assert
+   v.dhready := ahbmi.hready;
+   if  (ahbmi.hready = '1') or (ahbmi.hgrant(mhindex) = '0') then
+      v.keep_data := data_out_fifo;
+   end if;
+   if (r.dhready = '0') and (ahbmi.hgrant(mhindex) = '1') then
+      vmhwdata := r.keep_data;
+   else
+      vmhwdata := data_out_fifo;
+   end if; 
+
+-- soft reset
+   if startgen = '1' then
+         v.gen_add := fbstartadd;
+         v.written := '0';
+         v.fifo_state := ready;
+         v.fifo_rp := (others => '0');
+         v.fifo_wp := (others => '0');
+         v.mstate := idle;
+         v.yxpoint := (others => '0');
+         v.xmcu := (others => '0');
+         v.ymcu := (others => '0');
+   end if;      
+-- reset part
+   if rst = '0' then
+         v.ycc := (others => '0');
+         v.written := '0';
+         v.fifo_state := ready;
+         v.fifo_rp := (others => '0');
+         v.fifo_wp := (others => '0');
+         v.mstate := idle;
+         v.yxpoint := (others => '0');
+         v.xmcu := (others => '0');
+         v.ymcu := (others => '0');  
+         v.temp_data := (others => '0');
+         v.gen_add := (others => '0'); 
+   end if;
+   
+-- signal
+      
+   rin <= v;   
+   kready <= vsready;
+   read_en_fifo <= '1';
+   write_pointer_fifo <= r.fifo_wp(7 downto 0);
+   read_pointer_fifo <= r.fifo_rp(7 downto 0);
+   ahbmo.haddr <= r.gen_add;
+   ahbmo.htrans <= mhtrans;
+   ahbmo.hbusreq <= mhbusreq;
+   ahbmo.hprot <= mhprot;
+   ahbmo.hwdata <= vmhwdata; 
+   
+
+   dbg_node1 <= node1;
+   dbg_node2 <= node2;
+   dbg_node3 <= node3;
+   dbg_node4 <= node4;
+   dbg_node5 <= node5;
+   dbg_node6 <= node6;
+   dbg_node7 <= node7;
+   dbg_node8 <= node8;
+   dbg_node9 <= node9;
+   dbg_node10 <= node10;   
+   
+   
+   
+end process;
+
+   ahbmo.hconfig <= mhconfig;
+   ahbmo.hlock <= '0';
+   ahbmo.hwrite <= '1';
+   ahbmo.hsize <= "010";
+   ahbmo.hburst <= HBURST_INCR;   
+   ahbmo.hirq <= (others => '0');
+   ahbmo.hindex <= mhindex;
+
+   
+-- registers 
+reg : process(clk)
+begin
+   if rising_edge(clk) then
+        r <= rin;
+   end if;
+end process;
+
+
+end;
+   
index 3062cea..437efd1 100644 (file)
@@ -12,7 +12,8 @@ PROGS = report_device apbuart divtest multest regtest \
        amba dsu3 greth_api grcan \
        spictrl i2cmst misc spimctrl svgactrl apbps2 \
         i2cslv i2c yccrgbs_connect yccrgbs_pic yccrgbs_connect_neek \
-        yccrgbs_pic_neek $(EXTRA_PROGS)
+        yccrgbs_pic_neek upycc_connect upycc_pic upycc_connect_neek \
+        upycc_pic_neek $(EXTRA_PROGS)
 
 
 OFILES = $(PROGS:%=%.o)
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/in_upycc.txt b/grlib-gpl-1.0.22-b4095/software/leon3/in_upycc.txt
new file mode 120000 (symlink)
index 0000000..86d1da3
--- /dev/null
@@ -0,0 +1 @@
+../../../snapgear-2.6-p42/user/jpeg-6b-host/in_upycc.txt
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/upycc_array.txt b/grlib-gpl-1.0.22-b4095/software/leon3/upycc_array.txt
new file mode 100644 (file)
index 0000000..d568892
--- /dev/null
@@ -0,0 +1,10 @@
+{0x31,0x31,0x30,0x30,0x2F,0x2E,0x2D,0x2D,0x33,0x33,0x32,0x32,0x31,0x30,0x2F,0x2F,0x36,0x36,0x35,0x35,0x34,0x33,0x32,0x32,0x39,0x39,0x38,0x37,0x36,0x36,0x35,0x35,0x3B,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x3A,0x3A,0x41,0x41,0x40,0x3F,0x3F,0x3E,0x3D,0x3D,0x43,0x43,0x42,0x41,0x41,0x40,0x3F,0x3F,0x2E,0x2E,0x2E,0x2E,0x2D,0x2C,0x2B,0x2B,0x30,0x30,0x30,0x2F,0x2F,0x2E,0x2D,0x2D,0x32,0x32,0x32,0x32,0x32,0x31,0x30,0x2F,0x35,0x35,0x35,0x35,0x34,0x33,0x32,0x32,0x37,0x37,0x37,0x37,0x36,0x35,0x35,0x34,0x3A,0x3A,0x3A,0x39,0x39,0x38,0x37,0x37,0x3C,0x3C,0x3C,0x3C,0x3C,0x3B,0x3A,0x39,0x3E,0x3E,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x46,0x46,0x44,0x45,0x45,0x45,0x46,0x46,0x47,0x47,0x45,0x45,0x46,0x46,0x47,0x47,0x48,0x48,0x46,0x46,0x47,0x48,0x48,0x49,0x4A,0x4A,0x47,0x48,0x48,0x49,0x4A,0x4A,0x4B,0x4B,0x43,0x42,0x41,0x40,0x40,0x3F,0x3D,0x3B,0x45,0x44,0x43,0x41,0x40,0x3E,0x3D,0x3B,0x44,0x44,0x43,0x41,0x3F,0x3D,0x3D,0x3D,0x44,0x44,0x44,0x43,0x41,0x40,0x41,0x42,0x47,0x47,0x47,0x46,0x44,0x44,0x44,0x45,0x47,0x46,0x45,0x45,0x46,0x45,0x43,0x41,0x47,0x45,0x45,0x48,0x4C,0x4C,0x49,0x45,0x4A,0x48,0x49,0x4F,0x56,0x59,0x56,0x51,0x7D,0x7D,0x7F,0x80,0x81,0x82,0x82,0x82,0x7D,0x7D,0x7E,0x7F,0x80,0x80,0x80,0x80,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7E,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x7A,0x7B,0x7C,0x7B,0x79,0x78,0x78,0x79,0x7B,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x7A,0x7D,0x7F,0x7B,0x7A,0x78,0x77,0x78,0x7B,0x7E,0x80,0x85,0x85,0x84,0x83,0x81,0x80,0x7F,0x7F,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x82,0x83,0x83,0x84,0x84,0x85,0x85,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x2E,0x2E,0x2E,0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x31,0x32,0x32,0x32,0x33,0x31,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x34,0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,0x36,0x36,0x36,0x35,0x35,0x35,0x35,0x35,0x38,0x38,0x37,0x37,0x36,0x36,0x35,0x35,0x3D,0x3D,0x3C,0x3D,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3C,0x3D,0x3D,0x3D,0x3C,0x3C,0x3C,0x3D,0x3E,0x3F,0x3F,0x3E,0x3D,0x3C,0x3C,0x3D,0x42,0x42,0x41,0x40,0x3F,0x3D,0x3D,0x3D,0x46,0x44,0x42,0x41,0x41,0x40,0x3E,0x3C,0x49,0x45,0x42,0x41,0x42,0x42,0x3E,0x3B,0x4A,0x45,0x41,0x41,0x43,0x43,0x3E,0x3A,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x35,0x39,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x3A,0x3A,0x39,0x39,0x38,0x37,0x36,0x36,0x3B,0x3B,0x3A,0x3A,0x39,0x38,0x37,0x37,0x3C,0x3B,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3C,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x82,0x82,0x81,0x80,0x80,0x7F,0x7E,0x7E,0x80,0x80,0x80,0x7F,0x7F,0x7E,0x7E,0x7D,0x7E,0x7E,0x7E,0x7D,0x7D,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7C,0x7C,0x7C,0x7C,0x7C,0x79,0x79,0x7A,0x7A,0x7B,0x7B,0x7C,0x7C,0x78,0x78,0x79,0x7A,0x7B,0x7C,0x7C,0x7D,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x77,0x78,0x79,0x7A,0x7C,0x7D,0x7E,0x7F,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x80,0x84,0x84,0x83,0x83,0x82,0x81,0x81,0x81,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x85,0x85,0x84,0x84,0x83,0x82,0x82,0x82,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x82,0x86,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x84,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x30,0x30,0x30,0x30,0x30,0x2F,0x2F,0x2F,0x33,0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x33,0x34,0x34,0x34,0x35,0x36,0x36,0x36,0x33,0x34,0x35,0x36,0x37,0x39,0x3A,0x3A,0x33,0x34,0x35,0x37,0x39,0x3A,0x3B,0x3C,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x30,0x31,0x31,0x33,0x34,0x35,0x36,0x36,0x32,0x33,0x33,0x35,0x36,0x37,0x38,0x38,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x3F,0x3F,0x3B,0x3B,0x3C,0x3D,0x3E,0x40,0x40,0x41,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x3E,0x3E,0x3F,0x40,0x41,0x43,0x43,0x44,0x34,0x34,0x35,0x36,0x37,0x39,0x3B,0x3C,0x36,0x36,0x37,0x37,0x39,0x3B,0x3D,0x3E,0x37,0x37,0x37,0x38,0x3A,0x3C,0x3D,0x3F,0x37,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3E,0x38,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3D,0x39,0x39,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3D,0x3E,0x38,0x37,0x37,0x37,0x38,0x3A,0x3B,0x3C,0x3C,0x3D,0x3F,0x40,0x42,0x43,0x43,0x43,0x3D,0x3E,0x40,0x41,0x42,0x43,0x43,0x42,0x3F,0x3F,0x41,0x42,0x43,0x43,0x42,0x42,0x40,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x40,0x40,0x42,0x43,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x42,0x43,0x43,0x42,0x42},
+{0x81,0x80,0x7F,0x7E,0x7D,0x7B,0x7A,0x7A,0x80,0x7F,0x7E,0x7D,0x7C,0x7A,0x79,0x79,0x7E,0x7E,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7D,0x7C,0x7B,0x7A,0x79,0x77,0x76,0x76,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x87,0x87,0x82,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x88,0x83,0x83,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x37,0x38,0x39,0x39,0x38,0x37,0x35,0x34,0x39,0x3A,0x3A,0x3A,0x3A,0x38,0x37,0x36,0x3C,0x3C,0x3D,0x3D,0x3C,0x3A,0x39,0x38,0x3E,0x3F,0x3E,0x3E,0x3D,0x3C,0x3A,0x3A,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x43,0x43,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x45,0x44,0x42,0x41,0x3F,0x3E,0x3E,0x3D,0x34,0x34,0x33,0x32,0x32,0x33,0x34,0x34,0x35,0x35,0x34,0x33,0x33,0x34,0x35,0x35,0x37,0x36,0x35,0x35,0x35,0x35,0x36,0x37,0x38,0x38,0x37,0x36,0x36,0x37,0x38,0x38,0x3A,0x39,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3A,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x43,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3C,0x3C,0x3B,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x39,0x3A,0x39,0x3A,0x3D,0x3C,0x39,0x3A,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3F,0x3F,0x3E,0x3C,0x3A,0x3B,0x3E,0x3F,0x3F,0x3B,0x3C,0x3B,0x39,0x3B,0x40,0x42,0x3F,0x3A,0x3C,0x3C,0x3B,0x3D,0x40,0x41,0x3F,0x3B,0x3A,0x3A,0x3B,0x3B,0x3A,0x3C,0x3F,0x3D,0x38,0x38,0x3C,0x3B,0x37,0x3E,0x49,0x41,0x3A,0x3A,0x41,0x40,0x3C,0x47,0x59,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7C,0x7D,0x7A,0x7A,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x78,0x79,0x79,0x7A,0x7B,0x7C,0x7D,0x7D,0x76,0x77,0x79,0x7A,0x7B,0x7C,0x7C,0x7C,0x76,0x77,0x79,0x7A,0x7B,0x7B,0x7B,0x7A,0x76,0x77,0x79,0x7B,0x7B,0x7A,0x79,0x77,0x77,0x78,0x7A,0x7B,0x7B,0x79,0x76,0x74,0x77,0x79,0x7B,0x7B,0x7A,0x78,0x75,0x73,0x84,0x84,0x85,0x86,0x86,0x86,0x86,0x86,0x85,0x85,0x86,0x86,0x86,0x86,0x85,0x85,0x87,0x87,0x87,0x86,0x85,0x85,0x84,0x84,0x8A,0x89,0x87,0x86,0x85,0x84,0x84,0x84,0x8B,0x89,0x87,0x85,0x84,0x84,0x85,0x85,0x8B,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8A,0x88,0x86,0x84,0x84,0x86,0x88,0x8A,0x89,0x88,0x85,0x84,0x84,0x86,0x89,0x8B,0x38,0x35,0x38,0x39,0x35,0x35,0x35,0x31,0x36,0x34,0x36,0x37,0x35,0x36,0x38,0x35,0x3A,0x39,0x38,0x37,0x36,0x36,0x36,0x36,0x3A,0x3C,0x3B,0x3A,0x3C,0x3A,0x38,0x3A,0x35,0x3B,0x3A,0x3B,0x41,0x40,0x3C,0x40,0x37,0x3F,0x3C,0x3B,0x43,0x40,0x3A,0x40,0x3B,0x44,0x3D,0x3A,0x44,0x42,0x3D,0x47,0x37,0x40,0x3A,0x38,0x48,0x4A,0x49,0x57,0x33,0x32,0x33,0x35,0x38,0x3D,0x42,0x45,0x35,0x34,0x34,0x34,0x36,0x39,0x3C,0x3E,0x39,0x39,0x38,0x38,0x39,0x3A,0x3B,0x3C,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3B,0x3C,0x3C,0x3C,0x3D,0x3D,0x3E,0x3F,0x40,0x3D,0x3C,0x3C,0x3C,0x3C,0x3E,0x3F,0x40,0x3F,0x3F,0x3E,0x3F,0x41,0x43,0x46,0x48,0x58,0x58,0x58,0x5A,0x5D,0x62,0x67,0x6A,0x49,0x3E,0x40,0x55,0x6C,0x7A,0x7E,0x7D,0x3B,0x37,0x54,0x79,0x81,0x84,0x7F,0x6C,0x41,0x42,0x6A,0x87,0x7A,0x74,0x70,0x54,0x4C,0x5C,0x7A,0x80,0x6B,0x67,0x66,0x54,0x44,0x68,0x78,0x6B,0x60,0x5F,0x5C,0x59,0x58,0x75,0x70,0x58,0x54,0x54,0x51,0x57,0x79,0x77,0x66,0x57,0x55,0x55,0x55,0x5B,0x6F,0x55,0x4C,0x54,0x56,0x56,0x59,0x57,0x58,0x5E,0x63,0x65,0x6D,0x75,0x75,0x6F,0x51,0x53,0x55,0x57,0x61,0x6C,0x6E,0x68,0x56,0x55,0x53,0x55,0x60,0x6B,0x6E,0x69,0x54,0x53,0x51,0x51,0x57,0x5F,0x61,0x5F,0x54,0x56,0x57,0x56,0x55,0x55,0x56,0x56,0x5A,0x5E,0x61,0x60,0x5C,0x58,0x57,0x57,0x56,0x59,0x5D,0x5F,0x5C,0x58,0x56,0x56,0x56,0x58,0x5B,0x5F,0x60,0x5D,0x5B,0x5A,0x7A,0x7B,0x7C,0x7D,0x7D,0x7B,0x79,0x78,0x7B,0x7B,0x7C,0x7C,0x7B,0x79,0x77,0x76,0x7B,0x7B,0x7B,0x7A,0x78,0x76,0x74,0x73,0x7A,0x79,0x78,0x76,0x74,0x71,0x6F,0x6E,0x77,0x75,0x73,0x71,0x6E,0x6C,0x6B,0x6A,0x72,0x71,0x6E,0x6B,0x69,0x67,0x67,0x66,0x6D,0x6C,0x69,0x66,0x64,0x64,0x64,0x64,0x6A,0x69,0x66,0x64,0x62,0x62,0x62,0x62,0x84,0x90,0x98,0x91,0x83,0x82,0x92,0xA3,0x91,0x95,0x97,0x92,0x8A,0x87,0x8D,0x94,0x85,0x87,0x88,0x8A,0x8A,0x8A,0x89,0x88,0x7B,0x84,0x8F,0x96,0x98,0x9A,0x9C,0x9F,0x91,0xA3,0xB6,0xBA,0xB3,0xB0,0xB8,0xC2,0xA8,0xBB,0xCB,0xC9,0xB9,0xB0,0xB7,0xC3,0xAE,0xB8,0xC2,0xBF,0xB4,0xAD,0xB0,0xB6,0xB1,0xB4,0xB8,0xBA,0xBB,0xBA,0xBB,0xBB,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x46,0x47,0x47,0x49,0x4A,0x4A,0x4B,0x4B,0x45,0x46,0x48,0x4A,0x4C,0x4C,0x4C,0x4B,0x44,0x46,0x49,0x4C,0x4D,0x4D,0x4C,0x4C,0x43,0x45,0x49,0x4C,0x4E,0x4E,0x4D,0x4C,0x43,0x45,0x48,0x4C,0x4E,0x4E,0x4E,0x4D,0x42,0x44,0x47,0x4B,0x4D,0x4E,0x4E,0x4E,0x42,0x44,0x47,0x4A,0x4C,0x4E,0x4E,0x4E,0x47,0x4C,0x54,0x5E,0x6B,0x74,0x71,0x6A,0x4A,0x52,0x5E,0x6C,0x7B,0x85,0x85,0x80,0x4B,0x56,0x67,0x79,0x8A,0x95,0x97,0x95,0x4B,0x58,0x6D,0x82,0x92,0x9D,0xA2,0xA2,0x4E,0x5B,0x71,0x88,0x9A,0xA5,0xAC,0xAF,0x4E,0x59,0x6F,0x88,0x9C,0xA9,0xB1,0xB7,0x4C,0x55,0x68,0x82,0x97,0xA6,0xB0,0xB6,0x4E,0x54,0x66,0x7E,0x94,0xA2,0xAD,0xB4},
+{0x3F,0x41,0x45,0x47,0x49,0x4A,0x4C,0x4D,0x3F,0x41,0x44,0x47,0x48,0x49,0x4B,0x4C,0x3F,0x41,0x44,0x46,0x47,0x48,0x49,0x4A,0x3F,0x41,0x44,0x46,0x46,0x47,0x48,0x49,0x40,0x42,0x45,0x46,0x47,0x47,0x48,0x49,0x41,0x43,0x45,0x47,0x48,0x48,0x49,0x4A,0x42,0x44,0x46,0x48,0x49,0x4A,0x4B,0x4C,0x42,0x44,0x47,0x49,0x4A,0x4B,0x4C,0x4D,0x4D,0x52,0x63,0x7B,0x8F,0x9D,0xA9,0xB2,0x50,0x52,0x5F,0x76,0x8B,0x9A,0xA6,0xAF,0x52,0x51,0x5A,0x6F,0x86,0x96,0xA2,0xAA,0x51,0x4E,0x56,0x6B,0x84,0x95,0xA1,0xA8,0x4D,0x4B,0x54,0x6B,0x85,0x97,0xA1,0xA7,0x4C,0x4A,0x55,0x6D,0x86,0x97,0xA0,0xA6,0x4F,0x4E,0x57,0x6D,0x84,0x94,0x9E,0xA4,0x52,0x51,0x59,0x6D,0x81,0x90,0x9B,0xA3,0x77,0x74,0x73,0x74,0x7A,0x83,0x8E,0x94,0x79,0x77,0x76,0x78,0x7F,0x89,0x94,0x9B,0x7B,0x7A,0x79,0x7B,0x84,0x90,0x9D,0xA4,0x7B,0x79,0x78,0x7C,0x85,0x93,0xA0,0xA9,0x78,0x76,0x75,0x78,0x82,0x90,0x9F,0xA8,0x78,0x75,0x73,0x75,0x7E,0x8C,0x9B,0xA4,0x7A,0x77,0x74,0x75,0x7C,0x8A,0x98,0xA2,0x7D,0x79,0x75,0x75,0x7C,0x89,0x97,0xA1,0x82,0x83,0x84,0x85,0x83,0x80,0x7D,0x7B,0x83,0x84,0x85,0x85,0x83,0x80,0x7C,0x79,0x85,0x86,0x87,0x86,0x83,0x7F,0x7A,0x77,0x85,0x87,0x88,0x87,0x84,0x7E,0x78,0x75,0x85,0x87,0x88,0x88,0x84,0x7E,0x78,0x73,0x84,0x86,0x88,0x89,0x85,0x7F,0x78,0x73,0x83,0x85,0x88,0x89,0x86,0x80,0x78,0x74,0x81,0x84,0x88,0x89,0x86,0x80,0x79,0x74,0x5F,0x56,0x4B,0x42,0x3F,0x3F,0x3E,0x3D,0x79,0x70,0x63,0x58,0x51,0x4B,0x44,0x3E,0x94,0x8B,0x7F,0x75,0x6C,0x62,0x55,0x4C,0xA2,0x9B,0x92,0x8C,0x87,0x7E,0x72,0x68,0xAC,0xA7,0xA0,0x9D,0x9C,0x97,0x8F,0x88,0xB7,0xB3,0xAF,0xAD,0xAB,0xA9,0xA4,0x9F,0xBC,0xBB,0xB9,0xB8,0xB7,0xB5,0xB2,0xB0,0xBA,0xBB,0xBC,0xBD,0xBD,0xBC,0xBB,0xBB,0x3E,0x3B,0x38,0x38,0x39,0x3A,0x3A,0x39,0x40,0x3D,0x39,0x38,0x38,0x39,0x38,0x37,0x49,0x43,0x3D,0x38,0x37,0x36,0x35,0x33,0x5F,0x57,0x4C,0x42,0x3D,0x3A,0x38,0x37,0x80,0x75,0x65,0x57,0x4D,0x48,0x44,0x42,0x99,0x8E,0x7D,0x6D,0x61,0x58,0x52,0x4E,0xA7,0x9E,0x91,0x82,0x76,0x6A,0x60,0x5A,0xB0,0xAA,0x9F,0x93,0x87,0x7A,0x6E,0x66,0xBA,0xBB,0xBC,0xBE,0xC0,0xC0,0xC1,0xC1,0xB8,0xB9,0xBB,0xBD,0xBE,0xBE,0xBE,0xBE,0xB5,0xB6,0xB8,0xBB,0xBC,0xBB,0xBB,0xBA,0xB2,0xB3,0xB6,0xB8,0xB9,0xB9,0xB8,0xB7,0xAF,0xB1,0xB3,0xB5,0xB6,0xB6,0xB6,0xB5,0xAC,0xAD,0xAF,0xB1,0xB3,0xB4,0xB4,0xB4,0xAA,0xAA,0xAB,0xAD,0xAF,0xB1,0xB2,0xB3,0xA8,0xA8,0xA9,0xAA,0xAC,0xAF,0xB1,0xB3,0xBA,0xB4,0xAB,0xA2,0x97,0x8A,0x7E,0x75,0xB9,0xB4,0xAD,0xA6,0x9E,0x94,0x8A,0x83,0xB7,0xB4,0xAF,0xAA,0xA5,0x9F,0x97,0x92,0xB5,0xB2,0xAE,0xAB,0xA9,0xA5,0xA0,0x9C,0xB4,0xB1,0xAE,0xAD,0xAD,0xAC,0xA9,0xA7,0xB3,0xB1,0xAF,0xAF,0xB2,0xB3,0xB2,0xB0,0xB2,0xB0,0xAE,0xAE,0xB1,0xB2,0xB2,0xB1,0xB2,0xAF,0xAC,0xAB,0xAC,0xAD,0xAD,0xAB,0x8D,0x8C,0x89,0x85,0x81,0x7D,0x7A,0x78,0x99,0x97,0x93,0x8F,0x89,0x84,0x80,0x7E,0xA6,0xA4,0xA0,0x9B,0x95,0x90,0x8C,0x8A,0xAA,0xA9,0xA6,0xA3,0x9F,0x9C,0x99,0x98,0xA6,0xA6,0xA6,0xA5,0xA5,0xA4,0xA4,0xA4,0xA4,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA8,0xA8,0xA7,0xA6,0xA6,0xA5,0xA5,0xAF,0xAE,0xAC,0xA9,0xA6,0xA4,0xA2,0xA1,0x7E,0x80,0x82,0x83,0x84,0x83,0x82,0x81,0x7C,0x7D,0x7F,0x81,0x82,0x82,0x81,0x80,0x78,0x79,0x7B,0x7D,0x7E,0x7F,0x7F,0x7F,0x75,0x76,0x78,0x79,0x7B,0x7C,0x7D,0x7D,0x75,0x75,0x76,0x77,0x78,0x7A,0x7B,0x7B,0x77,0x77,0x76,0x76,0x77,0x78,0x79,0x7A,0x7A,0x79,0x78,0x77,0x77,0x77,0x79,0x7A,0x7C,0x7B,0x79,0x77,0x77,0x77,0x78,0x79,0x34,0x35,0x36,0x38,0x3A,0x3B,0x3B,0x3B,0x37,0x38,0x3A,0x3B,0x3D,0x3D,0x3C,0x3B,0x35,0x36,0x38,0x3A,0x3B,0x3C,0x3B,0x3B,0x35,0x35,0x36,0x37,0x38,0x3A,0x3C,0x3E,0x3F,0x3E,0x3C,0x3A,0x38,0x3A,0x3D,0x41,0x4D,0x4B,0x47,0x40,0x3B,0x39,0x3B,0x3E,0x59,0x58,0x53,0x4B,0x42,0x3D,0x3C,0x3D,0x62,0x61,0x5E,0x56,0x4D,0x45,0x43,0x42,0x3C,0x3F,0x42,0x44,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x41,0x40,0x3F,0x40,0x41,0x41,0x41,0x40,0x3F,0x3F,0x3F,0x41,0x42,0x43,0x42,0x41,0x3E,0x3F,0x40,0x42,0x43,0x42,0x41,0x40,0x3F,0x40,0x42,0x42,0x41,0x40,0x40,0x40,0x3F,0x41,0x43,0x42,0x40,0x41,0x45,0x49,0x3E,0x41,0x43,0x42,0x41,0x44,0x4D,0x55,0x6D,0x69,0x64,0x5F,0x58,0x4E,0x46,0x41,0x77,0x70,0x68,0x61,0x5B,0x53,0x49,0x43,0x88,0x80,0x74,0x6B,0x66,0x5E,0x54,0x4C,0x99,0x92,0x88,0x7E,0x79,0x73,0x6B,0x64,0xA2,0xA0,0x9A,0x93,0x8F,0x8D,0x87,0x80,0xA5,0xA6,0xA3,0xA0,0xA0,0x9F,0x98,0x8E,0xAA,0xA9,0xA5,0xA3,0xA6,0xA4,0x95,0x84,0xB0,0xAB,0xA4,0xA2,0xA5,0xA1,0x8B,0x73,0x36,0x3F,0x45,0x44,0x42,0x4A,0x5F,0x71,0x3A,0x3F,0x45,0x4B,0x51,0x5D,0x6D,0x79,0x4D,0x4C,0x50,0x59,0x66,0x72,0x79,0x7B,0x6B,0x66,0x63,0x69,0x73,0x7A,0x79,0x76,0x7D,0x77,0x72,0x72,0x75,0x77,0x74,0x71,0x7B,0x78,0x74,0x72,0x72,0x72,0x71,0x70,0x71,0x71,0x71,0x71,0x70,0x70,0x70,0x70,0x6D,0x6E,0x6F,0x70,0x71,0x70,0x6F,0x6E,0x77,0x78,0x79,0x7A,0x7A,0x78,0x75,0x74,0x81,0x7E,0x79,0x75,0x74,0x76,0x79,0x7B,0x8E,0x87,0x7D,0x75,0x72,0x76,0x7D,0x82,0x96,0x90,0x87,0x7F,0x7B,0x7B,0x7E,0x81,0x9A,0x98,0x93,0x8D,0x87,0x80,0x7B,0x78,0x9E,0x9C,0x98,0x92,0x88,0x7D,0x74,0x6E,0xA4,0x9F,0x95,0x88,0x7C,0x73,0x6C,0x69,0xAA,0xA0,0x8F,0x7D,0x70,0x69,0x67,0x67,0x7F,0x81,0x84,0x87,0x88,0x88,0x87,0x86,0x86,0x84,0x82,0x81,0x81,0x83,0x86,0x87,0x84,0x83,0x82,0x81,0x81,0x81,0x81,0x82,0x7C,0x7E,0x81,0x84,0x85,0x83,0x81,0x80,0x7D,0x7C,0x7C,0x7D,0x82,0x8A,0x91,0x96,0x84,0x7F,0x79,0x7A,0x85,0x99,0xAF,0xBD,0x7B,0x7D,0x82,0x8D,0x9F,0xB5,0xC8,0xD4,0x69,0x77,0x8F,0xA9,0xBF,0xCD,0xD4,0xD7},
+{0x37,0x3B,0x3C,0x3A,0x3A,0x3A,0x38,0x33,0x3F,0x3F,0x3F,0x3D,0x3C,0x3D,0x3C,0x3B,0x44,0x40,0x3C,0x3B,0x39,0x37,0x38,0x3A,0x43,0x3E,0x3B,0x3B,0x38,0x34,0x34,0x37,0x40,0x40,0x43,0x47,0x48,0x46,0x45,0x45,0x43,0x4B,0x54,0x5C,0x61,0x64,0x62,0x5E,0x55,0x62,0x6E,0x73,0x78,0x7D,0x78,0x6F,0x6A,0x7A,0x84,0x84,0x86,0x8A,0x83,0x75,0x3A,0x39,0x3A,0x3A,0x3A,0x3F,0x51,0x63,0x3B,0x3C,0x3C,0x3A,0x3F,0x4A,0x58,0x60,0x38,0x3A,0x39,0x3A,0x46,0x57,0x5D,0x5A,0x38,0x35,0x36,0x40,0x51,0x5D,0x5C,0x55,0x45,0x3C,0x3E,0x4F,0x5E,0x5E,0x57,0x52,0x5C,0x52,0x53,0x61,0x67,0x5D,0x54,0x54,0x6D,0x68,0x67,0x6A,0x67,0x5C,0x57,0x58,0x72,0x73,0x71,0x6B,0x62,0x5B,0x5A,0x5C,0x83,0x8E,0x94,0x94,0x8D,0x88,0x85,0x74,0x86,0x8C,0x8E,0x8A,0x82,0x7C,0x76,0x67,0x80,0x82,0x81,0x7A,0x74,0x6F,0x66,0x5D,0x74,0x74,0x75,0x70,0x6F,0x6D,0x62,0x61,0x70,0x70,0x73,0x6E,0x71,0x70,0x62,0x69,0x70,0x6E,0x73,0x6B,0x6F,0x6D,0x5C,0x6C,0x6F,0x6C,0x71,0x67,0x6B,0x69,0x59,0x72,0x6F,0x6C,0x71,0x66,0x6C,0x6C,0x5E,0x7D,0x6E,0x73,0x71,0x66,0x5E,0x5E,0x5F,0x5D,0x64,0x71,0x74,0x68,0x62,0x65,0x63,0x5B,0x66,0x74,0x77,0x6A,0x65,0x6D,0x6A,0x5D,0x75,0x78,0x72,0x67,0x66,0x6D,0x6A,0x60,0x7F,0x74,0x69,0x66,0x69,0x6A,0x67,0x62,0x7F,0x72,0x6A,0x6E,0x72,0x6E,0x68,0x66,0x79,0x73,0x70,0x72,0x72,0x6E,0x6A,0x69,0x72,0x75,0x73,0x6D,0x69,0x69,0x68,0x67,0x76,0x78,0x79,0x7A,0x79,0x76,0x73,0x71,0x7F,0x80,0x80,0x7F,0x7C,0x78,0x73,0x71,0x8A,0x89,0x87,0x83,0x7D,0x77,0x71,0x6E,0x8D,0x8B,0x87,0x81,0x7A,0x72,0x6C,0x68,0x85,0x82,0x7E,0x78,0x72,0x6B,0x65,0x62,0x76,0x74,0x71,0x6E,0x69,0x65,0x62,0x60,0x68,0x67,0x66,0x65,0x64,0x64,0x63,0x63,0x60,0x60,0x60,0x61,0x62,0x64,0x66,0x66,0x85,0x83,0x7F,0x7E,0x83,0x91,0xA3,0xB0,0x92,0x8B,0x83,0x7E,0x82,0x92,0xA6,0xB4,0x80,0x7F,0x7D,0x7F,0x87,0x95,0xA3,0xAC,0x75,0x7C,0x89,0x99,0xA6,0xAD,0xAE,0xAD,0x9C,0xA2,0xAD,0xBC,0xC7,0xCA,0xC5,0xBE,0xCC,0xC6,0xC1,0xC2,0xC8,0xCC,0xC9,0xC4,0xD5,0xCB,0xC1,0xBF,0xC6,0xCA,0xC8,0xC4,0xCD,0xC7,0xC5,0xCC,0xD7,0xDC,0xD7,0xD0,0x57,0x52,0x51,0x57,0x5A,0x56,0x54,0x56,0x5A,0x57,0x57,0x5B,0x5A,0x55,0x54,0x58,0x5C,0x5C,0x5E,0x60,0x5D,0x58,0x59,0x5D,0x5B,0x5A,0x5D,0x5F,0x5F,0x5C,0x5C,0x60,0x5B,0x59,0x5A,0x5D,0x5F,0x5E,0x5D,0x5C,0x60,0x5E,0x5D,0x5F,0x61,0x61,0x5F,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x60,0x5F,0x5D,0x54,0x58,0x5B,0x5A,0x59,0x5A,0x5B,0x5C,0x56,0x59,0x5E,0x61,0x61,0x61,0x60,0x60,0x58,0x5B,0x5F,0x62,0x63,0x64,0x64,0x65,0x57,0x5A,0x5D,0x60,0x62,0x63,0x65,0x67,0x58,0x5A,0x5D,0x5F,0x60,0x63,0x65,0x67,0x5C,0x5D,0x5F,0x61,0x62,0x64,0x67,0x69,0x5C,0x5E,0x60,0x62,0x63,0x65,0x67,0x69,0x5A,0x5D,0x60,0x62,0x64,0x66,0x68,0x6A,0x5C,0x5F,0x63,0x66,0x68,0x6A,0x6C,0x6E,0x61,0x5C,0x5B,0x5E,0x60,0x60,0x61,0x64,0x58,0x56,0x56,0x59,0x5B,0x5E,0x61,0x63,0x5E,0x61,0x62,0x62,0x65,0x6A,0x6E,0x6F,0x66,0x6A,0x6B,0x69,0x6A,0x6E,0x71,0x70,0x62,0x64,0x64,0x62,0x61,0x61,0x60,0x5E,0x69,0x66,0x65,0x67,0x65,0x60,0x5B,0x59,0x71,0x6A,0x6A,0x71,0x71,0x68,0x60,0x5F,0x6C,0x62,0x62,0x6E,0x71,0x65,0x5C,0x5C,0x5E,0x62,0x67,0x6C,0x6F,0x6F,0x6D,0x6C,0x6C,0x6D,0x6D,0x6D,0x6C,0x6A,0x68,0x66,0x70,0x6F,0x6C,0x68,0x66,0x64,0x62,0x62,0x68,0x67,0x65,0x63,0x63,0x63,0x64,0x65,0x61,0x61,0x62,0x63,0x64,0x66,0x68,0x69,0x5E,0x5F,0x60,0x61,0x62,0x64,0x64,0x65,0x5D,0x5D,0x5E,0x5E,0x60,0x62,0x63,0x64,0x5E,0x5E,0x5E,0x5F,0x61,0x65,0x69,0x6B,0x66,0x66,0x66,0x65,0x64,0x64,0x63,0x63,0x66,0x65,0x65,0x64,0x63,0x63,0x62,0x62,0x64,0x64,0x64,0x63,0x62,0x62,0x61,0x61,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x63,0x63,0x62,0x62,0x61,0x60,0x60,0x60,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0x61,0x65,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0xB8,0xB6,0xB3,0xB3,0xB6,0xBC,0xC3,0xC8,0xB8,0xB7,0xB6,0xB7,0xBB,0xC0,0xC6,0xC9,0xB7,0xB8,0xBB,0xBE,0xC2,0xC6,0xCA,0xCC,0xB8,0xBB,0xBF,0xC4,0xC8,0xCC,0xCE,0xCF,0xBB,0xBE,0xC2,0xC7,0xCC,0xCF,0xD1,0xD2,0xC0,0xC1,0xC3,0xC7,0xCB,0xCF,0xD3,0xD5,0xC5,0xC4,0xC3,0xC4,0xC8,0xCD,0xD3,0xD6,0xC8,0xC6,0xC3,0xC2,0xC5,0xCC,0xD3,0xD7,0x45,0x46,0x47,0x49,0x4A,0x4B,0x4B,0x4B,0x47,0x47,0x48,0x4A,0x4B,0x4C,0x4C,0x4C,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4E,0x4A,0x4A,0x4B,0x4D,0x4D,0x4E,0x4E,0x4E,0x4B,0x4B,0x4C,0x4D,0x4E,0x4E,0x4E,0x4E,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x4F,0x4F,0x4E,0x4E,0x4F,0x50,0x50,0x50,0x50,0x50,0x4F,0x50,0x50,0x51,0x52,0x52,0x52,0x51,0x4F,0x4F,0x57,0x6A,0x7F,0x8E,0x97,0x9B,0x4E,0x4F,0x59,0x6A,0x7D,0x8B,0x94,0x98,0x4C,0x4F,0x59,0x68,0x78,0x84,0x8D,0x93,0x4D,0x4F,0x56,0x62,0x6E,0x78,0x82,0x8A,0x4F,0x4F,0x53,0x5A,0x62,0x6B,0x76,0x7F,0x51,0x4F,0x50,0x54,0x59,0x60,0x69,0x70,0x52,0x4F,0x4E,0x52,0x55,0x59,0x5E,0x63,0x52,0x4F,0x4F,0x52,0x55,0x56,0x58,0x5A,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x53,0x52,0x51,0x51,0x52,0x54,0x57,0x59,0x54,0x53,0x52,0x51,0x51,0x52,0x53,0x54,0x52,0x52,0x51,0x51,0x51,0x51,0x52,0x52,0x4F,0x50,0x51,0x52,0x53,0x53,0x53,0x53,0x51,0x51,0x52,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x54,0x53,0x53,0x52,0x56,0x55,0x55,0x54,0x54,0x53,0x53,0x53,0x54,0x53,0x53,0x53,0x53,0x54,0x55,0x55},
+{0x79,0x76,0x75,0x76,0x7D,0x88,0x94,0x9B,0x79,0x77,0x74,0x75,0x7B,0x85,0x90,0x97,0x79,0x77,0x74,0x74,0x79,0x81,0x89,0x8F,0x78,0x76,0x74,0x73,0x76,0x7C,0x82,0x86,0x78,0x76,0x74,0x73,0x74,0x78,0x7C,0x7E,0x77,0x75,0x74,0x73,0x73,0x75,0x77,0x79,0x76,0x75,0x74,0x73,0x73,0x74,0x75,0x76,0x75,0x74,0x74,0x73,0x73,0x74,0x74,0x75,0x82,0x84,0x87,0x87,0x85,0x80,0x7B,0x77,0x84,0x85,0x87,0x88,0x86,0x82,0x7D,0x79,0x86,0x87,0x89,0x89,0x87,0x84,0x80,0x7D,0x88,0x89,0x8A,0x8A,0x88,0x86,0x84,0x82,0x8B,0x8A,0x8A,0x8A,0x89,0x88,0x87,0x86,0x8C,0x8B,0x8A,0x89,0x89,0x89,0x89,0x8A,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8C,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8D,0x9F,0xA0,0xA1,0xA4,0xA7,0xAA,0xAC,0xAE,0x9B,0x9C,0x9E,0xA1,0xA4,0xA6,0xA8,0xA9,0x94,0x95,0x98,0x9B,0x9D,0x9F,0x9F,0xA0,0x8C,0x8D,0x90,0x93,0x95,0x95,0x96,0x95,0x83,0x85,0x88,0x8B,0x8D,0x8F,0x8F,0x8F,0x79,0x7C,0x7F,0x83,0x87,0x8B,0x8D,0x8E,0x6D,0x6F,0x74,0x7A,0x80,0x86,0x8B,0x8D,0x62,0x65,0x6B,0x72,0x7B,0x83,0x89,0x8D,0xAF,0xAC,0xA9,0xA8,0xA7,0xA5,0xA2,0xA1,0xAB,0xA7,0xA4,0xA2,0x9F,0x9D,0x9A,0x99,0xA3,0xA0,0x9B,0x95,0x90,0x8C,0x89,0x87,0x99,0x96,0x8F,0x86,0x7E,0x7A,0x76,0x72,0x8E,0x8C,0x84,0x7B,0x76,0x73,0x6D,0x68,0x88,0x86,0x7F,0x78,0x78,0x78,0x72,0x69,0x89,0x87,0x80,0x7B,0x7E,0x81,0x79,0x6E,0x8D,0x8A,0x83,0x7F,0x83,0x86,0x7C,0x6E,0x59,0x5E,0x65,0x6B,0x74,0x7F,0x87,0x89,0x57,0x5B,0x60,0x67,0x71,0x7D,0x84,0x85,0x55,0x57,0x5A,0x61,0x6D,0x79,0x7F,0x7F,0x54,0x54,0x55,0x5C,0x6A,0x76,0x7B,0x7A,0x55,0x54,0x54,0x5B,0x68,0x76,0x7B,0x7A,0x56,0x55,0x55,0x5C,0x6B,0x79,0x80,0x7F,0x55,0x56,0x58,0x5F,0x6E,0x7E,0x87,0x88,0x54,0x56,0x59,0x62,0x71,0x82,0x8D,0x8F,0x90,0x8F,0x87,0x80,0x87,0x8F,0x87,0x75,0x8E,0x94,0x94,0x91,0x93,0x94,0x87,0x73,0x89,0x96,0x9F,0x9E,0x9A,0x94,0x84,0x72,0x83,0x94,0xA0,0x9F,0x98,0x8F,0x81,0x74,0x80,0x90,0x9D,0x9D,0x97,0x8F,0x83,0x78,0x84,0x90,0x9B,0x9D,0x9B,0x96,0x8B,0x80,0x91,0x94,0x97,0x98,0x9B,0x9B,0x95,0x8C,0x9C,0x98,0x91,0x8F,0x95,0x9C,0x9B,0x96,0xA4,0xA7,0xA9,0xA9,0xA6,0xA4,0xA5,0xA7,0x9A,0x9D,0xA0,0xA0,0x9D,0x9B,0x9B,0x9C,0x94,0x98,0x9D,0x9E,0x9B,0x97,0x95,0x95,0x94,0x9A,0xA1,0xA3,0x9F,0x99,0x94,0x93,0x8D,0x94,0x9C,0x9F,0x9A,0x91,0x8A,0x86,0x7F,0x87,0x91,0x93,0x8D,0x81,0x76,0x70,0x7B,0x83,0x8D,0x90,0x88,0x7A,0x6D,0x65,0x80,0x89,0x93,0x96,0x8D,0x7D,0x6E,0x66,0x78,0x77,0x75,0x74,0x76,0x79,0x7C,0x7E,0x7B,0x79,0x77,0x76,0x77,0x78,0x7B,0x7C,0x7E,0x7D,0x7B,0x7A,0x7B,0x7D,0x80,0x82,0x80,0x7F,0x7E,0x7F,0x83,0x8A,0x90,0x94,0x82,0x80,0x7F,0x82,0x8B,0x99,0xA6,0xAF,0x86,0x82,0x7F,0x81,0x8E,0xA2,0xB7,0xC5,0x8E,0x86,0x7E,0x7D,0x8A,0xA2,0xBD,0xCE,0x93,0x89,0x7D,0x7A,0x85,0x9F,0xBC,0xCF,0xA1,0xA1,0xA0,0x9E,0x99,0x8D,0x7C,0x6E,0x8C,0x8D,0x8D,0x8C,0x88,0x80,0x74,0x6B,0x7B,0x7C,0x7D,0x7D,0x7B,0x76,0x71,0x6D,0x73,0x74,0x77,0x79,0x77,0x73,0x71,0x72,0x6A,0x6C,0x71,0x75,0x75,0x71,0x71,0x74,0x61,0x62,0x69,0x71,0x74,0x72,0x73,0x78,0x5C,0x5C,0x61,0x6B,0x70,0x70,0x73,0x79,0x5A,0x58,0x5B,0x65,0x6B,0x6B,0x6F,0x76,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x62,0x5C,0x5B,0x64,0x6C,0x6D,0x6E,0x70,0x72,0x6F,0x6D,0x6E,0x6F,0x6F,0x6F,0x71,0x7A,0x7C,0x7B,0x74,0x6E,0x6D,0x6E,0x6F,0x73,0x7B,0x7D,0x75,0x6C,0x6C,0x6E,0x6E,0x6D,0x77,0x7B,0x75,0x6F,0x6F,0x70,0x6F,0x72,0x76,0x78,0x76,0x73,0x72,0x6F,0x6D,0x7F,0x79,0x76,0x77,0x78,0x75,0x70,0x6D,0x8C,0x80,0x77,0x7A,0x7E,0x7A,0x74,0x72,0x73,0x73,0x73,0x75,0x76,0x74,0x6F,0x6B,0x75,0x74,0x75,0x76,0x76,0x73,0x6D,0x68,0x75,0x75,0x75,0x76,0x76,0x71,0x6A,0x65,0x74,0x74,0x75,0x75,0x75,0x70,0x69,0x63,0x71,0x71,0x72,0x73,0x72,0x6E,0x67,0x62,0x6F,0x6E,0x6E,0x6F,0x6F,0x6B,0x66,0x61,0x6E,0x6C,0x6B,0x6B,0x6B,0x68,0x63,0x5F,0x6E,0x6C,0x6A,0x69,0x68,0x66,0x61,0x5D,0x99,0x90,0x81,0x72,0x69,0x66,0x68,0x6A,0x8D,0x85,0x78,0x6C,0x65,0x63,0x65,0x68,0x7D,0x76,0x6D,0x64,0x60,0x60,0x63,0x66,0x70,0x6C,0x66,0x61,0x5F,0x61,0x64,0x67,0x69,0x67,0x64,0x62,0x62,0x64,0x67,0x69,0x68,0x67,0x66,0x65,0x65,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x66,0x66,0x65,0x65,0x68,0x68,0x68,0x67,0x66,0x64,0x63,0x62,0x7C,0x90,0xAB,0xBF,0xC9,0xCE,0xD5,0xDA,0x8E,0xA9,0xC8,0xD5,0xD1,0xC9,0xCA,0xCF,0x9E,0xBC,0xDD,0xE6,0xDA,0xCB,0xC9,0xCE,0xAA,0xBE,0xD5,0xE0,0xDC,0xD5,0xD4,0xD7,0xC0,0xC1,0xC4,0xCC,0xD5,0xDA,0xD7,0xD3,0xDA,0xCD,0xC2,0xC4,0xCF,0xD4,0xCE,0xC4,0xDF,0xD6,0xCE,0xCD,0xD1,0xD0,0xC8,0xBF,0xD5,0xD6,0xD8,0xD9,0xD8,0xD2,0xCB,0xC5,0x6D,0x66,0x69,0x6B,0x69,0x62,0x66,0x80,0x71,0x69,0x69,0x70,0x67,0x5B,0x6A,0x81,0x75,0x6D,0x69,0x74,0x63,0x54,0x6E,0x7D,0x73,0x71,0x68,0x72,0x5F,0x54,0x74,0x71,0x70,0x72,0x68,0x6D,0x5E,0x5B,0x77,0x67,0x6C,0x6F,0x68,0x67,0x5F,0x62,0x74,0x67,0x69,0x67,0x63,0x61,0x5E,0x60,0x69,0x6F,0x66,0x5E,0x5E,0x5D,0x5C,0x5A,0x5F,0x77,0x6E,0x72,0x70,0x6B,0x6A,0x66,0x63,0x67,0x6F,0x72,0x6F,0x6C,0x6D,0x6A,0x68,0x6C,0x70,0x72,0x6F,0x6C,0x6F,0x6E,0x6C,0x6F,0x6E,0x6F,0x6A,0x69,0x6F,0x6F,0x6C,0x6E,0x67,0x66,0x61,0x62,0x6B,0x6D,0x69,0x6A,0x61,0x60,0x5A,0x5D,0x68,0x6A,0x65,0x64,0x67,0x64,0x5E,0x5F,0x6A,0x6A,0x61,0x5D,0x72,0x6E,0x65,0x65,0x6D,0x6A,0x5E,0x58},
+{0x61,0x5C,0x5A,0x5B,0x59,0x59,0x62,0x6F,0x65,0x5F,0x5C,0x5B,0x59,0x59,0x61,0x6C,0x66,0x60,0x5C,0x5A,0x58,0x58,0x5F,0x68,0x63,0x5E,0x5A,0x59,0x58,0x5A,0x60,0x67,0x5F,0x5C,0x59,0x59,0x5C,0x60,0x65,0x69,0x5E,0x5B,0x5A,0x5C,0x61,0x66,0x69,0x6B,0x5D,0x5C,0x5B,0x5E,0x63,0x68,0x69,0x68,0x5C,0x5B,0x5B,0x5D,0x63,0x67,0x66,0x63,0x6E,0x69,0x65,0x68,0x73,0x7A,0x6F,0x5A,0x6A,0x64,0x6E,0x73,0x71,0x7D,0x7C,0x60,0x73,0x6A,0x77,0x78,0x67,0x78,0x87,0x71,0x7B,0x6F,0x72,0x6E,0x60,0x6E,0x88,0x8D,0x70,0x6C,0x66,0x65,0x65,0x67,0x7A,0x98,0x65,0x69,0x63,0x66,0x6E,0x62,0x64,0x80,0x65,0x67,0x66,0x68,0x6B,0x63,0x5F,0x67,0x66,0x62,0x64,0x65,0x63,0x6A,0x6E,0x65,0x67,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x65,0x66,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x66,0x66,0x65,0x65,0x64,0x63,0x62,0x62,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x61,0x66,0x66,0x65,0x64,0x62,0x61,0x61,0x60,0x66,0x65,0x65,0x63,0x62,0x61,0x60,0x60,0xD0,0xC8,0xC2,0xC5,0xCF,0xD4,0xD0,0xCA,0xCE,0xC6,0xC0,0xC4,0xCD,0xD2,0xCE,0xC7,0xC9,0xC2,0xBD,0xC2,0xCB,0xCF,0xCA,0xC3,0xC5,0xBF,0xBB,0xC1,0xCA,0xCE,0xC8,0xC0,0xC1,0xBC,0xBA,0xC1,0xCC,0xD0,0xC9,0xC1,0xBE,0xBA,0xBB,0xC4,0xD0,0xD4,0xCD,0xC4,0xBC,0xBA,0xBC,0xC7,0xD4,0xD9,0xD2,0xC9,0xBC,0xBA,0xBD,0xC9,0xD7,0xDC,0xD5,0xCC,0x6F,0x63,0x5E,0x65,0x6D,0x6A,0x62,0x5D,0x6B,0x60,0x5C,0x63,0x69,0x67,0x61,0x5E,0x65,0x5E,0x5B,0x60,0x64,0x63,0x60,0x5F,0x62,0x5E,0x5D,0x5F,0x60,0x5F,0x5F,0x60,0x61,0x60,0x60,0x60,0x5F,0x5D,0x5E,0x60,0x61,0x62,0x62,0x62,0x60,0x5E,0x5F,0x61,0x5F,0x61,0x63,0x63,0x61,0x61,0x61,0x61,0x5D,0x60,0x63,0x63,0x62,0x62,0x62,0x62,0x5D,0x5E,0x60,0x62,0x65,0x69,0x6E,0x71,0x5F,0x61,0x63,0x65,0x67,0x6A,0x6D,0x70,0x61,0x63,0x66,0x68,0x69,0x6A,0x6C,0x6D,0x61,0x64,0x67,0x69,0x69,0x69,0x69,0x69,0x61,0x63,0x65,0x67,0x67,0x67,0x67,0x68,0x60,0x62,0x64,0x65,0x65,0x66,0x68,0x6A,0x61,0x62,0x63,0x63,0x65,0x68,0x6C,0x6F,0x63,0x63,0x63,0x63,0x65,0x69,0x6F,0x73,0x5D,0x62,0x63,0x61,0x63,0x68,0x67,0x62,0x66,0x5B,0x5B,0x68,0x6A,0x5F,0x5D,0x66,0x65,0x5D,0x5A,0x5F,0x65,0x65,0x64,0x64,0x77,0x6B,0x5D,0x59,0x5F,0x67,0x67,0x63,0x99,0x7A,0x63,0x63,0x64,0x5D,0x5D,0x67,0x96,0x84,0x72,0x68,0x63,0x61,0x64,0x68,0x74,0x80,0x7E,0x6C,0x62,0x68,0x6C,0x67,0x62,0x71,0x7D,0x79,0x69,0x5E,0x60,0x68,0x64,0x62,0x5B,0x68,0x73,0x72,0x71,0x66,0x5F,0x60,0x62,0x6B,0x72,0x71,0x6C,0x65,0x5D,0x60,0x6B,0x6E,0x6E,0x6D,0x65,0x63,0x60,0x64,0x70,0x6D,0x68,0x69,0x62,0x65,0x62,0x68,0x6E,0x69,0x65,0x67,0x68,0x6C,0x63,0x6C,0x68,0x68,0x68,0x69,0x73,0x6F,0x67,0x74,0x64,0x6C,0x6F,0x6A,0x79,0x68,0x6B,0x7C,0x64,0x72,0x75,0x69,0x79,0x5E,0x63,0x63,0x63,0x63,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x61,0x61,0x60,0x60,0x60,0x62,0x61,0x61,0x60,0x5F,0x5E,0x5D,0x5D,0x61,0x60,0x60,0x5E,0x5D,0x5C,0x5B,0x5B,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5C,0x5B,0x60,0x60,0x60,0x5F,0x5F,0x5F,0x5F,0x5E,0x60,0x60,0x60,0x61,0x61,0x62,0x62,0x62,0x60,0x60,0x61,0x62,0x63,0x64,0x64,0x65,0xC6,0xC4,0xC2,0xC2,0xC5,0xCB,0xD2,0xD6,0xC5,0xC4,0xC2,0xC3,0xC7,0xCD,0xD4,0xD8,0xC4,0xC4,0xC3,0xC5,0xC9,0xD0,0xD7,0xDB,0xC4,0xC4,0xC4,0xC7,0xCC,0xD3,0xDA,0xDE,0xC5,0xC5,0xC6,0xC9,0xCF,0xD5,0xDC,0xE0,0xC7,0xC7,0xC9,0xCC,0xD1,0xD7,0xDD,0xE0,0xC9,0xC9,0xCB,0xCE,0xD3,0xD8,0xDD,0xE0,0xCA,0xCB,0xCC,0xD0,0xD4,0xD9,0xDD,0xE0,0x4D,0x51,0x53,0x52,0x51,0x51,0x52,0x53,0x4E,0x51,0x53,0x51,0x4F,0x4F,0x50,0x51,0x4F,0x50,0x52,0x51,0x50,0x4F,0x50,0x52,0x4F,0x50,0x51,0x52,0x51,0x51,0x54,0x58,0x52,0x50,0x51,0x52,0x52,0x52,0x57,0x5D,0x56,0x52,0x51,0x52,0x53,0x54,0x5B,0x64,0x58,0x53,0x51,0x54,0x56,0x5A,0x64,0x70,0x57,0x52,0x51,0x56,0x5B,0x61,0x6E,0x7C,0x52,0x52,0x52,0x53,0x55,0x58,0x5B,0x5D,0x51,0x54,0x57,0x5B,0x5E,0x60,0x62,0x63,0x54,0x5A,0x62,0x69,0x6C,0x6D,0x6C,0x6C,0x5D,0x65,0x70,0x78,0x7B,0x79,0x77,0x75,0x6A,0x72,0x7D,0x84,0x84,0x81,0x7D,0x7B,0x75,0x7C,0x85,0x88,0x86,0x81,0x7D,0x7C,0x7C,0x81,0x86,0x86,0x81,0x7C,0x7A,0x7A,0x7E,0x82,0x84,0x82,0x7C,0x77,0x76,0x77,0x59,0x51,0x51,0x5E,0x6B,0x72,0x78,0x7E,0x54,0x55,0x5B,0x67,0x70,0x76,0x7B,0x80,0x51,0x5D,0x6A,0x73,0x78,0x7C,0x7F,0x80,0x5A,0x6A,0x78,0x7B,0x7D,0x81,0x80,0x7C,0x69,0x76,0x7F,0x7E,0x7E,0x80,0x7C,0x74,0x74,0x7C,0x7F,0x7B,0x79,0x79,0x74,0x6B,0x77,0x7B,0x7C,0x78,0x73,0x6F,0x6B,0x66,0x75,0x78,0x7A,0x76,0x6E,0x68,0x65,0x64,0x81,0x84,0x82,0x78,0x6D,0x6B,0x75,0x80,0x7F,0x7C,0x76,0x6F,0x6A,0x6E,0x77,0x80,0x7E,0x76,0x6D,0x69,0x6E,0x78,0x83,0x89,0x79,0x71,0x6A,0x6B,0x76,0x84,0x8F,0x95,0x6D,0x6B,0x6B,0x71,0x7C,0x8A,0x96,0x9D,0x68,0x6C,0x72,0x7A,0x84,0x90,0x9A,0xA1,0x6B,0x71,0x7A,0x83,0x8B,0x94,0x9C,0xA2,0x6E,0x73,0x7C,0x85,0x8D,0x95,0x9B,0x9F,0x76,0x76,0x78,0x7A,0x7C,0x7D,0x7E,0x7E,0x70,0x73,0x77,0x7D,0x82,0x86,0x8A,0x8B,0x6D,0x71,0x79,0x82,0x8C,0x94,0x99,0x9C,0x73,0x78,0x80,0x8B,0x95,0x9D,0xA3,0xA6,0x7F,0x84,0x8B,0x94,0x9C,0xA2,0xA6,0xA7,0x8A,0x8E,0x95,0x9C,0xA1,0xA5,0xA6,0xA6,0x8F,0x93,0x9A,0xA0,0xA5,0xA7,0xA7,0xA7,0x90,0x94,0x9B,0xA2,0xA7,0xA9,0xA9,0xA9,0x8A,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8B,0x89,0x86,0x83,0x82,0x82,0x83,0x84,0x8B,0x89,0x85,0x81,0x7F,0x7E,0x7E,0x7E,0x8B,0x88,0x83,0x7F,0x7B,0x79,0x79,0x79,0x88,0x85,0x81,0x7D,0x79,0x77,0x76,0x76,0x84,0x82,0x7E,0x7B,0x78,0x77,0x77,0x77,0x81,0x7F,0x7C,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7A,0x78,0x78,0x79,0x7A,0x7B},
+{0x5A,0x5B,0x61,0x6C,0x7B,0x88,0x90,0x93,0x66,0x68,0x6F,0x78,0x83,0x8C,0x92,0x95,0x70,0x74,0x7A,0x81,0x87,0x8D,0x92,0x95,0x76,0x7B,0x80,0x84,0x87,0x8C,0x91,0x95,0x7E,0x82,0x85,0x87,0x89,0x8D,0x94,0x9A,0x82,0x85,0x88,0x8B,0x8F,0x95,0x9E,0xA4,0x80,0x84,0x8B,0x93,0x9C,0xA7,0xB1,0xB8,0x7F,0x85,0x90,0x9E,0xAC,0xBA,0xC6,0xCD,0xA0,0x9C,0x95,0x91,0x97,0x9F,0x9F,0x9A,0x8D,0x95,0x9A,0x97,0x95,0x98,0x9C,0x9D,0x9B,0x9B,0x92,0x83,0x7B,0x81,0x8B,0x91,0x9A,0x99,0x95,0x90,0x8F,0x89,0x78,0x66,0x98,0x9B,0xA2,0xAD,0xB6,0xAE,0x8F,0x72,0xB1,0xB3,0xB4,0xB9,0xC2,0xC6,0xBD,0xB0,0xC2,0xC9,0xCE,0xCE,0xD0,0xD1,0xCC,0xC5,0xD3,0xD8,0xDA,0xD7,0xD5,0xD3,0xCD,0xC6,0x88,0x90,0x9E,0xAD,0xBD,0xCC,0xD7,0xDE,0x94,0x9C,0xA9,0xB8,0xC5,0xD1,0xDA,0xDF,0x9E,0xA7,0xB3,0xC1,0xCC,0xD4,0xDA,0xDD,0xA1,0xA9,0xB6,0xC2,0xCB,0xD0,0xD4,0xD5,0xA4,0xAA,0xB4,0xBD,0xC3,0xC6,0xC6,0xC7,0xA7,0xAC,0xB2,0xB6,0xB8,0xB7,0xB6,0xB6,0xA5,0xA7,0xAA,0xAC,0xAB,0xA9,0xA8,0xA7,0x9E,0xA0,0xA2,0xA2,0xA1,0xA0,0x9F,0x9F,0xDE,0xE4,0xE5,0xDF,0xDA,0xD6,0xCC,0xC1,0xDF,0xE4,0xE3,0xDD,0xD7,0xCF,0xC1,0xB4,0xDE,0xDF,0xDD,0xD7,0xD0,0xC6,0xB5,0xA5,0xD6,0xD4,0xCF,0xCA,0xC6,0xBC,0xAB,0x9C,0xC9,0xC4,0xBD,0xB9,0xB6,0xAE,0x9F,0x92,0xB9,0xB3,0xAC,0xA8,0xA6,0x9E,0x91,0x86,0xA9,0xA4,0xA0,0x9F,0x9C,0x95,0x89,0x80,0x9E,0x9B,0x9A,0x9B,0x9A,0x93,0x88,0x80,0x85,0x8D,0x99,0xA0,0x9C,0x8D,0x7B,0x6F,0x90,0x99,0xA4,0xA9,0xA2,0x90,0x7B,0x6D,0xA0,0xA0,0x9F,0x9A,0x8F,0x81,0x73,0x6A,0xAA,0x9E,0x8B,0x77,0x6A,0x66,0x67,0x69,0xA8,0x9A,0x83,0x6E,0x61,0x60,0x65,0x6A,0xA0,0x9A,0x90,0x85,0x7C,0x77,0x75,0x74,0x9C,0x9B,0x99,0x96,0x92,0x8E,0x8A,0x88,0x9D,0x9B,0x97,0x94,0x93,0x95,0x97,0x99,0x84,0x7F,0x79,0x79,0x82,0x92,0xA4,0xB0,0x7F,0x7C,0x78,0x79,0x80,0x8E,0x9D,0xA6,0x7A,0x79,0x78,0x7A,0x80,0x89,0x93,0x99,0x78,0x79,0x7B,0x7E,0x83,0x87,0x8C,0x8E,0x79,0x7B,0x7F,0x82,0x85,0x87,0x88,0x88,0x7A,0x7C,0x80,0x83,0x85,0x86,0x86,0x86,0x7A,0x7B,0x7E,0x80,0x82,0x83,0x83,0x83,0x78,0x79,0x7B,0x7C,0x7E,0x80,0x81,0x81,0x93,0x7F,0x79,0x7D,0x81,0x7B,0x71,0x73,0x9F,0x98,0x8C,0x7B,0x77,0x7C,0x79,0x75,0x98,0x95,0x93,0x8F,0x86,0x78,0x70,0x6E,0x6F,0x75,0x7C,0x89,0x89,0x7A,0x70,0x68,0x58,0x66,0x60,0x62,0x6F,0x7F,0x84,0x6F,0x7D,0x75,0x5D,0x65,0x71,0x76,0x85,0x7F,0xB1,0x8F,0x72,0x8D,0x8C,0x6C,0x7B,0x8F,0xC1,0xA2,0x85,0x9D,0x94,0x6E,0x81,0x9A,0x6B,0x6A,0x69,0x67,0x67,0x67,0x63,0x5E,0x6A,0x6A,0x69,0x69,0x6A,0x69,0x66,0x63,0x69,0x69,0x6A,0x6A,0x6A,0x67,0x65,0x63,0x6D,0x6D,0x6D,0x6D,0x6B,0x66,0x63,0x63,0x73,0x70,0x6F,0x70,0x6D,0x68,0x65,0x65,0x75,0x6F,0x6B,0x6D,0x6D,0x69,0x66,0x66,0x7A,0x71,0x6A,0x6D,0x6E,0x69,0x66,0x66,0x85,0x78,0x70,0x71,0x72,0x6D,0x68,0x67,0xAC,0x9E,0x85,0x8B,0x7E,0x63,0x7A,0x8D,0xA3,0x99,0x88,0x88,0x7F,0x73,0x81,0x8C,0x94,0x8B,0x86,0x7C,0x79,0x7D,0x7D,0x82,0x8A,0x7A,0x7D,0x6F,0x70,0x7B,0x6F,0x75,0x86,0x6E,0x72,0x67,0x6A,0x74,0x65,0x72,0x7D,0x64,0x67,0x61,0x64,0x6B,0x60,0x70,0x73,0x61,0x61,0x5C,0x5E,0x62,0x5D,0x6A,0x70,0x66,0x63,0x5D,0x5C,0x5F,0x5E,0x66,0x9D,0x8C,0x7A,0x72,0x73,0x72,0x6D,0x66,0xA9,0x9A,0x87,0x7A,0x75,0x74,0x72,0x70,0xA7,0xA1,0x98,0x8E,0x85,0x7E,0x78,0x75,0x8C,0x95,0x9F,0xA2,0x9D,0x92,0x83,0x78,0x6D,0x7C,0x91,0xA0,0xA7,0xA3,0x95,0x88,0x60,0x6C,0x7C,0x8B,0x9A,0xA5,0xA5,0x9F,0x64,0x6C,0x74,0x7B,0x89,0x9A,0xA5,0xA6,0x6B,0x72,0x77,0x79,0x81,0x90,0x9B,0x9E,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x67,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x6B,0x6A,0x69,0x68,0x66,0x65,0x64,0x63,0x70,0x6F,0x6E,0x6B,0x69,0x66,0x65,0x64,0x78,0x76,0x74,0x70,0x6C,0x69,0x66,0x65,0x7F,0x7D,0x79,0x75,0x70,0x6B,0x68,0x66,0x83,0x81,0x7D,0x78,0x72,0x6D,0x69,0x66,0xCB,0xCE,0xD3,0xD6,0xD4,0xCE,0xC7,0xC2,0xC0,0xC7,0xD2,0xDA,0xDA,0xD2,0xC7,0xC0,0xAD,0xB9,0xCA,0xD7,0xDC,0xD6,0xCB,0xC3,0x99,0xA4,0xB5,0xC5,0xCF,0xD3,0xD1,0xCF,0x8A,0x90,0x9C,0xAB,0xBB,0xC9,0xD4,0xDA,0x81,0x85,0x8D,0x9A,0xAB,0xBE,0xCE,0xD8,0x7F,0x83,0x8C,0x98,0xA7,0xB5,0xC1,0xC7,0x7F,0x86,0x91,0x9E,0xA9,0xB1,0xB5,0xB7,0x5C,0x5C,0x58,0x66,0x6E,0x5E,0x59,0x65,0x59,0x61,0x5F,0x66,0x74,0x6C,0x5D,0x57,0x55,0x61,0x5D,0x5C,0x73,0x80,0x70,0x60,0x5B,0x60,0x58,0x50,0x6C,0x89,0x83,0x7B,0x65,0x62,0x5B,0x52,0x6A,0x84,0x81,0x88,0x63,0x5F,0x63,0x5E,0x6F,0x7D,0x76,0x86,0x62,0x5E,0x67,0x61,0x6C,0x76,0x6C,0x82,0x6B,0x64,0x69,0x5B,0x63,0x6E,0x65,0x7D,0x5F,0x62,0x65,0x66,0x66,0x67,0x69,0x6A,0x66,0x66,0x69,0x6B,0x6A,0x65,0x64,0x65,0x62,0x5F,0x62,0x6B,0x6C,0x67,0x65,0x69,0x60,0x59,0x5A,0x65,0x6A,0x65,0x65,0x6C,0x70,0x63,0x5C,0x62,0x66,0x62,0x62,0x69,0x81,0x70,0x62,0x62,0x64,0x64,0x66,0x6A,0x8A,0x79,0x67,0x60,0x63,0x67,0x69,0x6A,0x8F,0x7E,0x6A,0x5F,0x60,0x65,0x66,0x63,0x6E,0x67,0x6D,0x5C,0x59,0x61,0x5F,0x66,0x68,0x69,0x74,0x6E,0x63,0x60,0x59,0x51,0x6C,0x6C,0x70,0x73,0x63,0x63,0x69,0x58,0x77,0x72,0x69,0x72,0x62,0x6D,0x7E,0x67,0x82,0x7B,0x6D,0x7A,0x6A,0x77,0x7D,0x60,0x8F,0x87,0x75,0x7D,0x6C,0x7D,0x75,0x5B,0xA1,0x99,0x86,0x82,0x6F,0x82,0x6C,0x5D,0xAC,0xA9,0x9C,0x92,0x7A,0x87,0x61,0x56,0x8C,0x8A,0x7C,0x69,0x61,0x66,0x66,0x60,0x68,0x83,0x90,0x7B,0x5F,0x5A,0x62,0x69,0x55,0x6F,0x80,0x76,0x66,0x63,0x64,0x62,0x5D,0x5E,0x5F,0x66,0x6F,0x72,0x6A,0x60,0x63,0x5C,0x5C,0x66,0x6C,0x6A,0x6A,0x6F,0x61,0x5E,0x62,0x69,0x65,0x5D,0x64,0x72,0x5F,0x5E,0x5F,0x62,0x62,0x61,0x64,0x69,0x5D,0x60,0x5F,0x5C,0x5F,0x68,0x6B,0x68},
+{0x66,0x67,0x68,0x67,0x65,0x61,0x5D,0x5A,0x65,0x66,0x67,0x67,0x65,0x62,0x5E,0x5C,0x65,0x66,0x67,0x67,0x66,0x64,0x61,0x5F,0x64,0x65,0x66,0x66,0x66,0x65,0x63,0x62,0x64,0x64,0x65,0x65,0x65,0x64,0x63,0x63,0x64,0x64,0x64,0x64,0x63,0x63,0x62,0x62,0x65,0x64,0x63,0x62,0x61,0x61,0x60,0x60,0x65,0x64,0x63,0x61,0x60,0x5F,0x5F,0x5F,0xBA,0xBD,0xC1,0xC6,0xCB,0xCE,0xD0,0xD1,0xB9,0xB9,0xBB,0xBF,0xC5,0xCB,0xD2,0xD5,0xBD,0xBA,0xB7,0xB7,0xBC,0xC7,0xD2,0xD9,0xC9,0xC2,0xBA,0xB5,0xB8,0xC3,0xD0,0xD8,0xD5,0xCE,0xC3,0xBB,0xBA,0xC1,0xCC,0xD3,0xD8,0xD2,0xC9,0xC2,0xC0,0xC3,0xC9,0xCE,0xCF,0xCD,0xCA,0xC8,0xC7,0xC7,0xC9,0xCA,0xC4,0xC6,0xC8,0xC9,0xCA,0xCA,0xCA,0xC9,0x64,0x65,0x71,0x7D,0x74,0x60,0x5D,0x6A,0x65,0x66,0x6F,0x79,0x74,0x67,0x66,0x6F,0x67,0x67,0x6C,0x72,0x72,0x6E,0x6D,0x70,0x67,0x68,0x6A,0x6C,0x6F,0x70,0x6D,0x6A,0x65,0x68,0x69,0x6A,0x6E,0x71,0x6D,0x65,0x64,0x67,0x69,0x6A,0x6E,0x71,0x6D,0x67,0x66,0x68,0x6B,0x6B,0x6C,0x6C,0x6A,0x68,0x6A,0x6B,0x6C,0x6B,0x68,0x66,0x66,0x66,0x6C,0x7D,0x64,0x70,0x72,0x69,0x80,0x6B,0x66,0x75,0x65,0x6B,0x6C,0x6B,0x84,0x7C,0x62,0x6D,0x68,0x66,0x65,0x6D,0x83,0x89,0x63,0x68,0x6C,0x65,0x63,0x6D,0x79,0x85,0x65,0x65,0x6D,0x67,0x65,0x6D,0x6D,0x76,0x66,0x65,0x6A,0x69,0x69,0x6C,0x68,0x6A,0x67,0x68,0x66,0x69,0x6B,0x68,0x68,0x65,0x6A,0x6C,0x65,0x69,0x6A,0x64,0x68,0x64,0x67,0x74,0x7A,0x6F,0x61,0x5E,0x61,0x64,0x64,0x7D,0x8B,0x7C,0x69,0x64,0x66,0x65,0x63,0x85,0x98,0x89,0x72,0x6C,0x6C,0x68,0x64,0x7D,0x8D,0x83,0x72,0x6B,0x6B,0x69,0x67,0x6D,0x71,0x70,0x6A,0x65,0x66,0x6A,0x6E,0x66,0x63,0x66,0x67,0x65,0x67,0x6D,0x6E,0x69,0x65,0x65,0x66,0x66,0x69,0x6D,0x66,0x6A,0x69,0x64,0x62,0x64,0x66,0x67,0x6A,0x68,0x65,0x64,0x64,0x67,0x6A,0x6C,0x5F,0x5F,0x61,0x63,0x66,0x69,0x6C,0x6E,0x67,0x66,0x65,0x62,0x5F,0x5B,0x58,0x56,0x6D,0x6D,0x6C,0x6B,0x69,0x66,0x64,0x63,0x6C,0x6C,0x6B,0x6B,0x6C,0x6C,0x6D,0x6E,0x6E,0x6C,0x68,0x65,0x62,0x62,0x62,0x62,0x6B,0x6A,0x68,0x66,0x65,0x66,0x67,0x68,0x6A,0x69,0x67,0x65,0x63,0x61,0x60,0x60,0x62,0x62,0x61,0x60,0x62,0x64,0x67,0x69,0x60,0x5F,0x5E,0x5D,0x5E,0x60,0x63,0x64,0x5F,0x5E,0x5C,0x5B,0x5B,0x5C,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5B,0x5C,0x5D,0x5E,0x65,0x63,0x61,0x5E,0x5E,0x5E,0x60,0x61,0x66,0x64,0x62,0x60,0x5F,0x60,0x62,0x63,0x64,0x62,0x60,0x5F,0x5F,0x60,0x62,0x63,0x61,0x60,0x5E,0x5D,0x5D,0x5E,0x60,0x62,0xD6,0xD1,0xCE,0xD2,0xDA,0xE0,0xDF,0xDB,0xD6,0xD2,0xCF,0xD3,0xDB,0xE0,0xDE,0xDB,0xD7,0xD3,0xD1,0xD5,0xDC,0xE0,0xDD,0xD9,0xD7,0xD3,0xD2,0xD6,0xDD,0xDF,0xDB,0xD5,0xD5,0xD2,0xD1,0xD6,0xDC,0xDD,0xD7,0xD0,0xD2,0xD0,0xCF,0xD4,0xD9,0xD9,0xD2,0xCA,0xCF,0xCD,0xCD,0xD2,0xD7,0xD5,0xCD,0xC4,0xCD,0xCB,0xCB,0xD0,0xD5,0xD3,0xCA,0xC1,0x75,0x72,0x6C,0x65,0x61,0x61,0x64,0x67,0x74,0x6E,0x66,0x5F,0x5E,0x62,0x68,0x6C,0x6E,0x65,0x5B,0x56,0x58,0x61,0x6A,0x70,0x67,0x5F,0x56,0x53,0x5A,0x66,0x70,0x76,0x64,0x5F,0x5A,0x5C,0x65,0x72,0x7C,0x81,0x60,0x5F,0x5F,0x65,0x6F,0x7B,0x85,0x8A,0x5E,0x60,0x64,0x6B,0x75,0x81,0x8B,0x90,0x60,0x63,0x69,0x71,0x7B,0x86,0x90,0x97,0x73,0x79,0x82,0x8A,0x8E,0x92,0x95,0x97,0x75,0x7B,0x84,0x8B,0x8F,0x91,0x94,0x95,0x79,0x7F,0x87,0x8D,0x8F,0x90,0x91,0x93,0x80,0x84,0x8B,0x8E,0x8F,0x8F,0x8F,0x90,0x87,0x8A,0x8E,0x90,0x8E,0x8D,0x8D,0x8D,0x8E,0x90,0x92,0x90,0x8D,0x8B,0x8B,0x8C,0x95,0x95,0x94,0x90,0x8C,0x89,0x89,0x8B,0x98,0x98,0x95,0x90,0x8B,0x88,0x89,0x8A,0x5E,0x62,0x69,0x74,0x80,0x8B,0x95,0x9A,0x58,0x5D,0x65,0x71,0x7E,0x8A,0x94,0x99,0x54,0x58,0x61,0x6C,0x79,0x85,0x8F,0x94,0x56,0x58,0x5E,0x66,0x71,0x7C,0x86,0x8C,0x59,0x59,0x5B,0x60,0x69,0x74,0x7F,0x85,0x5A,0x59,0x59,0x5C,0x63,0x6D,0x77,0x7E,0x5B,0x5A,0x5A,0x5B,0x60,0x67,0x6D,0x72,0x5D,0x5C,0x5C,0x5C,0x5E,0x61,0x65,0x67,0x9B,0x98,0x94,0x8E,0x89,0x86,0x86,0x87,0x9B,0x99,0x95,0x8F,0x8A,0x86,0x85,0x85,0x9C,0x9A,0x97,0x91,0x8B,0x86,0x83,0x82,0x96,0x96,0x93,0x8E,0x87,0x81,0x7C,0x7B,0x8B,0x8C,0x8B,0x87,0x81,0x7A,0x74,0x71,0x81,0x83,0x84,0x82,0x7D,0x75,0x6F,0x6C,0x75,0x78,0x7B,0x7A,0x76,0x6F,0x68,0x65,0x67,0x6B,0x6F,0x70,0x6C,0x65,0x5F,0x5B,0x93,0x96,0x9C,0xA3,0xA8,0xAB,0xAD,0xAD,0x96,0x9A,0xA0,0xA6,0xAA,0xAA,0xA8,0xA6,0x97,0x9D,0xA5,0xAC,0xAE,0xAB,0xA5,0xA1,0x93,0x9B,0xA6,0xAF,0xB2,0xAE,0xA7,0xA2,0x89,0x92,0xA0,0xAC,0xB1,0xAF,0xA9,0xA4,0x7E,0x87,0x94,0xA0,0xA6,0xA6,0xA2,0x9E,0x76,0x7D,0x87,0x91,0x96,0x96,0x92,0x90,0x73,0x78,0x7F,0x86,0x89,0x88,0x85,0x82,0x7E,0x7D,0x7B,0x7A,0x79,0x79,0x7A,0x7A,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x79,0x7A,0x7C,0x7B,0x7A,0x79,0x78,0x78,0x78,0x79,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7C,0x7B,0x7A,0x7A,0x7A,0x7B,0x81,0x80,0x7F,0x7E,0x7D,0x7D,0x7D,0x7E,0x84,0x83,0x82,0x81,0x80,0x80,0x81,0x81,0x86,0x85,0x84,0x83,0x82,0x82,0x83,0x83,0x97,0x98,0x98,0x99,0x99,0x98,0x97,0x96,0x96,0x96,0x96,0x95,0x94,0x93,0x92,0x92,0x94,0x93,0x92,0x90,0x8F,0x8E,0x8D,0x8D,0x90,0x8F,0x8E,0x8C,0x8B,0x8B,0x8B,0x8B,0x8D,0x8D,0x8C,0x8B,0x8B,0x8B,0x8C,0x8D,0x8C,0x8C,0x8C,0x8C,0x8C,0x8D,0x8E,0x8E,0x8B,0x8C,0x8D,0x8E,0x8E,0x8F,0x8F,0x8F,0x8C,0x8D,0x8E,0x8F,0x8F,0x8F,0x8F,0x8E,0x96,0x95,0x94,0x94,0x92,0x8C,0x83,0x7B,0x92,0x91,0x91,0x91,0x90,0x8A,0x80,0x79,0x8E,0x8D,0x8E,0x8F,0x8D,0x87,0x7D,0x75,0x8E,0x8D,0x8D,0x8D,0x8B,0x84,0x79,0x71,0x90,0x8F,0x8D,0x8C,0x89,0x80,0x75,0x6C,0x91,0x8E,0x8B,0x89,0x84,0x7B,0x6F,0x66,0x8E,0x8B,0x86,0x82,0x7D,0x74,0x69,0x60,0x8B,0x87,0x82,0x7D,0x78,0x6F,0x64,0x5D},
+{0x8E,0x90,0x92,0x93,0x92,0x8F,0x8C,0x8A,0x8B,0x8D,0x8F,0x90,0x8F,0x8C,0x88,0x85,0x85,0x87,0x8A,0x8C,0x8B,0x86,0x81,0x7E,0x7D,0x80,0x83,0x84,0x83,0x7E,0x79,0x75,0x74,0x76,0x78,0x79,0x77,0x74,0x6F,0x6C,0x6A,0x6B,0x6B,0x6B,0x69,0x67,0x65,0x63,0x61,0x60,0x5F,0x5D,0x5C,0x5B,0x5B,0x5B,0x5B,0x59,0x57,0x54,0x54,0x54,0x56,0x57,0x88,0x83,0x7C,0x74,0x6D,0x67,0x62,0x5E,0x81,0x7C,0x73,0x6B,0x65,0x61,0x5E,0x5C,0x78,0x72,0x69,0x62,0x5D,0x5C,0x5B,0x5B,0x6E,0x69,0x63,0x5E,0x5D,0x5D,0x5E,0x5E,0x64,0x62,0x60,0x5F,0x5F,0x60,0x61,0x61,0x5E,0x5D,0x5D,0x5F,0x60,0x61,0x61,0x60,0x5C,0x5C,0x5C,0x5D,0x5F,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5D,0x5E,0x5F,0x5F,0x5E,0xA0,0xA1,0xA3,0xA3,0xA0,0x9A,0x93,0x8F,0xA2,0xA4,0xA6,0xA5,0xA1,0x99,0x90,0x8A,0xA3,0xA6,0xA8,0xA7,0xA0,0x96,0x8A,0x83,0xA3,0xA5,0xA6,0xA4,0x9C,0x90,0x84,0x7C,0x9E,0x9F,0x9E,0x9B,0x93,0x88,0x7E,0x77,0x96,0x95,0x92,0x8D,0x86,0x7F,0x79,0x76,0x8D,0x8A,0x84,0x7F,0x7A,0x77,0x76,0x76,0x88,0x83,0x7C,0x76,0x72,0x73,0x75,0x77,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F,0x80,0x80,0x7B,0x7B,0x7C,0x7E,0x7F,0x80,0x81,0x81,0x79,0x7A,0x7B,0x7D,0x7F,0x81,0x83,0x83,0x78,0x79,0x7B,0x7D,0x80,0x83,0x84,0x85,0x79,0x7A,0x7C,0x7F,0x82,0x84,0x86,0x87,0x7B,0x7C,0x7E,0x81,0x83,0x86,0x88,0x89,0x7E,0x7F,0x81,0x83,0x85,0x87,0x89,0x8A,0x80,0x81,0x83,0x84,0x86,0x88,0x89,0x8A,0x6D,0x66,0x60,0x5D,0x5C,0x5C,0x5E,0x61,0x6B,0x65,0x5F,0x5D,0x5C,0x5B,0x5C,0x5E,0x67,0x62,0x5E,0x5D,0x5C,0x5B,0x5B,0x5C,0x63,0x5F,0x5D,0x5E,0x5E,0x5C,0x5C,0x5D,0x60,0x5D,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x5F,0x5C,0x5C,0x5E,0x60,0x60,0x60,0x62,0x60,0x5D,0x5C,0x5E,0x60,0x5F,0x60,0x61,0x61,0x5D,0x5C,0x5D,0x5E,0x5E,0x5E,0x60,0x71,0x7B,0x7C,0x7C,0x85,0x8F,0x92,0x94,0x67,0x75,0x7C,0x80,0x89,0x91,0x93,0x95,0x60,0x70,0x7A,0x7E,0x87,0x8D,0x90,0x94,0x64,0x72,0x7A,0x7C,0x82,0x87,0x8D,0x95,0x65,0x72,0x7A,0x7D,0x82,0x85,0x8B,0x95,0x5C,0x6A,0x75,0x7B,0x80,0x82,0x85,0x8E,0x59,0x65,0x6E,0x74,0x7B,0x7D,0x80,0x8A,0x60,0x68,0x6C,0x71,0x78,0x7B,0x81,0x8C,0x5D,0x5D,0x5D,0x5E,0x5E,0x5E,0x60,0x62,0x5E,0x5D,0x5E,0x5E,0x5E,0x5F,0x60,0x62,0x5F,0x5E,0x5E,0x5E,0x5F,0x60,0x61,0x62,0x60,0x60,0x5F,0x5E,0x5F,0x62,0x64,0x63,0x60,0x61,0x60,0x5E,0x61,0x66,0x67,0x65,0x61,0x62,0x60,0x5F,0x62,0x69,0x6B,0x68,0x61,0x63,0x61,0x5F,0x64,0x6D,0x6F,0x6B,0x61,0x63,0x62,0x5F,0x65,0x6F,0x71,0x6C,0x63,0x5F,0x60,0x6B,0x78,0x80,0x82,0x82,0x5D,0x5D,0x63,0x6F,0x7A,0x7D,0x79,0x75,0x5F,0x60,0x65,0x6F,0x75,0x72,0x6C,0x68,0x6B,0x67,0x65,0x67,0x68,0x66,0x63,0x63,0x6F,0x68,0x61,0x60,0x60,0x60,0x62,0x64,0x6A,0x63,0x5D,0x5D,0x61,0x63,0x64,0x66,0x66,0x5E,0x59,0x5C,0x62,0x65,0x65,0x65,0x68,0x5E,0x58,0x5A,0x61,0x65,0x65,0x64,0x7D,0x7B,0x77,0x73,0x6F,0x6D,0x6C,0x6B,0x7C,0x7A,0x76,0x72,0x6F,0x6D,0x6C,0x6B,0x79,0x78,0x75,0x71,0x6F,0x6D,0x6B,0x6B,0x77,0x76,0x73,0x71,0x6E,0x6C,0x6A,0x6A,0x75,0x74,0x73,0x70,0x6D,0x6B,0x68,0x67,0x75,0x74,0x73,0x70,0x6C,0x69,0x65,0x63,0x75,0x75,0x73,0x70,0x6C,0x67,0x63,0x60,0x76,0x75,0x73,0x70,0x6B,0x66,0x61,0x5E,0x8F,0x85,0x82,0x92,0xAE,0xBF,0xBD,0xB4,0x96,0x85,0x7B,0x8B,0xAD,0xC3,0xC2,0xB6,0x92,0x86,0x7E,0x89,0xA2,0xB9,0xC4,0xC5,0x83,0x88,0x8B,0x8C,0x92,0xA5,0xC2,0xD8,0x7E,0x86,0x8D,0x8D,0x8F,0xA0,0xC1,0xDB,0x86,0x86,0x88,0x8E,0x9C,0xB0,0xC4,0xD1,0x8A,0x8A,0x8F,0x9A,0xAB,0xBC,0xC9,0xCF,0x86,0x90,0x9E,0xA9,0xB1,0xBC,0xCB,0xD7,0xA8,0xAF,0xA6,0xAB,0x91,0x8C,0x60,0x5C,0x9D,0x9F,0xA0,0xAE,0xA2,0x92,0x65,0x5D,0x95,0x92,0x9C,0xAB,0xAC,0x92,0x67,0x5D,0x99,0x94,0x9E,0x9B,0x9E,0x82,0x66,0x5C,0x9E,0x9A,0x9D,0x82,0x80,0x6E,0x64,0x61,0x9A,0x95,0x8F,0x6D,0x69,0x63,0x64,0x68,0x8F,0x84,0x7A,0x63,0x65,0x66,0x64,0x6B,0x86,0x75,0x6A,0x62,0x6A,0x6C,0x63,0x6A,0x60,0x5F,0x5E,0x5E,0x5F,0x61,0x64,0x65,0x61,0x60,0x60,0x5F,0x60,0x61,0x62,0x63,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x60,0x61,0x62,0x63,0x63,0x63,0x63,0x62,0x60,0x61,0x62,0x64,0x65,0x65,0x64,0x64,0x60,0x61,0x63,0x64,0x65,0x66,0x66,0x66,0x62,0x63,0x63,0x64,0x65,0x66,0x66,0x66,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x6D,0x6B,0x69,0x69,0x6A,0x69,0x66,0x64,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x68,0x63,0x66,0x68,0x68,0x66,0x65,0x67,0x69,0x67,0x68,0x69,0x69,0x67,0x65,0x65,0x66,0x6A,0x69,0x68,0x67,0x67,0x67,0x64,0x62,0x68,0x66,0x64,0x65,0x67,0x67,0x65,0x62,0x66,0x66,0x66,0x66,0x67,0x67,0x66,0x65,0x67,0x69,0x6A,0x69,0x67,0x65,0x66,0x67,0x63,0x63,0x64,0x65,0x66,0x66,0x67,0x67,0x63,0x64,0x64,0x65,0x65,0x66,0x67,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x66,0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x6C,0x69,0x66,0x63,0x60,0x60,0x60,0x61,0x6A,0x68,0x65,0x62,0x60,0x5F,0x5F,0x60,0x68,0x66,0x63,0x60,0x5E,0x5E,0x5E,0x5F,0x65,0x63,0x60,0x5E,0x5D,0x5D,0x5E,0x5F,0x63,0x61,0x5F,0x5D,0x5C,0x5C,0x5E,0x5F,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5F,0x61,0x61,0x5F,0x5E,0x5C,0x5C,0x5E,0x60,0x61,0xB7,0xBC,0xC1,0xC4,0xC4,0xC4,0xC6,0xC9,0xBC,0xC0,0xC5,0xC7,0xC6,0xC6,0xC9,0xCB,0xC3,0xC6,0xCA,0xCB,0xCA,0xCA,0xCC,0xCF,0xCA,0xCD,0xD0,0xD0,0xCE,0xCD,0xCF,0xD2,0xD0,0xD2,0xD3,0xD2,0xCF,0xCE,0xD1,0xD3,0xD3,0xD5,0xD5,0xD2,0xCF,0xCD,0xD0,0xD2,0xD4,0xD5,0xD5,0xD1,0xCD,0xCB,0xCD,0xD0,0xD4,0xD5,0xD4,0xD0,0xCC,0xCA,0xCC,0xCF},
+{0x67,0x63,0x61,0x64,0x6A,0x69,0x61,0x59,0x68,0x65,0x63,0x64,0x67,0x66,0x62,0x5D,0x68,0x67,0x65,0x64,0x63,0x62,0x62,0x61,0x64,0x66,0x66,0x65,0x62,0x60,0x61,0x63,0x5E,0x62,0x65,0x65,0x62,0x60,0x61,0x62,0x5B,0x5F,0x63,0x65,0x64,0x62,0x60,0x60,0x5E,0x5F,0x61,0x64,0x65,0x64,0x61,0x5E,0x62,0x60,0x60,0x63,0x66,0x65,0x61,0x5D,0x69,0x67,0x66,0x6A,0x65,0x60,0x62,0x5B,0x64,0x64,0x62,0x65,0x65,0x64,0x65,0x63,0x63,0x66,0x64,0x62,0x65,0x65,0x64,0x67,0x65,0x6D,0x70,0x67,0x65,0x62,0x5E,0x66,0x63,0x6D,0x7C,0x70,0x65,0x62,0x5D,0x67,0x5E,0x65,0x80,0x76,0x63,0x65,0x62,0x69,0x5E,0x5D,0x7F,0x77,0x5F,0x67,0x65,0x64,0x64,0x5B,0x7E,0x76,0x5A,0x65,0x63,0x5B,0x5F,0x5E,0x60,0x63,0x64,0x63,0x61,0x60,0x5F,0x5D,0x5D,0x60,0x62,0x63,0x61,0x5F,0x60,0x5D,0x5A,0x5B,0x60,0x63,0x62,0x60,0x62,0x5D,0x57,0x57,0x5D,0x63,0x64,0x61,0x63,0x5E,0x57,0x55,0x5B,0x63,0x65,0x62,0x63,0x5F,0x58,0x53,0x58,0x61,0x65,0x62,0x61,0x60,0x59,0x52,0x55,0x5F,0x63,0x61,0x60,0x60,0x59,0x52,0x53,0x5D,0x62,0x61,0x5C,0x79,0x74,0x67,0x67,0x60,0x5C,0x5F,0x5D,0x7F,0x6A,0x64,0x6C,0x60,0x65,0x62,0x66,0x8A,0x66,0x60,0x6A,0x59,0x61,0x5E,0x6D,0x8E,0x71,0x63,0x69,0x57,0x58,0x5D,0x66,0x82,0x81,0x6F,0x6F,0x63,0x52,0x61,0x5D,0x70,0x83,0x76,0x72,0x6B,0x51,0x5B,0x5D,0x65,0x71,0x70,0x71,0x70,0x62,0x5F,0x61,0x60,0x5C,0x67,0x71,0x78,0x7F,0x71,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0xD1,0xCD,0xC9,0xCB,0xD0,0xD0,0xCB,0xC5,0xD2,0xCC,0xC7,0xC9,0xCE,0xCF,0xCB,0xC6,0xD2,0xCB,0xC5,0xC5,0xCB,0xCE,0xCC,0xC8,0xD0,0xC9,0xC2,0xC3,0xC8,0xCC,0xCB,0xC8,0xCB,0xC6,0xC1,0xC2,0xC8,0xCC,0xCA,0xC6,0xC5,0xC2,0xC0,0xC4,0xCA,0xCC,0xC8,0xC2,0xBF,0xBE,0xC0,0xC6,0xCD,0xCD,0xC6,0xBE,0xBB,0xBC,0xC0,0xC8,0xCF,0xCE,0xC4,0xBB,10
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/upycc_array2.txt b/grlib-gpl-1.0.22-b4095/software/leon3/upycc_array2.txt
new file mode 100644 (file)
index 0000000..d568892
--- /dev/null
@@ -0,0 +1,10 @@
+{0x31,0x31,0x30,0x30,0x2F,0x2E,0x2D,0x2D,0x33,0x33,0x32,0x32,0x31,0x30,0x2F,0x2F,0x36,0x36,0x35,0x35,0x34,0x33,0x32,0x32,0x39,0x39,0x38,0x37,0x36,0x36,0x35,0x35,0x3B,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x3A,0x3A,0x41,0x41,0x40,0x3F,0x3F,0x3E,0x3D,0x3D,0x43,0x43,0x42,0x41,0x41,0x40,0x3F,0x3F,0x2E,0x2E,0x2E,0x2E,0x2D,0x2C,0x2B,0x2B,0x30,0x30,0x30,0x2F,0x2F,0x2E,0x2D,0x2D,0x32,0x32,0x32,0x32,0x32,0x31,0x30,0x2F,0x35,0x35,0x35,0x35,0x34,0x33,0x32,0x32,0x37,0x37,0x37,0x37,0x36,0x35,0x35,0x34,0x3A,0x3A,0x3A,0x39,0x39,0x38,0x37,0x37,0x3C,0x3C,0x3C,0x3C,0x3C,0x3B,0x3A,0x39,0x3E,0x3E,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x46,0x46,0x44,0x45,0x45,0x45,0x46,0x46,0x47,0x47,0x45,0x45,0x46,0x46,0x47,0x47,0x48,0x48,0x46,0x46,0x47,0x48,0x48,0x49,0x4A,0x4A,0x47,0x48,0x48,0x49,0x4A,0x4A,0x4B,0x4B,0x43,0x42,0x41,0x40,0x40,0x3F,0x3D,0x3B,0x45,0x44,0x43,0x41,0x40,0x3E,0x3D,0x3B,0x44,0x44,0x43,0x41,0x3F,0x3D,0x3D,0x3D,0x44,0x44,0x44,0x43,0x41,0x40,0x41,0x42,0x47,0x47,0x47,0x46,0x44,0x44,0x44,0x45,0x47,0x46,0x45,0x45,0x46,0x45,0x43,0x41,0x47,0x45,0x45,0x48,0x4C,0x4C,0x49,0x45,0x4A,0x48,0x49,0x4F,0x56,0x59,0x56,0x51,0x7D,0x7D,0x7F,0x80,0x81,0x82,0x82,0x82,0x7D,0x7D,0x7E,0x7F,0x80,0x80,0x80,0x80,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7E,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x7A,0x7B,0x7C,0x7B,0x79,0x78,0x78,0x79,0x7B,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x7A,0x7D,0x7F,0x7B,0x7A,0x78,0x77,0x78,0x7B,0x7E,0x80,0x85,0x85,0x84,0x83,0x81,0x80,0x7F,0x7F,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x82,0x83,0x83,0x84,0x84,0x85,0x85,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x2E,0x2E,0x2E,0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x31,0x32,0x32,0x32,0x33,0x31,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x34,0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,0x36,0x36,0x36,0x35,0x35,0x35,0x35,0x35,0x38,0x38,0x37,0x37,0x36,0x36,0x35,0x35,0x3D,0x3D,0x3C,0x3D,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3C,0x3D,0x3D,0x3D,0x3C,0x3C,0x3C,0x3D,0x3E,0x3F,0x3F,0x3E,0x3D,0x3C,0x3C,0x3D,0x42,0x42,0x41,0x40,0x3F,0x3D,0x3D,0x3D,0x46,0x44,0x42,0x41,0x41,0x40,0x3E,0x3C,0x49,0x45,0x42,0x41,0x42,0x42,0x3E,0x3B,0x4A,0x45,0x41,0x41,0x43,0x43,0x3E,0x3A,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x35,0x39,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x3A,0x3A,0x39,0x39,0x38,0x37,0x36,0x36,0x3B,0x3B,0x3A,0x3A,0x39,0x38,0x37,0x37,0x3C,0x3B,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3C,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x82,0x82,0x81,0x80,0x80,0x7F,0x7E,0x7E,0x80,0x80,0x80,0x7F,0x7F,0x7E,0x7E,0x7D,0x7E,0x7E,0x7E,0x7D,0x7D,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7C,0x7C,0x7C,0x7C,0x7C,0x79,0x79,0x7A,0x7A,0x7B,0x7B,0x7C,0x7C,0x78,0x78,0x79,0x7A,0x7B,0x7C,0x7C,0x7D,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x77,0x78,0x79,0x7A,0x7C,0x7D,0x7E,0x7F,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x80,0x84,0x84,0x83,0x83,0x82,0x81,0x81,0x81,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x85,0x85,0x84,0x84,0x83,0x82,0x82,0x82,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x82,0x86,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x84,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x30,0x30,0x30,0x30,0x30,0x2F,0x2F,0x2F,0x33,0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x33,0x34,0x34,0x34,0x35,0x36,0x36,0x36,0x33,0x34,0x35,0x36,0x37,0x39,0x3A,0x3A,0x33,0x34,0x35,0x37,0x39,0x3A,0x3B,0x3C,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x30,0x31,0x31,0x33,0x34,0x35,0x36,0x36,0x32,0x33,0x33,0x35,0x36,0x37,0x38,0x38,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x3F,0x3F,0x3B,0x3B,0x3C,0x3D,0x3E,0x40,0x40,0x41,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x3E,0x3E,0x3F,0x40,0x41,0x43,0x43,0x44,0x34,0x34,0x35,0x36,0x37,0x39,0x3B,0x3C,0x36,0x36,0x37,0x37,0x39,0x3B,0x3D,0x3E,0x37,0x37,0x37,0x38,0x3A,0x3C,0x3D,0x3F,0x37,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3E,0x38,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3D,0x39,0x39,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3D,0x3E,0x38,0x37,0x37,0x37,0x38,0x3A,0x3B,0x3C,0x3C,0x3D,0x3F,0x40,0x42,0x43,0x43,0x43,0x3D,0x3E,0x40,0x41,0x42,0x43,0x43,0x42,0x3F,0x3F,0x41,0x42,0x43,0x43,0x42,0x42,0x40,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x40,0x40,0x42,0x43,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x42,0x43,0x43,0x42,0x42},
+{0x81,0x80,0x7F,0x7E,0x7D,0x7B,0x7A,0x7A,0x80,0x7F,0x7E,0x7D,0x7C,0x7A,0x79,0x79,0x7E,0x7E,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7D,0x7C,0x7B,0x7A,0x79,0x77,0x76,0x76,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x87,0x87,0x82,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x88,0x83,0x83,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x37,0x38,0x39,0x39,0x38,0x37,0x35,0x34,0x39,0x3A,0x3A,0x3A,0x3A,0x38,0x37,0x36,0x3C,0x3C,0x3D,0x3D,0x3C,0x3A,0x39,0x38,0x3E,0x3F,0x3E,0x3E,0x3D,0x3C,0x3A,0x3A,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x43,0x43,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x45,0x44,0x42,0x41,0x3F,0x3E,0x3E,0x3D,0x34,0x34,0x33,0x32,0x32,0x33,0x34,0x34,0x35,0x35,0x34,0x33,0x33,0x34,0x35,0x35,0x37,0x36,0x35,0x35,0x35,0x35,0x36,0x37,0x38,0x38,0x37,0x36,0x36,0x37,0x38,0x38,0x3A,0x39,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3A,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x43,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3C,0x3C,0x3B,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x39,0x3A,0x39,0x3A,0x3D,0x3C,0x39,0x3A,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3F,0x3F,0x3E,0x3C,0x3A,0x3B,0x3E,0x3F,0x3F,0x3B,0x3C,0x3B,0x39,0x3B,0x40,0x42,0x3F,0x3A,0x3C,0x3C,0x3B,0x3D,0x40,0x41,0x3F,0x3B,0x3A,0x3A,0x3B,0x3B,0x3A,0x3C,0x3F,0x3D,0x38,0x38,0x3C,0x3B,0x37,0x3E,0x49,0x41,0x3A,0x3A,0x41,0x40,0x3C,0x47,0x59,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7C,0x7D,0x7A,0x7A,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x78,0x79,0x79,0x7A,0x7B,0x7C,0x7D,0x7D,0x76,0x77,0x79,0x7A,0x7B,0x7C,0x7C,0x7C,0x76,0x77,0x79,0x7A,0x7B,0x7B,0x7B,0x7A,0x76,0x77,0x79,0x7B,0x7B,0x7A,0x79,0x77,0x77,0x78,0x7A,0x7B,0x7B,0x79,0x76,0x74,0x77,0x79,0x7B,0x7B,0x7A,0x78,0x75,0x73,0x84,0x84,0x85,0x86,0x86,0x86,0x86,0x86,0x85,0x85,0x86,0x86,0x86,0x86,0x85,0x85,0x87,0x87,0x87,0x86,0x85,0x85,0x84,0x84,0x8A,0x89,0x87,0x86,0x85,0x84,0x84,0x84,0x8B,0x89,0x87,0x85,0x84,0x84,0x85,0x85,0x8B,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8A,0x88,0x86,0x84,0x84,0x86,0x88,0x8A,0x89,0x88,0x85,0x84,0x84,0x86,0x89,0x8B,0x38,0x35,0x38,0x39,0x35,0x35,0x35,0x31,0x36,0x34,0x36,0x37,0x35,0x36,0x38,0x35,0x3A,0x39,0x38,0x37,0x36,0x36,0x36,0x36,0x3A,0x3C,0x3B,0x3A,0x3C,0x3A,0x38,0x3A,0x35,0x3B,0x3A,0x3B,0x41,0x40,0x3C,0x40,0x37,0x3F,0x3C,0x3B,0x43,0x40,0x3A,0x40,0x3B,0x44,0x3D,0x3A,0x44,0x42,0x3D,0x47,0x37,0x40,0x3A,0x38,0x48,0x4A,0x49,0x57,0x33,0x32,0x33,0x35,0x38,0x3D,0x42,0x45,0x35,0x34,0x34,0x34,0x36,0x39,0x3C,0x3E,0x39,0x39,0x38,0x38,0x39,0x3A,0x3B,0x3C,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3B,0x3C,0x3C,0x3C,0x3D,0x3D,0x3E,0x3F,0x40,0x3D,0x3C,0x3C,0x3C,0x3C,0x3E,0x3F,0x40,0x3F,0x3F,0x3E,0x3F,0x41,0x43,0x46,0x48,0x58,0x58,0x58,0x5A,0x5D,0x62,0x67,0x6A,0x49,0x3E,0x40,0x55,0x6C,0x7A,0x7E,0x7D,0x3B,0x37,0x54,0x79,0x81,0x84,0x7F,0x6C,0x41,0x42,0x6A,0x87,0x7A,0x74,0x70,0x54,0x4C,0x5C,0x7A,0x80,0x6B,0x67,0x66,0x54,0x44,0x68,0x78,0x6B,0x60,0x5F,0x5C,0x59,0x58,0x75,0x70,0x58,0x54,0x54,0x51,0x57,0x79,0x77,0x66,0x57,0x55,0x55,0x55,0x5B,0x6F,0x55,0x4C,0x54,0x56,0x56,0x59,0x57,0x58,0x5E,0x63,0x65,0x6D,0x75,0x75,0x6F,0x51,0x53,0x55,0x57,0x61,0x6C,0x6E,0x68,0x56,0x55,0x53,0x55,0x60,0x6B,0x6E,0x69,0x54,0x53,0x51,0x51,0x57,0x5F,0x61,0x5F,0x54,0x56,0x57,0x56,0x55,0x55,0x56,0x56,0x5A,0x5E,0x61,0x60,0x5C,0x58,0x57,0x57,0x56,0x59,0x5D,0x5F,0x5C,0x58,0x56,0x56,0x56,0x58,0x5B,0x5F,0x60,0x5D,0x5B,0x5A,0x7A,0x7B,0x7C,0x7D,0x7D,0x7B,0x79,0x78,0x7B,0x7B,0x7C,0x7C,0x7B,0x79,0x77,0x76,0x7B,0x7B,0x7B,0x7A,0x78,0x76,0x74,0x73,0x7A,0x79,0x78,0x76,0x74,0x71,0x6F,0x6E,0x77,0x75,0x73,0x71,0x6E,0x6C,0x6B,0x6A,0x72,0x71,0x6E,0x6B,0x69,0x67,0x67,0x66,0x6D,0x6C,0x69,0x66,0x64,0x64,0x64,0x64,0x6A,0x69,0x66,0x64,0x62,0x62,0x62,0x62,0x84,0x90,0x98,0x91,0x83,0x82,0x92,0xA3,0x91,0x95,0x97,0x92,0x8A,0x87,0x8D,0x94,0x85,0x87,0x88,0x8A,0x8A,0x8A,0x89,0x88,0x7B,0x84,0x8F,0x96,0x98,0x9A,0x9C,0x9F,0x91,0xA3,0xB6,0xBA,0xB3,0xB0,0xB8,0xC2,0xA8,0xBB,0xCB,0xC9,0xB9,0xB0,0xB7,0xC3,0xAE,0xB8,0xC2,0xBF,0xB4,0xAD,0xB0,0xB6,0xB1,0xB4,0xB8,0xBA,0xBB,0xBA,0xBB,0xBB,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x46,0x47,0x47,0x49,0x4A,0x4A,0x4B,0x4B,0x45,0x46,0x48,0x4A,0x4C,0x4C,0x4C,0x4B,0x44,0x46,0x49,0x4C,0x4D,0x4D,0x4C,0x4C,0x43,0x45,0x49,0x4C,0x4E,0x4E,0x4D,0x4C,0x43,0x45,0x48,0x4C,0x4E,0x4E,0x4E,0x4D,0x42,0x44,0x47,0x4B,0x4D,0x4E,0x4E,0x4E,0x42,0x44,0x47,0x4A,0x4C,0x4E,0x4E,0x4E,0x47,0x4C,0x54,0x5E,0x6B,0x74,0x71,0x6A,0x4A,0x52,0x5E,0x6C,0x7B,0x85,0x85,0x80,0x4B,0x56,0x67,0x79,0x8A,0x95,0x97,0x95,0x4B,0x58,0x6D,0x82,0x92,0x9D,0xA2,0xA2,0x4E,0x5B,0x71,0x88,0x9A,0xA5,0xAC,0xAF,0x4E,0x59,0x6F,0x88,0x9C,0xA9,0xB1,0xB7,0x4C,0x55,0x68,0x82,0x97,0xA6,0xB0,0xB6,0x4E,0x54,0x66,0x7E,0x94,0xA2,0xAD,0xB4},
+{0x3F,0x41,0x45,0x47,0x49,0x4A,0x4C,0x4D,0x3F,0x41,0x44,0x47,0x48,0x49,0x4B,0x4C,0x3F,0x41,0x44,0x46,0x47,0x48,0x49,0x4A,0x3F,0x41,0x44,0x46,0x46,0x47,0x48,0x49,0x40,0x42,0x45,0x46,0x47,0x47,0x48,0x49,0x41,0x43,0x45,0x47,0x48,0x48,0x49,0x4A,0x42,0x44,0x46,0x48,0x49,0x4A,0x4B,0x4C,0x42,0x44,0x47,0x49,0x4A,0x4B,0x4C,0x4D,0x4D,0x52,0x63,0x7B,0x8F,0x9D,0xA9,0xB2,0x50,0x52,0x5F,0x76,0x8B,0x9A,0xA6,0xAF,0x52,0x51,0x5A,0x6F,0x86,0x96,0xA2,0xAA,0x51,0x4E,0x56,0x6B,0x84,0x95,0xA1,0xA8,0x4D,0x4B,0x54,0x6B,0x85,0x97,0xA1,0xA7,0x4C,0x4A,0x55,0x6D,0x86,0x97,0xA0,0xA6,0x4F,0x4E,0x57,0x6D,0x84,0x94,0x9E,0xA4,0x52,0x51,0x59,0x6D,0x81,0x90,0x9B,0xA3,0x77,0x74,0x73,0x74,0x7A,0x83,0x8E,0x94,0x79,0x77,0x76,0x78,0x7F,0x89,0x94,0x9B,0x7B,0x7A,0x79,0x7B,0x84,0x90,0x9D,0xA4,0x7B,0x79,0x78,0x7C,0x85,0x93,0xA0,0xA9,0x78,0x76,0x75,0x78,0x82,0x90,0x9F,0xA8,0x78,0x75,0x73,0x75,0x7E,0x8C,0x9B,0xA4,0x7A,0x77,0x74,0x75,0x7C,0x8A,0x98,0xA2,0x7D,0x79,0x75,0x75,0x7C,0x89,0x97,0xA1,0x82,0x83,0x84,0x85,0x83,0x80,0x7D,0x7B,0x83,0x84,0x85,0x85,0x83,0x80,0x7C,0x79,0x85,0x86,0x87,0x86,0x83,0x7F,0x7A,0x77,0x85,0x87,0x88,0x87,0x84,0x7E,0x78,0x75,0x85,0x87,0x88,0x88,0x84,0x7E,0x78,0x73,0x84,0x86,0x88,0x89,0x85,0x7F,0x78,0x73,0x83,0x85,0x88,0x89,0x86,0x80,0x78,0x74,0x81,0x84,0x88,0x89,0x86,0x80,0x79,0x74,0x5F,0x56,0x4B,0x42,0x3F,0x3F,0x3E,0x3D,0x79,0x70,0x63,0x58,0x51,0x4B,0x44,0x3E,0x94,0x8B,0x7F,0x75,0x6C,0x62,0x55,0x4C,0xA2,0x9B,0x92,0x8C,0x87,0x7E,0x72,0x68,0xAC,0xA7,0xA0,0x9D,0x9C,0x97,0x8F,0x88,0xB7,0xB3,0xAF,0xAD,0xAB,0xA9,0xA4,0x9F,0xBC,0xBB,0xB9,0xB8,0xB7,0xB5,0xB2,0xB0,0xBA,0xBB,0xBC,0xBD,0xBD,0xBC,0xBB,0xBB,0x3E,0x3B,0x38,0x38,0x39,0x3A,0x3A,0x39,0x40,0x3D,0x39,0x38,0x38,0x39,0x38,0x37,0x49,0x43,0x3D,0x38,0x37,0x36,0x35,0x33,0x5F,0x57,0x4C,0x42,0x3D,0x3A,0x38,0x37,0x80,0x75,0x65,0x57,0x4D,0x48,0x44,0x42,0x99,0x8E,0x7D,0x6D,0x61,0x58,0x52,0x4E,0xA7,0x9E,0x91,0x82,0x76,0x6A,0x60,0x5A,0xB0,0xAA,0x9F,0x93,0x87,0x7A,0x6E,0x66,0xBA,0xBB,0xBC,0xBE,0xC0,0xC0,0xC1,0xC1,0xB8,0xB9,0xBB,0xBD,0xBE,0xBE,0xBE,0xBE,0xB5,0xB6,0xB8,0xBB,0xBC,0xBB,0xBB,0xBA,0xB2,0xB3,0xB6,0xB8,0xB9,0xB9,0xB8,0xB7,0xAF,0xB1,0xB3,0xB5,0xB6,0xB6,0xB6,0xB5,0xAC,0xAD,0xAF,0xB1,0xB3,0xB4,0xB4,0xB4,0xAA,0xAA,0xAB,0xAD,0xAF,0xB1,0xB2,0xB3,0xA8,0xA8,0xA9,0xAA,0xAC,0xAF,0xB1,0xB3,0xBA,0xB4,0xAB,0xA2,0x97,0x8A,0x7E,0x75,0xB9,0xB4,0xAD,0xA6,0x9E,0x94,0x8A,0x83,0xB7,0xB4,0xAF,0xAA,0xA5,0x9F,0x97,0x92,0xB5,0xB2,0xAE,0xAB,0xA9,0xA5,0xA0,0x9C,0xB4,0xB1,0xAE,0xAD,0xAD,0xAC,0xA9,0xA7,0xB3,0xB1,0xAF,0xAF,0xB2,0xB3,0xB2,0xB0,0xB2,0xB0,0xAE,0xAE,0xB1,0xB2,0xB2,0xB1,0xB2,0xAF,0xAC,0xAB,0xAC,0xAD,0xAD,0xAB,0x8D,0x8C,0x89,0x85,0x81,0x7D,0x7A,0x78,0x99,0x97,0x93,0x8F,0x89,0x84,0x80,0x7E,0xA6,0xA4,0xA0,0x9B,0x95,0x90,0x8C,0x8A,0xAA,0xA9,0xA6,0xA3,0x9F,0x9C,0x99,0x98,0xA6,0xA6,0xA6,0xA5,0xA5,0xA4,0xA4,0xA4,0xA4,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA8,0xA8,0xA7,0xA6,0xA6,0xA5,0xA5,0xAF,0xAE,0xAC,0xA9,0xA6,0xA4,0xA2,0xA1,0x7E,0x80,0x82,0x83,0x84,0x83,0x82,0x81,0x7C,0x7D,0x7F,0x81,0x82,0x82,0x81,0x80,0x78,0x79,0x7B,0x7D,0x7E,0x7F,0x7F,0x7F,0x75,0x76,0x78,0x79,0x7B,0x7C,0x7D,0x7D,0x75,0x75,0x76,0x77,0x78,0x7A,0x7B,0x7B,0x77,0x77,0x76,0x76,0x77,0x78,0x79,0x7A,0x7A,0x79,0x78,0x77,0x77,0x77,0x79,0x7A,0x7C,0x7B,0x79,0x77,0x77,0x77,0x78,0x79,0x34,0x35,0x36,0x38,0x3A,0x3B,0x3B,0x3B,0x37,0x38,0x3A,0x3B,0x3D,0x3D,0x3C,0x3B,0x35,0x36,0x38,0x3A,0x3B,0x3C,0x3B,0x3B,0x35,0x35,0x36,0x37,0x38,0x3A,0x3C,0x3E,0x3F,0x3E,0x3C,0x3A,0x38,0x3A,0x3D,0x41,0x4D,0x4B,0x47,0x40,0x3B,0x39,0x3B,0x3E,0x59,0x58,0x53,0x4B,0x42,0x3D,0x3C,0x3D,0x62,0x61,0x5E,0x56,0x4D,0x45,0x43,0x42,0x3C,0x3F,0x42,0x44,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x41,0x40,0x3F,0x40,0x41,0x41,0x41,0x40,0x3F,0x3F,0x3F,0x41,0x42,0x43,0x42,0x41,0x3E,0x3F,0x40,0x42,0x43,0x42,0x41,0x40,0x3F,0x40,0x42,0x42,0x41,0x40,0x40,0x40,0x3F,0x41,0x43,0x42,0x40,0x41,0x45,0x49,0x3E,0x41,0x43,0x42,0x41,0x44,0x4D,0x55,0x6D,0x69,0x64,0x5F,0x58,0x4E,0x46,0x41,0x77,0x70,0x68,0x61,0x5B,0x53,0x49,0x43,0x88,0x80,0x74,0x6B,0x66,0x5E,0x54,0x4C,0x99,0x92,0x88,0x7E,0x79,0x73,0x6B,0x64,0xA2,0xA0,0x9A,0x93,0x8F,0x8D,0x87,0x80,0xA5,0xA6,0xA3,0xA0,0xA0,0x9F,0x98,0x8E,0xAA,0xA9,0xA5,0xA3,0xA6,0xA4,0x95,0x84,0xB0,0xAB,0xA4,0xA2,0xA5,0xA1,0x8B,0x73,0x36,0x3F,0x45,0x44,0x42,0x4A,0x5F,0x71,0x3A,0x3F,0x45,0x4B,0x51,0x5D,0x6D,0x79,0x4D,0x4C,0x50,0x59,0x66,0x72,0x79,0x7B,0x6B,0x66,0x63,0x69,0x73,0x7A,0x79,0x76,0x7D,0x77,0x72,0x72,0x75,0x77,0x74,0x71,0x7B,0x78,0x74,0x72,0x72,0x72,0x71,0x70,0x71,0x71,0x71,0x71,0x70,0x70,0x70,0x70,0x6D,0x6E,0x6F,0x70,0x71,0x70,0x6F,0x6E,0x77,0x78,0x79,0x7A,0x7A,0x78,0x75,0x74,0x81,0x7E,0x79,0x75,0x74,0x76,0x79,0x7B,0x8E,0x87,0x7D,0x75,0x72,0x76,0x7D,0x82,0x96,0x90,0x87,0x7F,0x7B,0x7B,0x7E,0x81,0x9A,0x98,0x93,0x8D,0x87,0x80,0x7B,0x78,0x9E,0x9C,0x98,0x92,0x88,0x7D,0x74,0x6E,0xA4,0x9F,0x95,0x88,0x7C,0x73,0x6C,0x69,0xAA,0xA0,0x8F,0x7D,0x70,0x69,0x67,0x67,0x7F,0x81,0x84,0x87,0x88,0x88,0x87,0x86,0x86,0x84,0x82,0x81,0x81,0x83,0x86,0x87,0x84,0x83,0x82,0x81,0x81,0x81,0x81,0x82,0x7C,0x7E,0x81,0x84,0x85,0x83,0x81,0x80,0x7D,0x7C,0x7C,0x7D,0x82,0x8A,0x91,0x96,0x84,0x7F,0x79,0x7A,0x85,0x99,0xAF,0xBD,0x7B,0x7D,0x82,0x8D,0x9F,0xB5,0xC8,0xD4,0x69,0x77,0x8F,0xA9,0xBF,0xCD,0xD4,0xD7},
+{0x37,0x3B,0x3C,0x3A,0x3A,0x3A,0x38,0x33,0x3F,0x3F,0x3F,0x3D,0x3C,0x3D,0x3C,0x3B,0x44,0x40,0x3C,0x3B,0x39,0x37,0x38,0x3A,0x43,0x3E,0x3B,0x3B,0x38,0x34,0x34,0x37,0x40,0x40,0x43,0x47,0x48,0x46,0x45,0x45,0x43,0x4B,0x54,0x5C,0x61,0x64,0x62,0x5E,0x55,0x62,0x6E,0x73,0x78,0x7D,0x78,0x6F,0x6A,0x7A,0x84,0x84,0x86,0x8A,0x83,0x75,0x3A,0x39,0x3A,0x3A,0x3A,0x3F,0x51,0x63,0x3B,0x3C,0x3C,0x3A,0x3F,0x4A,0x58,0x60,0x38,0x3A,0x39,0x3A,0x46,0x57,0x5D,0x5A,0x38,0x35,0x36,0x40,0x51,0x5D,0x5C,0x55,0x45,0x3C,0x3E,0x4F,0x5E,0x5E,0x57,0x52,0x5C,0x52,0x53,0x61,0x67,0x5D,0x54,0x54,0x6D,0x68,0x67,0x6A,0x67,0x5C,0x57,0x58,0x72,0x73,0x71,0x6B,0x62,0x5B,0x5A,0x5C,0x83,0x8E,0x94,0x94,0x8D,0x88,0x85,0x74,0x86,0x8C,0x8E,0x8A,0x82,0x7C,0x76,0x67,0x80,0x82,0x81,0x7A,0x74,0x6F,0x66,0x5D,0x74,0x74,0x75,0x70,0x6F,0x6D,0x62,0x61,0x70,0x70,0x73,0x6E,0x71,0x70,0x62,0x69,0x70,0x6E,0x73,0x6B,0x6F,0x6D,0x5C,0x6C,0x6F,0x6C,0x71,0x67,0x6B,0x69,0x59,0x72,0x6F,0x6C,0x71,0x66,0x6C,0x6C,0x5E,0x7D,0x6E,0x73,0x71,0x66,0x5E,0x5E,0x5F,0x5D,0x64,0x71,0x74,0x68,0x62,0x65,0x63,0x5B,0x66,0x74,0x77,0x6A,0x65,0x6D,0x6A,0x5D,0x75,0x78,0x72,0x67,0x66,0x6D,0x6A,0x60,0x7F,0x74,0x69,0x66,0x69,0x6A,0x67,0x62,0x7F,0x72,0x6A,0x6E,0x72,0x6E,0x68,0x66,0x79,0x73,0x70,0x72,0x72,0x6E,0x6A,0x69,0x72,0x75,0x73,0x6D,0x69,0x69,0x68,0x67,0x76,0x78,0x79,0x7A,0x79,0x76,0x73,0x71,0x7F,0x80,0x80,0x7F,0x7C,0x78,0x73,0x71,0x8A,0x89,0x87,0x83,0x7D,0x77,0x71,0x6E,0x8D,0x8B,0x87,0x81,0x7A,0x72,0x6C,0x68,0x85,0x82,0x7E,0x78,0x72,0x6B,0x65,0x62,0x76,0x74,0x71,0x6E,0x69,0x65,0x62,0x60,0x68,0x67,0x66,0x65,0x64,0x64,0x63,0x63,0x60,0x60,0x60,0x61,0x62,0x64,0x66,0x66,0x85,0x83,0x7F,0x7E,0x83,0x91,0xA3,0xB0,0x92,0x8B,0x83,0x7E,0x82,0x92,0xA6,0xB4,0x80,0x7F,0x7D,0x7F,0x87,0x95,0xA3,0xAC,0x75,0x7C,0x89,0x99,0xA6,0xAD,0xAE,0xAD,0x9C,0xA2,0xAD,0xBC,0xC7,0xCA,0xC5,0xBE,0xCC,0xC6,0xC1,0xC2,0xC8,0xCC,0xC9,0xC4,0xD5,0xCB,0xC1,0xBF,0xC6,0xCA,0xC8,0xC4,0xCD,0xC7,0xC5,0xCC,0xD7,0xDC,0xD7,0xD0,0x57,0x52,0x51,0x57,0x5A,0x56,0x54,0x56,0x5A,0x57,0x57,0x5B,0x5A,0x55,0x54,0x58,0x5C,0x5C,0x5E,0x60,0x5D,0x58,0x59,0x5D,0x5B,0x5A,0x5D,0x5F,0x5F,0x5C,0x5C,0x60,0x5B,0x59,0x5A,0x5D,0x5F,0x5E,0x5D,0x5C,0x60,0x5E,0x5D,0x5F,0x61,0x61,0x5F,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x60,0x5F,0x5D,0x54,0x58,0x5B,0x5A,0x59,0x5A,0x5B,0x5C,0x56,0x59,0x5E,0x61,0x61,0x61,0x60,0x60,0x58,0x5B,0x5F,0x62,0x63,0x64,0x64,0x65,0x57,0x5A,0x5D,0x60,0x62,0x63,0x65,0x67,0x58,0x5A,0x5D,0x5F,0x60,0x63,0x65,0x67,0x5C,0x5D,0x5F,0x61,0x62,0x64,0x67,0x69,0x5C,0x5E,0x60,0x62,0x63,0x65,0x67,0x69,0x5A,0x5D,0x60,0x62,0x64,0x66,0x68,0x6A,0x5C,0x5F,0x63,0x66,0x68,0x6A,0x6C,0x6E,0x61,0x5C,0x5B,0x5E,0x60,0x60,0x61,0x64,0x58,0x56,0x56,0x59,0x5B,0x5E,0x61,0x63,0x5E,0x61,0x62,0x62,0x65,0x6A,0x6E,0x6F,0x66,0x6A,0x6B,0x69,0x6A,0x6E,0x71,0x70,0x62,0x64,0x64,0x62,0x61,0x61,0x60,0x5E,0x69,0x66,0x65,0x67,0x65,0x60,0x5B,0x59,0x71,0x6A,0x6A,0x71,0x71,0x68,0x60,0x5F,0x6C,0x62,0x62,0x6E,0x71,0x65,0x5C,0x5C,0x5E,0x62,0x67,0x6C,0x6F,0x6F,0x6D,0x6C,0x6C,0x6D,0x6D,0x6D,0x6C,0x6A,0x68,0x66,0x70,0x6F,0x6C,0x68,0x66,0x64,0x62,0x62,0x68,0x67,0x65,0x63,0x63,0x63,0x64,0x65,0x61,0x61,0x62,0x63,0x64,0x66,0x68,0x69,0x5E,0x5F,0x60,0x61,0x62,0x64,0x64,0x65,0x5D,0x5D,0x5E,0x5E,0x60,0x62,0x63,0x64,0x5E,0x5E,0x5E,0x5F,0x61,0x65,0x69,0x6B,0x66,0x66,0x66,0x65,0x64,0x64,0x63,0x63,0x66,0x65,0x65,0x64,0x63,0x63,0x62,0x62,0x64,0x64,0x64,0x63,0x62,0x62,0x61,0x61,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x63,0x63,0x62,0x62,0x61,0x60,0x60,0x60,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0x61,0x65,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0xB8,0xB6,0xB3,0xB3,0xB6,0xBC,0xC3,0xC8,0xB8,0xB7,0xB6,0xB7,0xBB,0xC0,0xC6,0xC9,0xB7,0xB8,0xBB,0xBE,0xC2,0xC6,0xCA,0xCC,0xB8,0xBB,0xBF,0xC4,0xC8,0xCC,0xCE,0xCF,0xBB,0xBE,0xC2,0xC7,0xCC,0xCF,0xD1,0xD2,0xC0,0xC1,0xC3,0xC7,0xCB,0xCF,0xD3,0xD5,0xC5,0xC4,0xC3,0xC4,0xC8,0xCD,0xD3,0xD6,0xC8,0xC6,0xC3,0xC2,0xC5,0xCC,0xD3,0xD7,0x45,0x46,0x47,0x49,0x4A,0x4B,0x4B,0x4B,0x47,0x47,0x48,0x4A,0x4B,0x4C,0x4C,0x4C,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4E,0x4A,0x4A,0x4B,0x4D,0x4D,0x4E,0x4E,0x4E,0x4B,0x4B,0x4C,0x4D,0x4E,0x4E,0x4E,0x4E,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x4F,0x4F,0x4E,0x4E,0x4F,0x50,0x50,0x50,0x50,0x50,0x4F,0x50,0x50,0x51,0x52,0x52,0x52,0x51,0x4F,0x4F,0x57,0x6A,0x7F,0x8E,0x97,0x9B,0x4E,0x4F,0x59,0x6A,0x7D,0x8B,0x94,0x98,0x4C,0x4F,0x59,0x68,0x78,0x84,0x8D,0x93,0x4D,0x4F,0x56,0x62,0x6E,0x78,0x82,0x8A,0x4F,0x4F,0x53,0x5A,0x62,0x6B,0x76,0x7F,0x51,0x4F,0x50,0x54,0x59,0x60,0x69,0x70,0x52,0x4F,0x4E,0x52,0x55,0x59,0x5E,0x63,0x52,0x4F,0x4F,0x52,0x55,0x56,0x58,0x5A,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x53,0x52,0x51,0x51,0x52,0x54,0x57,0x59,0x54,0x53,0x52,0x51,0x51,0x52,0x53,0x54,0x52,0x52,0x51,0x51,0x51,0x51,0x52,0x52,0x4F,0x50,0x51,0x52,0x53,0x53,0x53,0x53,0x51,0x51,0x52,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x54,0x53,0x53,0x52,0x56,0x55,0x55,0x54,0x54,0x53,0x53,0x53,0x54,0x53,0x53,0x53,0x53,0x54,0x55,0x55},
+{0x79,0x76,0x75,0x76,0x7D,0x88,0x94,0x9B,0x79,0x77,0x74,0x75,0x7B,0x85,0x90,0x97,0x79,0x77,0x74,0x74,0x79,0x81,0x89,0x8F,0x78,0x76,0x74,0x73,0x76,0x7C,0x82,0x86,0x78,0x76,0x74,0x73,0x74,0x78,0x7C,0x7E,0x77,0x75,0x74,0x73,0x73,0x75,0x77,0x79,0x76,0x75,0x74,0x73,0x73,0x74,0x75,0x76,0x75,0x74,0x74,0x73,0x73,0x74,0x74,0x75,0x82,0x84,0x87,0x87,0x85,0x80,0x7B,0x77,0x84,0x85,0x87,0x88,0x86,0x82,0x7D,0x79,0x86,0x87,0x89,0x89,0x87,0x84,0x80,0x7D,0x88,0x89,0x8A,0x8A,0x88,0x86,0x84,0x82,0x8B,0x8A,0x8A,0x8A,0x89,0x88,0x87,0x86,0x8C,0x8B,0x8A,0x89,0x89,0x89,0x89,0x8A,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8C,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8D,0x9F,0xA0,0xA1,0xA4,0xA7,0xAA,0xAC,0xAE,0x9B,0x9C,0x9E,0xA1,0xA4,0xA6,0xA8,0xA9,0x94,0x95,0x98,0x9B,0x9D,0x9F,0x9F,0xA0,0x8C,0x8D,0x90,0x93,0x95,0x95,0x96,0x95,0x83,0x85,0x88,0x8B,0x8D,0x8F,0x8F,0x8F,0x79,0x7C,0x7F,0x83,0x87,0x8B,0x8D,0x8E,0x6D,0x6F,0x74,0x7A,0x80,0x86,0x8B,0x8D,0x62,0x65,0x6B,0x72,0x7B,0x83,0x89,0x8D,0xAF,0xAC,0xA9,0xA8,0xA7,0xA5,0xA2,0xA1,0xAB,0xA7,0xA4,0xA2,0x9F,0x9D,0x9A,0x99,0xA3,0xA0,0x9B,0x95,0x90,0x8C,0x89,0x87,0x99,0x96,0x8F,0x86,0x7E,0x7A,0x76,0x72,0x8E,0x8C,0x84,0x7B,0x76,0x73,0x6D,0x68,0x88,0x86,0x7F,0x78,0x78,0x78,0x72,0x69,0x89,0x87,0x80,0x7B,0x7E,0x81,0x79,0x6E,0x8D,0x8A,0x83,0x7F,0x83,0x86,0x7C,0x6E,0x59,0x5E,0x65,0x6B,0x74,0x7F,0x87,0x89,0x57,0x5B,0x60,0x67,0x71,0x7D,0x84,0x85,0x55,0x57,0x5A,0x61,0x6D,0x79,0x7F,0x7F,0x54,0x54,0x55,0x5C,0x6A,0x76,0x7B,0x7A,0x55,0x54,0x54,0x5B,0x68,0x76,0x7B,0x7A,0x56,0x55,0x55,0x5C,0x6B,0x79,0x80,0x7F,0x55,0x56,0x58,0x5F,0x6E,0x7E,0x87,0x88,0x54,0x56,0x59,0x62,0x71,0x82,0x8D,0x8F,0x90,0x8F,0x87,0x80,0x87,0x8F,0x87,0x75,0x8E,0x94,0x94,0x91,0x93,0x94,0x87,0x73,0x89,0x96,0x9F,0x9E,0x9A,0x94,0x84,0x72,0x83,0x94,0xA0,0x9F,0x98,0x8F,0x81,0x74,0x80,0x90,0x9D,0x9D,0x97,0x8F,0x83,0x78,0x84,0x90,0x9B,0x9D,0x9B,0x96,0x8B,0x80,0x91,0x94,0x97,0x98,0x9B,0x9B,0x95,0x8C,0x9C,0x98,0x91,0x8F,0x95,0x9C,0x9B,0x96,0xA4,0xA7,0xA9,0xA9,0xA6,0xA4,0xA5,0xA7,0x9A,0x9D,0xA0,0xA0,0x9D,0x9B,0x9B,0x9C,0x94,0x98,0x9D,0x9E,0x9B,0x97,0x95,0x95,0x94,0x9A,0xA1,0xA3,0x9F,0x99,0x94,0x93,0x8D,0x94,0x9C,0x9F,0x9A,0x91,0x8A,0x86,0x7F,0x87,0x91,0x93,0x8D,0x81,0x76,0x70,0x7B,0x83,0x8D,0x90,0x88,0x7A,0x6D,0x65,0x80,0x89,0x93,0x96,0x8D,0x7D,0x6E,0x66,0x78,0x77,0x75,0x74,0x76,0x79,0x7C,0x7E,0x7B,0x79,0x77,0x76,0x77,0x78,0x7B,0x7C,0x7E,0x7D,0x7B,0x7A,0x7B,0x7D,0x80,0x82,0x80,0x7F,0x7E,0x7F,0x83,0x8A,0x90,0x94,0x82,0x80,0x7F,0x82,0x8B,0x99,0xA6,0xAF,0x86,0x82,0x7F,0x81,0x8E,0xA2,0xB7,0xC5,0x8E,0x86,0x7E,0x7D,0x8A,0xA2,0xBD,0xCE,0x93,0x89,0x7D,0x7A,0x85,0x9F,0xBC,0xCF,0xA1,0xA1,0xA0,0x9E,0x99,0x8D,0x7C,0x6E,0x8C,0x8D,0x8D,0x8C,0x88,0x80,0x74,0x6B,0x7B,0x7C,0x7D,0x7D,0x7B,0x76,0x71,0x6D,0x73,0x74,0x77,0x79,0x77,0x73,0x71,0x72,0x6A,0x6C,0x71,0x75,0x75,0x71,0x71,0x74,0x61,0x62,0x69,0x71,0x74,0x72,0x73,0x78,0x5C,0x5C,0x61,0x6B,0x70,0x70,0x73,0x79,0x5A,0x58,0x5B,0x65,0x6B,0x6B,0x6F,0x76,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x62,0x5C,0x5B,0x64,0x6C,0x6D,0x6E,0x70,0x72,0x6F,0x6D,0x6E,0x6F,0x6F,0x6F,0x71,0x7A,0x7C,0x7B,0x74,0x6E,0x6D,0x6E,0x6F,0x73,0x7B,0x7D,0x75,0x6C,0x6C,0x6E,0x6E,0x6D,0x77,0x7B,0x75,0x6F,0x6F,0x70,0x6F,0x72,0x76,0x78,0x76,0x73,0x72,0x6F,0x6D,0x7F,0x79,0x76,0x77,0x78,0x75,0x70,0x6D,0x8C,0x80,0x77,0x7A,0x7E,0x7A,0x74,0x72,0x73,0x73,0x73,0x75,0x76,0x74,0x6F,0x6B,0x75,0x74,0x75,0x76,0x76,0x73,0x6D,0x68,0x75,0x75,0x75,0x76,0x76,0x71,0x6A,0x65,0x74,0x74,0x75,0x75,0x75,0x70,0x69,0x63,0x71,0x71,0x72,0x73,0x72,0x6E,0x67,0x62,0x6F,0x6E,0x6E,0x6F,0x6F,0x6B,0x66,0x61,0x6E,0x6C,0x6B,0x6B,0x6B,0x68,0x63,0x5F,0x6E,0x6C,0x6A,0x69,0x68,0x66,0x61,0x5D,0x99,0x90,0x81,0x72,0x69,0x66,0x68,0x6A,0x8D,0x85,0x78,0x6C,0x65,0x63,0x65,0x68,0x7D,0x76,0x6D,0x64,0x60,0x60,0x63,0x66,0x70,0x6C,0x66,0x61,0x5F,0x61,0x64,0x67,0x69,0x67,0x64,0x62,0x62,0x64,0x67,0x69,0x68,0x67,0x66,0x65,0x65,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x66,0x66,0x65,0x65,0x68,0x68,0x68,0x67,0x66,0x64,0x63,0x62,0x7C,0x90,0xAB,0xBF,0xC9,0xCE,0xD5,0xDA,0x8E,0xA9,0xC8,0xD5,0xD1,0xC9,0xCA,0xCF,0x9E,0xBC,0xDD,0xE6,0xDA,0xCB,0xC9,0xCE,0xAA,0xBE,0xD5,0xE0,0xDC,0xD5,0xD4,0xD7,0xC0,0xC1,0xC4,0xCC,0xD5,0xDA,0xD7,0xD3,0xDA,0xCD,0xC2,0xC4,0xCF,0xD4,0xCE,0xC4,0xDF,0xD6,0xCE,0xCD,0xD1,0xD0,0xC8,0xBF,0xD5,0xD6,0xD8,0xD9,0xD8,0xD2,0xCB,0xC5,0x6D,0x66,0x69,0x6B,0x69,0x62,0x66,0x80,0x71,0x69,0x69,0x70,0x67,0x5B,0x6A,0x81,0x75,0x6D,0x69,0x74,0x63,0x54,0x6E,0x7D,0x73,0x71,0x68,0x72,0x5F,0x54,0x74,0x71,0x70,0x72,0x68,0x6D,0x5E,0x5B,0x77,0x67,0x6C,0x6F,0x68,0x67,0x5F,0x62,0x74,0x67,0x69,0x67,0x63,0x61,0x5E,0x60,0x69,0x6F,0x66,0x5E,0x5E,0x5D,0x5C,0x5A,0x5F,0x77,0x6E,0x72,0x70,0x6B,0x6A,0x66,0x63,0x67,0x6F,0x72,0x6F,0x6C,0x6D,0x6A,0x68,0x6C,0x70,0x72,0x6F,0x6C,0x6F,0x6E,0x6C,0x6F,0x6E,0x6F,0x6A,0x69,0x6F,0x6F,0x6C,0x6E,0x67,0x66,0x61,0x62,0x6B,0x6D,0x69,0x6A,0x61,0x60,0x5A,0x5D,0x68,0x6A,0x65,0x64,0x67,0x64,0x5E,0x5F,0x6A,0x6A,0x61,0x5D,0x72,0x6E,0x65,0x65,0x6D,0x6A,0x5E,0x58},
+{0x61,0x5C,0x5A,0x5B,0x59,0x59,0x62,0x6F,0x65,0x5F,0x5C,0x5B,0x59,0x59,0x61,0x6C,0x66,0x60,0x5C,0x5A,0x58,0x58,0x5F,0x68,0x63,0x5E,0x5A,0x59,0x58,0x5A,0x60,0x67,0x5F,0x5C,0x59,0x59,0x5C,0x60,0x65,0x69,0x5E,0x5B,0x5A,0x5C,0x61,0x66,0x69,0x6B,0x5D,0x5C,0x5B,0x5E,0x63,0x68,0x69,0x68,0x5C,0x5B,0x5B,0x5D,0x63,0x67,0x66,0x63,0x6E,0x69,0x65,0x68,0x73,0x7A,0x6F,0x5A,0x6A,0x64,0x6E,0x73,0x71,0x7D,0x7C,0x60,0x73,0x6A,0x77,0x78,0x67,0x78,0x87,0x71,0x7B,0x6F,0x72,0x6E,0x60,0x6E,0x88,0x8D,0x70,0x6C,0x66,0x65,0x65,0x67,0x7A,0x98,0x65,0x69,0x63,0x66,0x6E,0x62,0x64,0x80,0x65,0x67,0x66,0x68,0x6B,0x63,0x5F,0x67,0x66,0x62,0x64,0x65,0x63,0x6A,0x6E,0x65,0x67,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x65,0x66,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x66,0x66,0x65,0x65,0x64,0x63,0x62,0x62,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x61,0x66,0x66,0x65,0x64,0x62,0x61,0x61,0x60,0x66,0x65,0x65,0x63,0x62,0x61,0x60,0x60,0xD0,0xC8,0xC2,0xC5,0xCF,0xD4,0xD0,0xCA,0xCE,0xC6,0xC0,0xC4,0xCD,0xD2,0xCE,0xC7,0xC9,0xC2,0xBD,0xC2,0xCB,0xCF,0xCA,0xC3,0xC5,0xBF,0xBB,0xC1,0xCA,0xCE,0xC8,0xC0,0xC1,0xBC,0xBA,0xC1,0xCC,0xD0,0xC9,0xC1,0xBE,0xBA,0xBB,0xC4,0xD0,0xD4,0xCD,0xC4,0xBC,0xBA,0xBC,0xC7,0xD4,0xD9,0xD2,0xC9,0xBC,0xBA,0xBD,0xC9,0xD7,0xDC,0xD5,0xCC,0x6F,0x63,0x5E,0x65,0x6D,0x6A,0x62,0x5D,0x6B,0x60,0x5C,0x63,0x69,0x67,0x61,0x5E,0x65,0x5E,0x5B,0x60,0x64,0x63,0x60,0x5F,0x62,0x5E,0x5D,0x5F,0x60,0x5F,0x5F,0x60,0x61,0x60,0x60,0x60,0x5F,0x5D,0x5E,0x60,0x61,0x62,0x62,0x62,0x60,0x5E,0x5F,0x61,0x5F,0x61,0x63,0x63,0x61,0x61,0x61,0x61,0x5D,0x60,0x63,0x63,0x62,0x62,0x62,0x62,0x5D,0x5E,0x60,0x62,0x65,0x69,0x6E,0x71,0x5F,0x61,0x63,0x65,0x67,0x6A,0x6D,0x70,0x61,0x63,0x66,0x68,0x69,0x6A,0x6C,0x6D,0x61,0x64,0x67,0x69,0x69,0x69,0x69,0x69,0x61,0x63,0x65,0x67,0x67,0x67,0x67,0x68,0x60,0x62,0x64,0x65,0x65,0x66,0x68,0x6A,0x61,0x62,0x63,0x63,0x65,0x68,0x6C,0x6F,0x63,0x63,0x63,0x63,0x65,0x69,0x6F,0x73,0x5D,0x62,0x63,0x61,0x63,0x68,0x67,0x62,0x66,0x5B,0x5B,0x68,0x6A,0x5F,0x5D,0x66,0x65,0x5D,0x5A,0x5F,0x65,0x65,0x64,0x64,0x77,0x6B,0x5D,0x59,0x5F,0x67,0x67,0x63,0x99,0x7A,0x63,0x63,0x64,0x5D,0x5D,0x67,0x96,0x84,0x72,0x68,0x63,0x61,0x64,0x68,0x74,0x80,0x7E,0x6C,0x62,0x68,0x6C,0x67,0x62,0x71,0x7D,0x79,0x69,0x5E,0x60,0x68,0x64,0x62,0x5B,0x68,0x73,0x72,0x71,0x66,0x5F,0x60,0x62,0x6B,0x72,0x71,0x6C,0x65,0x5D,0x60,0x6B,0x6E,0x6E,0x6D,0x65,0x63,0x60,0x64,0x70,0x6D,0x68,0x69,0x62,0x65,0x62,0x68,0x6E,0x69,0x65,0x67,0x68,0x6C,0x63,0x6C,0x68,0x68,0x68,0x69,0x73,0x6F,0x67,0x74,0x64,0x6C,0x6F,0x6A,0x79,0x68,0x6B,0x7C,0x64,0x72,0x75,0x69,0x79,0x5E,0x63,0x63,0x63,0x63,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x61,0x61,0x60,0x60,0x60,0x62,0x61,0x61,0x60,0x5F,0x5E,0x5D,0x5D,0x61,0x60,0x60,0x5E,0x5D,0x5C,0x5B,0x5B,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5C,0x5B,0x60,0x60,0x60,0x5F,0x5F,0x5F,0x5F,0x5E,0x60,0x60,0x60,0x61,0x61,0x62,0x62,0x62,0x60,0x60,0x61,0x62,0x63,0x64,0x64,0x65,0xC6,0xC4,0xC2,0xC2,0xC5,0xCB,0xD2,0xD6,0xC5,0xC4,0xC2,0xC3,0xC7,0xCD,0xD4,0xD8,0xC4,0xC4,0xC3,0xC5,0xC9,0xD0,0xD7,0xDB,0xC4,0xC4,0xC4,0xC7,0xCC,0xD3,0xDA,0xDE,0xC5,0xC5,0xC6,0xC9,0xCF,0xD5,0xDC,0xE0,0xC7,0xC7,0xC9,0xCC,0xD1,0xD7,0xDD,0xE0,0xC9,0xC9,0xCB,0xCE,0xD3,0xD8,0xDD,0xE0,0xCA,0xCB,0xCC,0xD0,0xD4,0xD9,0xDD,0xE0,0x4D,0x51,0x53,0x52,0x51,0x51,0x52,0x53,0x4E,0x51,0x53,0x51,0x4F,0x4F,0x50,0x51,0x4F,0x50,0x52,0x51,0x50,0x4F,0x50,0x52,0x4F,0x50,0x51,0x52,0x51,0x51,0x54,0x58,0x52,0x50,0x51,0x52,0x52,0x52,0x57,0x5D,0x56,0x52,0x51,0x52,0x53,0x54,0x5B,0x64,0x58,0x53,0x51,0x54,0x56,0x5A,0x64,0x70,0x57,0x52,0x51,0x56,0x5B,0x61,0x6E,0x7C,0x52,0x52,0x52,0x53,0x55,0x58,0x5B,0x5D,0x51,0x54,0x57,0x5B,0x5E,0x60,0x62,0x63,0x54,0x5A,0x62,0x69,0x6C,0x6D,0x6C,0x6C,0x5D,0x65,0x70,0x78,0x7B,0x79,0x77,0x75,0x6A,0x72,0x7D,0x84,0x84,0x81,0x7D,0x7B,0x75,0x7C,0x85,0x88,0x86,0x81,0x7D,0x7C,0x7C,0x81,0x86,0x86,0x81,0x7C,0x7A,0x7A,0x7E,0x82,0x84,0x82,0x7C,0x77,0x76,0x77,0x59,0x51,0x51,0x5E,0x6B,0x72,0x78,0x7E,0x54,0x55,0x5B,0x67,0x70,0x76,0x7B,0x80,0x51,0x5D,0x6A,0x73,0x78,0x7C,0x7F,0x80,0x5A,0x6A,0x78,0x7B,0x7D,0x81,0x80,0x7C,0x69,0x76,0x7F,0x7E,0x7E,0x80,0x7C,0x74,0x74,0x7C,0x7F,0x7B,0x79,0x79,0x74,0x6B,0x77,0x7B,0x7C,0x78,0x73,0x6F,0x6B,0x66,0x75,0x78,0x7A,0x76,0x6E,0x68,0x65,0x64,0x81,0x84,0x82,0x78,0x6D,0x6B,0x75,0x80,0x7F,0x7C,0x76,0x6F,0x6A,0x6E,0x77,0x80,0x7E,0x76,0x6D,0x69,0x6E,0x78,0x83,0x89,0x79,0x71,0x6A,0x6B,0x76,0x84,0x8F,0x95,0x6D,0x6B,0x6B,0x71,0x7C,0x8A,0x96,0x9D,0x68,0x6C,0x72,0x7A,0x84,0x90,0x9A,0xA1,0x6B,0x71,0x7A,0x83,0x8B,0x94,0x9C,0xA2,0x6E,0x73,0x7C,0x85,0x8D,0x95,0x9B,0x9F,0x76,0x76,0x78,0x7A,0x7C,0x7D,0x7E,0x7E,0x70,0x73,0x77,0x7D,0x82,0x86,0x8A,0x8B,0x6D,0x71,0x79,0x82,0x8C,0x94,0x99,0x9C,0x73,0x78,0x80,0x8B,0x95,0x9D,0xA3,0xA6,0x7F,0x84,0x8B,0x94,0x9C,0xA2,0xA6,0xA7,0x8A,0x8E,0x95,0x9C,0xA1,0xA5,0xA6,0xA6,0x8F,0x93,0x9A,0xA0,0xA5,0xA7,0xA7,0xA7,0x90,0x94,0x9B,0xA2,0xA7,0xA9,0xA9,0xA9,0x8A,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8B,0x89,0x86,0x83,0x82,0x82,0x83,0x84,0x8B,0x89,0x85,0x81,0x7F,0x7E,0x7E,0x7E,0x8B,0x88,0x83,0x7F,0x7B,0x79,0x79,0x79,0x88,0x85,0x81,0x7D,0x79,0x77,0x76,0x76,0x84,0x82,0x7E,0x7B,0x78,0x77,0x77,0x77,0x81,0x7F,0x7C,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7A,0x78,0x78,0x79,0x7A,0x7B},
+{0x5A,0x5B,0x61,0x6C,0x7B,0x88,0x90,0x93,0x66,0x68,0x6F,0x78,0x83,0x8C,0x92,0x95,0x70,0x74,0x7A,0x81,0x87,0x8D,0x92,0x95,0x76,0x7B,0x80,0x84,0x87,0x8C,0x91,0x95,0x7E,0x82,0x85,0x87,0x89,0x8D,0x94,0x9A,0x82,0x85,0x88,0x8B,0x8F,0x95,0x9E,0xA4,0x80,0x84,0x8B,0x93,0x9C,0xA7,0xB1,0xB8,0x7F,0x85,0x90,0x9E,0xAC,0xBA,0xC6,0xCD,0xA0,0x9C,0x95,0x91,0x97,0x9F,0x9F,0x9A,0x8D,0x95,0x9A,0x97,0x95,0x98,0x9C,0x9D,0x9B,0x9B,0x92,0x83,0x7B,0x81,0x8B,0x91,0x9A,0x99,0x95,0x90,0x8F,0x89,0x78,0x66,0x98,0x9B,0xA2,0xAD,0xB6,0xAE,0x8F,0x72,0xB1,0xB3,0xB4,0xB9,0xC2,0xC6,0xBD,0xB0,0xC2,0xC9,0xCE,0xCE,0xD0,0xD1,0xCC,0xC5,0xD3,0xD8,0xDA,0xD7,0xD5,0xD3,0xCD,0xC6,0x88,0x90,0x9E,0xAD,0xBD,0xCC,0xD7,0xDE,0x94,0x9C,0xA9,0xB8,0xC5,0xD1,0xDA,0xDF,0x9E,0xA7,0xB3,0xC1,0xCC,0xD4,0xDA,0xDD,0xA1,0xA9,0xB6,0xC2,0xCB,0xD0,0xD4,0xD5,0xA4,0xAA,0xB4,0xBD,0xC3,0xC6,0xC6,0xC7,0xA7,0xAC,0xB2,0xB6,0xB8,0xB7,0xB6,0xB6,0xA5,0xA7,0xAA,0xAC,0xAB,0xA9,0xA8,0xA7,0x9E,0xA0,0xA2,0xA2,0xA1,0xA0,0x9F,0x9F,0xDE,0xE4,0xE5,0xDF,0xDA,0xD6,0xCC,0xC1,0xDF,0xE4,0xE3,0xDD,0xD7,0xCF,0xC1,0xB4,0xDE,0xDF,0xDD,0xD7,0xD0,0xC6,0xB5,0xA5,0xD6,0xD4,0xCF,0xCA,0xC6,0xBC,0xAB,0x9C,0xC9,0xC4,0xBD,0xB9,0xB6,0xAE,0x9F,0x92,0xB9,0xB3,0xAC,0xA8,0xA6,0x9E,0x91,0x86,0xA9,0xA4,0xA0,0x9F,0x9C,0x95,0x89,0x80,0x9E,0x9B,0x9A,0x9B,0x9A,0x93,0x88,0x80,0x85,0x8D,0x99,0xA0,0x9C,0x8D,0x7B,0x6F,0x90,0x99,0xA4,0xA9,0xA2,0x90,0x7B,0x6D,0xA0,0xA0,0x9F,0x9A,0x8F,0x81,0x73,0x6A,0xAA,0x9E,0x8B,0x77,0x6A,0x66,0x67,0x69,0xA8,0x9A,0x83,0x6E,0x61,0x60,0x65,0x6A,0xA0,0x9A,0x90,0x85,0x7C,0x77,0x75,0x74,0x9C,0x9B,0x99,0x96,0x92,0x8E,0x8A,0x88,0x9D,0x9B,0x97,0x94,0x93,0x95,0x97,0x99,0x84,0x7F,0x79,0x79,0x82,0x92,0xA4,0xB0,0x7F,0x7C,0x78,0x79,0x80,0x8E,0x9D,0xA6,0x7A,0x79,0x78,0x7A,0x80,0x89,0x93,0x99,0x78,0x79,0x7B,0x7E,0x83,0x87,0x8C,0x8E,0x79,0x7B,0x7F,0x82,0x85,0x87,0x88,0x88,0x7A,0x7C,0x80,0x83,0x85,0x86,0x86,0x86,0x7A,0x7B,0x7E,0x80,0x82,0x83,0x83,0x83,0x78,0x79,0x7B,0x7C,0x7E,0x80,0x81,0x81,0x93,0x7F,0x79,0x7D,0x81,0x7B,0x71,0x73,0x9F,0x98,0x8C,0x7B,0x77,0x7C,0x79,0x75,0x98,0x95,0x93,0x8F,0x86,0x78,0x70,0x6E,0x6F,0x75,0x7C,0x89,0x89,0x7A,0x70,0x68,0x58,0x66,0x60,0x62,0x6F,0x7F,0x84,0x6F,0x7D,0x75,0x5D,0x65,0x71,0x76,0x85,0x7F,0xB1,0x8F,0x72,0x8D,0x8C,0x6C,0x7B,0x8F,0xC1,0xA2,0x85,0x9D,0x94,0x6E,0x81,0x9A,0x6B,0x6A,0x69,0x67,0x67,0x67,0x63,0x5E,0x6A,0x6A,0x69,0x69,0x6A,0x69,0x66,0x63,0x69,0x69,0x6A,0x6A,0x6A,0x67,0x65,0x63,0x6D,0x6D,0x6D,0x6D,0x6B,0x66,0x63,0x63,0x73,0x70,0x6F,0x70,0x6D,0x68,0x65,0x65,0x75,0x6F,0x6B,0x6D,0x6D,0x69,0x66,0x66,0x7A,0x71,0x6A,0x6D,0x6E,0x69,0x66,0x66,0x85,0x78,0x70,0x71,0x72,0x6D,0x68,0x67,0xAC,0x9E,0x85,0x8B,0x7E,0x63,0x7A,0x8D,0xA3,0x99,0x88,0x88,0x7F,0x73,0x81,0x8C,0x94,0x8B,0x86,0x7C,0x79,0x7D,0x7D,0x82,0x8A,0x7A,0x7D,0x6F,0x70,0x7B,0x6F,0x75,0x86,0x6E,0x72,0x67,0x6A,0x74,0x65,0x72,0x7D,0x64,0x67,0x61,0x64,0x6B,0x60,0x70,0x73,0x61,0x61,0x5C,0x5E,0x62,0x5D,0x6A,0x70,0x66,0x63,0x5D,0x5C,0x5F,0x5E,0x66,0x9D,0x8C,0x7A,0x72,0x73,0x72,0x6D,0x66,0xA9,0x9A,0x87,0x7A,0x75,0x74,0x72,0x70,0xA7,0xA1,0x98,0x8E,0x85,0x7E,0x78,0x75,0x8C,0x95,0x9F,0xA2,0x9D,0x92,0x83,0x78,0x6D,0x7C,0x91,0xA0,0xA7,0xA3,0x95,0x88,0x60,0x6C,0x7C,0x8B,0x9A,0xA5,0xA5,0x9F,0x64,0x6C,0x74,0x7B,0x89,0x9A,0xA5,0xA6,0x6B,0x72,0x77,0x79,0x81,0x90,0x9B,0x9E,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x67,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x6B,0x6A,0x69,0x68,0x66,0x65,0x64,0x63,0x70,0x6F,0x6E,0x6B,0x69,0x66,0x65,0x64,0x78,0x76,0x74,0x70,0x6C,0x69,0x66,0x65,0x7F,0x7D,0x79,0x75,0x70,0x6B,0x68,0x66,0x83,0x81,0x7D,0x78,0x72,0x6D,0x69,0x66,0xCB,0xCE,0xD3,0xD6,0xD4,0xCE,0xC7,0xC2,0xC0,0xC7,0xD2,0xDA,0xDA,0xD2,0xC7,0xC0,0xAD,0xB9,0xCA,0xD7,0xDC,0xD6,0xCB,0xC3,0x99,0xA4,0xB5,0xC5,0xCF,0xD3,0xD1,0xCF,0x8A,0x90,0x9C,0xAB,0xBB,0xC9,0xD4,0xDA,0x81,0x85,0x8D,0x9A,0xAB,0xBE,0xCE,0xD8,0x7F,0x83,0x8C,0x98,0xA7,0xB5,0xC1,0xC7,0x7F,0x86,0x91,0x9E,0xA9,0xB1,0xB5,0xB7,0x5C,0x5C,0x58,0x66,0x6E,0x5E,0x59,0x65,0x59,0x61,0x5F,0x66,0x74,0x6C,0x5D,0x57,0x55,0x61,0x5D,0x5C,0x73,0x80,0x70,0x60,0x5B,0x60,0x58,0x50,0x6C,0x89,0x83,0x7B,0x65,0x62,0x5B,0x52,0x6A,0x84,0x81,0x88,0x63,0x5F,0x63,0x5E,0x6F,0x7D,0x76,0x86,0x62,0x5E,0x67,0x61,0x6C,0x76,0x6C,0x82,0x6B,0x64,0x69,0x5B,0x63,0x6E,0x65,0x7D,0x5F,0x62,0x65,0x66,0x66,0x67,0x69,0x6A,0x66,0x66,0x69,0x6B,0x6A,0x65,0x64,0x65,0x62,0x5F,0x62,0x6B,0x6C,0x67,0x65,0x69,0x60,0x59,0x5A,0x65,0x6A,0x65,0x65,0x6C,0x70,0x63,0x5C,0x62,0x66,0x62,0x62,0x69,0x81,0x70,0x62,0x62,0x64,0x64,0x66,0x6A,0x8A,0x79,0x67,0x60,0x63,0x67,0x69,0x6A,0x8F,0x7E,0x6A,0x5F,0x60,0x65,0x66,0x63,0x6E,0x67,0x6D,0x5C,0x59,0x61,0x5F,0x66,0x68,0x69,0x74,0x6E,0x63,0x60,0x59,0x51,0x6C,0x6C,0x70,0x73,0x63,0x63,0x69,0x58,0x77,0x72,0x69,0x72,0x62,0x6D,0x7E,0x67,0x82,0x7B,0x6D,0x7A,0x6A,0x77,0x7D,0x60,0x8F,0x87,0x75,0x7D,0x6C,0x7D,0x75,0x5B,0xA1,0x99,0x86,0x82,0x6F,0x82,0x6C,0x5D,0xAC,0xA9,0x9C,0x92,0x7A,0x87,0x61,0x56,0x8C,0x8A,0x7C,0x69,0x61,0x66,0x66,0x60,0x68,0x83,0x90,0x7B,0x5F,0x5A,0x62,0x69,0x55,0x6F,0x80,0x76,0x66,0x63,0x64,0x62,0x5D,0x5E,0x5F,0x66,0x6F,0x72,0x6A,0x60,0x63,0x5C,0x5C,0x66,0x6C,0x6A,0x6A,0x6F,0x61,0x5E,0x62,0x69,0x65,0x5D,0x64,0x72,0x5F,0x5E,0x5F,0x62,0x62,0x61,0x64,0x69,0x5D,0x60,0x5F,0x5C,0x5F,0x68,0x6B,0x68},
+{0x66,0x67,0x68,0x67,0x65,0x61,0x5D,0x5A,0x65,0x66,0x67,0x67,0x65,0x62,0x5E,0x5C,0x65,0x66,0x67,0x67,0x66,0x64,0x61,0x5F,0x64,0x65,0x66,0x66,0x66,0x65,0x63,0x62,0x64,0x64,0x65,0x65,0x65,0x64,0x63,0x63,0x64,0x64,0x64,0x64,0x63,0x63,0x62,0x62,0x65,0x64,0x63,0x62,0x61,0x61,0x60,0x60,0x65,0x64,0x63,0x61,0x60,0x5F,0x5F,0x5F,0xBA,0xBD,0xC1,0xC6,0xCB,0xCE,0xD0,0xD1,0xB9,0xB9,0xBB,0xBF,0xC5,0xCB,0xD2,0xD5,0xBD,0xBA,0xB7,0xB7,0xBC,0xC7,0xD2,0xD9,0xC9,0xC2,0xBA,0xB5,0xB8,0xC3,0xD0,0xD8,0xD5,0xCE,0xC3,0xBB,0xBA,0xC1,0xCC,0xD3,0xD8,0xD2,0xC9,0xC2,0xC0,0xC3,0xC9,0xCE,0xCF,0xCD,0xCA,0xC8,0xC7,0xC7,0xC9,0xCA,0xC4,0xC6,0xC8,0xC9,0xCA,0xCA,0xCA,0xC9,0x64,0x65,0x71,0x7D,0x74,0x60,0x5D,0x6A,0x65,0x66,0x6F,0x79,0x74,0x67,0x66,0x6F,0x67,0x67,0x6C,0x72,0x72,0x6E,0x6D,0x70,0x67,0x68,0x6A,0x6C,0x6F,0x70,0x6D,0x6A,0x65,0x68,0x69,0x6A,0x6E,0x71,0x6D,0x65,0x64,0x67,0x69,0x6A,0x6E,0x71,0x6D,0x67,0x66,0x68,0x6B,0x6B,0x6C,0x6C,0x6A,0x68,0x6A,0x6B,0x6C,0x6B,0x68,0x66,0x66,0x66,0x6C,0x7D,0x64,0x70,0x72,0x69,0x80,0x6B,0x66,0x75,0x65,0x6B,0x6C,0x6B,0x84,0x7C,0x62,0x6D,0x68,0x66,0x65,0x6D,0x83,0x89,0x63,0x68,0x6C,0x65,0x63,0x6D,0x79,0x85,0x65,0x65,0x6D,0x67,0x65,0x6D,0x6D,0x76,0x66,0x65,0x6A,0x69,0x69,0x6C,0x68,0x6A,0x67,0x68,0x66,0x69,0x6B,0x68,0x68,0x65,0x6A,0x6C,0x65,0x69,0x6A,0x64,0x68,0x64,0x67,0x74,0x7A,0x6F,0x61,0x5E,0x61,0x64,0x64,0x7D,0x8B,0x7C,0x69,0x64,0x66,0x65,0x63,0x85,0x98,0x89,0x72,0x6C,0x6C,0x68,0x64,0x7D,0x8D,0x83,0x72,0x6B,0x6B,0x69,0x67,0x6D,0x71,0x70,0x6A,0x65,0x66,0x6A,0x6E,0x66,0x63,0x66,0x67,0x65,0x67,0x6D,0x6E,0x69,0x65,0x65,0x66,0x66,0x69,0x6D,0x66,0x6A,0x69,0x64,0x62,0x64,0x66,0x67,0x6A,0x68,0x65,0x64,0x64,0x67,0x6A,0x6C,0x5F,0x5F,0x61,0x63,0x66,0x69,0x6C,0x6E,0x67,0x66,0x65,0x62,0x5F,0x5B,0x58,0x56,0x6D,0x6D,0x6C,0x6B,0x69,0x66,0x64,0x63,0x6C,0x6C,0x6B,0x6B,0x6C,0x6C,0x6D,0x6E,0x6E,0x6C,0x68,0x65,0x62,0x62,0x62,0x62,0x6B,0x6A,0x68,0x66,0x65,0x66,0x67,0x68,0x6A,0x69,0x67,0x65,0x63,0x61,0x60,0x60,0x62,0x62,0x61,0x60,0x62,0x64,0x67,0x69,0x60,0x5F,0x5E,0x5D,0x5E,0x60,0x63,0x64,0x5F,0x5E,0x5C,0x5B,0x5B,0x5C,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5B,0x5C,0x5D,0x5E,0x65,0x63,0x61,0x5E,0x5E,0x5E,0x60,0x61,0x66,0x64,0x62,0x60,0x5F,0x60,0x62,0x63,0x64,0x62,0x60,0x5F,0x5F,0x60,0x62,0x63,0x61,0x60,0x5E,0x5D,0x5D,0x5E,0x60,0x62,0xD6,0xD1,0xCE,0xD2,0xDA,0xE0,0xDF,0xDB,0xD6,0xD2,0xCF,0xD3,0xDB,0xE0,0xDE,0xDB,0xD7,0xD3,0xD1,0xD5,0xDC,0xE0,0xDD,0xD9,0xD7,0xD3,0xD2,0xD6,0xDD,0xDF,0xDB,0xD5,0xD5,0xD2,0xD1,0xD6,0xDC,0xDD,0xD7,0xD0,0xD2,0xD0,0xCF,0xD4,0xD9,0xD9,0xD2,0xCA,0xCF,0xCD,0xCD,0xD2,0xD7,0xD5,0xCD,0xC4,0xCD,0xCB,0xCB,0xD0,0xD5,0xD3,0xCA,0xC1,0x75,0x72,0x6C,0x65,0x61,0x61,0x64,0x67,0x74,0x6E,0x66,0x5F,0x5E,0x62,0x68,0x6C,0x6E,0x65,0x5B,0x56,0x58,0x61,0x6A,0x70,0x67,0x5F,0x56,0x53,0x5A,0x66,0x70,0x76,0x64,0x5F,0x5A,0x5C,0x65,0x72,0x7C,0x81,0x60,0x5F,0x5F,0x65,0x6F,0x7B,0x85,0x8A,0x5E,0x60,0x64,0x6B,0x75,0x81,0x8B,0x90,0x60,0x63,0x69,0x71,0x7B,0x86,0x90,0x97,0x73,0x79,0x82,0x8A,0x8E,0x92,0x95,0x97,0x75,0x7B,0x84,0x8B,0x8F,0x91,0x94,0x95,0x79,0x7F,0x87,0x8D,0x8F,0x90,0x91,0x93,0x80,0x84,0x8B,0x8E,0x8F,0x8F,0x8F,0x90,0x87,0x8A,0x8E,0x90,0x8E,0x8D,0x8D,0x8D,0x8E,0x90,0x92,0x90,0x8D,0x8B,0x8B,0x8C,0x95,0x95,0x94,0x90,0x8C,0x89,0x89,0x8B,0x98,0x98,0x95,0x90,0x8B,0x88,0x89,0x8A,0x5E,0x62,0x69,0x74,0x80,0x8B,0x95,0x9A,0x58,0x5D,0x65,0x71,0x7E,0x8A,0x94,0x99,0x54,0x58,0x61,0x6C,0x79,0x85,0x8F,0x94,0x56,0x58,0x5E,0x66,0x71,0x7C,0x86,0x8C,0x59,0x59,0x5B,0x60,0x69,0x74,0x7F,0x85,0x5A,0x59,0x59,0x5C,0x63,0x6D,0x77,0x7E,0x5B,0x5A,0x5A,0x5B,0x60,0x67,0x6D,0x72,0x5D,0x5C,0x5C,0x5C,0x5E,0x61,0x65,0x67,0x9B,0x98,0x94,0x8E,0x89,0x86,0x86,0x87,0x9B,0x99,0x95,0x8F,0x8A,0x86,0x85,0x85,0x9C,0x9A,0x97,0x91,0x8B,0x86,0x83,0x82,0x96,0x96,0x93,0x8E,0x87,0x81,0x7C,0x7B,0x8B,0x8C,0x8B,0x87,0x81,0x7A,0x74,0x71,0x81,0x83,0x84,0x82,0x7D,0x75,0x6F,0x6C,0x75,0x78,0x7B,0x7A,0x76,0x6F,0x68,0x65,0x67,0x6B,0x6F,0x70,0x6C,0x65,0x5F,0x5B,0x93,0x96,0x9C,0xA3,0xA8,0xAB,0xAD,0xAD,0x96,0x9A,0xA0,0xA6,0xAA,0xAA,0xA8,0xA6,0x97,0x9D,0xA5,0xAC,0xAE,0xAB,0xA5,0xA1,0x93,0x9B,0xA6,0xAF,0xB2,0xAE,0xA7,0xA2,0x89,0x92,0xA0,0xAC,0xB1,0xAF,0xA9,0xA4,0x7E,0x87,0x94,0xA0,0xA6,0xA6,0xA2,0x9E,0x76,0x7D,0x87,0x91,0x96,0x96,0x92,0x90,0x73,0x78,0x7F,0x86,0x89,0x88,0x85,0x82,0x7E,0x7D,0x7B,0x7A,0x79,0x79,0x7A,0x7A,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x79,0x7A,0x7C,0x7B,0x7A,0x79,0x78,0x78,0x78,0x79,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7C,0x7B,0x7A,0x7A,0x7A,0x7B,0x81,0x80,0x7F,0x7E,0x7D,0x7D,0x7D,0x7E,0x84,0x83,0x82,0x81,0x80,0x80,0x81,0x81,0x86,0x85,0x84,0x83,0x82,0x82,0x83,0x83,0x97,0x98,0x98,0x99,0x99,0x98,0x97,0x96,0x96,0x96,0x96,0x95,0x94,0x93,0x92,0x92,0x94,0x93,0x92,0x90,0x8F,0x8E,0x8D,0x8D,0x90,0x8F,0x8E,0x8C,0x8B,0x8B,0x8B,0x8B,0x8D,0x8D,0x8C,0x8B,0x8B,0x8B,0x8C,0x8D,0x8C,0x8C,0x8C,0x8C,0x8C,0x8D,0x8E,0x8E,0x8B,0x8C,0x8D,0x8E,0x8E,0x8F,0x8F,0x8F,0x8C,0x8D,0x8E,0x8F,0x8F,0x8F,0x8F,0x8E,0x96,0x95,0x94,0x94,0x92,0x8C,0x83,0x7B,0x92,0x91,0x91,0x91,0x90,0x8A,0x80,0x79,0x8E,0x8D,0x8E,0x8F,0x8D,0x87,0x7D,0x75,0x8E,0x8D,0x8D,0x8D,0x8B,0x84,0x79,0x71,0x90,0x8F,0x8D,0x8C,0x89,0x80,0x75,0x6C,0x91,0x8E,0x8B,0x89,0x84,0x7B,0x6F,0x66,0x8E,0x8B,0x86,0x82,0x7D,0x74,0x69,0x60,0x8B,0x87,0x82,0x7D,0x78,0x6F,0x64,0x5D},
+{0x8E,0x90,0x92,0x93,0x92,0x8F,0x8C,0x8A,0x8B,0x8D,0x8F,0x90,0x8F,0x8C,0x88,0x85,0x85,0x87,0x8A,0x8C,0x8B,0x86,0x81,0x7E,0x7D,0x80,0x83,0x84,0x83,0x7E,0x79,0x75,0x74,0x76,0x78,0x79,0x77,0x74,0x6F,0x6C,0x6A,0x6B,0x6B,0x6B,0x69,0x67,0x65,0x63,0x61,0x60,0x5F,0x5D,0x5C,0x5B,0x5B,0x5B,0x5B,0x59,0x57,0x54,0x54,0x54,0x56,0x57,0x88,0x83,0x7C,0x74,0x6D,0x67,0x62,0x5E,0x81,0x7C,0x73,0x6B,0x65,0x61,0x5E,0x5C,0x78,0x72,0x69,0x62,0x5D,0x5C,0x5B,0x5B,0x6E,0x69,0x63,0x5E,0x5D,0x5D,0x5E,0x5E,0x64,0x62,0x60,0x5F,0x5F,0x60,0x61,0x61,0x5E,0x5D,0x5D,0x5F,0x60,0x61,0x61,0x60,0x5C,0x5C,0x5C,0x5D,0x5F,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5D,0x5E,0x5F,0x5F,0x5E,0xA0,0xA1,0xA3,0xA3,0xA0,0x9A,0x93,0x8F,0xA2,0xA4,0xA6,0xA5,0xA1,0x99,0x90,0x8A,0xA3,0xA6,0xA8,0xA7,0xA0,0x96,0x8A,0x83,0xA3,0xA5,0xA6,0xA4,0x9C,0x90,0x84,0x7C,0x9E,0x9F,0x9E,0x9B,0x93,0x88,0x7E,0x77,0x96,0x95,0x92,0x8D,0x86,0x7F,0x79,0x76,0x8D,0x8A,0x84,0x7F,0x7A,0x77,0x76,0x76,0x88,0x83,0x7C,0x76,0x72,0x73,0x75,0x77,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F,0x80,0x80,0x7B,0x7B,0x7C,0x7E,0x7F,0x80,0x81,0x81,0x79,0x7A,0x7B,0x7D,0x7F,0x81,0x83,0x83,0x78,0x79,0x7B,0x7D,0x80,0x83,0x84,0x85,0x79,0x7A,0x7C,0x7F,0x82,0x84,0x86,0x87,0x7B,0x7C,0x7E,0x81,0x83,0x86,0x88,0x89,0x7E,0x7F,0x81,0x83,0x85,0x87,0x89,0x8A,0x80,0x81,0x83,0x84,0x86,0x88,0x89,0x8A,0x6D,0x66,0x60,0x5D,0x5C,0x5C,0x5E,0x61,0x6B,0x65,0x5F,0x5D,0x5C,0x5B,0x5C,0x5E,0x67,0x62,0x5E,0x5D,0x5C,0x5B,0x5B,0x5C,0x63,0x5F,0x5D,0x5E,0x5E,0x5C,0x5C,0x5D,0x60,0x5D,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x5F,0x5C,0x5C,0x5E,0x60,0x60,0x60,0x62,0x60,0x5D,0x5C,0x5E,0x60,0x5F,0x60,0x61,0x61,0x5D,0x5C,0x5D,0x5E,0x5E,0x5E,0x60,0x71,0x7B,0x7C,0x7C,0x85,0x8F,0x92,0x94,0x67,0x75,0x7C,0x80,0x89,0x91,0x93,0x95,0x60,0x70,0x7A,0x7E,0x87,0x8D,0x90,0x94,0x64,0x72,0x7A,0x7C,0x82,0x87,0x8D,0x95,0x65,0x72,0x7A,0x7D,0x82,0x85,0x8B,0x95,0x5C,0x6A,0x75,0x7B,0x80,0x82,0x85,0x8E,0x59,0x65,0x6E,0x74,0x7B,0x7D,0x80,0x8A,0x60,0x68,0x6C,0x71,0x78,0x7B,0x81,0x8C,0x5D,0x5D,0x5D,0x5E,0x5E,0x5E,0x60,0x62,0x5E,0x5D,0x5E,0x5E,0x5E,0x5F,0x60,0x62,0x5F,0x5E,0x5E,0x5E,0x5F,0x60,0x61,0x62,0x60,0x60,0x5F,0x5E,0x5F,0x62,0x64,0x63,0x60,0x61,0x60,0x5E,0x61,0x66,0x67,0x65,0x61,0x62,0x60,0x5F,0x62,0x69,0x6B,0x68,0x61,0x63,0x61,0x5F,0x64,0x6D,0x6F,0x6B,0x61,0x63,0x62,0x5F,0x65,0x6F,0x71,0x6C,0x63,0x5F,0x60,0x6B,0x78,0x80,0x82,0x82,0x5D,0x5D,0x63,0x6F,0x7A,0x7D,0x79,0x75,0x5F,0x60,0x65,0x6F,0x75,0x72,0x6C,0x68,0x6B,0x67,0x65,0x67,0x68,0x66,0x63,0x63,0x6F,0x68,0x61,0x60,0x60,0x60,0x62,0x64,0x6A,0x63,0x5D,0x5D,0x61,0x63,0x64,0x66,0x66,0x5E,0x59,0x5C,0x62,0x65,0x65,0x65,0x68,0x5E,0x58,0x5A,0x61,0x65,0x65,0x64,0x7D,0x7B,0x77,0x73,0x6F,0x6D,0x6C,0x6B,0x7C,0x7A,0x76,0x72,0x6F,0x6D,0x6C,0x6B,0x79,0x78,0x75,0x71,0x6F,0x6D,0x6B,0x6B,0x77,0x76,0x73,0x71,0x6E,0x6C,0x6A,0x6A,0x75,0x74,0x73,0x70,0x6D,0x6B,0x68,0x67,0x75,0x74,0x73,0x70,0x6C,0x69,0x65,0x63,0x75,0x75,0x73,0x70,0x6C,0x67,0x63,0x60,0x76,0x75,0x73,0x70,0x6B,0x66,0x61,0x5E,0x8F,0x85,0x82,0x92,0xAE,0xBF,0xBD,0xB4,0x96,0x85,0x7B,0x8B,0xAD,0xC3,0xC2,0xB6,0x92,0x86,0x7E,0x89,0xA2,0xB9,0xC4,0xC5,0x83,0x88,0x8B,0x8C,0x92,0xA5,0xC2,0xD8,0x7E,0x86,0x8D,0x8D,0x8F,0xA0,0xC1,0xDB,0x86,0x86,0x88,0x8E,0x9C,0xB0,0xC4,0xD1,0x8A,0x8A,0x8F,0x9A,0xAB,0xBC,0xC9,0xCF,0x86,0x90,0x9E,0xA9,0xB1,0xBC,0xCB,0xD7,0xA8,0xAF,0xA6,0xAB,0x91,0x8C,0x60,0x5C,0x9D,0x9F,0xA0,0xAE,0xA2,0x92,0x65,0x5D,0x95,0x92,0x9C,0xAB,0xAC,0x92,0x67,0x5D,0x99,0x94,0x9E,0x9B,0x9E,0x82,0x66,0x5C,0x9E,0x9A,0x9D,0x82,0x80,0x6E,0x64,0x61,0x9A,0x95,0x8F,0x6D,0x69,0x63,0x64,0x68,0x8F,0x84,0x7A,0x63,0x65,0x66,0x64,0x6B,0x86,0x75,0x6A,0x62,0x6A,0x6C,0x63,0x6A,0x60,0x5F,0x5E,0x5E,0x5F,0x61,0x64,0x65,0x61,0x60,0x60,0x5F,0x60,0x61,0x62,0x63,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x60,0x61,0x62,0x63,0x63,0x63,0x63,0x62,0x60,0x61,0x62,0x64,0x65,0x65,0x64,0x64,0x60,0x61,0x63,0x64,0x65,0x66,0x66,0x66,0x62,0x63,0x63,0x64,0x65,0x66,0x66,0x66,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x6D,0x6B,0x69,0x69,0x6A,0x69,0x66,0x64,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x68,0x63,0x66,0x68,0x68,0x66,0x65,0x67,0x69,0x67,0x68,0x69,0x69,0x67,0x65,0x65,0x66,0x6A,0x69,0x68,0x67,0x67,0x67,0x64,0x62,0x68,0x66,0x64,0x65,0x67,0x67,0x65,0x62,0x66,0x66,0x66,0x66,0x67,0x67,0x66,0x65,0x67,0x69,0x6A,0x69,0x67,0x65,0x66,0x67,0x63,0x63,0x64,0x65,0x66,0x66,0x67,0x67,0x63,0x64,0x64,0x65,0x65,0x66,0x67,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x66,0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x6C,0x69,0x66,0x63,0x60,0x60,0x60,0x61,0x6A,0x68,0x65,0x62,0x60,0x5F,0x5F,0x60,0x68,0x66,0x63,0x60,0x5E,0x5E,0x5E,0x5F,0x65,0x63,0x60,0x5E,0x5D,0x5D,0x5E,0x5F,0x63,0x61,0x5F,0x5D,0x5C,0x5C,0x5E,0x5F,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5F,0x61,0x61,0x5F,0x5E,0x5C,0x5C,0x5E,0x60,0x61,0xB7,0xBC,0xC1,0xC4,0xC4,0xC4,0xC6,0xC9,0xBC,0xC0,0xC5,0xC7,0xC6,0xC6,0xC9,0xCB,0xC3,0xC6,0xCA,0xCB,0xCA,0xCA,0xCC,0xCF,0xCA,0xCD,0xD0,0xD0,0xCE,0xCD,0xCF,0xD2,0xD0,0xD2,0xD3,0xD2,0xCF,0xCE,0xD1,0xD3,0xD3,0xD5,0xD5,0xD2,0xCF,0xCD,0xD0,0xD2,0xD4,0xD5,0xD5,0xD1,0xCD,0xCB,0xCD,0xD0,0xD4,0xD5,0xD4,0xD0,0xCC,0xCA,0xCC,0xCF},
+{0x67,0x63,0x61,0x64,0x6A,0x69,0x61,0x59,0x68,0x65,0x63,0x64,0x67,0x66,0x62,0x5D,0x68,0x67,0x65,0x64,0x63,0x62,0x62,0x61,0x64,0x66,0x66,0x65,0x62,0x60,0x61,0x63,0x5E,0x62,0x65,0x65,0x62,0x60,0x61,0x62,0x5B,0x5F,0x63,0x65,0x64,0x62,0x60,0x60,0x5E,0x5F,0x61,0x64,0x65,0x64,0x61,0x5E,0x62,0x60,0x60,0x63,0x66,0x65,0x61,0x5D,0x69,0x67,0x66,0x6A,0x65,0x60,0x62,0x5B,0x64,0x64,0x62,0x65,0x65,0x64,0x65,0x63,0x63,0x66,0x64,0x62,0x65,0x65,0x64,0x67,0x65,0x6D,0x70,0x67,0x65,0x62,0x5E,0x66,0x63,0x6D,0x7C,0x70,0x65,0x62,0x5D,0x67,0x5E,0x65,0x80,0x76,0x63,0x65,0x62,0x69,0x5E,0x5D,0x7F,0x77,0x5F,0x67,0x65,0x64,0x64,0x5B,0x7E,0x76,0x5A,0x65,0x63,0x5B,0x5F,0x5E,0x60,0x63,0x64,0x63,0x61,0x60,0x5F,0x5D,0x5D,0x60,0x62,0x63,0x61,0x5F,0x60,0x5D,0x5A,0x5B,0x60,0x63,0x62,0x60,0x62,0x5D,0x57,0x57,0x5D,0x63,0x64,0x61,0x63,0x5E,0x57,0x55,0x5B,0x63,0x65,0x62,0x63,0x5F,0x58,0x53,0x58,0x61,0x65,0x62,0x61,0x60,0x59,0x52,0x55,0x5F,0x63,0x61,0x60,0x60,0x59,0x52,0x53,0x5D,0x62,0x61,0x5C,0x79,0x74,0x67,0x67,0x60,0x5C,0x5F,0x5D,0x7F,0x6A,0x64,0x6C,0x60,0x65,0x62,0x66,0x8A,0x66,0x60,0x6A,0x59,0x61,0x5E,0x6D,0x8E,0x71,0x63,0x69,0x57,0x58,0x5D,0x66,0x82,0x81,0x6F,0x6F,0x63,0x52,0x61,0x5D,0x70,0x83,0x76,0x72,0x6B,0x51,0x5B,0x5D,0x65,0x71,0x70,0x71,0x70,0x62,0x5F,0x61,0x60,0x5C,0x67,0x71,0x78,0x7F,0x71,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x5F,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0xD1,0xCD,0xC9,0xCB,0xD0,0xD0,0xCB,0xC5,0xD2,0xCC,0xC7,0xC9,0xCE,0xCF,0xCB,0xC6,0xD2,0xCB,0xC5,0xC5,0xCB,0xCE,0xCC,0xC8,0xD0,0xC9,0xC2,0xC3,0xC8,0xCC,0xCB,0xC8,0xCB,0xC6,0xC1,0xC2,0xC8,0xCC,0xCA,0xC6,0xC5,0xC2,0xC0,0xC4,0xCA,0xCC,0xC8,0xC2,0xBF,0xBE,0xC0,0xC6,0xCD,0xCD,0xC6,0xBE,0xBB,0xBC,0xC0,0xC8,0xCF,0xCE,0xC4,0xBB,10
\ No newline at end of file
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/upycc_connect.c b/grlib-gpl-1.0.22-b4095/software/leon3/upycc_connect.c
new file mode 100644 (file)
index 0000000..1377a03
--- /dev/null
@@ -0,0 +1,70 @@
+#include "testmod.h"
+#include <stdio.h>
+
+// You must set the following AHB address according to your system
+// This sample address is for leon3-gr-xc3s-1500-mjpeg
+#define HSADDR 0xa0000000
+#define HPADDR 0x80000c00
+#define IOADDR 0x80000800
+
+static unsigned int indata[9][1024] =
+  {{0x31,0x31,0x30,0x30,0x2F,0x2E,0x2D,0x2D,0x33,0x33,0x32,0x32,0x31,0x30,0x2F,0x2F,0x36,0x36,0x35,0x35,0x34,0x33,0x32,0x32,0x39,0x39,0x38,0x37,0x36,0x36,0x35,0x35,0x3B,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x3A,0x3A,0x41,0x41,0x40,0x3F,0x3F,0x3E,0x3D,0x3D,0x43,0x43,0x42,0x41,0x41,0x40,0x3F,0x3F,0x2E,0x2E,0x2E,0x2E,0x2D,0x2C,0x2B,0x2B,0x30,0x30,0x30,0x2F,0x2F,0x2E,0x2D,0x2D,0x32,0x32,0x32,0x32,0x32,0x31,0x30,0x2F,0x35,0x35,0x35,0x35,0x34,0x33,0x32,0x32,0x37,0x37,0x37,0x37,0x36,0x35,0x35,0x34,0x3A,0x3A,0x3A,0x39,0x39,0x38,0x37,0x37,0x3C,0x3C,0x3C,0x3C,0x3C,0x3B,0x3A,0x39,0x3E,0x3E,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x46,0x46,0x44,0x45,0x45,0x45,0x46,0x46,0x47,0x47,0x45,0x45,0x46,0x46,0x47,0x47,0x48,0x48,0x46,0x46,0x47,0x48,0x48,0x49,0x4A,0x4A,0x47,0x48,0x48,0x49,0x4A,0x4A,0x4B,0x4B,0x43,0x42,0x41,0x40,0x40,0x3F,0x3D,0x3B,0x45,0x44,0x43,0x41,0x40,0x3E,0x3D,0x3B,0x44,0x44,0x43,0x41,0x3F,0x3D,0x3D,0x3D,0x44,0x44,0x44,0x43,0x41,0x40,0x41,0x42,0x47,0x47,0x47,0x46,0x44,0x44,0x44,0x45,0x47,0x46,0x45,0x45,0x46,0x45,0x43,0x41,0x47,0x45,0x45,0x48,0x4C,0x4C,0x49,0x45,0x4A,0x48,0x49,0x4F,0x56,0x59,0x56,0x51,0x7D,0x7D,0x7F,0x80,0x81,0x82,0x82,0x82,0x7D,0x7D,0x7E,0x7F,0x80,0x80,0x80,0x80,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7E,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x7A,0x7B,0x7C,0x7B,0x79,0x78,0x78,0x79,0x7B,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x7A,0x7D,0x7F,0x7B,0x7A,0x78,0x77,0x78,0x7B,0x7E,0x80,0x85,0x85,0x84,0x83,0x81,0x80,0x7F,0x7F,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x82,0x83,0x83,0x84,0x84,0x85,0x85,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x2E,0x2E,0x2E,0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x31,0x32,0x32,0x32,0x33,0x31,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x34,0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,0x36,0x36,0x36,0x35,0x35,0x35,0x35,0x35,0x38,0x38,0x37,0x37,0x36,0x36,0x35,0x35,0x3D,0x3D,0x3C,0x3D,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3C,0x3D,0x3D,0x3D,0x3C,0x3C,0x3C,0x3D,0x3E,0x3F,0x3F,0x3E,0x3D,0x3C,0x3C,0x3D,0x42,0x42,0x41,0x40,0x3F,0x3D,0x3D,0x3D,0x46,0x44,0x42,0x41,0x41,0x40,0x3E,0x3C,0x49,0x45,0x42,0x41,0x42,0x42,0x3E,0x3B,0x4A,0x45,0x41,0x41,0x43,0x43,0x3E,0x3A,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x35,0x39,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x3A,0x3A,0x39,0x39,0x38,0x37,0x36,0x36,0x3B,0x3B,0x3A,0x3A,0x39,0x38,0x37,0x37,0x3C,0x3B,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3C,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x82,0x82,0x81,0x80,0x80,0x7F,0x7E,0x7E,0x80,0x80,0x80,0x7F,0x7F,0x7E,0x7E,0x7D,0x7E,0x7E,0x7E,0x7D,0x7D,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7C,0x7C,0x7C,0x7C,0x7C,0x79,0x79,0x7A,0x7A,0x7B,0x7B,0x7C,0x7C,0x78,0x78,0x79,0x7A,0x7B,0x7C,0x7C,0x7D,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x77,0x78,0x79,0x7A,0x7C,0x7D,0x7E,0x7F,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x80,0x84,0x84,0x83,0x83,0x82,0x81,0x81,0x81,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x85,0x85,0x84,0x84,0x83,0x82,0x82,0x82,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x82,0x86,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x84,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x30,0x30,0x30,0x30,0x30,0x2F,0x2F,0x2F,0x33,0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x33,0x34,0x34,0x34,0x35,0x36,0x36,0x36,0x33,0x34,0x35,0x36,0x37,0x39,0x3A,0x3A,0x33,0x34,0x35,0x37,0x39,0x3A,0x3B,0x3C,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x30,0x31,0x31,0x33,0x34,0x35,0x36,0x36,0x32,0x33,0x33,0x35,0x36,0x37,0x38,0x38,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x3F,0x3F,0x3B,0x3B,0x3C,0x3D,0x3E,0x40,0x40,0x41,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x3E,0x3E,0x3F,0x40,0x41,0x43,0x43,0x44,0x34,0x34,0x35,0x36,0x37,0x39,0x3B,0x3C,0x36,0x36,0x37,0x37,0x39,0x3B,0x3D,0x3E,0x37,0x37,0x37,0x38,0x3A,0x3C,0x3D,0x3F,0x37,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3E,0x38,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3D,0x39,0x39,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3D,0x3E,0x38,0x37,0x37,0x37,0x38,0x3A,0x3B,0x3C,0x3C,0x3D,0x3F,0x40,0x42,0x43,0x43,0x43,0x3D,0x3E,0x40,0x41,0x42,0x43,0x43,0x42,0x3F,0x3F,0x41,0x42,0x43,0x43,0x42,0x42,0x40,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x40,0x40,0x42,0x43,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x42,0x43,0x43,0x42,0x42},
+{0x81,0x80,0x7F,0x7E,0x7D,0x7B,0x7A,0x7A,0x80,0x7F,0x7E,0x7D,0x7C,0x7A,0x79,0x79,0x7E,0x7E,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7D,0x7C,0x7B,0x7A,0x79,0x77,0x76,0x76,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x87,0x87,0x82,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x88,0x83,0x83,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x37,0x38,0x39,0x39,0x38,0x37,0x35,0x34,0x39,0x3A,0x3A,0x3A,0x3A,0x38,0x37,0x36,0x3C,0x3C,0x3D,0x3D,0x3C,0x3A,0x39,0x38,0x3E,0x3F,0x3E,0x3E,0x3D,0x3C,0x3A,0x3A,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x43,0x43,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x45,0x44,0x42,0x41,0x3F,0x3E,0x3E,0x3D,0x34,0x34,0x33,0x32,0x32,0x33,0x34,0x34,0x35,0x35,0x34,0x33,0x33,0x34,0x35,0x35,0x37,0x36,0x35,0x35,0x35,0x35,0x36,0x37,0x38,0x38,0x37,0x36,0x36,0x37,0x38,0x38,0x3A,0x39,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3A,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x43,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3C,0x3C,0x3B,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x39,0x3A,0x39,0x3A,0x3D,0x3C,0x39,0x3A,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3F,0x3F,0x3E,0x3C,0x3A,0x3B,0x3E,0x3F,0x3F,0x3B,0x3C,0x3B,0x39,0x3B,0x40,0x42,0x3F,0x3A,0x3C,0x3C,0x3B,0x3D,0x40,0x41,0x3F,0x3B,0x3A,0x3A,0x3B,0x3B,0x3A,0x3C,0x3F,0x3D,0x38,0x38,0x3C,0x3B,0x37,0x3E,0x49,0x41,0x3A,0x3A,0x41,0x40,0x3C,0x47,0x59,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7C,0x7D,0x7A,0x7A,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x78,0x79,0x79,0x7A,0x7B,0x7C,0x7D,0x7D,0x76,0x77,0x79,0x7A,0x7B,0x7C,0x7C,0x7C,0x76,0x77,0x79,0x7A,0x7B,0x7B,0x7B,0x7A,0x76,0x77,0x79,0x7B,0x7B,0x7A,0x79,0x77,0x77,0x78,0x7A,0x7B,0x7B,0x79,0x76,0x74,0x77,0x79,0x7B,0x7B,0x7A,0x78,0x75,0x73,0x84,0x84,0x85,0x86,0x86,0x86,0x86,0x86,0x85,0x85,0x86,0x86,0x86,0x86,0x85,0x85,0x87,0x87,0x87,0x86,0x85,0x85,0x84,0x84,0x8A,0x89,0x87,0x86,0x85,0x84,0x84,0x84,0x8B,0x89,0x87,0x85,0x84,0x84,0x85,0x85,0x8B,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8A,0x88,0x86,0x84,0x84,0x86,0x88,0x8A,0x89,0x88,0x85,0x84,0x84,0x86,0x89,0x8B,0x38,0x35,0x38,0x39,0x35,0x35,0x35,0x31,0x36,0x34,0x36,0x37,0x35,0x36,0x38,0x35,0x3A,0x39,0x38,0x37,0x36,0x36,0x36,0x36,0x3A,0x3C,0x3B,0x3A,0x3C,0x3A,0x38,0x3A,0x35,0x3B,0x3A,0x3B,0x41,0x40,0x3C,0x40,0x37,0x3F,0x3C,0x3B,0x43,0x40,0x3A,0x40,0x3B,0x44,0x3D,0x3A,0x44,0x42,0x3D,0x47,0x37,0x40,0x3A,0x38,0x48,0x4A,0x49,0x57,0x33,0x32,0x33,0x35,0x38,0x3D,0x42,0x45,0x35,0x34,0x34,0x34,0x36,0x39,0x3C,0x3E,0x39,0x39,0x38,0x38,0x39,0x3A,0x3B,0x3C,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3B,0x3C,0x3C,0x3C,0x3D,0x3D,0x3E,0x3F,0x40,0x3D,0x3C,0x3C,0x3C,0x3C,0x3E,0x3F,0x40,0x3F,0x3F,0x3E,0x3F,0x41,0x43,0x46,0x48,0x58,0x58,0x58,0x5A,0x5D,0x62,0x67,0x6A,0x49,0x3E,0x40,0x55,0x6C,0x7A,0x7E,0x7D,0x3B,0x37,0x54,0x79,0x81,0x84,0x7F,0x6C,0x41,0x42,0x6A,0x87,0x7A,0x74,0x70,0x54,0x4C,0x5C,0x7A,0x80,0x6B,0x67,0x66,0x54,0x44,0x68,0x78,0x6B,0x60,0x5F,0x5C,0x59,0x58,0x75,0x70,0x58,0x54,0x54,0x51,0x57,0x79,0x77,0x66,0x57,0x55,0x55,0x55,0x5B,0x6F,0x55,0x4C,0x54,0x56,0x56,0x59,0x57,0x58,0x5E,0x63,0x65,0x6D,0x75,0x75,0x6F,0x51,0x53,0x55,0x57,0x61,0x6C,0x6E,0x68,0x56,0x55,0x53,0x55,0x60,0x6B,0x6E,0x69,0x54,0x53,0x51,0x51,0x57,0x5F,0x61,0x5F,0x54,0x56,0x57,0x56,0x55,0x55,0x56,0x56,0x5A,0x5E,0x61,0x60,0x5C,0x58,0x57,0x57,0x56,0x59,0x5D,0x5F,0x5C,0x58,0x56,0x56,0x56,0x58,0x5B,0x5F,0x60,0x5D,0x5B,0x5A,0x7A,0x7B,0x7C,0x7D,0x7D,0x7B,0x79,0x78,0x7B,0x7B,0x7C,0x7C,0x7B,0x79,0x77,0x76,0x7B,0x7B,0x7B,0x7A,0x78,0x76,0x74,0x73,0x7A,0x79,0x78,0x76,0x74,0x71,0x6F,0x6E,0x77,0x75,0x73,0x71,0x6E,0x6C,0x6B,0x6A,0x72,0x71,0x6E,0x6B,0x69,0x67,0x67,0x66,0x6D,0x6C,0x69,0x66,0x64,0x64,0x64,0x64,0x6A,0x69,0x66,0x64,0x62,0x62,0x62,0x62,0x84,0x90,0x98,0x91,0x83,0x82,0x92,0xA3,0x91,0x95,0x97,0x92,0x8A,0x87,0x8D,0x94,0x85,0x87,0x88,0x8A,0x8A,0x8A,0x89,0x88,0x7B,0x84,0x8F,0x96,0x98,0x9A,0x9C,0x9F,0x91,0xA3,0xB6,0xBA,0xB3,0xB0,0xB8,0xC2,0xA8,0xBB,0xCB,0xC9,0xB9,0xB0,0xB7,0xC3,0xAE,0xB8,0xC2,0xBF,0xB4,0xAD,0xB0,0xB6,0xB1,0xB4,0xB8,0xBA,0xBB,0xBA,0xBB,0xBB,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x46,0x47,0x47,0x49,0x4A,0x4A,0x4B,0x4B,0x45,0x46,0x48,0x4A,0x4C,0x4C,0x4C,0x4B,0x44,0x46,0x49,0x4C,0x4D,0x4D,0x4C,0x4C,0x43,0x45,0x49,0x4C,0x4E,0x4E,0x4D,0x4C,0x43,0x45,0x48,0x4C,0x4E,0x4E,0x4E,0x4D,0x42,0x44,0x47,0x4B,0x4D,0x4E,0x4E,0x4E,0x42,0x44,0x47,0x4A,0x4C,0x4E,0x4E,0x4E,0x47,0x4C,0x54,0x5E,0x6B,0x74,0x71,0x6A,0x4A,0x52,0x5E,0x6C,0x7B,0x85,0x85,0x80,0x4B,0x56,0x67,0x79,0x8A,0x95,0x97,0x95,0x4B,0x58,0x6D,0x82,0x92,0x9D,0xA2,0xA2,0x4E,0x5B,0x71,0x88,0x9A,0xA5,0xAC,0xAF,0x4E,0x59,0x6F,0x88,0x9C,0xA9,0xB1,0xB7,0x4C,0x55,0x68,0x82,0x97,0xA6,0xB0,0xB6,0x4E,0x54,0x66,0x7E,0x94,0xA2,0xAD,0xB4},
+{0x3F,0x41,0x45,0x47,0x49,0x4A,0x4C,0x4D,0x3F,0x41,0x44,0x47,0x48,0x49,0x4B,0x4C,0x3F,0x41,0x44,0x46,0x47,0x48,0x49,0x4A,0x3F,0x41,0x44,0x46,0x46,0x47,0x48,0x49,0x40,0x42,0x45,0x46,0x47,0x47,0x48,0x49,0x41,0x43,0x45,0x47,0x48,0x48,0x49,0x4A,0x42,0x44,0x46,0x48,0x49,0x4A,0x4B,0x4C,0x42,0x44,0x47,0x49,0x4A,0x4B,0x4C,0x4D,0x4D,0x52,0x63,0x7B,0x8F,0x9D,0xA9,0xB2,0x50,0x52,0x5F,0x76,0x8B,0x9A,0xA6,0xAF,0x52,0x51,0x5A,0x6F,0x86,0x96,0xA2,0xAA,0x51,0x4E,0x56,0x6B,0x84,0x95,0xA1,0xA8,0x4D,0x4B,0x54,0x6B,0x85,0x97,0xA1,0xA7,0x4C,0x4A,0x55,0x6D,0x86,0x97,0xA0,0xA6,0x4F,0x4E,0x57,0x6D,0x84,0x94,0x9E,0xA4,0x52,0x51,0x59,0x6D,0x81,0x90,0x9B,0xA3,0x77,0x74,0x73,0x74,0x7A,0x83,0x8E,0x94,0x79,0x77,0x76,0x78,0x7F,0x89,0x94,0x9B,0x7B,0x7A,0x79,0x7B,0x84,0x90,0x9D,0xA4,0x7B,0x79,0x78,0x7C,0x85,0x93,0xA0,0xA9,0x78,0x76,0x75,0x78,0x82,0x90,0x9F,0xA8,0x78,0x75,0x73,0x75,0x7E,0x8C,0x9B,0xA4,0x7A,0x77,0x74,0x75,0x7C,0x8A,0x98,0xA2,0x7D,0x79,0x75,0x75,0x7C,0x89,0x97,0xA1,0x82,0x83,0x84,0x85,0x83,0x80,0x7D,0x7B,0x83,0x84,0x85,0x85,0x83,0x80,0x7C,0x79,0x85,0x86,0x87,0x86,0x83,0x7F,0x7A,0x77,0x85,0x87,0x88,0x87,0x84,0x7E,0x78,0x75,0x85,0x87,0x88,0x88,0x84,0x7E,0x78,0x73,0x84,0x86,0x88,0x89,0x85,0x7F,0x78,0x73,0x83,0x85,0x88,0x89,0x86,0x80,0x78,0x74,0x81,0x84,0x88,0x89,0x86,0x80,0x79,0x74,0x5F,0x56,0x4B,0x42,0x3F,0x3F,0x3E,0x3D,0x79,0x70,0x63,0x58,0x51,0x4B,0x44,0x3E,0x94,0x8B,0x7F,0x75,0x6C,0x62,0x55,0x4C,0xA2,0x9B,0x92,0x8C,0x87,0x7E,0x72,0x68,0xAC,0xA7,0xA0,0x9D,0x9C,0x97,0x8F,0x88,0xB7,0xB3,0xAF,0xAD,0xAB,0xA9,0xA4,0x9F,0xBC,0xBB,0xB9,0xB8,0xB7,0xB5,0xB2,0xB0,0xBA,0xBB,0xBC,0xBD,0xBD,0xBC,0xBB,0xBB,0x3E,0x3B,0x38,0x38,0x39,0x3A,0x3A,0x39,0x40,0x3D,0x39,0x38,0x38,0x39,0x38,0x37,0x49,0x43,0x3D,0x38,0x37,0x36,0x35,0x33,0x5F,0x57,0x4C,0x42,0x3D,0x3A,0x38,0x37,0x80,0x75,0x65,0x57,0x4D,0x48,0x44,0x42,0x99,0x8E,0x7D,0x6D,0x61,0x58,0x52,0x4E,0xA7,0x9E,0x91,0x82,0x76,0x6A,0x60,0x5A,0xB0,0xAA,0x9F,0x93,0x87,0x7A,0x6E,0x66,0xBA,0xBB,0xBC,0xBE,0xC0,0xC0,0xC1,0xC1,0xB8,0xB9,0xBB,0xBD,0xBE,0xBE,0xBE,0xBE,0xB5,0xB6,0xB8,0xBB,0xBC,0xBB,0xBB,0xBA,0xB2,0xB3,0xB6,0xB8,0xB9,0xB9,0xB8,0xB7,0xAF,0xB1,0xB3,0xB5,0xB6,0xB6,0xB6,0xB5,0xAC,0xAD,0xAF,0xB1,0xB3,0xB4,0xB4,0xB4,0xAA,0xAA,0xAB,0xAD,0xAF,0xB1,0xB2,0xB3,0xA8,0xA8,0xA9,0xAA,0xAC,0xAF,0xB1,0xB3,0xBA,0xB4,0xAB,0xA2,0x97,0x8A,0x7E,0x75,0xB9,0xB4,0xAD,0xA6,0x9E,0x94,0x8A,0x83,0xB7,0xB4,0xAF,0xAA,0xA5,0x9F,0x97,0x92,0xB5,0xB2,0xAE,0xAB,0xA9,0xA5,0xA0,0x9C,0xB4,0xB1,0xAE,0xAD,0xAD,0xAC,0xA9,0xA7,0xB3,0xB1,0xAF,0xAF,0xB2,0xB3,0xB2,0xB0,0xB2,0xB0,0xAE,0xAE,0xB1,0xB2,0xB2,0xB1,0xB2,0xAF,0xAC,0xAB,0xAC,0xAD,0xAD,0xAB,0x8D,0x8C,0x89,0x85,0x81,0x7D,0x7A,0x78,0x99,0x97,0x93,0x8F,0x89,0x84,0x80,0x7E,0xA6,0xA4,0xA0,0x9B,0x95,0x90,0x8C,0x8A,0xAA,0xA9,0xA6,0xA3,0x9F,0x9C,0x99,0x98,0xA6,0xA6,0xA6,0xA5,0xA5,0xA4,0xA4,0xA4,0xA4,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA8,0xA8,0xA7,0xA6,0xA6,0xA5,0xA5,0xAF,0xAE,0xAC,0xA9,0xA6,0xA4,0xA2,0xA1,0x7E,0x80,0x82,0x83,0x84,0x83,0x82,0x81,0x7C,0x7D,0x7F,0x81,0x82,0x82,0x81,0x80,0x78,0x79,0x7B,0x7D,0x7E,0x7F,0x7F,0x7F,0x75,0x76,0x78,0x79,0x7B,0x7C,0x7D,0x7D,0x75,0x75,0x76,0x77,0x78,0x7A,0x7B,0x7B,0x77,0x77,0x76,0x76,0x77,0x78,0x79,0x7A,0x7A,0x79,0x78,0x77,0x77,0x77,0x79,0x7A,0x7C,0x7B,0x79,0x77,0x77,0x77,0x78,0x79,0x34,0x35,0x36,0x38,0x3A,0x3B,0x3B,0x3B,0x37,0x38,0x3A,0x3B,0x3D,0x3D,0x3C,0x3B,0x35,0x36,0x38,0x3A,0x3B,0x3C,0x3B,0x3B,0x35,0x35,0x36,0x37,0x38,0x3A,0x3C,0x3E,0x3F,0x3E,0x3C,0x3A,0x38,0x3A,0x3D,0x41,0x4D,0x4B,0x47,0x40,0x3B,0x39,0x3B,0x3E,0x59,0x58,0x53,0x4B,0x42,0x3D,0x3C,0x3D,0x62,0x61,0x5E,0x56,0x4D,0x45,0x43,0x42,0x3C,0x3F,0x42,0x44,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x41,0x40,0x3F,0x40,0x41,0x41,0x41,0x40,0x3F,0x3F,0x3F,0x41,0x42,0x43,0x42,0x41,0x3E,0x3F,0x40,0x42,0x43,0x42,0x41,0x40,0x3F,0x40,0x42,0x42,0x41,0x40,0x40,0x40,0x3F,0x41,0x43,0x42,0x40,0x41,0x45,0x49,0x3E,0x41,0x43,0x42,0x41,0x44,0x4D,0x55,0x6D,0x69,0x64,0x5F,0x58,0x4E,0x46,0x41,0x77,0x70,0x68,0x61,0x5B,0x53,0x49,0x43,0x88,0x80,0x74,0x6B,0x66,0x5E,0x54,0x4C,0x99,0x92,0x88,0x7E,0x79,0x73,0x6B,0x64,0xA2,0xA0,0x9A,0x93,0x8F,0x8D,0x87,0x80,0xA5,0xA6,0xA3,0xA0,0xA0,0x9F,0x98,0x8E,0xAA,0xA9,0xA5,0xA3,0xA6,0xA4,0x95,0x84,0xB0,0xAB,0xA4,0xA2,0xA5,0xA1,0x8B,0x73,0x36,0x3F,0x45,0x44,0x42,0x4A,0x5F,0x71,0x3A,0x3F,0x45,0x4B,0x51,0x5D,0x6D,0x79,0x4D,0x4C,0x50,0x59,0x66,0x72,0x79,0x7B,0x6B,0x66,0x63,0x69,0x73,0x7A,0x79,0x76,0x7D,0x77,0x72,0x72,0x75,0x77,0x74,0x71,0x7B,0x78,0x74,0x72,0x72,0x72,0x71,0x70,0x71,0x71,0x71,0x71,0x70,0x70,0x70,0x70,0x6D,0x6E,0x6F,0x70,0x71,0x70,0x6F,0x6E,0x77,0x78,0x79,0x7A,0x7A,0x78,0x75,0x74,0x81,0x7E,0x79,0x75,0x74,0x76,0x79,0x7B,0x8E,0x87,0x7D,0x75,0x72,0x76,0x7D,0x82,0x96,0x90,0x87,0x7F,0x7B,0x7B,0x7E,0x81,0x9A,0x98,0x93,0x8D,0x87,0x80,0x7B,0x78,0x9E,0x9C,0x98,0x92,0x88,0x7D,0x74,0x6E,0xA4,0x9F,0x95,0x88,0x7C,0x73,0x6C,0x69,0xAA,0xA0,0x8F,0x7D,0x70,0x69,0x67,0x67,0x7F,0x81,0x84,0x87,0x88,0x88,0x87,0x86,0x86,0x84,0x82,0x81,0x81,0x83,0x86,0x87,0x84,0x83,0x82,0x81,0x81,0x81,0x81,0x82,0x7C,0x7E,0x81,0x84,0x85,0x83,0x81,0x80,0x7D,0x7C,0x7C,0x7D,0x82,0x8A,0x91,0x96,0x84,0x7F,0x79,0x7A,0x85,0x99,0xAF,0xBD,0x7B,0x7D,0x82,0x8D,0x9F,0xB5,0xC8,0xD4,0x69,0x77,0x8F,0xA9,0xBF,0xCD,0xD4,0xD7},
+{0x37,0x3B,0x3C,0x3A,0x3A,0x3A,0x38,0x33,0x3F,0x3F,0x3F,0x3D,0x3C,0x3D,0x3C,0x3B,0x44,0x40,0x3C,0x3B,0x39,0x37,0x38,0x3A,0x43,0x3E,0x3B,0x3B,0x38,0x34,0x34,0x37,0x40,0x40,0x43,0x47,0x48,0x46,0x45,0x45,0x43,0x4B,0x54,0x5C,0x61,0x64,0x62,0x5E,0x55,0x62,0x6E,0x73,0x78,0x7D,0x78,0x6F,0x6A,0x7A,0x84,0x84,0x86,0x8A,0x83,0x75,0x3A,0x39,0x3A,0x3A,0x3A,0x3F,0x51,0x63,0x3B,0x3C,0x3C,0x3A,0x3F,0x4A,0x58,0x60,0x38,0x3A,0x39,0x3A,0x46,0x57,0x5D,0x5A,0x38,0x35,0x36,0x40,0x51,0x5D,0x5C,0x55,0x45,0x3C,0x3E,0x4F,0x5E,0x5E,0x57,0x52,0x5C,0x52,0x53,0x61,0x67,0x5D,0x54,0x54,0x6D,0x68,0x67,0x6A,0x67,0x5C,0x57,0x58,0x72,0x73,0x71,0x6B,0x62,0x5B,0x5A,0x5C,0x83,0x8E,0x94,0x94,0x8D,0x88,0x85,0x74,0x86,0x8C,0x8E,0x8A,0x82,0x7C,0x76,0x67,0x80,0x82,0x81,0x7A,0x74,0x6F,0x66,0x5D,0x74,0x74,0x75,0x70,0x6F,0x6D,0x62,0x61,0x70,0x70,0x73,0x6E,0x71,0x70,0x62,0x69,0x70,0x6E,0x73,0x6B,0x6F,0x6D,0x5C,0x6C,0x6F,0x6C,0x71,0x67,0x6B,0x69,0x59,0x72,0x6F,0x6C,0x71,0x66,0x6C,0x6C,0x5E,0x7D,0x6E,0x73,0x71,0x66,0x5E,0x5E,0x5F,0x5D,0x64,0x71,0x74,0x68,0x62,0x65,0x63,0x5B,0x66,0x74,0x77,0x6A,0x65,0x6D,0x6A,0x5D,0x75,0x78,0x72,0x67,0x66,0x6D,0x6A,0x60,0x7F,0x74,0x69,0x66,0x69,0x6A,0x67,0x62,0x7F,0x72,0x6A,0x6E,0x72,0x6E,0x68,0x66,0x79,0x73,0x70,0x72,0x72,0x6E,0x6A,0x69,0x72,0x75,0x73,0x6D,0x69,0x69,0x68,0x67,0x76,0x78,0x79,0x7A,0x79,0x76,0x73,0x71,0x7F,0x80,0x80,0x7F,0x7C,0x78,0x73,0x71,0x8A,0x89,0x87,0x83,0x7D,0x77,0x71,0x6E,0x8D,0x8B,0x87,0x81,0x7A,0x72,0x6C,0x68,0x85,0x82,0x7E,0x78,0x72,0x6B,0x65,0x62,0x76,0x74,0x71,0x6E,0x69,0x65,0x62,0x60,0x68,0x67,0x66,0x65,0x64,0x64,0x63,0x63,0x60,0x60,0x60,0x61,0x62,0x64,0x66,0x66,0x85,0x83,0x7F,0x7E,0x83,0x91,0xA3,0xB0,0x92,0x8B,0x83,0x7E,0x82,0x92,0xA6,0xB4,0x80,0x7F,0x7D,0x7F,0x87,0x95,0xA3,0xAC,0x75,0x7C,0x89,0x99,0xA6,0xAD,0xAE,0xAD,0x9C,0xA2,0xAD,0xBC,0xC7,0xCA,0xC5,0xBE,0xCC,0xC6,0xC1,0xC2,0xC8,0xCC,0xC9,0xC4,0xD5,0xCB,0xC1,0xBF,0xC6,0xCA,0xC8,0xC4,0xCD,0xC7,0xC5,0xCC,0xD7,0xDC,0xD7,0xD0,0x57,0x52,0x51,0x57,0x5A,0x56,0x54,0x56,0x5A,0x57,0x57,0x5B,0x5A,0x55,0x54,0x58,0x5C,0x5C,0x5E,0x60,0x5D,0x58,0x59,0x5D,0x5B,0x5A,0x5D,0x5F,0x5F,0x5C,0x5C,0x60,0x5B,0x59,0x5A,0x5D,0x5F,0x5E,0x5D,0x5C,0x60,0x5E,0x5D,0x5F,0x61,0x61,0x5F,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x60,0x5F,0x5D,0x54,0x58,0x5B,0x5A,0x59,0x5A,0x5B,0x5C,0x56,0x59,0x5E,0x61,0x61,0x61,0x60,0x60,0x58,0x5B,0x5F,0x62,0x63,0x64,0x64,0x65,0x57,0x5A,0x5D,0x60,0x62,0x63,0x65,0x67,0x58,0x5A,0x5D,0x5F,0x60,0x63,0x65,0x67,0x5C,0x5D,0x5F,0x61,0x62,0x64,0x67,0x69,0x5C,0x5E,0x60,0x62,0x63,0x65,0x67,0x69,0x5A,0x5D,0x60,0x62,0x64,0x66,0x68,0x6A,0x5C,0x5F,0x63,0x66,0x68,0x6A,0x6C,0x6E,0x61,0x5C,0x5B,0x5E,0x60,0x60,0x61,0x64,0x58,0x56,0x56,0x59,0x5B,0x5E,0x61,0x63,0x5E,0x61,0x62,0x62,0x65,0x6A,0x6E,0x6F,0x66,0x6A,0x6B,0x69,0x6A,0x6E,0x71,0x70,0x62,0x64,0x64,0x62,0x61,0x61,0x60,0x5E,0x69,0x66,0x65,0x67,0x65,0x60,0x5B,0x59,0x71,0x6A,0x6A,0x71,0x71,0x68,0x60,0x5F,0x6C,0x62,0x62,0x6E,0x71,0x65,0x5C,0x5C,0x5E,0x62,0x67,0x6C,0x6F,0x6F,0x6D,0x6C,0x6C,0x6D,0x6D,0x6D,0x6C,0x6A,0x68,0x66,0x70,0x6F,0x6C,0x68,0x66,0x64,0x62,0x62,0x68,0x67,0x65,0x63,0x63,0x63,0x64,0x65,0x61,0x61,0x62,0x63,0x64,0x66,0x68,0x69,0x5E,0x5F,0x60,0x61,0x62,0x64,0x64,0x65,0x5D,0x5D,0x5E,0x5E,0x60,0x62,0x63,0x64,0x5E,0x5E,0x5E,0x5F,0x61,0x65,0x69,0x6B,0x66,0x66,0x66,0x65,0x64,0x64,0x63,0x63,0x66,0x65,0x65,0x64,0x63,0x63,0x62,0x62,0x64,0x64,0x64,0x63,0x62,0x62,0x61,0x61,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x63,0x63,0x62,0x62,0x61,0x60,0x60,0x60,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0x61,0x65,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0xB8,0xB6,0xB3,0xB3,0xB6,0xBC,0xC3,0xC8,0xB8,0xB7,0xB6,0xB7,0xBB,0xC0,0xC6,0xC9,0xB7,0xB8,0xBB,0xBE,0xC2,0xC6,0xCA,0xCC,0xB8,0xBB,0xBF,0xC4,0xC8,0xCC,0xCE,0xCF,0xBB,0xBE,0xC2,0xC7,0xCC,0xCF,0xD1,0xD2,0xC0,0xC1,0xC3,0xC7,0xCB,0xCF,0xD3,0xD5,0xC5,0xC4,0xC3,0xC4,0xC8,0xCD,0xD3,0xD6,0xC8,0xC6,0xC3,0xC2,0xC5,0xCC,0xD3,0xD7,0x45,0x46,0x47,0x49,0x4A,0x4B,0x4B,0x4B,0x47,0x47,0x48,0x4A,0x4B,0x4C,0x4C,0x4C,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4E,0x4A,0x4A,0x4B,0x4D,0x4D,0x4E,0x4E,0x4E,0x4B,0x4B,0x4C,0x4D,0x4E,0x4E,0x4E,0x4E,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x4F,0x4F,0x4E,0x4E,0x4F,0x50,0x50,0x50,0x50,0x50,0x4F,0x50,0x50,0x51,0x52,0x52,0x52,0x51,0x4F,0x4F,0x57,0x6A,0x7F,0x8E,0x97,0x9B,0x4E,0x4F,0x59,0x6A,0x7D,0x8B,0x94,0x98,0x4C,0x4F,0x59,0x68,0x78,0x84,0x8D,0x93,0x4D,0x4F,0x56,0x62,0x6E,0x78,0x82,0x8A,0x4F,0x4F,0x53,0x5A,0x62,0x6B,0x76,0x7F,0x51,0x4F,0x50,0x54,0x59,0x60,0x69,0x70,0x52,0x4F,0x4E,0x52,0x55,0x59,0x5E,0x63,0x52,0x4F,0x4F,0x52,0x55,0x56,0x58,0x5A,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x53,0x52,0x51,0x51,0x52,0x54,0x57,0x59,0x54,0x53,0x52,0x51,0x51,0x52,0x53,0x54,0x52,0x52,0x51,0x51,0x51,0x51,0x52,0x52,0x4F,0x50,0x51,0x52,0x53,0x53,0x53,0x53,0x51,0x51,0x52,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x54,0x53,0x53,0x52,0x56,0x55,0x55,0x54,0x54,0x53,0x53,0x53,0x54,0x53,0x53,0x53,0x53,0x54,0x55,0x55},
+{0x79,0x76,0x75,0x76,0x7D,0x88,0x94,0x9B,0x79,0x77,0x74,0x75,0x7B,0x85,0x90,0x97,0x79,0x77,0x74,0x74,0x79,0x81,0x89,0x8F,0x78,0x76,0x74,0x73,0x76,0x7C,0x82,0x86,0x78,0x76,0x74,0x73,0x74,0x78,0x7C,0x7E,0x77,0x75,0x74,0x73,0x73,0x75,0x77,0x79,0x76,0x75,0x74,0x73,0x73,0x74,0x75,0x76,0x75,0x74,0x74,0x73,0x73,0x74,0x74,0x75,0x82,0x84,0x87,0x87,0x85,0x80,0x7B,0x77,0x84,0x85,0x87,0x88,0x86,0x82,0x7D,0x79,0x86,0x87,0x89,0x89,0x87,0x84,0x80,0x7D,0x88,0x89,0x8A,0x8A,0x88,0x86,0x84,0x82,0x8B,0x8A,0x8A,0x8A,0x89,0x88,0x87,0x86,0x8C,0x8B,0x8A,0x89,0x89,0x89,0x89,0x8A,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8C,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8D,0x9F,0xA0,0xA1,0xA4,0xA7,0xAA,0xAC,0xAE,0x9B,0x9C,0x9E,0xA1,0xA4,0xA6,0xA8,0xA9,0x94,0x95,0x98,0x9B,0x9D,0x9F,0x9F,0xA0,0x8C,0x8D,0x90,0x93,0x95,0x95,0x96,0x95,0x83,0x85,0x88,0x8B,0x8D,0x8F,0x8F,0x8F,0x79,0x7C,0x7F,0x83,0x87,0x8B,0x8D,0x8E,0x6D,0x6F,0x74,0x7A,0x80,0x86,0x8B,0x8D,0x62,0x65,0x6B,0x72,0x7B,0x83,0x89,0x8D,0xAF,0xAC,0xA9,0xA8,0xA7,0xA5,0xA2,0xA1,0xAB,0xA7,0xA4,0xA2,0x9F,0x9D,0x9A,0x99,0xA3,0xA0,0x9B,0x95,0x90,0x8C,0x89,0x87,0x99,0x96,0x8F,0x86,0x7E,0x7A,0x76,0x72,0x8E,0x8C,0x84,0x7B,0x76,0x73,0x6D,0x68,0x88,0x86,0x7F,0x78,0x78,0x78,0x72,0x69,0x89,0x87,0x80,0x7B,0x7E,0x81,0x79,0x6E,0x8D,0x8A,0x83,0x7F,0x83,0x86,0x7C,0x6E,0x59,0x5E,0x65,0x6B,0x74,0x7F,0x87,0x89,0x57,0x5B,0x60,0x67,0x71,0x7D,0x84,0x85,0x55,0x57,0x5A,0x61,0x6D,0x79,0x7F,0x7F,0x54,0x54,0x55,0x5C,0x6A,0x76,0x7B,0x7A,0x55,0x54,0x54,0x5B,0x68,0x76,0x7B,0x7A,0x56,0x55,0x55,0x5C,0x6B,0x79,0x80,0x7F,0x55,0x56,0x58,0x5F,0x6E,0x7E,0x87,0x88,0x54,0x56,0x59,0x62,0x71,0x82,0x8D,0x8F,0x90,0x8F,0x87,0x80,0x87,0x8F,0x87,0x75,0x8E,0x94,0x94,0x91,0x93,0x94,0x87,0x73,0x89,0x96,0x9F,0x9E,0x9A,0x94,0x84,0x72,0x83,0x94,0xA0,0x9F,0x98,0x8F,0x81,0x74,0x80,0x90,0x9D,0x9D,0x97,0x8F,0x83,0x78,0x84,0x90,0x9B,0x9D,0x9B,0x96,0x8B,0x80,0x91,0x94,0x97,0x98,0x9B,0x9B,0x95,0x8C,0x9C,0x98,0x91,0x8F,0x95,0x9C,0x9B,0x96,0xA4,0xA7,0xA9,0xA9,0xA6,0xA4,0xA5,0xA7,0x9A,0x9D,0xA0,0xA0,0x9D,0x9B,0x9B,0x9C,0x94,0x98,0x9D,0x9E,0x9B,0x97,0x95,0x95,0x94,0x9A,0xA1,0xA3,0x9F,0x99,0x94,0x93,0x8D,0x94,0x9C,0x9F,0x9A,0x91,0x8A,0x86,0x7F,0x87,0x91,0x93,0x8D,0x81,0x76,0x70,0x7B,0x83,0x8D,0x90,0x88,0x7A,0x6D,0x65,0x80,0x89,0x93,0x96,0x8D,0x7D,0x6E,0x66,0x78,0x77,0x75,0x74,0x76,0x79,0x7C,0x7E,0x7B,0x79,0x77,0x76,0x77,0x78,0x7B,0x7C,0x7E,0x7D,0x7B,0x7A,0x7B,0x7D,0x80,0x82,0x80,0x7F,0x7E,0x7F,0x83,0x8A,0x90,0x94,0x82,0x80,0x7F,0x82,0x8B,0x99,0xA6,0xAF,0x86,0x82,0x7F,0x81,0x8E,0xA2,0xB7,0xC5,0x8E,0x86,0x7E,0x7D,0x8A,0xA2,0xBD,0xCE,0x93,0x89,0x7D,0x7A,0x85,0x9F,0xBC,0xCF,0xA1,0xA1,0xA0,0x9E,0x99,0x8D,0x7C,0x6E,0x8C,0x8D,0x8D,0x8C,0x88,0x80,0x74,0x6B,0x7B,0x7C,0x7D,0x7D,0x7B,0x76,0x71,0x6D,0x73,0x74,0x77,0x79,0x77,0x73,0x71,0x72,0x6A,0x6C,0x71,0x75,0x75,0x71,0x71,0x74,0x61,0x62,0x69,0x71,0x74,0x72,0x73,0x78,0x5C,0x5C,0x61,0x6B,0x70,0x70,0x73,0x79,0x5A,0x58,0x5B,0x65,0x6B,0x6B,0x6F,0x76,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x62,0x5C,0x5B,0x64,0x6C,0x6D,0x6E,0x70,0x72,0x6F,0x6D,0x6E,0x6F,0x6F,0x6F,0x71,0x7A,0x7C,0x7B,0x74,0x6E,0x6D,0x6E,0x6F,0x73,0x7B,0x7D,0x75,0x6C,0x6C,0x6E,0x6E,0x6D,0x77,0x7B,0x75,0x6F,0x6F,0x70,0x6F,0x72,0x76,0x78,0x76,0x73,0x72,0x6F,0x6D,0x7F,0x79,0x76,0x77,0x78,0x75,0x70,0x6D,0x8C,0x80,0x77,0x7A,0x7E,0x7A,0x74,0x72,0x73,0x73,0x73,0x75,0x76,0x74,0x6F,0x6B,0x75,0x74,0x75,0x76,0x76,0x73,0x6D,0x68,0x75,0x75,0x75,0x76,0x76,0x71,0x6A,0x65,0x74,0x74,0x75,0x75,0x75,0x70,0x69,0x63,0x71,0x71,0x72,0x73,0x72,0x6E,0x67,0x62,0x6F,0x6E,0x6E,0x6F,0x6F,0x6B,0x66,0x61,0x6E,0x6C,0x6B,0x6B,0x6B,0x68,0x63,0x5F,0x6E,0x6C,0x6A,0x69,0x68,0x66,0x61,0x5D,0x99,0x90,0x81,0x72,0x69,0x66,0x68,0x6A,0x8D,0x85,0x78,0x6C,0x65,0x63,0x65,0x68,0x7D,0x76,0x6D,0x64,0x60,0x60,0x63,0x66,0x70,0x6C,0x66,0x61,0x5F,0x61,0x64,0x67,0x69,0x67,0x64,0x62,0x62,0x64,0x67,0x69,0x68,0x67,0x66,0x65,0x65,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x66,0x66,0x65,0x65,0x68,0x68,0x68,0x67,0x66,0x64,0x63,0x62,0x7C,0x90,0xAB,0xBF,0xC9,0xCE,0xD5,0xDA,0x8E,0xA9,0xC8,0xD5,0xD1,0xC9,0xCA,0xCF,0x9E,0xBC,0xDD,0xE6,0xDA,0xCB,0xC9,0xCE,0xAA,0xBE,0xD5,0xE0,0xDC,0xD5,0xD4,0xD7,0xC0,0xC1,0xC4,0xCC,0xD5,0xDA,0xD7,0xD3,0xDA,0xCD,0xC2,0xC4,0xCF,0xD4,0xCE,0xC4,0xDF,0xD6,0xCE,0xCD,0xD1,0xD0,0xC8,0xBF,0xD5,0xD6,0xD8,0xD9,0xD8,0xD2,0xCB,0xC5,0x6D,0x66,0x69,0x6B,0x69,0x62,0x66,0x80,0x71,0x69,0x69,0x70,0x67,0x5B,0x6A,0x81,0x75,0x6D,0x69,0x74,0x63,0x54,0x6E,0x7D,0x73,0x71,0x68,0x72,0x5F,0x54,0x74,0x71,0x70,0x72,0x68,0x6D,0x5E,0x5B,0x77,0x67,0x6C,0x6F,0x68,0x67,0x5F,0x62,0x74,0x67,0x69,0x67,0x63,0x61,0x5E,0x60,0x69,0x6F,0x66,0x5E,0x5E,0x5D,0x5C,0x5A,0x5F,0x77,0x6E,0x72,0x70,0x6B,0x6A,0x66,0x63,0x67,0x6F,0x72,0x6F,0x6C,0x6D,0x6A,0x68,0x6C,0x70,0x72,0x6F,0x6C,0x6F,0x6E,0x6C,0x6F,0x6E,0x6F,0x6A,0x69,0x6F,0x6F,0x6C,0x6E,0x67,0x66,0x61,0x62,0x6B,0x6D,0x69,0x6A,0x61,0x60,0x5A,0x5D,0x68,0x6A,0x65,0x64,0x67,0x64,0x5E,0x5F,0x6A,0x6A,0x61,0x5D,0x72,0x6E,0x65,0x65,0x6D,0x6A,0x5E,0x58},
+{0x61,0x5C,0x5A,0x5B,0x59,0x59,0x62,0x6F,0x65,0x5F,0x5C,0x5B,0x59,0x59,0x61,0x6C,0x66,0x60,0x5C,0x5A,0x58,0x58,0x5F,0x68,0x63,0x5E,0x5A,0x59,0x58,0x5A,0x60,0x67,0x5F,0x5C,0x59,0x59,0x5C,0x60,0x65,0x69,0x5E,0x5B,0x5A,0x5C,0x61,0x66,0x69,0x6B,0x5D,0x5C,0x5B,0x5E,0x63,0x68,0x69,0x68,0x5C,0x5B,0x5B,0x5D,0x63,0x67,0x66,0x63,0x6E,0x69,0x65,0x68,0x73,0x7A,0x6F,0x5A,0x6A,0x64,0x6E,0x73,0x71,0x7D,0x7C,0x60,0x73,0x6A,0x77,0x78,0x67,0x78,0x87,0x71,0x7B,0x6F,0x72,0x6E,0x60,0x6E,0x88,0x8D,0x70,0x6C,0x66,0x65,0x65,0x67,0x7A,0x98,0x65,0x69,0x63,0x66,0x6E,0x62,0x64,0x80,0x65,0x67,0x66,0x68,0x6B,0x63,0x5F,0x67,0x66,0x62,0x64,0x65,0x63,0x6A,0x6E,0x65,0x67,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x65,0x66,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x66,0x66,0x65,0x65,0x64,0x63,0x62,0x62,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x61,0x66,0x66,0x65,0x64,0x62,0x61,0x61,0x60,0x66,0x65,0x65,0x63,0x62,0x61,0x60,0x60,0xD0,0xC8,0xC2,0xC5,0xCF,0xD4,0xD0,0xCA,0xCE,0xC6,0xC0,0xC4,0xCD,0xD2,0xCE,0xC7,0xC9,0xC2,0xBD,0xC2,0xCB,0xCF,0xCA,0xC3,0xC5,0xBF,0xBB,0xC1,0xCA,0xCE,0xC8,0xC0,0xC1,0xBC,0xBA,0xC1,0xCC,0xD0,0xC9,0xC1,0xBE,0xBA,0xBB,0xC4,0xD0,0xD4,0xCD,0xC4,0xBC,0xBA,0xBC,0xC7,0xD4,0xD9,0xD2,0xC9,0xBC,0xBA,0xBD,0xC9,0xD7,0xDC,0xD5,0xCC,0x6F,0x63,0x5E,0x65,0x6D,0x6A,0x62,0x5D,0x6B,0x60,0x5C,0x63,0x69,0x67,0x61,0x5E,0x65,0x5E,0x5B,0x60,0x64,0x63,0x60,0x5F,0x62,0x5E,0x5D,0x5F,0x60,0x5F,0x5F,0x60,0x61,0x60,0x60,0x60,0x5F,0x5D,0x5E,0x60,0x61,0x62,0x62,0x62,0x60,0x5E,0x5F,0x61,0x5F,0x61,0x63,0x63,0x61,0x61,0x61,0x61,0x5D,0x60,0x63,0x63,0x62,0x62,0x62,0x62,0x5D,0x5E,0x60,0x62,0x65,0x69,0x6E,0x71,0x5F,0x61,0x63,0x65,0x67,0x6A,0x6D,0x70,0x61,0x63,0x66,0x68,0x69,0x6A,0x6C,0x6D,0x61,0x64,0x67,0x69,0x69,0x69,0x69,0x69,0x61,0x63,0x65,0x67,0x67,0x67,0x67,0x68,0x60,0x62,0x64,0x65,0x65,0x66,0x68,0x6A,0x61,0x62,0x63,0x63,0x65,0x68,0x6C,0x6F,0x63,0x63,0x63,0x63,0x65,0x69,0x6F,0x73,0x5D,0x62,0x63,0x61,0x63,0x68,0x67,0x62,0x66,0x5B,0x5B,0x68,0x6A,0x5F,0x5D,0x66,0x65,0x5D,0x5A,0x5F,0x65,0x65,0x64,0x64,0x77,0x6B,0x5D,0x59,0x5F,0x67,0x67,0x63,0x99,0x7A,0x63,0x63,0x64,0x5D,0x5D,0x67,0x96,0x84,0x72,0x68,0x63,0x61,0x64,0x68,0x74,0x80,0x7E,0x6C,0x62,0x68,0x6C,0x67,0x62,0x71,0x7D,0x79,0x69,0x5E,0x60,0x68,0x64,0x62,0x5B,0x68,0x73,0x72,0x71,0x66,0x5F,0x60,0x62,0x6B,0x72,0x71,0x6C,0x65,0x5D,0x60,0x6B,0x6E,0x6E,0x6D,0x65,0x63,0x60,0x64,0x70,0x6D,0x68,0x69,0x62,0x65,0x62,0x68,0x6E,0x69,0x65,0x67,0x68,0x6C,0x63,0x6C,0x68,0x68,0x68,0x69,0x73,0x6F,0x67,0x74,0x64,0x6C,0x6F,0x6A,0x79,0x68,0x6B,0x7C,0x64,0x72,0x75,0x69,0x79,0x5E,0x63,0x63,0x63,0x63,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x61,0x61,0x60,0x60,0x60,0x62,0x61,0x61,0x60,0x5F,0x5E,0x5D,0x5D,0x61,0x60,0x60,0x5E,0x5D,0x5C,0x5B,0x5B,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5C,0x5B,0x60,0x60,0x60,0x5F,0x5F,0x5F,0x5F,0x5E,0x60,0x60,0x60,0x61,0x61,0x62,0x62,0x62,0x60,0x60,0x61,0x62,0x63,0x64,0x64,0x65,0xC6,0xC4,0xC2,0xC2,0xC5,0xCB,0xD2,0xD6,0xC5,0xC4,0xC2,0xC3,0xC7,0xCD,0xD4,0xD8,0xC4,0xC4,0xC3,0xC5,0xC9,0xD0,0xD7,0xDB,0xC4,0xC4,0xC4,0xC7,0xCC,0xD3,0xDA,0xDE,0xC5,0xC5,0xC6,0xC9,0xCF,0xD5,0xDC,0xE0,0xC7,0xC7,0xC9,0xCC,0xD1,0xD7,0xDD,0xE0,0xC9,0xC9,0xCB,0xCE,0xD3,0xD8,0xDD,0xE0,0xCA,0xCB,0xCC,0xD0,0xD4,0xD9,0xDD,0xE0,0x4D,0x51,0x53,0x52,0x51,0x51,0x52,0x53,0x4E,0x51,0x53,0x51,0x4F,0x4F,0x50,0x51,0x4F,0x50,0x52,0x51,0x50,0x4F,0x50,0x52,0x4F,0x50,0x51,0x52,0x51,0x51,0x54,0x58,0x52,0x50,0x51,0x52,0x52,0x52,0x57,0x5D,0x56,0x52,0x51,0x52,0x53,0x54,0x5B,0x64,0x58,0x53,0x51,0x54,0x56,0x5A,0x64,0x70,0x57,0x52,0x51,0x56,0x5B,0x61,0x6E,0x7C,0x52,0x52,0x52,0x53,0x55,0x58,0x5B,0x5D,0x51,0x54,0x57,0x5B,0x5E,0x60,0x62,0x63,0x54,0x5A,0x62,0x69,0x6C,0x6D,0x6C,0x6C,0x5D,0x65,0x70,0x78,0x7B,0x79,0x77,0x75,0x6A,0x72,0x7D,0x84,0x84,0x81,0x7D,0x7B,0x75,0x7C,0x85,0x88,0x86,0x81,0x7D,0x7C,0x7C,0x81,0x86,0x86,0x81,0x7C,0x7A,0x7A,0x7E,0x82,0x84,0x82,0x7C,0x77,0x76,0x77,0x59,0x51,0x51,0x5E,0x6B,0x72,0x78,0x7E,0x54,0x55,0x5B,0x67,0x70,0x76,0x7B,0x80,0x51,0x5D,0x6A,0x73,0x78,0x7C,0x7F,0x80,0x5A,0x6A,0x78,0x7B,0x7D,0x81,0x80,0x7C,0x69,0x76,0x7F,0x7E,0x7E,0x80,0x7C,0x74,0x74,0x7C,0x7F,0x7B,0x79,0x79,0x74,0x6B,0x77,0x7B,0x7C,0x78,0x73,0x6F,0x6B,0x66,0x75,0x78,0x7A,0x76,0x6E,0x68,0x65,0x64,0x81,0x84,0x82,0x78,0x6D,0x6B,0x75,0x80,0x7F,0x7C,0x76,0x6F,0x6A,0x6E,0x77,0x80,0x7E,0x76,0x6D,0x69,0x6E,0x78,0x83,0x89,0x79,0x71,0x6A,0x6B,0x76,0x84,0x8F,0x95,0x6D,0x6B,0x6B,0x71,0x7C,0x8A,0x96,0x9D,0x68,0x6C,0x72,0x7A,0x84,0x90,0x9A,0xA1,0x6B,0x71,0x7A,0x83,0x8B,0x94,0x9C,0xA2,0x6E,0x73,0x7C,0x85,0x8D,0x95,0x9B,0x9F,0x76,0x76,0x78,0x7A,0x7C,0x7D,0x7E,0x7E,0x70,0x73,0x77,0x7D,0x82,0x86,0x8A,0x8B,0x6D,0x71,0x79,0x82,0x8C,0x94,0x99,0x9C,0x73,0x78,0x80,0x8B,0x95,0x9D,0xA3,0xA6,0x7F,0x84,0x8B,0x94,0x9C,0xA2,0xA6,0xA7,0x8A,0x8E,0x95,0x9C,0xA1,0xA5,0xA6,0xA6,0x8F,0x93,0x9A,0xA0,0xA5,0xA7,0xA7,0xA7,0x90,0x94,0x9B,0xA2,0xA7,0xA9,0xA9,0xA9,0x8A,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8B,0x89,0x86,0x83,0x82,0x82,0x83,0x84,0x8B,0x89,0x85,0x81,0x7F,0x7E,0x7E,0x7E,0x8B,0x88,0x83,0x7F,0x7B,0x79,0x79,0x79,0x88,0x85,0x81,0x7D,0x79,0x77,0x76,0x76,0x84,0x82,0x7E,0x7B,0x78,0x77,0x77,0x77,0x81,0x7F,0x7C,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7A,0x78,0x78,0x79,0x7A,0x7B},
+{0x5A,0x5B,0x61,0x6C,0x7B,0x88,0x90,0x93,0x66,0x68,0x6F,0x78,0x83,0x8C,0x92,0x95,0x70,0x74,0x7A,0x81,0x87,0x8D,0x92,0x95,0x76,0x7B,0x80,0x84,0x87,0x8C,0x91,0x95,0x7E,0x82,0x85,0x87,0x89,0x8D,0x94,0x9A,0x82,0x85,0x88,0x8B,0x8F,0x95,0x9E,0xA4,0x80,0x84,0x8B,0x93,0x9C,0xA7,0xB1,0xB8,0x7F,0x85,0x90,0x9E,0xAC,0xBA,0xC6,0xCD,0xA0,0x9C,0x95,0x91,0x97,0x9F,0x9F,0x9A,0x8D,0x95,0x9A,0x97,0x95,0x98,0x9C,0x9D,0x9B,0x9B,0x92,0x83,0x7B,0x81,0x8B,0x91,0x9A,0x99,0x95,0x90,0x8F,0x89,0x78,0x66,0x98,0x9B,0xA2,0xAD,0xB6,0xAE,0x8F,0x72,0xB1,0xB3,0xB4,0xB9,0xC2,0xC6,0xBD,0xB0,0xC2,0xC9,0xCE,0xCE,0xD0,0xD1,0xCC,0xC5,0xD3,0xD8,0xDA,0xD7,0xD5,0xD3,0xCD,0xC6,0x88,0x90,0x9E,0xAD,0xBD,0xCC,0xD7,0xDE,0x94,0x9C,0xA9,0xB8,0xC5,0xD1,0xDA,0xDF,0x9E,0xA7,0xB3,0xC1,0xCC,0xD4,0xDA,0xDD,0xA1,0xA9,0xB6,0xC2,0xCB,0xD0,0xD4,0xD5,0xA4,0xAA,0xB4,0xBD,0xC3,0xC6,0xC6,0xC7,0xA7,0xAC,0xB2,0xB6,0xB8,0xB7,0xB6,0xB6,0xA5,0xA7,0xAA,0xAC,0xAB,0xA9,0xA8,0xA7,0x9E,0xA0,0xA2,0xA2,0xA1,0xA0,0x9F,0x9F,0xDE,0xE4,0xE5,0xDF,0xDA,0xD6,0xCC,0xC1,0xDF,0xE4,0xE3,0xDD,0xD7,0xCF,0xC1,0xB4,0xDE,0xDF,0xDD,0xD7,0xD0,0xC6,0xB5,0xA5,0xD6,0xD4,0xCF,0xCA,0xC6,0xBC,0xAB,0x9C,0xC9,0xC4,0xBD,0xB9,0xB6,0xAE,0x9F,0x92,0xB9,0xB3,0xAC,0xA8,0xA6,0x9E,0x91,0x86,0xA9,0xA4,0xA0,0x9F,0x9C,0x95,0x89,0x80,0x9E,0x9B,0x9A,0x9B,0x9A,0x93,0x88,0x80,0x85,0x8D,0x99,0xA0,0x9C,0x8D,0x7B,0x6F,0x90,0x99,0xA4,0xA9,0xA2,0x90,0x7B,0x6D,0xA0,0xA0,0x9F,0x9A,0x8F,0x81,0x73,0x6A,0xAA,0x9E,0x8B,0x77,0x6A,0x66,0x67,0x69,0xA8,0x9A,0x83,0x6E,0x61,0x60,0x65,0x6A,0xA0,0x9A,0x90,0x85,0x7C,0x77,0x75,0x74,0x9C,0x9B,0x99,0x96,0x92,0x8E,0x8A,0x88,0x9D,0x9B,0x97,0x94,0x93,0x95,0x97,0x99,0x84,0x7F,0x79,0x79,0x82,0x92,0xA4,0xB0,0x7F,0x7C,0x78,0x79,0x80,0x8E,0x9D,0xA6,0x7A,0x79,0x78,0x7A,0x80,0x89,0x93,0x99,0x78,0x79,0x7B,0x7E,0x83,0x87,0x8C,0x8E,0x79,0x7B,0x7F,0x82,0x85,0x87,0x88,0x88,0x7A,0x7C,0x80,0x83,0x85,0x86,0x86,0x86,0x7A,0x7B,0x7E,0x80,0x82,0x83,0x83,0x83,0x78,0x79,0x7B,0x7C,0x7E,0x80,0x81,0x81,0x93,0x7F,0x79,0x7D,0x81,0x7B,0x71,0x73,0x9F,0x98,0x8C,0x7B,0x77,0x7C,0x79,0x75,0x98,0x95,0x93,0x8F,0x86,0x78,0x70,0x6E,0x6F,0x75,0x7C,0x89,0x89,0x7A,0x70,0x68,0x58,0x66,0x60,0x62,0x6F,0x7F,0x84,0x6F,0x7D,0x75,0x5D,0x65,0x71,0x76,0x85,0x7F,0xB1,0x8F,0x72,0x8D,0x8C,0x6C,0x7B,0x8F,0xC1,0xA2,0x85,0x9D,0x94,0x6E,0x81,0x9A,0x6B,0x6A,0x69,0x67,0x67,0x67,0x63,0x5E,0x6A,0x6A,0x69,0x69,0x6A,0x69,0x66,0x63,0x69,0x69,0x6A,0x6A,0x6A,0x67,0x65,0x63,0x6D,0x6D,0x6D,0x6D,0x6B,0x66,0x63,0x63,0x73,0x70,0x6F,0x70,0x6D,0x68,0x65,0x65,0x75,0x6F,0x6B,0x6D,0x6D,0x69,0x66,0x66,0x7A,0x71,0x6A,0x6D,0x6E,0x69,0x66,0x66,0x85,0x78,0x70,0x71,0x72,0x6D,0x68,0x67,0xAC,0x9E,0x85,0x8B,0x7E,0x63,0x7A,0x8D,0xA3,0x99,0x88,0x88,0x7F,0x73,0x81,0x8C,0x94,0x8B,0x86,0x7C,0x79,0x7D,0x7D,0x82,0x8A,0x7A,0x7D,0x6F,0x70,0x7B,0x6F,0x75,0x86,0x6E,0x72,0x67,0x6A,0x74,0x65,0x72,0x7D,0x64,0x67,0x61,0x64,0x6B,0x60,0x70,0x73,0x61,0x61,0x5C,0x5E,0x62,0x5D,0x6A,0x70,0x66,0x63,0x5D,0x5C,0x5F,0x5E,0x66,0x9D,0x8C,0x7A,0x72,0x73,0x72,0x6D,0x66,0xA9,0x9A,0x87,0x7A,0x75,0x74,0x72,0x70,0xA7,0xA1,0x98,0x8E,0x85,0x7E,0x78,0x75,0x8C,0x95,0x9F,0xA2,0x9D,0x92,0x83,0x78,0x6D,0x7C,0x91,0xA0,0xA7,0xA3,0x95,0x88,0x60,0x6C,0x7C,0x8B,0x9A,0xA5,0xA5,0x9F,0x64,0x6C,0x74,0x7B,0x89,0x9A,0xA5,0xA6,0x6B,0x72,0x77,0x79,0x81,0x90,0x9B,0x9E,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x67,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x6B,0x6A,0x69,0x68,0x66,0x65,0x64,0x63,0x70,0x6F,0x6E,0x6B,0x69,0x66,0x65,0x64,0x78,0x76,0x74,0x70,0x6C,0x69,0x66,0x65,0x7F,0x7D,0x79,0x75,0x70,0x6B,0x68,0x66,0x83,0x81,0x7D,0x78,0x72,0x6D,0x69,0x66,0xCB,0xCE,0xD3,0xD6,0xD4,0xCE,0xC7,0xC2,0xC0,0xC7,0xD2,0xDA,0xDA,0xD2,0xC7,0xC0,0xAD,0xB9,0xCA,0xD7,0xDC,0xD6,0xCB,0xC3,0x99,0xA4,0xB5,0xC5,0xCF,0xD3,0xD1,0xCF,0x8A,0x90,0x9C,0xAB,0xBB,0xC9,0xD4,0xDA,0x81,0x85,0x8D,0x9A,0xAB,0xBE,0xCE,0xD8,0x7F,0x83,0x8C,0x98,0xA7,0xB5,0xC1,0xC7,0x7F,0x86,0x91,0x9E,0xA9,0xB1,0xB5,0xB7,0x5C,0x5C,0x58,0x66,0x6E,0x5E,0x59,0x65,0x59,0x61,0x5F,0x66,0x74,0x6C,0x5D,0x57,0x55,0x61,0x5D,0x5C,0x73,0x80,0x70,0x60,0x5B,0x60,0x58,0x50,0x6C,0x89,0x83,0x7B,0x65,0x62,0x5B,0x52,0x6A,0x84,0x81,0x88,0x63,0x5F,0x63,0x5E,0x6F,0x7D,0x76,0x86,0x62,0x5E,0x67,0x61,0x6C,0x76,0x6C,0x82,0x6B,0x64,0x69,0x5B,0x63,0x6E,0x65,0x7D,0x5F,0x62,0x65,0x66,0x66,0x67,0x69,0x6A,0x66,0x66,0x69,0x6B,0x6A,0x65,0x64,0x65,0x62,0x5F,0x62,0x6B,0x6C,0x67,0x65,0x69,0x60,0x59,0x5A,0x65,0x6A,0x65,0x65,0x6C,0x70,0x63,0x5C,0x62,0x66,0x62,0x62,0x69,0x81,0x70,0x62,0x62,0x64,0x64,0x66,0x6A,0x8A,0x79,0x67,0x60,0x63,0x67,0x69,0x6A,0x8F,0x7E,0x6A,0x5F,0x60,0x65,0x66,0x63,0x6E,0x67,0x6D,0x5C,0x59,0x61,0x5F,0x66,0x68,0x69,0x74,0x6E,0x63,0x60,0x59,0x51,0x6C,0x6C,0x70,0x73,0x63,0x63,0x69,0x58,0x77,0x72,0x69,0x72,0x62,0x6D,0x7E,0x67,0x82,0x7B,0x6D,0x7A,0x6A,0x77,0x7D,0x60,0x8F,0x87,0x75,0x7D,0x6C,0x7D,0x75,0x5B,0xA1,0x99,0x86,0x82,0x6F,0x82,0x6C,0x5D,0xAC,0xA9,0x9C,0x92,0x7A,0x87,0x61,0x56,0x8C,0x8A,0x7C,0x69,0x61,0x66,0x66,0x60,0x68,0x83,0x90,0x7B,0x5F,0x5A,0x62,0x69,0x55,0x6F,0x80,0x76,0x66,0x63,0x64,0x62,0x5D,0x5E,0x5F,0x66,0x6F,0x72,0x6A,0x60,0x63,0x5C,0x5C,0x66,0x6C,0x6A,0x6A,0x6F,0x61,0x5E,0x62,0x69,0x65,0x5D,0x64,0x72,0x5F,0x5E,0x5F,0x62,0x62,0x61,0x64,0x69,0x5D,0x60,0x5F,0x5C,0x5F,0x68,0x6B,0x68},
+{0x66,0x67,0x68,0x67,0x65,0x61,0x5D,0x5A,0x65,0x66,0x67,0x67,0x65,0x62,0x5E,0x5C,0x65,0x66,0x67,0x67,0x66,0x64,0x61,0x5F,0x64,0x65,0x66,0x66,0x66,0x65,0x63,0x62,0x64,0x64,0x65,0x65,0x65,0x64,0x63,0x63,0x64,0x64,0x64,0x64,0x63,0x63,0x62,0x62,0x65,0x64,0x63,0x62,0x61,0x61,0x60,0x60,0x65,0x64,0x63,0x61,0x60,0x5F,0x5F,0x5F,0xBA,0xBD,0xC1,0xC6,0xCB,0xCE,0xD0,0xD1,0xB9,0xB9,0xBB,0xBF,0xC5,0xCB,0xD2,0xD5,0xBD,0xBA,0xB7,0xB7,0xBC,0xC7,0xD2,0xD9,0xC9,0xC2,0xBA,0xB5,0xB8,0xC3,0xD0,0xD8,0xD5,0xCE,0xC3,0xBB,0xBA,0xC1,0xCC,0xD3,0xD8,0xD2,0xC9,0xC2,0xC0,0xC3,0xC9,0xCE,0xCF,0xCD,0xCA,0xC8,0xC7,0xC7,0xC9,0xCA,0xC4,0xC6,0xC8,0xC9,0xCA,0xCA,0xCA,0xC9,0x64,0x65,0x71,0x7D,0x74,0x60,0x5D,0x6A,0x65,0x66,0x6F,0x79,0x74,0x67,0x66,0x6F,0x67,0x67,0x6C,0x72,0x72,0x6E,0x6D,0x70,0x67,0x68,0x6A,0x6C,0x6F,0x70,0x6D,0x6A,0x65,0x68,0x69,0x6A,0x6E,0x71,0x6D,0x65,0x64,0x67,0x69,0x6A,0x6E,0x71,0x6D,0x67,0x66,0x68,0x6B,0x6B,0x6C,0x6C,0x6A,0x68,0x6A,0x6B,0x6C,0x6B,0x68,0x66,0x66,0x66,0x6C,0x7D,0x64,0x70,0x72,0x69,0x80,0x6B,0x66,0x75,0x65,0x6B,0x6C,0x6B,0x84,0x7C,0x62,0x6D,0x68,0x66,0x65,0x6D,0x83,0x89,0x63,0x68,0x6C,0x65,0x63,0x6D,0x79,0x85,0x65,0x65,0x6D,0x67,0x65,0x6D,0x6D,0x76,0x66,0x65,0x6A,0x69,0x69,0x6C,0x68,0x6A,0x67,0x68,0x66,0x69,0x6B,0x68,0x68,0x65,0x6A,0x6C,0x65,0x69,0x6A,0x64,0x68,0x64,0x67,0x74,0x7A,0x6F,0x61,0x5E,0x61,0x64,0x64,0x7D,0x8B,0x7C,0x69,0x64,0x66,0x65,0x63,0x85,0x98,0x89,0x72,0x6C,0x6C,0x68,0x64,0x7D,0x8D,0x83,0x72,0x6B,0x6B,0x69,0x67,0x6D,0x71,0x70,0x6A,0x65,0x66,0x6A,0x6E,0x66,0x63,0x66,0x67,0x65,0x67,0x6D,0x6E,0x69,0x65,0x65,0x66,0x66,0x69,0x6D,0x66,0x6A,0x69,0x64,0x62,0x64,0x66,0x67,0x6A,0x68,0x65,0x64,0x64,0x67,0x6A,0x6C,0x5F,0x5F,0x61,0x63,0x66,0x69,0x6C,0x6E,0x67,0x66,0x65,0x62,0x5F,0x5B,0x58,0x56,0x6D,0x6D,0x6C,0x6B,0x69,0x66,0x64,0x63,0x6C,0x6C,0x6B,0x6B,0x6C,0x6C,0x6D,0x6E,0x6E,0x6C,0x68,0x65,0x62,0x62,0x62,0x62,0x6B,0x6A,0x68,0x66,0x65,0x66,0x67,0x68,0x6A,0x69,0x67,0x65,0x63,0x61,0x60,0x60,0x62,0x62,0x61,0x60,0x62,0x64,0x67,0x69,0x60,0x5F,0x5E,0x5D,0x5E,0x60,0x63,0x64,0x5F,0x5E,0x5C,0x5B,0x5B,0x5C,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5B,0x5C,0x5D,0x5E,0x65,0x63,0x61,0x5E,0x5E,0x5E,0x60,0x61,0x66,0x64,0x62,0x60,0x5F,0x60,0x62,0x63,0x64,0x62,0x60,0x5F,0x5F,0x60,0x62,0x63,0x61,0x60,0x5E,0x5D,0x5D,0x5E,0x60,0x62,0xD6,0xD1,0xCE,0xD2,0xDA,0xE0,0xDF,0xDB,0xD6,0xD2,0xCF,0xD3,0xDB,0xE0,0xDE,0xDB,0xD7,0xD3,0xD1,0xD5,0xDC,0xE0,0xDD,0xD9,0xD7,0xD3,0xD2,0xD6,0xDD,0xDF,0xDB,0xD5,0xD5,0xD2,0xD1,0xD6,0xDC,0xDD,0xD7,0xD0,0xD2,0xD0,0xCF,0xD4,0xD9,0xD9,0xD2,0xCA,0xCF,0xCD,0xCD,0xD2,0xD7,0xD5,0xCD,0xC4,0xCD,0xCB,0xCB,0xD0,0xD5,0xD3,0xCA,0xC1,0x75,0x72,0x6C,0x65,0x61,0x61,0x64,0x67,0x74,0x6E,0x66,0x5F,0x5E,0x62,0x68,0x6C,0x6E,0x65,0x5B,0x56,0x58,0x61,0x6A,0x70,0x67,0x5F,0x56,0x53,0x5A,0x66,0x70,0x76,0x64,0x5F,0x5A,0x5C,0x65,0x72,0x7C,0x81,0x60,0x5F,0x5F,0x65,0x6F,0x7B,0x85,0x8A,0x5E,0x60,0x64,0x6B,0x75,0x81,0x8B,0x90,0x60,0x63,0x69,0x71,0x7B,0x86,0x90,0x97,0x73,0x79,0x82,0x8A,0x8E,0x92,0x95,0x97,0x75,0x7B,0x84,0x8B,0x8F,0x91,0x94,0x95,0x79,0x7F,0x87,0x8D,0x8F,0x90,0x91,0x93,0x80,0x84,0x8B,0x8E,0x8F,0x8F,0x8F,0x90,0x87,0x8A,0x8E,0x90,0x8E,0x8D,0x8D,0x8D,0x8E,0x90,0x92,0x90,0x8D,0x8B,0x8B,0x8C,0x95,0x95,0x94,0x90,0x8C,0x89,0x89,0x8B,0x98,0x98,0x95,0x90,0x8B,0x88,0x89,0x8A,0x5E,0x62,0x69,0x74,0x80,0x8B,0x95,0x9A,0x58,0x5D,0x65,0x71,0x7E,0x8A,0x94,0x99,0x54,0x58,0x61,0x6C,0x79,0x85,0x8F,0x94,0x56,0x58,0x5E,0x66,0x71,0x7C,0x86,0x8C,0x59,0x59,0x5B,0x60,0x69,0x74,0x7F,0x85,0x5A,0x59,0x59,0x5C,0x63,0x6D,0x77,0x7E,0x5B,0x5A,0x5A,0x5B,0x60,0x67,0x6D,0x72,0x5D,0x5C,0x5C,0x5C,0x5E,0x61,0x65,0x67,0x9B,0x98,0x94,0x8E,0x89,0x86,0x86,0x87,0x9B,0x99,0x95,0x8F,0x8A,0x86,0x85,0x85,0x9C,0x9A,0x97,0x91,0x8B,0x86,0x83,0x82,0x96,0x96,0x93,0x8E,0x87,0x81,0x7C,0x7B,0x8B,0x8C,0x8B,0x87,0x81,0x7A,0x74,0x71,0x81,0x83,0x84,0x82,0x7D,0x75,0x6F,0x6C,0x75,0x78,0x7B,0x7A,0x76,0x6F,0x68,0x65,0x67,0x6B,0x6F,0x70,0x6C,0x65,0x5F,0x5B,0x93,0x96,0x9C,0xA3,0xA8,0xAB,0xAD,0xAD,0x96,0x9A,0xA0,0xA6,0xAA,0xAA,0xA8,0xA6,0x97,0x9D,0xA5,0xAC,0xAE,0xAB,0xA5,0xA1,0x93,0x9B,0xA6,0xAF,0xB2,0xAE,0xA7,0xA2,0x89,0x92,0xA0,0xAC,0xB1,0xAF,0xA9,0xA4,0x7E,0x87,0x94,0xA0,0xA6,0xA6,0xA2,0x9E,0x76,0x7D,0x87,0x91,0x96,0x96,0x92,0x90,0x73,0x78,0x7F,0x86,0x89,0x88,0x85,0x82,0x7E,0x7D,0x7B,0x7A,0x79,0x79,0x7A,0x7A,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x79,0x7A,0x7C,0x7B,0x7A,0x79,0x78,0x78,0x78,0x79,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7C,0x7B,0x7A,0x7A,0x7A,0x7B,0x81,0x80,0x7F,0x7E,0x7D,0x7D,0x7D,0x7E,0x84,0x83,0x82,0x81,0x80,0x80,0x81,0x81,0x86,0x85,0x84,0x83,0x82,0x82,0x83,0x83,0x97,0x98,0x98,0x99,0x99,0x98,0x97,0x96,0x96,0x96,0x96,0x95,0x94,0x93,0x92,0x92,0x94,0x93,0x92,0x90,0x8F,0x8E,0x8D,0x8D,0x90,0x8F,0x8E,0x8C,0x8B,0x8B,0x8B,0x8B,0x8D,0x8D,0x8C,0x8B,0x8B,0x8B,0x8C,0x8D,0x8C,0x8C,0x8C,0x8C,0x8C,0x8D,0x8E,0x8E,0x8B,0x8C,0x8D,0x8E,0x8E,0x8F,0x8F,0x8F,0x8C,0x8D,0x8E,0x8F,0x8F,0x8F,0x8F,0x8E,0x96,0x95,0x94,0x94,0x92,0x8C,0x83,0x7B,0x92,0x91,0x91,0x91,0x90,0x8A,0x80,0x79,0x8E,0x8D,0x8E,0x8F,0x8D,0x87,0x7D,0x75,0x8E,0x8D,0x8D,0x8D,0x8B,0x84,0x79,0x71,0x90,0x8F,0x8D,0x8C,0x89,0x80,0x75,0x6C,0x91,0x8E,0x8B,0x89,0x84,0x7B,0x6F,0x66,0x8E,0x8B,0x86,0x82,0x7D,0x74,0x69,0x60,0x8B,0x87,0x82,0x7D,0x78,0x6F,0x64,0x5D},
+{0x8E,0x90,0x92,0x93,0x92,0x8F,0x8C,0x8A,0x8B,0x8D,0x8F,0x90,0x8F,0x8C,0x88,0x85,0x85,0x87,0x8A,0x8C,0x8B,0x86,0x81,0x7E,0x7D,0x80,0x83,0x84,0x83,0x7E,0x79,0x75,0x74,0x76,0x78,0x79,0x77,0x74,0x6F,0x6C,0x6A,0x6B,0x6B,0x6B,0x69,0x67,0x65,0x63,0x61,0x60,0x5F,0x5D,0x5C,0x5B,0x5B,0x5B,0x5B,0x59,0x57,0x54,0x54,0x54,0x56,0x57,0x88,0x83,0x7C,0x74,0x6D,0x67,0x62,0x5E,0x81,0x7C,0x73,0x6B,0x65,0x61,0x5E,0x5C,0x78,0x72,0x69,0x62,0x5D,0x5C,0x5B,0x5B,0x6E,0x69,0x63,0x5E,0x5D,0x5D,0x5E,0x5E,0x64,0x62,0x60,0x5F,0x5F,0x60,0x61,0x61,0x5E,0x5D,0x5D,0x5F,0x60,0x61,0x61,0x60,0x5C,0x5C,0x5C,0x5D,0x5F,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5D,0x5E,0x5F,0x5F,0x5E,0xA0,0xA1,0xA3,0xA3,0xA0,0x9A,0x93,0x8F,0xA2,0xA4,0xA6,0xA5,0xA1,0x99,0x90,0x8A,0xA3,0xA6,0xA8,0xA7,0xA0,0x96,0x8A,0x83,0xA3,0xA5,0xA6,0xA4,0x9C,0x90,0x84,0x7C,0x9E,0x9F,0x9E,0x9B,0x93,0x88,0x7E,0x77,0x96,0x95,0x92,0x8D,0x86,0x7F,0x79,0x76,0x8D,0x8A,0x84,0x7F,0x7A,0x77,0x76,0x76,0x88,0x83,0x7C,0x76,0x72,0x73,0x75,0x77,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F,0x80,0x80,0x7B,0x7B,0x7C,0x7E,0x7F,0x80,0x81,0x81,0x79,0x7A,0x7B,0x7D,0x7F,0x81,0x83,0x83,0x78,0x79,0x7B,0x7D,0x80,0x83,0x84,0x85,0x79,0x7A,0x7C,0x7F,0x82,0x84,0x86,0x87,0x7B,0x7C,0x7E,0x81,0x83,0x86,0x88,0x89,0x7E,0x7F,0x81,0x83,0x85,0x87,0x89,0x8A,0x80,0x81,0x83,0x84,0x86,0x88,0x89,0x8A,0x6D,0x66,0x60,0x5D,0x5C,0x5C,0x5E,0x61,0x6B,0x65,0x5F,0x5D,0x5C,0x5B,0x5C,0x5E,0x67,0x62,0x5E,0x5D,0x5C,0x5B,0x5B,0x5C,0x63,0x5F,0x5D,0x5E,0x5E,0x5C,0x5C,0x5D,0x60,0x5D,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x5F,0x5C,0x5C,0x5E,0x60,0x60,0x60,0x62,0x60,0x5D,0x5C,0x5E,0x60,0x5F,0x60,0x61,0x61,0x5D,0x5C,0x5D,0x5E,0x5E,0x5E,0x60,0x71,0x7B,0x7C,0x7C,0x85,0x8F,0x92,0x94,0x67,0x75,0x7C,0x80,0x89,0x91,0x93,0x95,0x60,0x70,0x7A,0x7E,0x87,0x8D,0x90,0x94,0x64,0x72,0x7A,0x7C,0x82,0x87,0x8D,0x95,0x65,0x72,0x7A,0x7D,0x82,0x85,0x8B,0x95,0x5C,0x6A,0x75,0x7B,0x80,0x82,0x85,0x8E,0x59,0x65,0x6E,0x74,0x7B,0x7D,0x80,0x8A,0x60,0x68,0x6C,0x71,0x78,0x7B,0x81,0x8C,0x5D,0x5D,0x5D,0x5E,0x5E,0x5E,0x60,0x62,0x5E,0x5D,0x5E,0x5E,0x5E,0x5F,0x60,0x62,0x5F,0x5E,0x5E,0x5E,0x5F,0x60,0x61,0x62,0x60,0x60,0x5F,0x5E,0x5F,0x62,0x64,0x63,0x60,0x61,0x60,0x5E,0x61,0x66,0x67,0x65,0x61,0x62,0x60,0x5F,0x62,0x69,0x6B,0x68,0x61,0x63,0x61,0x5F,0x64,0x6D,0x6F,0x6B,0x61,0x63,0x62,0x5F,0x65,0x6F,0x71,0x6C,0x63,0x5F,0x60,0x6B,0x78,0x80,0x82,0x82,0x5D,0x5D,0x63,0x6F,0x7A,0x7D,0x79,0x75,0x5F,0x60,0x65,0x6F,0x75,0x72,0x6C,0x68,0x6B,0x67,0x65,0x67,0x68,0x66,0x63,0x63,0x6F,0x68,0x61,0x60,0x60,0x60,0x62,0x64,0x6A,0x63,0x5D,0x5D,0x61,0x63,0x64,0x66,0x66,0x5E,0x59,0x5C,0x62,0x65,0x65,0x65,0x68,0x5E,0x58,0x5A,0x61,0x65,0x65,0x64,0x7D,0x7B,0x77,0x73,0x6F,0x6D,0x6C,0x6B,0x7C,0x7A,0x76,0x72,0x6F,0x6D,0x6C,0x6B,0x79,0x78,0x75,0x71,0x6F,0x6D,0x6B,0x6B,0x77,0x76,0x73,0x71,0x6E,0x6C,0x6A,0x6A,0x75,0x74,0x73,0x70,0x6D,0x6B,0x68,0x67,0x75,0x74,0x73,0x70,0x6C,0x69,0x65,0x63,0x75,0x75,0x73,0x70,0x6C,0x67,0x63,0x60,0x76,0x75,0x73,0x70,0x6B,0x66,0x61,0x5E,0x8F,0x85,0x82,0x92,0xAE,0xBF,0xBD,0xB4,0x96,0x85,0x7B,0x8B,0xAD,0xC3,0xC2,0xB6,0x92,0x86,0x7E,0x89,0xA2,0xB9,0xC4,0xC5,0x83,0x88,0x8B,0x8C,0x92,0xA5,0xC2,0xD8,0x7E,0x86,0x8D,0x8D,0x8F,0xA0,0xC1,0xDB,0x86,0x86,0x88,0x8E,0x9C,0xB0,0xC4,0xD1,0x8A,0x8A,0x8F,0x9A,0xAB,0xBC,0xC9,0xCF,0x86,0x90,0x9E,0xA9,0xB1,0xBC,0xCB,0xD7,0xA8,0xAF,0xA6,0xAB,0x91,0x8C,0x60,0x5C,0x9D,0x9F,0xA0,0xAE,0xA2,0x92,0x65,0x5D,0x95,0x92,0x9C,0xAB,0xAC,0x92,0x67,0x5D,0x99,0x94,0x9E,0x9B,0x9E,0x82,0x66,0x5C,0x9E,0x9A,0x9D,0x82,0x80,0x6E,0x64,0x61,0x9A,0x95,0x8F,0x6D,0x69,0x63,0x64,0x68,0x8F,0x84,0x7A,0x63,0x65,0x66,0x64,0x6B,0x86,0x75,0x6A,0x62,0x6A,0x6C,0x63,0x6A,0x60,0x5F,0x5E,0x5E,0x5F,0x61,0x64,0x65,0x61,0x60,0x60,0x5F,0x60,0x61,0x62,0x63,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x60,0x61,0x62,0x63,0x63,0x63,0x63,0x62,0x60,0x61,0x62,0x64,0x65,0x65,0x64,0x64,0x60,0x61,0x63,0x64,0x65,0x66,0x66,0x66,0x62,0x63,0x63,0x64,0x65,0x66,0x66,0x66,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x6D,0x6B,0x69,0x69,0x6A,0x69,0x66,0x64,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x68,0x63,0x66,0x68,0x68,0x66,0x65,0x67,0x69,0x67,0x68,0x69,0x69,0x67,0x65,0x65,0x66,0x6A,0x69,0x68,0x67,0x67,0x67,0x64,0x62,0x68,0x66,0x64,0x65,0x67,0x67,0x65,0x62,0x66,0x66,0x66,0x66,0x67,0x67,0x66,0x65,0x67,0x69,0x6A,0x69,0x67,0x65,0x66,0x67,0x63,0x63,0x64,0x65,0x66,0x66,0x67,0x67,0x63,0x64,0x64,0x65,0x65,0x66,0x67,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x66,0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x6C,0x69,0x66,0x63,0x60,0x60,0x60,0x61,0x6A,0x68,0x65,0x62,0x60,0x5F,0x5F,0x60,0x68,0x66,0x63,0x60,0x5E,0x5E,0x5E,0x5F,0x65,0x63,0x60,0x5E,0x5D,0x5D,0x5E,0x5F,0x63,0x61,0x5F,0x5D,0x5C,0x5C,0x5E,0x5F,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5F,0x61,0x61,0x5F,0x5E,0x5C,0x5C,0x5E,0x60,0x61,0xB7,0xBC,0xC1,0xC4,0xC4,0xC4,0xC6,0xC9,0xBC,0xC0,0xC5,0xC7,0xC6,0xC6,0xC9,0xCB,0xC3,0xC6,0xCA,0xCB,0xCA,0xCA,0xCC,0xCF,0xCA,0xCD,0xD0,0xD0,0xCE,0xCD,0xCF,0xD2,0xD0,0xD2,0xD3,0xD2,0xCF,0xCE,0xD1,0xD3,0xD3,0xD5,0xD5,0xD2,0xCF,0xCD,0xD0,0xD2,0xD4,0xD5,0xD5,0xD1,0xCD,0xCB,0xCD,0xD0,0xD4,0xD5,0xD4,0xD0,0xCC,0xCA,0xCC,0xCF}};
+
+struct yrsreg {
+  volatile unsigned int fbadd;
+  volatile unsigned int sizeinfo;
+  volatile unsigned int incadd;
+  volatile unsigned int reset;
+}
+
+  upycc_connect(){
+    struct yrsreg *sreg = (struct yrsreg *) HPADDR;
+    volatile unsigned int *dataad = (unsigned int *)HSADDR;
+    unsigned int rdata;
+    volatile unsigned int *raddr; 
+    int i,j;
+    unsigned int *allocadd;
+    volatile unsigned int *ioaddr = (unsigned int *)IOADDR;
+    unsigned int iodata;
+
+    allocadd = (unsigned int *)memalign(1024, 2*640*480);
+    if (allocadd == NULL) fail(0);
+
+    sreg->fbadd = (unsigned int) allocadd;
+    sreg->sizeinfo = 0x00082464;
+    sreg->incadd = 0x4e4b504;
+    sreg->reset = 0x0;
+    sreg->reset = 0xffffffff;
+
+    for(i=0;i<1024;i++){
+      *dataad = indata[0][i];
+    }
+
+    for(i=0; i<300; i++){}
+
+    raddr = allocadd; 
+    *(ioaddr + 2) = 0xffffffff;
+    *(ioaddr + 3) = 0x00000000;
+    *(ioaddr + 1) = 0x0000aaaa; 
+
+   for(i=0;i<40;i++){
+      rdata = *raddr;
+      iodata = (rdata & 0x0000ffff) | 0x00010000;
+      *(ioaddr + 1) = iodata;
+      *(ioaddr + 1) = 0x0000aaaa;
+      iodata = (rdata & 0xffff0000) >> 16;
+      iodata = iodata | 0x00010000;
+      //   iodata = rdata;
+      *(ioaddr + 1) = iodata;
+      *(ioaddr + 1) = 0x0000aaaa;
+      raddr++;
+    }
+  }
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/upycc_connect_neek.c b/grlib-gpl-1.0.22-b4095/software/leon3/upycc_connect_neek.c
new file mode 100644 (file)
index 0000000..7c0b241
--- /dev/null
@@ -0,0 +1,70 @@
+#include "testmod.h"
+#include <stdio.h>
+
+// You must set the following AHB address according to your system
+// This sample address is for NEEK
+#define HSADDR 0xb0000000
+#define HPADDR 0x80000700
+#define IOADDR 0x80000500
+
+static unsigned int indata[9][1024] =
+  {{0x31,0x31,0x30,0x30,0x2F,0x2E,0x2D,0x2D,0x33,0x33,0x32,0x32,0x31,0x30,0x2F,0x2F,0x36,0x36,0x35,0x35,0x34,0x33,0x32,0x32,0x39,0x39,0x38,0x37,0x36,0x36,0x35,0x35,0x3B,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x3A,0x3A,0x41,0x41,0x40,0x3F,0x3F,0x3E,0x3D,0x3D,0x43,0x43,0x42,0x41,0x41,0x40,0x3F,0x3F,0x2E,0x2E,0x2E,0x2E,0x2D,0x2C,0x2B,0x2B,0x30,0x30,0x30,0x2F,0x2F,0x2E,0x2D,0x2D,0x32,0x32,0x32,0x32,0x32,0x31,0x30,0x2F,0x35,0x35,0x35,0x35,0x34,0x33,0x32,0x32,0x37,0x37,0x37,0x37,0x36,0x35,0x35,0x34,0x3A,0x3A,0x3A,0x39,0x39,0x38,0x37,0x37,0x3C,0x3C,0x3C,0x3C,0x3C,0x3B,0x3A,0x39,0x3E,0x3E,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x46,0x46,0x44,0x45,0x45,0x45,0x46,0x46,0x47,0x47,0x45,0x45,0x46,0x46,0x47,0x47,0x48,0x48,0x46,0x46,0x47,0x48,0x48,0x49,0x4A,0x4A,0x47,0x48,0x48,0x49,0x4A,0x4A,0x4B,0x4B,0x43,0x42,0x41,0x40,0x40,0x3F,0x3D,0x3B,0x45,0x44,0x43,0x41,0x40,0x3E,0x3D,0x3B,0x44,0x44,0x43,0x41,0x3F,0x3D,0x3D,0x3D,0x44,0x44,0x44,0x43,0x41,0x40,0x41,0x42,0x47,0x47,0x47,0x46,0x44,0x44,0x44,0x45,0x47,0x46,0x45,0x45,0x46,0x45,0x43,0x41,0x47,0x45,0x45,0x48,0x4C,0x4C,0x49,0x45,0x4A,0x48,0x49,0x4F,0x56,0x59,0x56,0x51,0x7D,0x7D,0x7F,0x80,0x81,0x82,0x82,0x82,0x7D,0x7D,0x7E,0x7F,0x80,0x80,0x80,0x80,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7E,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x7A,0x7B,0x7C,0x7B,0x79,0x78,0x78,0x79,0x7B,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x7A,0x7D,0x7F,0x7B,0x7A,0x78,0x77,0x78,0x7B,0x7E,0x80,0x85,0x85,0x84,0x83,0x81,0x80,0x7F,0x7F,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x82,0x83,0x83,0x84,0x84,0x85,0x85,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x2E,0x2E,0x2E,0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x31,0x32,0x32,0x32,0x33,0x31,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x34,0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,0x36,0x36,0x36,0x35,0x35,0x35,0x35,0x35,0x38,0x38,0x37,0x37,0x36,0x36,0x35,0x35,0x3D,0x3D,0x3C,0x3D,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3C,0x3D,0x3D,0x3D,0x3C,0x3C,0x3C,0x3D,0x3E,0x3F,0x3F,0x3E,0x3D,0x3C,0x3C,0x3D,0x42,0x42,0x41,0x40,0x3F,0x3D,0x3D,0x3D,0x46,0x44,0x42,0x41,0x41,0x40,0x3E,0x3C,0x49,0x45,0x42,0x41,0x42,0x42,0x3E,0x3B,0x4A,0x45,0x41,0x41,0x43,0x43,0x3E,0x3A,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x35,0x39,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x3A,0x3A,0x39,0x39,0x38,0x37,0x36,0x36,0x3B,0x3B,0x3A,0x3A,0x39,0x38,0x37,0x37,0x3C,0x3B,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3C,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x82,0x82,0x81,0x80,0x80,0x7F,0x7E,0x7E,0x80,0x80,0x80,0x7F,0x7F,0x7E,0x7E,0x7D,0x7E,0x7E,0x7E,0x7D,0x7D,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7C,0x7C,0x7C,0x7C,0x7C,0x79,0x79,0x7A,0x7A,0x7B,0x7B,0x7C,0x7C,0x78,0x78,0x79,0x7A,0x7B,0x7C,0x7C,0x7D,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x77,0x78,0x79,0x7A,0x7C,0x7D,0x7E,0x7F,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x80,0x84,0x84,0x83,0x83,0x82,0x81,0x81,0x81,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x85,0x85,0x84,0x84,0x83,0x82,0x82,0x82,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x82,0x86,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x84,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x30,0x30,0x30,0x30,0x30,0x2F,0x2F,0x2F,0x33,0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x33,0x34,0x34,0x34,0x35,0x36,0x36,0x36,0x33,0x34,0x35,0x36,0x37,0x39,0x3A,0x3A,0x33,0x34,0x35,0x37,0x39,0x3A,0x3B,0x3C,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x30,0x31,0x31,0x33,0x34,0x35,0x36,0x36,0x32,0x33,0x33,0x35,0x36,0x37,0x38,0x38,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x3F,0x3F,0x3B,0x3B,0x3C,0x3D,0x3E,0x40,0x40,0x41,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x3E,0x3E,0x3F,0x40,0x41,0x43,0x43,0x44,0x34,0x34,0x35,0x36,0x37,0x39,0x3B,0x3C,0x36,0x36,0x37,0x37,0x39,0x3B,0x3D,0x3E,0x37,0x37,0x37,0x38,0x3A,0x3C,0x3D,0x3F,0x37,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3E,0x38,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3D,0x39,0x39,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3D,0x3E,0x38,0x37,0x37,0x37,0x38,0x3A,0x3B,0x3C,0x3C,0x3D,0x3F,0x40,0x42,0x43,0x43,0x43,0x3D,0x3E,0x40,0x41,0x42,0x43,0x43,0x42,0x3F,0x3F,0x41,0x42,0x43,0x43,0x42,0x42,0x40,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x40,0x40,0x42,0x43,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x42,0x43,0x43,0x42,0x42},
+{0x81,0x80,0x7F,0x7E,0x7D,0x7B,0x7A,0x7A,0x80,0x7F,0x7E,0x7D,0x7C,0x7A,0x79,0x79,0x7E,0x7E,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7D,0x7C,0x7B,0x7A,0x79,0x77,0x76,0x76,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x87,0x87,0x82,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x88,0x83,0x83,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x37,0x38,0x39,0x39,0x38,0x37,0x35,0x34,0x39,0x3A,0x3A,0x3A,0x3A,0x38,0x37,0x36,0x3C,0x3C,0x3D,0x3D,0x3C,0x3A,0x39,0x38,0x3E,0x3F,0x3E,0x3E,0x3D,0x3C,0x3A,0x3A,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x43,0x43,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x45,0x44,0x42,0x41,0x3F,0x3E,0x3E,0x3D,0x34,0x34,0x33,0x32,0x32,0x33,0x34,0x34,0x35,0x35,0x34,0x33,0x33,0x34,0x35,0x35,0x37,0x36,0x35,0x35,0x35,0x35,0x36,0x37,0x38,0x38,0x37,0x36,0x36,0x37,0x38,0x38,0x3A,0x39,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3A,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x43,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3C,0x3C,0x3B,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x39,0x3A,0x39,0x3A,0x3D,0x3C,0x39,0x3A,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3F,0x3F,0x3E,0x3C,0x3A,0x3B,0x3E,0x3F,0x3F,0x3B,0x3C,0x3B,0x39,0x3B,0x40,0x42,0x3F,0x3A,0x3C,0x3C,0x3B,0x3D,0x40,0x41,0x3F,0x3B,0x3A,0x3A,0x3B,0x3B,0x3A,0x3C,0x3F,0x3D,0x38,0x38,0x3C,0x3B,0x37,0x3E,0x49,0x41,0x3A,0x3A,0x41,0x40,0x3C,0x47,0x59,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7C,0x7D,0x7A,0x7A,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x78,0x79,0x79,0x7A,0x7B,0x7C,0x7D,0x7D,0x76,0x77,0x79,0x7A,0x7B,0x7C,0x7C,0x7C,0x76,0x77,0x79,0x7A,0x7B,0x7B,0x7B,0x7A,0x76,0x77,0x79,0x7B,0x7B,0x7A,0x79,0x77,0x77,0x78,0x7A,0x7B,0x7B,0x79,0x76,0x74,0x77,0x79,0x7B,0x7B,0x7A,0x78,0x75,0x73,0x84,0x84,0x85,0x86,0x86,0x86,0x86,0x86,0x85,0x85,0x86,0x86,0x86,0x86,0x85,0x85,0x87,0x87,0x87,0x86,0x85,0x85,0x84,0x84,0x8A,0x89,0x87,0x86,0x85,0x84,0x84,0x84,0x8B,0x89,0x87,0x85,0x84,0x84,0x85,0x85,0x8B,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8A,0x88,0x86,0x84,0x84,0x86,0x88,0x8A,0x89,0x88,0x85,0x84,0x84,0x86,0x89,0x8B,0x38,0x35,0x38,0x39,0x35,0x35,0x35,0x31,0x36,0x34,0x36,0x37,0x35,0x36,0x38,0x35,0x3A,0x39,0x38,0x37,0x36,0x36,0x36,0x36,0x3A,0x3C,0x3B,0x3A,0x3C,0x3A,0x38,0x3A,0x35,0x3B,0x3A,0x3B,0x41,0x40,0x3C,0x40,0x37,0x3F,0x3C,0x3B,0x43,0x40,0x3A,0x40,0x3B,0x44,0x3D,0x3A,0x44,0x42,0x3D,0x47,0x37,0x40,0x3A,0x38,0x48,0x4A,0x49,0x57,0x33,0x32,0x33,0x35,0x38,0x3D,0x42,0x45,0x35,0x34,0x34,0x34,0x36,0x39,0x3C,0x3E,0x39,0x39,0x38,0x38,0x39,0x3A,0x3B,0x3C,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3B,0x3C,0x3C,0x3C,0x3D,0x3D,0x3E,0x3F,0x40,0x3D,0x3C,0x3C,0x3C,0x3C,0x3E,0x3F,0x40,0x3F,0x3F,0x3E,0x3F,0x41,0x43,0x46,0x48,0x58,0x58,0x58,0x5A,0x5D,0x62,0x67,0x6A,0x49,0x3E,0x40,0x55,0x6C,0x7A,0x7E,0x7D,0x3B,0x37,0x54,0x79,0x81,0x84,0x7F,0x6C,0x41,0x42,0x6A,0x87,0x7A,0x74,0x70,0x54,0x4C,0x5C,0x7A,0x80,0x6B,0x67,0x66,0x54,0x44,0x68,0x78,0x6B,0x60,0x5F,0x5C,0x59,0x58,0x75,0x70,0x58,0x54,0x54,0x51,0x57,0x79,0x77,0x66,0x57,0x55,0x55,0x55,0x5B,0x6F,0x55,0x4C,0x54,0x56,0x56,0x59,0x57,0x58,0x5E,0x63,0x65,0x6D,0x75,0x75,0x6F,0x51,0x53,0x55,0x57,0x61,0x6C,0x6E,0x68,0x56,0x55,0x53,0x55,0x60,0x6B,0x6E,0x69,0x54,0x53,0x51,0x51,0x57,0x5F,0x61,0x5F,0x54,0x56,0x57,0x56,0x55,0x55,0x56,0x56,0x5A,0x5E,0x61,0x60,0x5C,0x58,0x57,0x57,0x56,0x59,0x5D,0x5F,0x5C,0x58,0x56,0x56,0x56,0x58,0x5B,0x5F,0x60,0x5D,0x5B,0x5A,0x7A,0x7B,0x7C,0x7D,0x7D,0x7B,0x79,0x78,0x7B,0x7B,0x7C,0x7C,0x7B,0x79,0x77,0x76,0x7B,0x7B,0x7B,0x7A,0x78,0x76,0x74,0x73,0x7A,0x79,0x78,0x76,0x74,0x71,0x6F,0x6E,0x77,0x75,0x73,0x71,0x6E,0x6C,0x6B,0x6A,0x72,0x71,0x6E,0x6B,0x69,0x67,0x67,0x66,0x6D,0x6C,0x69,0x66,0x64,0x64,0x64,0x64,0x6A,0x69,0x66,0x64,0x62,0x62,0x62,0x62,0x84,0x90,0x98,0x91,0x83,0x82,0x92,0xA3,0x91,0x95,0x97,0x92,0x8A,0x87,0x8D,0x94,0x85,0x87,0x88,0x8A,0x8A,0x8A,0x89,0x88,0x7B,0x84,0x8F,0x96,0x98,0x9A,0x9C,0x9F,0x91,0xA3,0xB6,0xBA,0xB3,0xB0,0xB8,0xC2,0xA8,0xBB,0xCB,0xC9,0xB9,0xB0,0xB7,0xC3,0xAE,0xB8,0xC2,0xBF,0xB4,0xAD,0xB0,0xB6,0xB1,0xB4,0xB8,0xBA,0xBB,0xBA,0xBB,0xBB,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x46,0x47,0x47,0x49,0x4A,0x4A,0x4B,0x4B,0x45,0x46,0x48,0x4A,0x4C,0x4C,0x4C,0x4B,0x44,0x46,0x49,0x4C,0x4D,0x4D,0x4C,0x4C,0x43,0x45,0x49,0x4C,0x4E,0x4E,0x4D,0x4C,0x43,0x45,0x48,0x4C,0x4E,0x4E,0x4E,0x4D,0x42,0x44,0x47,0x4B,0x4D,0x4E,0x4E,0x4E,0x42,0x44,0x47,0x4A,0x4C,0x4E,0x4E,0x4E,0x47,0x4C,0x54,0x5E,0x6B,0x74,0x71,0x6A,0x4A,0x52,0x5E,0x6C,0x7B,0x85,0x85,0x80,0x4B,0x56,0x67,0x79,0x8A,0x95,0x97,0x95,0x4B,0x58,0x6D,0x82,0x92,0x9D,0xA2,0xA2,0x4E,0x5B,0x71,0x88,0x9A,0xA5,0xAC,0xAF,0x4E,0x59,0x6F,0x88,0x9C,0xA9,0xB1,0xB7,0x4C,0x55,0x68,0x82,0x97,0xA6,0xB0,0xB6,0x4E,0x54,0x66,0x7E,0x94,0xA2,0xAD,0xB4},
+{0x3F,0x41,0x45,0x47,0x49,0x4A,0x4C,0x4D,0x3F,0x41,0x44,0x47,0x48,0x49,0x4B,0x4C,0x3F,0x41,0x44,0x46,0x47,0x48,0x49,0x4A,0x3F,0x41,0x44,0x46,0x46,0x47,0x48,0x49,0x40,0x42,0x45,0x46,0x47,0x47,0x48,0x49,0x41,0x43,0x45,0x47,0x48,0x48,0x49,0x4A,0x42,0x44,0x46,0x48,0x49,0x4A,0x4B,0x4C,0x42,0x44,0x47,0x49,0x4A,0x4B,0x4C,0x4D,0x4D,0x52,0x63,0x7B,0x8F,0x9D,0xA9,0xB2,0x50,0x52,0x5F,0x76,0x8B,0x9A,0xA6,0xAF,0x52,0x51,0x5A,0x6F,0x86,0x96,0xA2,0xAA,0x51,0x4E,0x56,0x6B,0x84,0x95,0xA1,0xA8,0x4D,0x4B,0x54,0x6B,0x85,0x97,0xA1,0xA7,0x4C,0x4A,0x55,0x6D,0x86,0x97,0xA0,0xA6,0x4F,0x4E,0x57,0x6D,0x84,0x94,0x9E,0xA4,0x52,0x51,0x59,0x6D,0x81,0x90,0x9B,0xA3,0x77,0x74,0x73,0x74,0x7A,0x83,0x8E,0x94,0x79,0x77,0x76,0x78,0x7F,0x89,0x94,0x9B,0x7B,0x7A,0x79,0x7B,0x84,0x90,0x9D,0xA4,0x7B,0x79,0x78,0x7C,0x85,0x93,0xA0,0xA9,0x78,0x76,0x75,0x78,0x82,0x90,0x9F,0xA8,0x78,0x75,0x73,0x75,0x7E,0x8C,0x9B,0xA4,0x7A,0x77,0x74,0x75,0x7C,0x8A,0x98,0xA2,0x7D,0x79,0x75,0x75,0x7C,0x89,0x97,0xA1,0x82,0x83,0x84,0x85,0x83,0x80,0x7D,0x7B,0x83,0x84,0x85,0x85,0x83,0x80,0x7C,0x79,0x85,0x86,0x87,0x86,0x83,0x7F,0x7A,0x77,0x85,0x87,0x88,0x87,0x84,0x7E,0x78,0x75,0x85,0x87,0x88,0x88,0x84,0x7E,0x78,0x73,0x84,0x86,0x88,0x89,0x85,0x7F,0x78,0x73,0x83,0x85,0x88,0x89,0x86,0x80,0x78,0x74,0x81,0x84,0x88,0x89,0x86,0x80,0x79,0x74,0x5F,0x56,0x4B,0x42,0x3F,0x3F,0x3E,0x3D,0x79,0x70,0x63,0x58,0x51,0x4B,0x44,0x3E,0x94,0x8B,0x7F,0x75,0x6C,0x62,0x55,0x4C,0xA2,0x9B,0x92,0x8C,0x87,0x7E,0x72,0x68,0xAC,0xA7,0xA0,0x9D,0x9C,0x97,0x8F,0x88,0xB7,0xB3,0xAF,0xAD,0xAB,0xA9,0xA4,0x9F,0xBC,0xBB,0xB9,0xB8,0xB7,0xB5,0xB2,0xB0,0xBA,0xBB,0xBC,0xBD,0xBD,0xBC,0xBB,0xBB,0x3E,0x3B,0x38,0x38,0x39,0x3A,0x3A,0x39,0x40,0x3D,0x39,0x38,0x38,0x39,0x38,0x37,0x49,0x43,0x3D,0x38,0x37,0x36,0x35,0x33,0x5F,0x57,0x4C,0x42,0x3D,0x3A,0x38,0x37,0x80,0x75,0x65,0x57,0x4D,0x48,0x44,0x42,0x99,0x8E,0x7D,0x6D,0x61,0x58,0x52,0x4E,0xA7,0x9E,0x91,0x82,0x76,0x6A,0x60,0x5A,0xB0,0xAA,0x9F,0x93,0x87,0x7A,0x6E,0x66,0xBA,0xBB,0xBC,0xBE,0xC0,0xC0,0xC1,0xC1,0xB8,0xB9,0xBB,0xBD,0xBE,0xBE,0xBE,0xBE,0xB5,0xB6,0xB8,0xBB,0xBC,0xBB,0xBB,0xBA,0xB2,0xB3,0xB6,0xB8,0xB9,0xB9,0xB8,0xB7,0xAF,0xB1,0xB3,0xB5,0xB6,0xB6,0xB6,0xB5,0xAC,0xAD,0xAF,0xB1,0xB3,0xB4,0xB4,0xB4,0xAA,0xAA,0xAB,0xAD,0xAF,0xB1,0xB2,0xB3,0xA8,0xA8,0xA9,0xAA,0xAC,0xAF,0xB1,0xB3,0xBA,0xB4,0xAB,0xA2,0x97,0x8A,0x7E,0x75,0xB9,0xB4,0xAD,0xA6,0x9E,0x94,0x8A,0x83,0xB7,0xB4,0xAF,0xAA,0xA5,0x9F,0x97,0x92,0xB5,0xB2,0xAE,0xAB,0xA9,0xA5,0xA0,0x9C,0xB4,0xB1,0xAE,0xAD,0xAD,0xAC,0xA9,0xA7,0xB3,0xB1,0xAF,0xAF,0xB2,0xB3,0xB2,0xB0,0xB2,0xB0,0xAE,0xAE,0xB1,0xB2,0xB2,0xB1,0xB2,0xAF,0xAC,0xAB,0xAC,0xAD,0xAD,0xAB,0x8D,0x8C,0x89,0x85,0x81,0x7D,0x7A,0x78,0x99,0x97,0x93,0x8F,0x89,0x84,0x80,0x7E,0xA6,0xA4,0xA0,0x9B,0x95,0x90,0x8C,0x8A,0xAA,0xA9,0xA6,0xA3,0x9F,0x9C,0x99,0x98,0xA6,0xA6,0xA6,0xA5,0xA5,0xA4,0xA4,0xA4,0xA4,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA8,0xA8,0xA7,0xA6,0xA6,0xA5,0xA5,0xAF,0xAE,0xAC,0xA9,0xA6,0xA4,0xA2,0xA1,0x7E,0x80,0x82,0x83,0x84,0x83,0x82,0x81,0x7C,0x7D,0x7F,0x81,0x82,0x82,0x81,0x80,0x78,0x79,0x7B,0x7D,0x7E,0x7F,0x7F,0x7F,0x75,0x76,0x78,0x79,0x7B,0x7C,0x7D,0x7D,0x75,0x75,0x76,0x77,0x78,0x7A,0x7B,0x7B,0x77,0x77,0x76,0x76,0x77,0x78,0x79,0x7A,0x7A,0x79,0x78,0x77,0x77,0x77,0x79,0x7A,0x7C,0x7B,0x79,0x77,0x77,0x77,0x78,0x79,0x34,0x35,0x36,0x38,0x3A,0x3B,0x3B,0x3B,0x37,0x38,0x3A,0x3B,0x3D,0x3D,0x3C,0x3B,0x35,0x36,0x38,0x3A,0x3B,0x3C,0x3B,0x3B,0x35,0x35,0x36,0x37,0x38,0x3A,0x3C,0x3E,0x3F,0x3E,0x3C,0x3A,0x38,0x3A,0x3D,0x41,0x4D,0x4B,0x47,0x40,0x3B,0x39,0x3B,0x3E,0x59,0x58,0x53,0x4B,0x42,0x3D,0x3C,0x3D,0x62,0x61,0x5E,0x56,0x4D,0x45,0x43,0x42,0x3C,0x3F,0x42,0x44,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x41,0x40,0x3F,0x40,0x41,0x41,0x41,0x40,0x3F,0x3F,0x3F,0x41,0x42,0x43,0x42,0x41,0x3E,0x3F,0x40,0x42,0x43,0x42,0x41,0x40,0x3F,0x40,0x42,0x42,0x41,0x40,0x40,0x40,0x3F,0x41,0x43,0x42,0x40,0x41,0x45,0x49,0x3E,0x41,0x43,0x42,0x41,0x44,0x4D,0x55,0x6D,0x69,0x64,0x5F,0x58,0x4E,0x46,0x41,0x77,0x70,0x68,0x61,0x5B,0x53,0x49,0x43,0x88,0x80,0x74,0x6B,0x66,0x5E,0x54,0x4C,0x99,0x92,0x88,0x7E,0x79,0x73,0x6B,0x64,0xA2,0xA0,0x9A,0x93,0x8F,0x8D,0x87,0x80,0xA5,0xA6,0xA3,0xA0,0xA0,0x9F,0x98,0x8E,0xAA,0xA9,0xA5,0xA3,0xA6,0xA4,0x95,0x84,0xB0,0xAB,0xA4,0xA2,0xA5,0xA1,0x8B,0x73,0x36,0x3F,0x45,0x44,0x42,0x4A,0x5F,0x71,0x3A,0x3F,0x45,0x4B,0x51,0x5D,0x6D,0x79,0x4D,0x4C,0x50,0x59,0x66,0x72,0x79,0x7B,0x6B,0x66,0x63,0x69,0x73,0x7A,0x79,0x76,0x7D,0x77,0x72,0x72,0x75,0x77,0x74,0x71,0x7B,0x78,0x74,0x72,0x72,0x72,0x71,0x70,0x71,0x71,0x71,0x71,0x70,0x70,0x70,0x70,0x6D,0x6E,0x6F,0x70,0x71,0x70,0x6F,0x6E,0x77,0x78,0x79,0x7A,0x7A,0x78,0x75,0x74,0x81,0x7E,0x79,0x75,0x74,0x76,0x79,0x7B,0x8E,0x87,0x7D,0x75,0x72,0x76,0x7D,0x82,0x96,0x90,0x87,0x7F,0x7B,0x7B,0x7E,0x81,0x9A,0x98,0x93,0x8D,0x87,0x80,0x7B,0x78,0x9E,0x9C,0x98,0x92,0x88,0x7D,0x74,0x6E,0xA4,0x9F,0x95,0x88,0x7C,0x73,0x6C,0x69,0xAA,0xA0,0x8F,0x7D,0x70,0x69,0x67,0x67,0x7F,0x81,0x84,0x87,0x88,0x88,0x87,0x86,0x86,0x84,0x82,0x81,0x81,0x83,0x86,0x87,0x84,0x83,0x82,0x81,0x81,0x81,0x81,0x82,0x7C,0x7E,0x81,0x84,0x85,0x83,0x81,0x80,0x7D,0x7C,0x7C,0x7D,0x82,0x8A,0x91,0x96,0x84,0x7F,0x79,0x7A,0x85,0x99,0xAF,0xBD,0x7B,0x7D,0x82,0x8D,0x9F,0xB5,0xC8,0xD4,0x69,0x77,0x8F,0xA9,0xBF,0xCD,0xD4,0xD7},
+{0x37,0x3B,0x3C,0x3A,0x3A,0x3A,0x38,0x33,0x3F,0x3F,0x3F,0x3D,0x3C,0x3D,0x3C,0x3B,0x44,0x40,0x3C,0x3B,0x39,0x37,0x38,0x3A,0x43,0x3E,0x3B,0x3B,0x38,0x34,0x34,0x37,0x40,0x40,0x43,0x47,0x48,0x46,0x45,0x45,0x43,0x4B,0x54,0x5C,0x61,0x64,0x62,0x5E,0x55,0x62,0x6E,0x73,0x78,0x7D,0x78,0x6F,0x6A,0x7A,0x84,0x84,0x86,0x8A,0x83,0x75,0x3A,0x39,0x3A,0x3A,0x3A,0x3F,0x51,0x63,0x3B,0x3C,0x3C,0x3A,0x3F,0x4A,0x58,0x60,0x38,0x3A,0x39,0x3A,0x46,0x57,0x5D,0x5A,0x38,0x35,0x36,0x40,0x51,0x5D,0x5C,0x55,0x45,0x3C,0x3E,0x4F,0x5E,0x5E,0x57,0x52,0x5C,0x52,0x53,0x61,0x67,0x5D,0x54,0x54,0x6D,0x68,0x67,0x6A,0x67,0x5C,0x57,0x58,0x72,0x73,0x71,0x6B,0x62,0x5B,0x5A,0x5C,0x83,0x8E,0x94,0x94,0x8D,0x88,0x85,0x74,0x86,0x8C,0x8E,0x8A,0x82,0x7C,0x76,0x67,0x80,0x82,0x81,0x7A,0x74,0x6F,0x66,0x5D,0x74,0x74,0x75,0x70,0x6F,0x6D,0x62,0x61,0x70,0x70,0x73,0x6E,0x71,0x70,0x62,0x69,0x70,0x6E,0x73,0x6B,0x6F,0x6D,0x5C,0x6C,0x6F,0x6C,0x71,0x67,0x6B,0x69,0x59,0x72,0x6F,0x6C,0x71,0x66,0x6C,0x6C,0x5E,0x7D,0x6E,0x73,0x71,0x66,0x5E,0x5E,0x5F,0x5D,0x64,0x71,0x74,0x68,0x62,0x65,0x63,0x5B,0x66,0x74,0x77,0x6A,0x65,0x6D,0x6A,0x5D,0x75,0x78,0x72,0x67,0x66,0x6D,0x6A,0x60,0x7F,0x74,0x69,0x66,0x69,0x6A,0x67,0x62,0x7F,0x72,0x6A,0x6E,0x72,0x6E,0x68,0x66,0x79,0x73,0x70,0x72,0x72,0x6E,0x6A,0x69,0x72,0x75,0x73,0x6D,0x69,0x69,0x68,0x67,0x76,0x78,0x79,0x7A,0x79,0x76,0x73,0x71,0x7F,0x80,0x80,0x7F,0x7C,0x78,0x73,0x71,0x8A,0x89,0x87,0x83,0x7D,0x77,0x71,0x6E,0x8D,0x8B,0x87,0x81,0x7A,0x72,0x6C,0x68,0x85,0x82,0x7E,0x78,0x72,0x6B,0x65,0x62,0x76,0x74,0x71,0x6E,0x69,0x65,0x62,0x60,0x68,0x67,0x66,0x65,0x64,0x64,0x63,0x63,0x60,0x60,0x60,0x61,0x62,0x64,0x66,0x66,0x85,0x83,0x7F,0x7E,0x83,0x91,0xA3,0xB0,0x92,0x8B,0x83,0x7E,0x82,0x92,0xA6,0xB4,0x80,0x7F,0x7D,0x7F,0x87,0x95,0xA3,0xAC,0x75,0x7C,0x89,0x99,0xA6,0xAD,0xAE,0xAD,0x9C,0xA2,0xAD,0xBC,0xC7,0xCA,0xC5,0xBE,0xCC,0xC6,0xC1,0xC2,0xC8,0xCC,0xC9,0xC4,0xD5,0xCB,0xC1,0xBF,0xC6,0xCA,0xC8,0xC4,0xCD,0xC7,0xC5,0xCC,0xD7,0xDC,0xD7,0xD0,0x57,0x52,0x51,0x57,0x5A,0x56,0x54,0x56,0x5A,0x57,0x57,0x5B,0x5A,0x55,0x54,0x58,0x5C,0x5C,0x5E,0x60,0x5D,0x58,0x59,0x5D,0x5B,0x5A,0x5D,0x5F,0x5F,0x5C,0x5C,0x60,0x5B,0x59,0x5A,0x5D,0x5F,0x5E,0x5D,0x5C,0x60,0x5E,0x5D,0x5F,0x61,0x61,0x5F,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x60,0x5F,0x5D,0x54,0x58,0x5B,0x5A,0x59,0x5A,0x5B,0x5C,0x56,0x59,0x5E,0x61,0x61,0x61,0x60,0x60,0x58,0x5B,0x5F,0x62,0x63,0x64,0x64,0x65,0x57,0x5A,0x5D,0x60,0x62,0x63,0x65,0x67,0x58,0x5A,0x5D,0x5F,0x60,0x63,0x65,0x67,0x5C,0x5D,0x5F,0x61,0x62,0x64,0x67,0x69,0x5C,0x5E,0x60,0x62,0x63,0x65,0x67,0x69,0x5A,0x5D,0x60,0x62,0x64,0x66,0x68,0x6A,0x5C,0x5F,0x63,0x66,0x68,0x6A,0x6C,0x6E,0x61,0x5C,0x5B,0x5E,0x60,0x60,0x61,0x64,0x58,0x56,0x56,0x59,0x5B,0x5E,0x61,0x63,0x5E,0x61,0x62,0x62,0x65,0x6A,0x6E,0x6F,0x66,0x6A,0x6B,0x69,0x6A,0x6E,0x71,0x70,0x62,0x64,0x64,0x62,0x61,0x61,0x60,0x5E,0x69,0x66,0x65,0x67,0x65,0x60,0x5B,0x59,0x71,0x6A,0x6A,0x71,0x71,0x68,0x60,0x5F,0x6C,0x62,0x62,0x6E,0x71,0x65,0x5C,0x5C,0x5E,0x62,0x67,0x6C,0x6F,0x6F,0x6D,0x6C,0x6C,0x6D,0x6D,0x6D,0x6C,0x6A,0x68,0x66,0x70,0x6F,0x6C,0x68,0x66,0x64,0x62,0x62,0x68,0x67,0x65,0x63,0x63,0x63,0x64,0x65,0x61,0x61,0x62,0x63,0x64,0x66,0x68,0x69,0x5E,0x5F,0x60,0x61,0x62,0x64,0x64,0x65,0x5D,0x5D,0x5E,0x5E,0x60,0x62,0x63,0x64,0x5E,0x5E,0x5E,0x5F,0x61,0x65,0x69,0x6B,0x66,0x66,0x66,0x65,0x64,0x64,0x63,0x63,0x66,0x65,0x65,0x64,0x63,0x63,0x62,0x62,0x64,0x64,0x64,0x63,0x62,0x62,0x61,0x61,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x63,0x63,0x62,0x62,0x61,0x60,0x60,0x60,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0x61,0x65,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0xB8,0xB6,0xB3,0xB3,0xB6,0xBC,0xC3,0xC8,0xB8,0xB7,0xB6,0xB7,0xBB,0xC0,0xC6,0xC9,0xB7,0xB8,0xBB,0xBE,0xC2,0xC6,0xCA,0xCC,0xB8,0xBB,0xBF,0xC4,0xC8,0xCC,0xCE,0xCF,0xBB,0xBE,0xC2,0xC7,0xCC,0xCF,0xD1,0xD2,0xC0,0xC1,0xC3,0xC7,0xCB,0xCF,0xD3,0xD5,0xC5,0xC4,0xC3,0xC4,0xC8,0xCD,0xD3,0xD6,0xC8,0xC6,0xC3,0xC2,0xC5,0xCC,0xD3,0xD7,0x45,0x46,0x47,0x49,0x4A,0x4B,0x4B,0x4B,0x47,0x47,0x48,0x4A,0x4B,0x4C,0x4C,0x4C,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4E,0x4A,0x4A,0x4B,0x4D,0x4D,0x4E,0x4E,0x4E,0x4B,0x4B,0x4C,0x4D,0x4E,0x4E,0x4E,0x4E,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x4F,0x4F,0x4E,0x4E,0x4F,0x50,0x50,0x50,0x50,0x50,0x4F,0x50,0x50,0x51,0x52,0x52,0x52,0x51,0x4F,0x4F,0x57,0x6A,0x7F,0x8E,0x97,0x9B,0x4E,0x4F,0x59,0x6A,0x7D,0x8B,0x94,0x98,0x4C,0x4F,0x59,0x68,0x78,0x84,0x8D,0x93,0x4D,0x4F,0x56,0x62,0x6E,0x78,0x82,0x8A,0x4F,0x4F,0x53,0x5A,0x62,0x6B,0x76,0x7F,0x51,0x4F,0x50,0x54,0x59,0x60,0x69,0x70,0x52,0x4F,0x4E,0x52,0x55,0x59,0x5E,0x63,0x52,0x4F,0x4F,0x52,0x55,0x56,0x58,0x5A,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x53,0x52,0x51,0x51,0x52,0x54,0x57,0x59,0x54,0x53,0x52,0x51,0x51,0x52,0x53,0x54,0x52,0x52,0x51,0x51,0x51,0x51,0x52,0x52,0x4F,0x50,0x51,0x52,0x53,0x53,0x53,0x53,0x51,0x51,0x52,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x54,0x53,0x53,0x52,0x56,0x55,0x55,0x54,0x54,0x53,0x53,0x53,0x54,0x53,0x53,0x53,0x53,0x54,0x55,0x55},
+{0x79,0x76,0x75,0x76,0x7D,0x88,0x94,0x9B,0x79,0x77,0x74,0x75,0x7B,0x85,0x90,0x97,0x79,0x77,0x74,0x74,0x79,0x81,0x89,0x8F,0x78,0x76,0x74,0x73,0x76,0x7C,0x82,0x86,0x78,0x76,0x74,0x73,0x74,0x78,0x7C,0x7E,0x77,0x75,0x74,0x73,0x73,0x75,0x77,0x79,0x76,0x75,0x74,0x73,0x73,0x74,0x75,0x76,0x75,0x74,0x74,0x73,0x73,0x74,0x74,0x75,0x82,0x84,0x87,0x87,0x85,0x80,0x7B,0x77,0x84,0x85,0x87,0x88,0x86,0x82,0x7D,0x79,0x86,0x87,0x89,0x89,0x87,0x84,0x80,0x7D,0x88,0x89,0x8A,0x8A,0x88,0x86,0x84,0x82,0x8B,0x8A,0x8A,0x8A,0x89,0x88,0x87,0x86,0x8C,0x8B,0x8A,0x89,0x89,0x89,0x89,0x8A,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8C,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8D,0x9F,0xA0,0xA1,0xA4,0xA7,0xAA,0xAC,0xAE,0x9B,0x9C,0x9E,0xA1,0xA4,0xA6,0xA8,0xA9,0x94,0x95,0x98,0x9B,0x9D,0x9F,0x9F,0xA0,0x8C,0x8D,0x90,0x93,0x95,0x95,0x96,0x95,0x83,0x85,0x88,0x8B,0x8D,0x8F,0x8F,0x8F,0x79,0x7C,0x7F,0x83,0x87,0x8B,0x8D,0x8E,0x6D,0x6F,0x74,0x7A,0x80,0x86,0x8B,0x8D,0x62,0x65,0x6B,0x72,0x7B,0x83,0x89,0x8D,0xAF,0xAC,0xA9,0xA8,0xA7,0xA5,0xA2,0xA1,0xAB,0xA7,0xA4,0xA2,0x9F,0x9D,0x9A,0x99,0xA3,0xA0,0x9B,0x95,0x90,0x8C,0x89,0x87,0x99,0x96,0x8F,0x86,0x7E,0x7A,0x76,0x72,0x8E,0x8C,0x84,0x7B,0x76,0x73,0x6D,0x68,0x88,0x86,0x7F,0x78,0x78,0x78,0x72,0x69,0x89,0x87,0x80,0x7B,0x7E,0x81,0x79,0x6E,0x8D,0x8A,0x83,0x7F,0x83,0x86,0x7C,0x6E,0x59,0x5E,0x65,0x6B,0x74,0x7F,0x87,0x89,0x57,0x5B,0x60,0x67,0x71,0x7D,0x84,0x85,0x55,0x57,0x5A,0x61,0x6D,0x79,0x7F,0x7F,0x54,0x54,0x55,0x5C,0x6A,0x76,0x7B,0x7A,0x55,0x54,0x54,0x5B,0x68,0x76,0x7B,0x7A,0x56,0x55,0x55,0x5C,0x6B,0x79,0x80,0x7F,0x55,0x56,0x58,0x5F,0x6E,0x7E,0x87,0x88,0x54,0x56,0x59,0x62,0x71,0x82,0x8D,0x8F,0x90,0x8F,0x87,0x80,0x87,0x8F,0x87,0x75,0x8E,0x94,0x94,0x91,0x93,0x94,0x87,0x73,0x89,0x96,0x9F,0x9E,0x9A,0x94,0x84,0x72,0x83,0x94,0xA0,0x9F,0x98,0x8F,0x81,0x74,0x80,0x90,0x9D,0x9D,0x97,0x8F,0x83,0x78,0x84,0x90,0x9B,0x9D,0x9B,0x96,0x8B,0x80,0x91,0x94,0x97,0x98,0x9B,0x9B,0x95,0x8C,0x9C,0x98,0x91,0x8F,0x95,0x9C,0x9B,0x96,0xA4,0xA7,0xA9,0xA9,0xA6,0xA4,0xA5,0xA7,0x9A,0x9D,0xA0,0xA0,0x9D,0x9B,0x9B,0x9C,0x94,0x98,0x9D,0x9E,0x9B,0x97,0x95,0x95,0x94,0x9A,0xA1,0xA3,0x9F,0x99,0x94,0x93,0x8D,0x94,0x9C,0x9F,0x9A,0x91,0x8A,0x86,0x7F,0x87,0x91,0x93,0x8D,0x81,0x76,0x70,0x7B,0x83,0x8D,0x90,0x88,0x7A,0x6D,0x65,0x80,0x89,0x93,0x96,0x8D,0x7D,0x6E,0x66,0x78,0x77,0x75,0x74,0x76,0x79,0x7C,0x7E,0x7B,0x79,0x77,0x76,0x77,0x78,0x7B,0x7C,0x7E,0x7D,0x7B,0x7A,0x7B,0x7D,0x80,0x82,0x80,0x7F,0x7E,0x7F,0x83,0x8A,0x90,0x94,0x82,0x80,0x7F,0x82,0x8B,0x99,0xA6,0xAF,0x86,0x82,0x7F,0x81,0x8E,0xA2,0xB7,0xC5,0x8E,0x86,0x7E,0x7D,0x8A,0xA2,0xBD,0xCE,0x93,0x89,0x7D,0x7A,0x85,0x9F,0xBC,0xCF,0xA1,0xA1,0xA0,0x9E,0x99,0x8D,0x7C,0x6E,0x8C,0x8D,0x8D,0x8C,0x88,0x80,0x74,0x6B,0x7B,0x7C,0x7D,0x7D,0x7B,0x76,0x71,0x6D,0x73,0x74,0x77,0x79,0x77,0x73,0x71,0x72,0x6A,0x6C,0x71,0x75,0x75,0x71,0x71,0x74,0x61,0x62,0x69,0x71,0x74,0x72,0x73,0x78,0x5C,0x5C,0x61,0x6B,0x70,0x70,0x73,0x79,0x5A,0x58,0x5B,0x65,0x6B,0x6B,0x6F,0x76,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x62,0x5C,0x5B,0x64,0x6C,0x6D,0x6E,0x70,0x72,0x6F,0x6D,0x6E,0x6F,0x6F,0x6F,0x71,0x7A,0x7C,0x7B,0x74,0x6E,0x6D,0x6E,0x6F,0x73,0x7B,0x7D,0x75,0x6C,0x6C,0x6E,0x6E,0x6D,0x77,0x7B,0x75,0x6F,0x6F,0x70,0x6F,0x72,0x76,0x78,0x76,0x73,0x72,0x6F,0x6D,0x7F,0x79,0x76,0x77,0x78,0x75,0x70,0x6D,0x8C,0x80,0x77,0x7A,0x7E,0x7A,0x74,0x72,0x73,0x73,0x73,0x75,0x76,0x74,0x6F,0x6B,0x75,0x74,0x75,0x76,0x76,0x73,0x6D,0x68,0x75,0x75,0x75,0x76,0x76,0x71,0x6A,0x65,0x74,0x74,0x75,0x75,0x75,0x70,0x69,0x63,0x71,0x71,0x72,0x73,0x72,0x6E,0x67,0x62,0x6F,0x6E,0x6E,0x6F,0x6F,0x6B,0x66,0x61,0x6E,0x6C,0x6B,0x6B,0x6B,0x68,0x63,0x5F,0x6E,0x6C,0x6A,0x69,0x68,0x66,0x61,0x5D,0x99,0x90,0x81,0x72,0x69,0x66,0x68,0x6A,0x8D,0x85,0x78,0x6C,0x65,0x63,0x65,0x68,0x7D,0x76,0x6D,0x64,0x60,0x60,0x63,0x66,0x70,0x6C,0x66,0x61,0x5F,0x61,0x64,0x67,0x69,0x67,0x64,0x62,0x62,0x64,0x67,0x69,0x68,0x67,0x66,0x65,0x65,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x66,0x66,0x65,0x65,0x68,0x68,0x68,0x67,0x66,0x64,0x63,0x62,0x7C,0x90,0xAB,0xBF,0xC9,0xCE,0xD5,0xDA,0x8E,0xA9,0xC8,0xD5,0xD1,0xC9,0xCA,0xCF,0x9E,0xBC,0xDD,0xE6,0xDA,0xCB,0xC9,0xCE,0xAA,0xBE,0xD5,0xE0,0xDC,0xD5,0xD4,0xD7,0xC0,0xC1,0xC4,0xCC,0xD5,0xDA,0xD7,0xD3,0xDA,0xCD,0xC2,0xC4,0xCF,0xD4,0xCE,0xC4,0xDF,0xD6,0xCE,0xCD,0xD1,0xD0,0xC8,0xBF,0xD5,0xD6,0xD8,0xD9,0xD8,0xD2,0xCB,0xC5,0x6D,0x66,0x69,0x6B,0x69,0x62,0x66,0x80,0x71,0x69,0x69,0x70,0x67,0x5B,0x6A,0x81,0x75,0x6D,0x69,0x74,0x63,0x54,0x6E,0x7D,0x73,0x71,0x68,0x72,0x5F,0x54,0x74,0x71,0x70,0x72,0x68,0x6D,0x5E,0x5B,0x77,0x67,0x6C,0x6F,0x68,0x67,0x5F,0x62,0x74,0x67,0x69,0x67,0x63,0x61,0x5E,0x60,0x69,0x6F,0x66,0x5E,0x5E,0x5D,0x5C,0x5A,0x5F,0x77,0x6E,0x72,0x70,0x6B,0x6A,0x66,0x63,0x67,0x6F,0x72,0x6F,0x6C,0x6D,0x6A,0x68,0x6C,0x70,0x72,0x6F,0x6C,0x6F,0x6E,0x6C,0x6F,0x6E,0x6F,0x6A,0x69,0x6F,0x6F,0x6C,0x6E,0x67,0x66,0x61,0x62,0x6B,0x6D,0x69,0x6A,0x61,0x60,0x5A,0x5D,0x68,0x6A,0x65,0x64,0x67,0x64,0x5E,0x5F,0x6A,0x6A,0x61,0x5D,0x72,0x6E,0x65,0x65,0x6D,0x6A,0x5E,0x58},
+{0x61,0x5C,0x5A,0x5B,0x59,0x59,0x62,0x6F,0x65,0x5F,0x5C,0x5B,0x59,0x59,0x61,0x6C,0x66,0x60,0x5C,0x5A,0x58,0x58,0x5F,0x68,0x63,0x5E,0x5A,0x59,0x58,0x5A,0x60,0x67,0x5F,0x5C,0x59,0x59,0x5C,0x60,0x65,0x69,0x5E,0x5B,0x5A,0x5C,0x61,0x66,0x69,0x6B,0x5D,0x5C,0x5B,0x5E,0x63,0x68,0x69,0x68,0x5C,0x5B,0x5B,0x5D,0x63,0x67,0x66,0x63,0x6E,0x69,0x65,0x68,0x73,0x7A,0x6F,0x5A,0x6A,0x64,0x6E,0x73,0x71,0x7D,0x7C,0x60,0x73,0x6A,0x77,0x78,0x67,0x78,0x87,0x71,0x7B,0x6F,0x72,0x6E,0x60,0x6E,0x88,0x8D,0x70,0x6C,0x66,0x65,0x65,0x67,0x7A,0x98,0x65,0x69,0x63,0x66,0x6E,0x62,0x64,0x80,0x65,0x67,0x66,0x68,0x6B,0x63,0x5F,0x67,0x66,0x62,0x64,0x65,0x63,0x6A,0x6E,0x65,0x67,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x65,0x66,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x66,0x66,0x65,0x65,0x64,0x63,0x62,0x62,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x61,0x66,0x66,0x65,0x64,0x62,0x61,0x61,0x60,0x66,0x65,0x65,0x63,0x62,0x61,0x60,0x60,0xD0,0xC8,0xC2,0xC5,0xCF,0xD4,0xD0,0xCA,0xCE,0xC6,0xC0,0xC4,0xCD,0xD2,0xCE,0xC7,0xC9,0xC2,0xBD,0xC2,0xCB,0xCF,0xCA,0xC3,0xC5,0xBF,0xBB,0xC1,0xCA,0xCE,0xC8,0xC0,0xC1,0xBC,0xBA,0xC1,0xCC,0xD0,0xC9,0xC1,0xBE,0xBA,0xBB,0xC4,0xD0,0xD4,0xCD,0xC4,0xBC,0xBA,0xBC,0xC7,0xD4,0xD9,0xD2,0xC9,0xBC,0xBA,0xBD,0xC9,0xD7,0xDC,0xD5,0xCC,0x6F,0x63,0x5E,0x65,0x6D,0x6A,0x62,0x5D,0x6B,0x60,0x5C,0x63,0x69,0x67,0x61,0x5E,0x65,0x5E,0x5B,0x60,0x64,0x63,0x60,0x5F,0x62,0x5E,0x5D,0x5F,0x60,0x5F,0x5F,0x60,0x61,0x60,0x60,0x60,0x5F,0x5D,0x5E,0x60,0x61,0x62,0x62,0x62,0x60,0x5E,0x5F,0x61,0x5F,0x61,0x63,0x63,0x61,0x61,0x61,0x61,0x5D,0x60,0x63,0x63,0x62,0x62,0x62,0x62,0x5D,0x5E,0x60,0x62,0x65,0x69,0x6E,0x71,0x5F,0x61,0x63,0x65,0x67,0x6A,0x6D,0x70,0x61,0x63,0x66,0x68,0x69,0x6A,0x6C,0x6D,0x61,0x64,0x67,0x69,0x69,0x69,0x69,0x69,0x61,0x63,0x65,0x67,0x67,0x67,0x67,0x68,0x60,0x62,0x64,0x65,0x65,0x66,0x68,0x6A,0x61,0x62,0x63,0x63,0x65,0x68,0x6C,0x6F,0x63,0x63,0x63,0x63,0x65,0x69,0x6F,0x73,0x5D,0x62,0x63,0x61,0x63,0x68,0x67,0x62,0x66,0x5B,0x5B,0x68,0x6A,0x5F,0x5D,0x66,0x65,0x5D,0x5A,0x5F,0x65,0x65,0x64,0x64,0x77,0x6B,0x5D,0x59,0x5F,0x67,0x67,0x63,0x99,0x7A,0x63,0x63,0x64,0x5D,0x5D,0x67,0x96,0x84,0x72,0x68,0x63,0x61,0x64,0x68,0x74,0x80,0x7E,0x6C,0x62,0x68,0x6C,0x67,0x62,0x71,0x7D,0x79,0x69,0x5E,0x60,0x68,0x64,0x62,0x5B,0x68,0x73,0x72,0x71,0x66,0x5F,0x60,0x62,0x6B,0x72,0x71,0x6C,0x65,0x5D,0x60,0x6B,0x6E,0x6E,0x6D,0x65,0x63,0x60,0x64,0x70,0x6D,0x68,0x69,0x62,0x65,0x62,0x68,0x6E,0x69,0x65,0x67,0x68,0x6C,0x63,0x6C,0x68,0x68,0x68,0x69,0x73,0x6F,0x67,0x74,0x64,0x6C,0x6F,0x6A,0x79,0x68,0x6B,0x7C,0x64,0x72,0x75,0x69,0x79,0x5E,0x63,0x63,0x63,0x63,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x61,0x61,0x60,0x60,0x60,0x62,0x61,0x61,0x60,0x5F,0x5E,0x5D,0x5D,0x61,0x60,0x60,0x5E,0x5D,0x5C,0x5B,0x5B,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5C,0x5B,0x60,0x60,0x60,0x5F,0x5F,0x5F,0x5F,0x5E,0x60,0x60,0x60,0x61,0x61,0x62,0x62,0x62,0x60,0x60,0x61,0x62,0x63,0x64,0x64,0x65,0xC6,0xC4,0xC2,0xC2,0xC5,0xCB,0xD2,0xD6,0xC5,0xC4,0xC2,0xC3,0xC7,0xCD,0xD4,0xD8,0xC4,0xC4,0xC3,0xC5,0xC9,0xD0,0xD7,0xDB,0xC4,0xC4,0xC4,0xC7,0xCC,0xD3,0xDA,0xDE,0xC5,0xC5,0xC6,0xC9,0xCF,0xD5,0xDC,0xE0,0xC7,0xC7,0xC9,0xCC,0xD1,0xD7,0xDD,0xE0,0xC9,0xC9,0xCB,0xCE,0xD3,0xD8,0xDD,0xE0,0xCA,0xCB,0xCC,0xD0,0xD4,0xD9,0xDD,0xE0,0x4D,0x51,0x53,0x52,0x51,0x51,0x52,0x53,0x4E,0x51,0x53,0x51,0x4F,0x4F,0x50,0x51,0x4F,0x50,0x52,0x51,0x50,0x4F,0x50,0x52,0x4F,0x50,0x51,0x52,0x51,0x51,0x54,0x58,0x52,0x50,0x51,0x52,0x52,0x52,0x57,0x5D,0x56,0x52,0x51,0x52,0x53,0x54,0x5B,0x64,0x58,0x53,0x51,0x54,0x56,0x5A,0x64,0x70,0x57,0x52,0x51,0x56,0x5B,0x61,0x6E,0x7C,0x52,0x52,0x52,0x53,0x55,0x58,0x5B,0x5D,0x51,0x54,0x57,0x5B,0x5E,0x60,0x62,0x63,0x54,0x5A,0x62,0x69,0x6C,0x6D,0x6C,0x6C,0x5D,0x65,0x70,0x78,0x7B,0x79,0x77,0x75,0x6A,0x72,0x7D,0x84,0x84,0x81,0x7D,0x7B,0x75,0x7C,0x85,0x88,0x86,0x81,0x7D,0x7C,0x7C,0x81,0x86,0x86,0x81,0x7C,0x7A,0x7A,0x7E,0x82,0x84,0x82,0x7C,0x77,0x76,0x77,0x59,0x51,0x51,0x5E,0x6B,0x72,0x78,0x7E,0x54,0x55,0x5B,0x67,0x70,0x76,0x7B,0x80,0x51,0x5D,0x6A,0x73,0x78,0x7C,0x7F,0x80,0x5A,0x6A,0x78,0x7B,0x7D,0x81,0x80,0x7C,0x69,0x76,0x7F,0x7E,0x7E,0x80,0x7C,0x74,0x74,0x7C,0x7F,0x7B,0x79,0x79,0x74,0x6B,0x77,0x7B,0x7C,0x78,0x73,0x6F,0x6B,0x66,0x75,0x78,0x7A,0x76,0x6E,0x68,0x65,0x64,0x81,0x84,0x82,0x78,0x6D,0x6B,0x75,0x80,0x7F,0x7C,0x76,0x6F,0x6A,0x6E,0x77,0x80,0x7E,0x76,0x6D,0x69,0x6E,0x78,0x83,0x89,0x79,0x71,0x6A,0x6B,0x76,0x84,0x8F,0x95,0x6D,0x6B,0x6B,0x71,0x7C,0x8A,0x96,0x9D,0x68,0x6C,0x72,0x7A,0x84,0x90,0x9A,0xA1,0x6B,0x71,0x7A,0x83,0x8B,0x94,0x9C,0xA2,0x6E,0x73,0x7C,0x85,0x8D,0x95,0x9B,0x9F,0x76,0x76,0x78,0x7A,0x7C,0x7D,0x7E,0x7E,0x70,0x73,0x77,0x7D,0x82,0x86,0x8A,0x8B,0x6D,0x71,0x79,0x82,0x8C,0x94,0x99,0x9C,0x73,0x78,0x80,0x8B,0x95,0x9D,0xA3,0xA6,0x7F,0x84,0x8B,0x94,0x9C,0xA2,0xA6,0xA7,0x8A,0x8E,0x95,0x9C,0xA1,0xA5,0xA6,0xA6,0x8F,0x93,0x9A,0xA0,0xA5,0xA7,0xA7,0xA7,0x90,0x94,0x9B,0xA2,0xA7,0xA9,0xA9,0xA9,0x8A,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8B,0x89,0x86,0x83,0x82,0x82,0x83,0x84,0x8B,0x89,0x85,0x81,0x7F,0x7E,0x7E,0x7E,0x8B,0x88,0x83,0x7F,0x7B,0x79,0x79,0x79,0x88,0x85,0x81,0x7D,0x79,0x77,0x76,0x76,0x84,0x82,0x7E,0x7B,0x78,0x77,0x77,0x77,0x81,0x7F,0x7C,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7A,0x78,0x78,0x79,0x7A,0x7B},
+{0x5A,0x5B,0x61,0x6C,0x7B,0x88,0x90,0x93,0x66,0x68,0x6F,0x78,0x83,0x8C,0x92,0x95,0x70,0x74,0x7A,0x81,0x87,0x8D,0x92,0x95,0x76,0x7B,0x80,0x84,0x87,0x8C,0x91,0x95,0x7E,0x82,0x85,0x87,0x89,0x8D,0x94,0x9A,0x82,0x85,0x88,0x8B,0x8F,0x95,0x9E,0xA4,0x80,0x84,0x8B,0x93,0x9C,0xA7,0xB1,0xB8,0x7F,0x85,0x90,0x9E,0xAC,0xBA,0xC6,0xCD,0xA0,0x9C,0x95,0x91,0x97,0x9F,0x9F,0x9A,0x8D,0x95,0x9A,0x97,0x95,0x98,0x9C,0x9D,0x9B,0x9B,0x92,0x83,0x7B,0x81,0x8B,0x91,0x9A,0x99,0x95,0x90,0x8F,0x89,0x78,0x66,0x98,0x9B,0xA2,0xAD,0xB6,0xAE,0x8F,0x72,0xB1,0xB3,0xB4,0xB9,0xC2,0xC6,0xBD,0xB0,0xC2,0xC9,0xCE,0xCE,0xD0,0xD1,0xCC,0xC5,0xD3,0xD8,0xDA,0xD7,0xD5,0xD3,0xCD,0xC6,0x88,0x90,0x9E,0xAD,0xBD,0xCC,0xD7,0xDE,0x94,0x9C,0xA9,0xB8,0xC5,0xD1,0xDA,0xDF,0x9E,0xA7,0xB3,0xC1,0xCC,0xD4,0xDA,0xDD,0xA1,0xA9,0xB6,0xC2,0xCB,0xD0,0xD4,0xD5,0xA4,0xAA,0xB4,0xBD,0xC3,0xC6,0xC6,0xC7,0xA7,0xAC,0xB2,0xB6,0xB8,0xB7,0xB6,0xB6,0xA5,0xA7,0xAA,0xAC,0xAB,0xA9,0xA8,0xA7,0x9E,0xA0,0xA2,0xA2,0xA1,0xA0,0x9F,0x9F,0xDE,0xE4,0xE5,0xDF,0xDA,0xD6,0xCC,0xC1,0xDF,0xE4,0xE3,0xDD,0xD7,0xCF,0xC1,0xB4,0xDE,0xDF,0xDD,0xD7,0xD0,0xC6,0xB5,0xA5,0xD6,0xD4,0xCF,0xCA,0xC6,0xBC,0xAB,0x9C,0xC9,0xC4,0xBD,0xB9,0xB6,0xAE,0x9F,0x92,0xB9,0xB3,0xAC,0xA8,0xA6,0x9E,0x91,0x86,0xA9,0xA4,0xA0,0x9F,0x9C,0x95,0x89,0x80,0x9E,0x9B,0x9A,0x9B,0x9A,0x93,0x88,0x80,0x85,0x8D,0x99,0xA0,0x9C,0x8D,0x7B,0x6F,0x90,0x99,0xA4,0xA9,0xA2,0x90,0x7B,0x6D,0xA0,0xA0,0x9F,0x9A,0x8F,0x81,0x73,0x6A,0xAA,0x9E,0x8B,0x77,0x6A,0x66,0x67,0x69,0xA8,0x9A,0x83,0x6E,0x61,0x60,0x65,0x6A,0xA0,0x9A,0x90,0x85,0x7C,0x77,0x75,0x74,0x9C,0x9B,0x99,0x96,0x92,0x8E,0x8A,0x88,0x9D,0x9B,0x97,0x94,0x93,0x95,0x97,0x99,0x84,0x7F,0x79,0x79,0x82,0x92,0xA4,0xB0,0x7F,0x7C,0x78,0x79,0x80,0x8E,0x9D,0xA6,0x7A,0x79,0x78,0x7A,0x80,0x89,0x93,0x99,0x78,0x79,0x7B,0x7E,0x83,0x87,0x8C,0x8E,0x79,0x7B,0x7F,0x82,0x85,0x87,0x88,0x88,0x7A,0x7C,0x80,0x83,0x85,0x86,0x86,0x86,0x7A,0x7B,0x7E,0x80,0x82,0x83,0x83,0x83,0x78,0x79,0x7B,0x7C,0x7E,0x80,0x81,0x81,0x93,0x7F,0x79,0x7D,0x81,0x7B,0x71,0x73,0x9F,0x98,0x8C,0x7B,0x77,0x7C,0x79,0x75,0x98,0x95,0x93,0x8F,0x86,0x78,0x70,0x6E,0x6F,0x75,0x7C,0x89,0x89,0x7A,0x70,0x68,0x58,0x66,0x60,0x62,0x6F,0x7F,0x84,0x6F,0x7D,0x75,0x5D,0x65,0x71,0x76,0x85,0x7F,0xB1,0x8F,0x72,0x8D,0x8C,0x6C,0x7B,0x8F,0xC1,0xA2,0x85,0x9D,0x94,0x6E,0x81,0x9A,0x6B,0x6A,0x69,0x67,0x67,0x67,0x63,0x5E,0x6A,0x6A,0x69,0x69,0x6A,0x69,0x66,0x63,0x69,0x69,0x6A,0x6A,0x6A,0x67,0x65,0x63,0x6D,0x6D,0x6D,0x6D,0x6B,0x66,0x63,0x63,0x73,0x70,0x6F,0x70,0x6D,0x68,0x65,0x65,0x75,0x6F,0x6B,0x6D,0x6D,0x69,0x66,0x66,0x7A,0x71,0x6A,0x6D,0x6E,0x69,0x66,0x66,0x85,0x78,0x70,0x71,0x72,0x6D,0x68,0x67,0xAC,0x9E,0x85,0x8B,0x7E,0x63,0x7A,0x8D,0xA3,0x99,0x88,0x88,0x7F,0x73,0x81,0x8C,0x94,0x8B,0x86,0x7C,0x79,0x7D,0x7D,0x82,0x8A,0x7A,0x7D,0x6F,0x70,0x7B,0x6F,0x75,0x86,0x6E,0x72,0x67,0x6A,0x74,0x65,0x72,0x7D,0x64,0x67,0x61,0x64,0x6B,0x60,0x70,0x73,0x61,0x61,0x5C,0x5E,0x62,0x5D,0x6A,0x70,0x66,0x63,0x5D,0x5C,0x5F,0x5E,0x66,0x9D,0x8C,0x7A,0x72,0x73,0x72,0x6D,0x66,0xA9,0x9A,0x87,0x7A,0x75,0x74,0x72,0x70,0xA7,0xA1,0x98,0x8E,0x85,0x7E,0x78,0x75,0x8C,0x95,0x9F,0xA2,0x9D,0x92,0x83,0x78,0x6D,0x7C,0x91,0xA0,0xA7,0xA3,0x95,0x88,0x60,0x6C,0x7C,0x8B,0x9A,0xA5,0xA5,0x9F,0x64,0x6C,0x74,0x7B,0x89,0x9A,0xA5,0xA6,0x6B,0x72,0x77,0x79,0x81,0x90,0x9B,0x9E,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x67,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x6B,0x6A,0x69,0x68,0x66,0x65,0x64,0x63,0x70,0x6F,0x6E,0x6B,0x69,0x66,0x65,0x64,0x78,0x76,0x74,0x70,0x6C,0x69,0x66,0x65,0x7F,0x7D,0x79,0x75,0x70,0x6B,0x68,0x66,0x83,0x81,0x7D,0x78,0x72,0x6D,0x69,0x66,0xCB,0xCE,0xD3,0xD6,0xD4,0xCE,0xC7,0xC2,0xC0,0xC7,0xD2,0xDA,0xDA,0xD2,0xC7,0xC0,0xAD,0xB9,0xCA,0xD7,0xDC,0xD6,0xCB,0xC3,0x99,0xA4,0xB5,0xC5,0xCF,0xD3,0xD1,0xCF,0x8A,0x90,0x9C,0xAB,0xBB,0xC9,0xD4,0xDA,0x81,0x85,0x8D,0x9A,0xAB,0xBE,0xCE,0xD8,0x7F,0x83,0x8C,0x98,0xA7,0xB5,0xC1,0xC7,0x7F,0x86,0x91,0x9E,0xA9,0xB1,0xB5,0xB7,0x5C,0x5C,0x58,0x66,0x6E,0x5E,0x59,0x65,0x59,0x61,0x5F,0x66,0x74,0x6C,0x5D,0x57,0x55,0x61,0x5D,0x5C,0x73,0x80,0x70,0x60,0x5B,0x60,0x58,0x50,0x6C,0x89,0x83,0x7B,0x65,0x62,0x5B,0x52,0x6A,0x84,0x81,0x88,0x63,0x5F,0x63,0x5E,0x6F,0x7D,0x76,0x86,0x62,0x5E,0x67,0x61,0x6C,0x76,0x6C,0x82,0x6B,0x64,0x69,0x5B,0x63,0x6E,0x65,0x7D,0x5F,0x62,0x65,0x66,0x66,0x67,0x69,0x6A,0x66,0x66,0x69,0x6B,0x6A,0x65,0x64,0x65,0x62,0x5F,0x62,0x6B,0x6C,0x67,0x65,0x69,0x60,0x59,0x5A,0x65,0x6A,0x65,0x65,0x6C,0x70,0x63,0x5C,0x62,0x66,0x62,0x62,0x69,0x81,0x70,0x62,0x62,0x64,0x64,0x66,0x6A,0x8A,0x79,0x67,0x60,0x63,0x67,0x69,0x6A,0x8F,0x7E,0x6A,0x5F,0x60,0x65,0x66,0x63,0x6E,0x67,0x6D,0x5C,0x59,0x61,0x5F,0x66,0x68,0x69,0x74,0x6E,0x63,0x60,0x59,0x51,0x6C,0x6C,0x70,0x73,0x63,0x63,0x69,0x58,0x77,0x72,0x69,0x72,0x62,0x6D,0x7E,0x67,0x82,0x7B,0x6D,0x7A,0x6A,0x77,0x7D,0x60,0x8F,0x87,0x75,0x7D,0x6C,0x7D,0x75,0x5B,0xA1,0x99,0x86,0x82,0x6F,0x82,0x6C,0x5D,0xAC,0xA9,0x9C,0x92,0x7A,0x87,0x61,0x56,0x8C,0x8A,0x7C,0x69,0x61,0x66,0x66,0x60,0x68,0x83,0x90,0x7B,0x5F,0x5A,0x62,0x69,0x55,0x6F,0x80,0x76,0x66,0x63,0x64,0x62,0x5D,0x5E,0x5F,0x66,0x6F,0x72,0x6A,0x60,0x63,0x5C,0x5C,0x66,0x6C,0x6A,0x6A,0x6F,0x61,0x5E,0x62,0x69,0x65,0x5D,0x64,0x72,0x5F,0x5E,0x5F,0x62,0x62,0x61,0x64,0x69,0x5D,0x60,0x5F,0x5C,0x5F,0x68,0x6B,0x68},
+{0x66,0x67,0x68,0x67,0x65,0x61,0x5D,0x5A,0x65,0x66,0x67,0x67,0x65,0x62,0x5E,0x5C,0x65,0x66,0x67,0x67,0x66,0x64,0x61,0x5F,0x64,0x65,0x66,0x66,0x66,0x65,0x63,0x62,0x64,0x64,0x65,0x65,0x65,0x64,0x63,0x63,0x64,0x64,0x64,0x64,0x63,0x63,0x62,0x62,0x65,0x64,0x63,0x62,0x61,0x61,0x60,0x60,0x65,0x64,0x63,0x61,0x60,0x5F,0x5F,0x5F,0xBA,0xBD,0xC1,0xC6,0xCB,0xCE,0xD0,0xD1,0xB9,0xB9,0xBB,0xBF,0xC5,0xCB,0xD2,0xD5,0xBD,0xBA,0xB7,0xB7,0xBC,0xC7,0xD2,0xD9,0xC9,0xC2,0xBA,0xB5,0xB8,0xC3,0xD0,0xD8,0xD5,0xCE,0xC3,0xBB,0xBA,0xC1,0xCC,0xD3,0xD8,0xD2,0xC9,0xC2,0xC0,0xC3,0xC9,0xCE,0xCF,0xCD,0xCA,0xC8,0xC7,0xC7,0xC9,0xCA,0xC4,0xC6,0xC8,0xC9,0xCA,0xCA,0xCA,0xC9,0x64,0x65,0x71,0x7D,0x74,0x60,0x5D,0x6A,0x65,0x66,0x6F,0x79,0x74,0x67,0x66,0x6F,0x67,0x67,0x6C,0x72,0x72,0x6E,0x6D,0x70,0x67,0x68,0x6A,0x6C,0x6F,0x70,0x6D,0x6A,0x65,0x68,0x69,0x6A,0x6E,0x71,0x6D,0x65,0x64,0x67,0x69,0x6A,0x6E,0x71,0x6D,0x67,0x66,0x68,0x6B,0x6B,0x6C,0x6C,0x6A,0x68,0x6A,0x6B,0x6C,0x6B,0x68,0x66,0x66,0x66,0x6C,0x7D,0x64,0x70,0x72,0x69,0x80,0x6B,0x66,0x75,0x65,0x6B,0x6C,0x6B,0x84,0x7C,0x62,0x6D,0x68,0x66,0x65,0x6D,0x83,0x89,0x63,0x68,0x6C,0x65,0x63,0x6D,0x79,0x85,0x65,0x65,0x6D,0x67,0x65,0x6D,0x6D,0x76,0x66,0x65,0x6A,0x69,0x69,0x6C,0x68,0x6A,0x67,0x68,0x66,0x69,0x6B,0x68,0x68,0x65,0x6A,0x6C,0x65,0x69,0x6A,0x64,0x68,0x64,0x67,0x74,0x7A,0x6F,0x61,0x5E,0x61,0x64,0x64,0x7D,0x8B,0x7C,0x69,0x64,0x66,0x65,0x63,0x85,0x98,0x89,0x72,0x6C,0x6C,0x68,0x64,0x7D,0x8D,0x83,0x72,0x6B,0x6B,0x69,0x67,0x6D,0x71,0x70,0x6A,0x65,0x66,0x6A,0x6E,0x66,0x63,0x66,0x67,0x65,0x67,0x6D,0x6E,0x69,0x65,0x65,0x66,0x66,0x69,0x6D,0x66,0x6A,0x69,0x64,0x62,0x64,0x66,0x67,0x6A,0x68,0x65,0x64,0x64,0x67,0x6A,0x6C,0x5F,0x5F,0x61,0x63,0x66,0x69,0x6C,0x6E,0x67,0x66,0x65,0x62,0x5F,0x5B,0x58,0x56,0x6D,0x6D,0x6C,0x6B,0x69,0x66,0x64,0x63,0x6C,0x6C,0x6B,0x6B,0x6C,0x6C,0x6D,0x6E,0x6E,0x6C,0x68,0x65,0x62,0x62,0x62,0x62,0x6B,0x6A,0x68,0x66,0x65,0x66,0x67,0x68,0x6A,0x69,0x67,0x65,0x63,0x61,0x60,0x60,0x62,0x62,0x61,0x60,0x62,0x64,0x67,0x69,0x60,0x5F,0x5E,0x5D,0x5E,0x60,0x63,0x64,0x5F,0x5E,0x5C,0x5B,0x5B,0x5C,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5B,0x5C,0x5D,0x5E,0x65,0x63,0x61,0x5E,0x5E,0x5E,0x60,0x61,0x66,0x64,0x62,0x60,0x5F,0x60,0x62,0x63,0x64,0x62,0x60,0x5F,0x5F,0x60,0x62,0x63,0x61,0x60,0x5E,0x5D,0x5D,0x5E,0x60,0x62,0xD6,0xD1,0xCE,0xD2,0xDA,0xE0,0xDF,0xDB,0xD6,0xD2,0xCF,0xD3,0xDB,0xE0,0xDE,0xDB,0xD7,0xD3,0xD1,0xD5,0xDC,0xE0,0xDD,0xD9,0xD7,0xD3,0xD2,0xD6,0xDD,0xDF,0xDB,0xD5,0xD5,0xD2,0xD1,0xD6,0xDC,0xDD,0xD7,0xD0,0xD2,0xD0,0xCF,0xD4,0xD9,0xD9,0xD2,0xCA,0xCF,0xCD,0xCD,0xD2,0xD7,0xD5,0xCD,0xC4,0xCD,0xCB,0xCB,0xD0,0xD5,0xD3,0xCA,0xC1,0x75,0x72,0x6C,0x65,0x61,0x61,0x64,0x67,0x74,0x6E,0x66,0x5F,0x5E,0x62,0x68,0x6C,0x6E,0x65,0x5B,0x56,0x58,0x61,0x6A,0x70,0x67,0x5F,0x56,0x53,0x5A,0x66,0x70,0x76,0x64,0x5F,0x5A,0x5C,0x65,0x72,0x7C,0x81,0x60,0x5F,0x5F,0x65,0x6F,0x7B,0x85,0x8A,0x5E,0x60,0x64,0x6B,0x75,0x81,0x8B,0x90,0x60,0x63,0x69,0x71,0x7B,0x86,0x90,0x97,0x73,0x79,0x82,0x8A,0x8E,0x92,0x95,0x97,0x75,0x7B,0x84,0x8B,0x8F,0x91,0x94,0x95,0x79,0x7F,0x87,0x8D,0x8F,0x90,0x91,0x93,0x80,0x84,0x8B,0x8E,0x8F,0x8F,0x8F,0x90,0x87,0x8A,0x8E,0x90,0x8E,0x8D,0x8D,0x8D,0x8E,0x90,0x92,0x90,0x8D,0x8B,0x8B,0x8C,0x95,0x95,0x94,0x90,0x8C,0x89,0x89,0x8B,0x98,0x98,0x95,0x90,0x8B,0x88,0x89,0x8A,0x5E,0x62,0x69,0x74,0x80,0x8B,0x95,0x9A,0x58,0x5D,0x65,0x71,0x7E,0x8A,0x94,0x99,0x54,0x58,0x61,0x6C,0x79,0x85,0x8F,0x94,0x56,0x58,0x5E,0x66,0x71,0x7C,0x86,0x8C,0x59,0x59,0x5B,0x60,0x69,0x74,0x7F,0x85,0x5A,0x59,0x59,0x5C,0x63,0x6D,0x77,0x7E,0x5B,0x5A,0x5A,0x5B,0x60,0x67,0x6D,0x72,0x5D,0x5C,0x5C,0x5C,0x5E,0x61,0x65,0x67,0x9B,0x98,0x94,0x8E,0x89,0x86,0x86,0x87,0x9B,0x99,0x95,0x8F,0x8A,0x86,0x85,0x85,0x9C,0x9A,0x97,0x91,0x8B,0x86,0x83,0x82,0x96,0x96,0x93,0x8E,0x87,0x81,0x7C,0x7B,0x8B,0x8C,0x8B,0x87,0x81,0x7A,0x74,0x71,0x81,0x83,0x84,0x82,0x7D,0x75,0x6F,0x6C,0x75,0x78,0x7B,0x7A,0x76,0x6F,0x68,0x65,0x67,0x6B,0x6F,0x70,0x6C,0x65,0x5F,0x5B,0x93,0x96,0x9C,0xA3,0xA8,0xAB,0xAD,0xAD,0x96,0x9A,0xA0,0xA6,0xAA,0xAA,0xA8,0xA6,0x97,0x9D,0xA5,0xAC,0xAE,0xAB,0xA5,0xA1,0x93,0x9B,0xA6,0xAF,0xB2,0xAE,0xA7,0xA2,0x89,0x92,0xA0,0xAC,0xB1,0xAF,0xA9,0xA4,0x7E,0x87,0x94,0xA0,0xA6,0xA6,0xA2,0x9E,0x76,0x7D,0x87,0x91,0x96,0x96,0x92,0x90,0x73,0x78,0x7F,0x86,0x89,0x88,0x85,0x82,0x7E,0x7D,0x7B,0x7A,0x79,0x79,0x7A,0x7A,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x79,0x7A,0x7C,0x7B,0x7A,0x79,0x78,0x78,0x78,0x79,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7C,0x7B,0x7A,0x7A,0x7A,0x7B,0x81,0x80,0x7F,0x7E,0x7D,0x7D,0x7D,0x7E,0x84,0x83,0x82,0x81,0x80,0x80,0x81,0x81,0x86,0x85,0x84,0x83,0x82,0x82,0x83,0x83,0x97,0x98,0x98,0x99,0x99,0x98,0x97,0x96,0x96,0x96,0x96,0x95,0x94,0x93,0x92,0x92,0x94,0x93,0x92,0x90,0x8F,0x8E,0x8D,0x8D,0x90,0x8F,0x8E,0x8C,0x8B,0x8B,0x8B,0x8B,0x8D,0x8D,0x8C,0x8B,0x8B,0x8B,0x8C,0x8D,0x8C,0x8C,0x8C,0x8C,0x8C,0x8D,0x8E,0x8E,0x8B,0x8C,0x8D,0x8E,0x8E,0x8F,0x8F,0x8F,0x8C,0x8D,0x8E,0x8F,0x8F,0x8F,0x8F,0x8E,0x96,0x95,0x94,0x94,0x92,0x8C,0x83,0x7B,0x92,0x91,0x91,0x91,0x90,0x8A,0x80,0x79,0x8E,0x8D,0x8E,0x8F,0x8D,0x87,0x7D,0x75,0x8E,0x8D,0x8D,0x8D,0x8B,0x84,0x79,0x71,0x90,0x8F,0x8D,0x8C,0x89,0x80,0x75,0x6C,0x91,0x8E,0x8B,0x89,0x84,0x7B,0x6F,0x66,0x8E,0x8B,0x86,0x82,0x7D,0x74,0x69,0x60,0x8B,0x87,0x82,0x7D,0x78,0x6F,0x64,0x5D},
+{0x8E,0x90,0x92,0x93,0x92,0x8F,0x8C,0x8A,0x8B,0x8D,0x8F,0x90,0x8F,0x8C,0x88,0x85,0x85,0x87,0x8A,0x8C,0x8B,0x86,0x81,0x7E,0x7D,0x80,0x83,0x84,0x83,0x7E,0x79,0x75,0x74,0x76,0x78,0x79,0x77,0x74,0x6F,0x6C,0x6A,0x6B,0x6B,0x6B,0x69,0x67,0x65,0x63,0x61,0x60,0x5F,0x5D,0x5C,0x5B,0x5B,0x5B,0x5B,0x59,0x57,0x54,0x54,0x54,0x56,0x57,0x88,0x83,0x7C,0x74,0x6D,0x67,0x62,0x5E,0x81,0x7C,0x73,0x6B,0x65,0x61,0x5E,0x5C,0x78,0x72,0x69,0x62,0x5D,0x5C,0x5B,0x5B,0x6E,0x69,0x63,0x5E,0x5D,0x5D,0x5E,0x5E,0x64,0x62,0x60,0x5F,0x5F,0x60,0x61,0x61,0x5E,0x5D,0x5D,0x5F,0x60,0x61,0x61,0x60,0x5C,0x5C,0x5C,0x5D,0x5F,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5D,0x5E,0x5F,0x5F,0x5E,0xA0,0xA1,0xA3,0xA3,0xA0,0x9A,0x93,0x8F,0xA2,0xA4,0xA6,0xA5,0xA1,0x99,0x90,0x8A,0xA3,0xA6,0xA8,0xA7,0xA0,0x96,0x8A,0x83,0xA3,0xA5,0xA6,0xA4,0x9C,0x90,0x84,0x7C,0x9E,0x9F,0x9E,0x9B,0x93,0x88,0x7E,0x77,0x96,0x95,0x92,0x8D,0x86,0x7F,0x79,0x76,0x8D,0x8A,0x84,0x7F,0x7A,0x77,0x76,0x76,0x88,0x83,0x7C,0x76,0x72,0x73,0x75,0x77,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F,0x80,0x80,0x7B,0x7B,0x7C,0x7E,0x7F,0x80,0x81,0x81,0x79,0x7A,0x7B,0x7D,0x7F,0x81,0x83,0x83,0x78,0x79,0x7B,0x7D,0x80,0x83,0x84,0x85,0x79,0x7A,0x7C,0x7F,0x82,0x84,0x86,0x87,0x7B,0x7C,0x7E,0x81,0x83,0x86,0x88,0x89,0x7E,0x7F,0x81,0x83,0x85,0x87,0x89,0x8A,0x80,0x81,0x83,0x84,0x86,0x88,0x89,0x8A,0x6D,0x66,0x60,0x5D,0x5C,0x5C,0x5E,0x61,0x6B,0x65,0x5F,0x5D,0x5C,0x5B,0x5C,0x5E,0x67,0x62,0x5E,0x5D,0x5C,0x5B,0x5B,0x5C,0x63,0x5F,0x5D,0x5E,0x5E,0x5C,0x5C,0x5D,0x60,0x5D,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x5F,0x5C,0x5C,0x5E,0x60,0x60,0x60,0x62,0x60,0x5D,0x5C,0x5E,0x60,0x5F,0x60,0x61,0x61,0x5D,0x5C,0x5D,0x5E,0x5E,0x5E,0x60,0x71,0x7B,0x7C,0x7C,0x85,0x8F,0x92,0x94,0x67,0x75,0x7C,0x80,0x89,0x91,0x93,0x95,0x60,0x70,0x7A,0x7E,0x87,0x8D,0x90,0x94,0x64,0x72,0x7A,0x7C,0x82,0x87,0x8D,0x95,0x65,0x72,0x7A,0x7D,0x82,0x85,0x8B,0x95,0x5C,0x6A,0x75,0x7B,0x80,0x82,0x85,0x8E,0x59,0x65,0x6E,0x74,0x7B,0x7D,0x80,0x8A,0x60,0x68,0x6C,0x71,0x78,0x7B,0x81,0x8C,0x5D,0x5D,0x5D,0x5E,0x5E,0x5E,0x60,0x62,0x5E,0x5D,0x5E,0x5E,0x5E,0x5F,0x60,0x62,0x5F,0x5E,0x5E,0x5E,0x5F,0x60,0x61,0x62,0x60,0x60,0x5F,0x5E,0x5F,0x62,0x64,0x63,0x60,0x61,0x60,0x5E,0x61,0x66,0x67,0x65,0x61,0x62,0x60,0x5F,0x62,0x69,0x6B,0x68,0x61,0x63,0x61,0x5F,0x64,0x6D,0x6F,0x6B,0x61,0x63,0x62,0x5F,0x65,0x6F,0x71,0x6C,0x63,0x5F,0x60,0x6B,0x78,0x80,0x82,0x82,0x5D,0x5D,0x63,0x6F,0x7A,0x7D,0x79,0x75,0x5F,0x60,0x65,0x6F,0x75,0x72,0x6C,0x68,0x6B,0x67,0x65,0x67,0x68,0x66,0x63,0x63,0x6F,0x68,0x61,0x60,0x60,0x60,0x62,0x64,0x6A,0x63,0x5D,0x5D,0x61,0x63,0x64,0x66,0x66,0x5E,0x59,0x5C,0x62,0x65,0x65,0x65,0x68,0x5E,0x58,0x5A,0x61,0x65,0x65,0x64,0x7D,0x7B,0x77,0x73,0x6F,0x6D,0x6C,0x6B,0x7C,0x7A,0x76,0x72,0x6F,0x6D,0x6C,0x6B,0x79,0x78,0x75,0x71,0x6F,0x6D,0x6B,0x6B,0x77,0x76,0x73,0x71,0x6E,0x6C,0x6A,0x6A,0x75,0x74,0x73,0x70,0x6D,0x6B,0x68,0x67,0x75,0x74,0x73,0x70,0x6C,0x69,0x65,0x63,0x75,0x75,0x73,0x70,0x6C,0x67,0x63,0x60,0x76,0x75,0x73,0x70,0x6B,0x66,0x61,0x5E,0x8F,0x85,0x82,0x92,0xAE,0xBF,0xBD,0xB4,0x96,0x85,0x7B,0x8B,0xAD,0xC3,0xC2,0xB6,0x92,0x86,0x7E,0x89,0xA2,0xB9,0xC4,0xC5,0x83,0x88,0x8B,0x8C,0x92,0xA5,0xC2,0xD8,0x7E,0x86,0x8D,0x8D,0x8F,0xA0,0xC1,0xDB,0x86,0x86,0x88,0x8E,0x9C,0xB0,0xC4,0xD1,0x8A,0x8A,0x8F,0x9A,0xAB,0xBC,0xC9,0xCF,0x86,0x90,0x9E,0xA9,0xB1,0xBC,0xCB,0xD7,0xA8,0xAF,0xA6,0xAB,0x91,0x8C,0x60,0x5C,0x9D,0x9F,0xA0,0xAE,0xA2,0x92,0x65,0x5D,0x95,0x92,0x9C,0xAB,0xAC,0x92,0x67,0x5D,0x99,0x94,0x9E,0x9B,0x9E,0x82,0x66,0x5C,0x9E,0x9A,0x9D,0x82,0x80,0x6E,0x64,0x61,0x9A,0x95,0x8F,0x6D,0x69,0x63,0x64,0x68,0x8F,0x84,0x7A,0x63,0x65,0x66,0x64,0x6B,0x86,0x75,0x6A,0x62,0x6A,0x6C,0x63,0x6A,0x60,0x5F,0x5E,0x5E,0x5F,0x61,0x64,0x65,0x61,0x60,0x60,0x5F,0x60,0x61,0x62,0x63,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x60,0x61,0x62,0x63,0x63,0x63,0x63,0x62,0x60,0x61,0x62,0x64,0x65,0x65,0x64,0x64,0x60,0x61,0x63,0x64,0x65,0x66,0x66,0x66,0x62,0x63,0x63,0x64,0x65,0x66,0x66,0x66,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x6D,0x6B,0x69,0x69,0x6A,0x69,0x66,0x64,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x68,0x63,0x66,0x68,0x68,0x66,0x65,0x67,0x69,0x67,0x68,0x69,0x69,0x67,0x65,0x65,0x66,0x6A,0x69,0x68,0x67,0x67,0x67,0x64,0x62,0x68,0x66,0x64,0x65,0x67,0x67,0x65,0x62,0x66,0x66,0x66,0x66,0x67,0x67,0x66,0x65,0x67,0x69,0x6A,0x69,0x67,0x65,0x66,0x67,0x63,0x63,0x64,0x65,0x66,0x66,0x67,0x67,0x63,0x64,0x64,0x65,0x65,0x66,0x67,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x66,0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x6C,0x69,0x66,0x63,0x60,0x60,0x60,0x61,0x6A,0x68,0x65,0x62,0x60,0x5F,0x5F,0x60,0x68,0x66,0x63,0x60,0x5E,0x5E,0x5E,0x5F,0x65,0x63,0x60,0x5E,0x5D,0x5D,0x5E,0x5F,0x63,0x61,0x5F,0x5D,0x5C,0x5C,0x5E,0x5F,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5F,0x61,0x61,0x5F,0x5E,0x5C,0x5C,0x5E,0x60,0x61,0xB7,0xBC,0xC1,0xC4,0xC4,0xC4,0xC6,0xC9,0xBC,0xC0,0xC5,0xC7,0xC6,0xC6,0xC9,0xCB,0xC3,0xC6,0xCA,0xCB,0xCA,0xCA,0xCC,0xCF,0xCA,0xCD,0xD0,0xD0,0xCE,0xCD,0xCF,0xD2,0xD0,0xD2,0xD3,0xD2,0xCF,0xCE,0xD1,0xD3,0xD3,0xD5,0xD5,0xD2,0xCF,0xCD,0xD0,0xD2,0xD4,0xD5,0xD5,0xD1,0xCD,0xCB,0xCD,0xD0,0xD4,0xD5,0xD4,0xD0,0xCC,0xCA,0xCC,0xCF}};
+
+struct yrsreg {
+  volatile unsigned int fbadd;
+  volatile unsigned int sizeinfo;
+  volatile unsigned int incadd;
+  volatile unsigned int reset;
+}
+
+  upycc_connect_neek(){
+    struct yrsreg *sreg = (struct yrsreg *) HPADDR;
+    volatile unsigned int *dataad = (unsigned int *)HSADDR;
+    unsigned int rdata;
+    volatile unsigned int *raddr; 
+    int i,j;
+    unsigned int *allocadd;
+    volatile unsigned int *ioaddr = (unsigned int *)IOADDR;
+    unsigned int iodata;
+
+    allocadd = (unsigned int *)memalign(1024, 2*640*480);
+    if (allocadd == NULL) fail(0);
+
+    sreg->fbadd = (unsigned int) allocadd;
+    sreg->sizeinfo = 0x00082464;
+    sreg->incadd = 0x0624a244;
+    sreg->reset = 0x0;
+    sreg->reset = 0xffffffff;
+
+    for(i=0;i<1024;i++){
+      *dataad = indata[0][i];
+    }
+
+    for(i=0; i<300; i++){}
+
+    raddr = allocadd; 
+    *(ioaddr + 2) = 0xffffffff;
+    *(ioaddr + 3) = 0x00000000;
+    *(ioaddr + 1) = 0x0000aaaa; 
+
+   for(i=0;i<40;i++){
+      rdata = *raddr;
+      iodata = (rdata & 0x0000ffff) | 0x00010000;
+      *(ioaddr + 1) = iodata;
+      *(ioaddr + 1) = 0x0000aaaa;
+      iodata = (rdata & 0xffff0000) >> 16;
+      iodata = iodata | 0x00010000;
+      //   iodata = rdata;
+      *(ioaddr + 1) = iodata;
+      *(ioaddr + 1) = 0x0000aaaa;
+      raddr++;
+    }
+  }
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/upycc_pic.c b/grlib-gpl-1.0.22-b4095/software/leon3/upycc_pic.c
new file mode 100644 (file)
index 0000000..c9a63c5
--- /dev/null
@@ -0,0 +1,76 @@
+#include "testmod.h"\r
+#include <stdio.h>\r
+\r
+// You must set the following AHB address according to your system\r
+// This sample address is for leon3-gr-xc3s-1500-mjpeg\r
+#define HSADDR 0xa0000000\r
+#define HPADDR 0x80000c00\r
+#define SVGAADDR 0x80000600\r
+\r
+static unsigned int indata[9][1024] = {\r
+{0x31,0x31,0x30,0x30,0x2F,0x2E,0x2D,0x2D,0x33,0x33,0x32,0x32,0x31,0x30,0x2F,0x2F,0x36,0x36,0x35,0x35,0x34,0x33,0x32,0x32,0x39,0x39,0x38,0x37,0x36,0x36,0x35,0x35,0x3B,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x3A,0x3A,0x41,0x41,0x40,0x3F,0x3F,0x3E,0x3D,0x3D,0x43,0x43,0x42,0x41,0x41,0x40,0x3F,0x3F,0x2E,0x2E,0x2E,0x2E,0x2D,0x2C,0x2B,0x2B,0x30,0x30,0x30,0x2F,0x2F,0x2E,0x2D,0x2D,0x32,0x32,0x32,0x32,0x32,0x31,0x30,0x2F,0x35,0x35,0x35,0x35,0x34,0x33,0x32,0x32,0x37,0x37,0x37,0x37,0x36,0x35,0x35,0x34,0x3A,0x3A,0x3A,0x39,0x39,0x38,0x37,0x37,0x3C,0x3C,0x3C,0x3C,0x3C,0x3B,0x3A,0x39,0x3E,0x3E,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x46,0x46,0x44,0x45,0x45,0x45,0x46,0x46,0x47,0x47,0x45,0x45,0x46,0x46,0x47,0x47,0x48,0x48,0x46,0x46,0x47,0x48,0x48,0x49,0x4A,0x4A,0x47,0x48,0x48,0x49,0x4A,0x4A,0x4B,0x4B,0x43,0x42,0x41,0x40,0x40,0x3F,0x3D,0x3B,0x45,0x44,0x43,0x41,0x40,0x3E,0x3D,0x3B,0x44,0x44,0x43,0x41,0x3F,0x3D,0x3D,0x3D,0x44,0x44,0x44,0x43,0x41,0x40,0x41,0x42,0x47,0x47,0x47,0x46,0x44,0x44,0x44,0x45,0x47,0x46,0x45,0x45,0x46,0x45,0x43,0x41,0x47,0x45,0x45,0x48,0x4C,0x4C,0x49,0x45,0x4A,0x48,0x49,0x4F,0x56,0x59,0x56,0x51,0x7D,0x7D,0x7F,0x80,0x81,0x82,0x82,0x82,0x7D,0x7D,0x7E,0x7F,0x80,0x80,0x80,0x80,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7E,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x7A,0x7B,0x7C,0x7B,0x79,0x78,0x78,0x79,0x7B,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x7A,0x7D,0x7F,0x7B,0x7A,0x78,0x77,0x78,0x7B,0x7E,0x80,0x85,0x85,0x84,0x83,0x81,0x80,0x7F,0x7F,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x82,0x83,0x83,0x84,0x84,0x85,0x85,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x2E,0x2E,0x2E,0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x31,0x32,0x32,0x32,0x33,0x31,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x34,0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,0x36,0x36,0x36,0x35,0x35,0x35,0x35,0x35,0x38,0x38,0x37,0x37,0x36,0x36,0x35,0x35,0x3D,0x3D,0x3C,0x3D,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3C,0x3D,0x3D,0x3D,0x3C,0x3C,0x3C,0x3D,0x3E,0x3F,0x3F,0x3E,0x3D,0x3C,0x3C,0x3D,0x42,0x42,0x41,0x40,0x3F,0x3D,0x3D,0x3D,0x46,0x44,0x42,0x41,0x41,0x40,0x3E,0x3C,0x49,0x45,0x42,0x41,0x42,0x42,0x3E,0x3B,0x4A,0x45,0x41,0x41,0x43,0x43,0x3E,0x3A,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x35,0x39,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x3A,0x3A,0x39,0x39,0x38,0x37,0x36,0x36,0x3B,0x3B,0x3A,0x3A,0x39,0x38,0x37,0x37,0x3C,0x3B,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3C,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x82,0x82,0x81,0x80,0x80,0x7F,0x7E,0x7E,0x80,0x80,0x80,0x7F,0x7F,0x7E,0x7E,0x7D,0x7E,0x7E,0x7E,0x7D,0x7D,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7C,0x7C,0x7C,0x7C,0x7C,0x79,0x79,0x7A,0x7A,0x7B,0x7B,0x7C,0x7C,0x78,0x78,0x79,0x7A,0x7B,0x7C,0x7C,0x7D,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x77,0x78,0x79,0x7A,0x7C,0x7D,0x7E,0x7F,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x80,0x84,0x84,0x83,0x83,0x82,0x81,0x81,0x81,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x85,0x85,0x84,0x84,0x83,0x82,0x82,0x82,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x82,0x86,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x84,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x30,0x30,0x30,0x30,0x30,0x2F,0x2F,0x2F,0x33,0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x33,0x34,0x34,0x34,0x35,0x36,0x36,0x36,0x33,0x34,0x35,0x36,0x37,0x39,0x3A,0x3A,0x33,0x34,0x35,0x37,0x39,0x3A,0x3B,0x3C,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x30,0x31,0x31,0x33,0x34,0x35,0x36,0x36,0x32,0x33,0x33,0x35,0x36,0x37,0x38,0x38,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x3F,0x3F,0x3B,0x3B,0x3C,0x3D,0x3E,0x40,0x40,0x41,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x3E,0x3E,0x3F,0x40,0x41,0x43,0x43,0x44,0x34,0x34,0x35,0x36,0x37,0x39,0x3B,0x3C,0x36,0x36,0x37,0x37,0x39,0x3B,0x3D,0x3E,0x37,0x37,0x37,0x38,0x3A,0x3C,0x3D,0x3F,0x37,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3E,0x38,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3D,0x39,0x39,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3D,0x3E,0x38,0x37,0x37,0x37,0x38,0x3A,0x3B,0x3C,0x3C,0x3D,0x3F,0x40,0x42,0x43,0x43,0x43,0x3D,0x3E,0x40,0x41,0x42,0x43,0x43,0x42,0x3F,0x3F,0x41,0x42,0x43,0x43,0x42,0x42,0x40,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x40,0x40,0x42,0x43,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x42,0x43,0x43,0x42,0x42},\r
+{0x81,0x80,0x7F,0x7E,0x7D,0x7B,0x7A,0x7A,0x80,0x7F,0x7E,0x7D,0x7C,0x7A,0x79,0x79,0x7E,0x7E,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7D,0x7C,0x7B,0x7A,0x79,0x77,0x76,0x76,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x87,0x87,0x82,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x88,0x83,0x83,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x37,0x38,0x39,0x39,0x38,0x37,0x35,0x34,0x39,0x3A,0x3A,0x3A,0x3A,0x38,0x37,0x36,0x3C,0x3C,0x3D,0x3D,0x3C,0x3A,0x39,0x38,0x3E,0x3F,0x3E,0x3E,0x3D,0x3C,0x3A,0x3A,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x43,0x43,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x45,0x44,0x42,0x41,0x3F,0x3E,0x3E,0x3D,0x34,0x34,0x33,0x32,0x32,0x33,0x34,0x34,0x35,0x35,0x34,0x33,0x33,0x34,0x35,0x35,0x37,0x36,0x35,0x35,0x35,0x35,0x36,0x37,0x38,0x38,0x37,0x36,0x36,0x37,0x38,0x38,0x3A,0x39,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3A,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x43,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3C,0x3C,0x3B,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x39,0x3A,0x39,0x3A,0x3D,0x3C,0x39,0x3A,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3F,0x3F,0x3E,0x3C,0x3A,0x3B,0x3E,0x3F,0x3F,0x3B,0x3C,0x3B,0x39,0x3B,0x40,0x42,0x3F,0x3A,0x3C,0x3C,0x3B,0x3D,0x40,0x41,0x3F,0x3B,0x3A,0x3A,0x3B,0x3B,0x3A,0x3C,0x3F,0x3D,0x38,0x38,0x3C,0x3B,0x37,0x3E,0x49,0x41,0x3A,0x3A,0x41,0x40,0x3C,0x47,0x59,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7C,0x7D,0x7A,0x7A,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x78,0x79,0x79,0x7A,0x7B,0x7C,0x7D,0x7D,0x76,0x77,0x79,0x7A,0x7B,0x7C,0x7C,0x7C,0x76,0x77,0x79,0x7A,0x7B,0x7B,0x7B,0x7A,0x76,0x77,0x79,0x7B,0x7B,0x7A,0x79,0x77,0x77,0x78,0x7A,0x7B,0x7B,0x79,0x76,0x74,0x77,0x79,0x7B,0x7B,0x7A,0x78,0x75,0x73,0x84,0x84,0x85,0x86,0x86,0x86,0x86,0x86,0x85,0x85,0x86,0x86,0x86,0x86,0x85,0x85,0x87,0x87,0x87,0x86,0x85,0x85,0x84,0x84,0x8A,0x89,0x87,0x86,0x85,0x84,0x84,0x84,0x8B,0x89,0x87,0x85,0x84,0x84,0x85,0x85,0x8B,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8A,0x88,0x86,0x84,0x84,0x86,0x88,0x8A,0x89,0x88,0x85,0x84,0x84,0x86,0x89,0x8B,0x38,0x35,0x38,0x39,0x35,0x35,0x35,0x31,0x36,0x34,0x36,0x37,0x35,0x36,0x38,0x35,0x3A,0x39,0x38,0x37,0x36,0x36,0x36,0x36,0x3A,0x3C,0x3B,0x3A,0x3C,0x3A,0x38,0x3A,0x35,0x3B,0x3A,0x3B,0x41,0x40,0x3C,0x40,0x37,0x3F,0x3C,0x3B,0x43,0x40,0x3A,0x40,0x3B,0x44,0x3D,0x3A,0x44,0x42,0x3D,0x47,0x37,0x40,0x3A,0x38,0x48,0x4A,0x49,0x57,0x33,0x32,0x33,0x35,0x38,0x3D,0x42,0x45,0x35,0x34,0x34,0x34,0x36,0x39,0x3C,0x3E,0x39,0x39,0x38,0x38,0x39,0x3A,0x3B,0x3C,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3B,0x3C,0x3C,0x3C,0x3D,0x3D,0x3E,0x3F,0x40,0x3D,0x3C,0x3C,0x3C,0x3C,0x3E,0x3F,0x40,0x3F,0x3F,0x3E,0x3F,0x41,0x43,0x46,0x48,0x58,0x58,0x58,0x5A,0x5D,0x62,0x67,0x6A,0x49,0x3E,0x40,0x55,0x6C,0x7A,0x7E,0x7D,0x3B,0x37,0x54,0x79,0x81,0x84,0x7F,0x6C,0x41,0x42,0x6A,0x87,0x7A,0x74,0x70,0x54,0x4C,0x5C,0x7A,0x80,0x6B,0x67,0x66,0x54,0x44,0x68,0x78,0x6B,0x60,0x5F,0x5C,0x59,0x58,0x75,0x70,0x58,0x54,0x54,0x51,0x57,0x79,0x77,0x66,0x57,0x55,0x55,0x55,0x5B,0x6F,0x55,0x4C,0x54,0x56,0x56,0x59,0x57,0x58,0x5E,0x63,0x65,0x6D,0x75,0x75,0x6F,0x51,0x53,0x55,0x57,0x61,0x6C,0x6E,0x68,0x56,0x55,0x53,0x55,0x60,0x6B,0x6E,0x69,0x54,0x53,0x51,0x51,0x57,0x5F,0x61,0x5F,0x54,0x56,0x57,0x56,0x55,0x55,0x56,0x56,0x5A,0x5E,0x61,0x60,0x5C,0x58,0x57,0x57,0x56,0x59,0x5D,0x5F,0x5C,0x58,0x56,0x56,0x56,0x58,0x5B,0x5F,0x60,0x5D,0x5B,0x5A,0x7A,0x7B,0x7C,0x7D,0x7D,0x7B,0x79,0x78,0x7B,0x7B,0x7C,0x7C,0x7B,0x79,0x77,0x76,0x7B,0x7B,0x7B,0x7A,0x78,0x76,0x74,0x73,0x7A,0x79,0x78,0x76,0x74,0x71,0x6F,0x6E,0x77,0x75,0x73,0x71,0x6E,0x6C,0x6B,0x6A,0x72,0x71,0x6E,0x6B,0x69,0x67,0x67,0x66,0x6D,0x6C,0x69,0x66,0x64,0x64,0x64,0x64,0x6A,0x69,0x66,0x64,0x62,0x62,0x62,0x62,0x84,0x90,0x98,0x91,0x83,0x82,0x92,0xA3,0x91,0x95,0x97,0x92,0x8A,0x87,0x8D,0x94,0x85,0x87,0x88,0x8A,0x8A,0x8A,0x89,0x88,0x7B,0x84,0x8F,0x96,0x98,0x9A,0x9C,0x9F,0x91,0xA3,0xB6,0xBA,0xB3,0xB0,0xB8,0xC2,0xA8,0xBB,0xCB,0xC9,0xB9,0xB0,0xB7,0xC3,0xAE,0xB8,0xC2,0xBF,0xB4,0xAD,0xB0,0xB6,0xB1,0xB4,0xB8,0xBA,0xBB,0xBA,0xBB,0xBB,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x46,0x47,0x47,0x49,0x4A,0x4A,0x4B,0x4B,0x45,0x46,0x48,0x4A,0x4C,0x4C,0x4C,0x4B,0x44,0x46,0x49,0x4C,0x4D,0x4D,0x4C,0x4C,0x43,0x45,0x49,0x4C,0x4E,0x4E,0x4D,0x4C,0x43,0x45,0x48,0x4C,0x4E,0x4E,0x4E,0x4D,0x42,0x44,0x47,0x4B,0x4D,0x4E,0x4E,0x4E,0x42,0x44,0x47,0x4A,0x4C,0x4E,0x4E,0x4E,0x47,0x4C,0x54,0x5E,0x6B,0x74,0x71,0x6A,0x4A,0x52,0x5E,0x6C,0x7B,0x85,0x85,0x80,0x4B,0x56,0x67,0x79,0x8A,0x95,0x97,0x95,0x4B,0x58,0x6D,0x82,0x92,0x9D,0xA2,0xA2,0x4E,0x5B,0x71,0x88,0x9A,0xA5,0xAC,0xAF,0x4E,0x59,0x6F,0x88,0x9C,0xA9,0xB1,0xB7,0x4C,0x55,0x68,0x82,0x97,0xA6,0xB0,0xB6,0x4E,0x54,0x66,0x7E,0x94,0xA2,0xAD,0xB4},\r
+{0x3F,0x41,0x45,0x47,0x49,0x4A,0x4C,0x4D,0x3F,0x41,0x44,0x47,0x48,0x49,0x4B,0x4C,0x3F,0x41,0x44,0x46,0x47,0x48,0x49,0x4A,0x3F,0x41,0x44,0x46,0x46,0x47,0x48,0x49,0x40,0x42,0x45,0x46,0x47,0x47,0x48,0x49,0x41,0x43,0x45,0x47,0x48,0x48,0x49,0x4A,0x42,0x44,0x46,0x48,0x49,0x4A,0x4B,0x4C,0x42,0x44,0x47,0x49,0x4A,0x4B,0x4C,0x4D,0x4D,0x52,0x63,0x7B,0x8F,0x9D,0xA9,0xB2,0x50,0x52,0x5F,0x76,0x8B,0x9A,0xA6,0xAF,0x52,0x51,0x5A,0x6F,0x86,0x96,0xA2,0xAA,0x51,0x4E,0x56,0x6B,0x84,0x95,0xA1,0xA8,0x4D,0x4B,0x54,0x6B,0x85,0x97,0xA1,0xA7,0x4C,0x4A,0x55,0x6D,0x86,0x97,0xA0,0xA6,0x4F,0x4E,0x57,0x6D,0x84,0x94,0x9E,0xA4,0x52,0x51,0x59,0x6D,0x81,0x90,0x9B,0xA3,0x77,0x74,0x73,0x74,0x7A,0x83,0x8E,0x94,0x79,0x77,0x76,0x78,0x7F,0x89,0x94,0x9B,0x7B,0x7A,0x79,0x7B,0x84,0x90,0x9D,0xA4,0x7B,0x79,0x78,0x7C,0x85,0x93,0xA0,0xA9,0x78,0x76,0x75,0x78,0x82,0x90,0x9F,0xA8,0x78,0x75,0x73,0x75,0x7E,0x8C,0x9B,0xA4,0x7A,0x77,0x74,0x75,0x7C,0x8A,0x98,0xA2,0x7D,0x79,0x75,0x75,0x7C,0x89,0x97,0xA1,0x82,0x83,0x84,0x85,0x83,0x80,0x7D,0x7B,0x83,0x84,0x85,0x85,0x83,0x80,0x7C,0x79,0x85,0x86,0x87,0x86,0x83,0x7F,0x7A,0x77,0x85,0x87,0x88,0x87,0x84,0x7E,0x78,0x75,0x85,0x87,0x88,0x88,0x84,0x7E,0x78,0x73,0x84,0x86,0x88,0x89,0x85,0x7F,0x78,0x73,0x83,0x85,0x88,0x89,0x86,0x80,0x78,0x74,0x81,0x84,0x88,0x89,0x86,0x80,0x79,0x74,0x5F,0x56,0x4B,0x42,0x3F,0x3F,0x3E,0x3D,0x79,0x70,0x63,0x58,0x51,0x4B,0x44,0x3E,0x94,0x8B,0x7F,0x75,0x6C,0x62,0x55,0x4C,0xA2,0x9B,0x92,0x8C,0x87,0x7E,0x72,0x68,0xAC,0xA7,0xA0,0x9D,0x9C,0x97,0x8F,0x88,0xB7,0xB3,0xAF,0xAD,0xAB,0xA9,0xA4,0x9F,0xBC,0xBB,0xB9,0xB8,0xB7,0xB5,0xB2,0xB0,0xBA,0xBB,0xBC,0xBD,0xBD,0xBC,0xBB,0xBB,0x3E,0x3B,0x38,0x38,0x39,0x3A,0x3A,0x39,0x40,0x3D,0x39,0x38,0x38,0x39,0x38,0x37,0x49,0x43,0x3D,0x38,0x37,0x36,0x35,0x33,0x5F,0x57,0x4C,0x42,0x3D,0x3A,0x38,0x37,0x80,0x75,0x65,0x57,0x4D,0x48,0x44,0x42,0x99,0x8E,0x7D,0x6D,0x61,0x58,0x52,0x4E,0xA7,0x9E,0x91,0x82,0x76,0x6A,0x60,0x5A,0xB0,0xAA,0x9F,0x93,0x87,0x7A,0x6E,0x66,0xBA,0xBB,0xBC,0xBE,0xC0,0xC0,0xC1,0xC1,0xB8,0xB9,0xBB,0xBD,0xBE,0xBE,0xBE,0xBE,0xB5,0xB6,0xB8,0xBB,0xBC,0xBB,0xBB,0xBA,0xB2,0xB3,0xB6,0xB8,0xB9,0xB9,0xB8,0xB7,0xAF,0xB1,0xB3,0xB5,0xB6,0xB6,0xB6,0xB5,0xAC,0xAD,0xAF,0xB1,0xB3,0xB4,0xB4,0xB4,0xAA,0xAA,0xAB,0xAD,0xAF,0xB1,0xB2,0xB3,0xA8,0xA8,0xA9,0xAA,0xAC,0xAF,0xB1,0xB3,0xBA,0xB4,0xAB,0xA2,0x97,0x8A,0x7E,0x75,0xB9,0xB4,0xAD,0xA6,0x9E,0x94,0x8A,0x83,0xB7,0xB4,0xAF,0xAA,0xA5,0x9F,0x97,0x92,0xB5,0xB2,0xAE,0xAB,0xA9,0xA5,0xA0,0x9C,0xB4,0xB1,0xAE,0xAD,0xAD,0xAC,0xA9,0xA7,0xB3,0xB1,0xAF,0xAF,0xB2,0xB3,0xB2,0xB0,0xB2,0xB0,0xAE,0xAE,0xB1,0xB2,0xB2,0xB1,0xB2,0xAF,0xAC,0xAB,0xAC,0xAD,0xAD,0xAB,0x8D,0x8C,0x89,0x85,0x81,0x7D,0x7A,0x78,0x99,0x97,0x93,0x8F,0x89,0x84,0x80,0x7E,0xA6,0xA4,0xA0,0x9B,0x95,0x90,0x8C,0x8A,0xAA,0xA9,0xA6,0xA3,0x9F,0x9C,0x99,0x98,0xA6,0xA6,0xA6,0xA5,0xA5,0xA4,0xA4,0xA4,0xA4,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA8,0xA8,0xA7,0xA6,0xA6,0xA5,0xA5,0xAF,0xAE,0xAC,0xA9,0xA6,0xA4,0xA2,0xA1,0x7E,0x80,0x82,0x83,0x84,0x83,0x82,0x81,0x7C,0x7D,0x7F,0x81,0x82,0x82,0x81,0x80,0x78,0x79,0x7B,0x7D,0x7E,0x7F,0x7F,0x7F,0x75,0x76,0x78,0x79,0x7B,0x7C,0x7D,0x7D,0x75,0x75,0x76,0x77,0x78,0x7A,0x7B,0x7B,0x77,0x77,0x76,0x76,0x77,0x78,0x79,0x7A,0x7A,0x79,0x78,0x77,0x77,0x77,0x79,0x7A,0x7C,0x7B,0x79,0x77,0x77,0x77,0x78,0x79,0x34,0x35,0x36,0x38,0x3A,0x3B,0x3B,0x3B,0x37,0x38,0x3A,0x3B,0x3D,0x3D,0x3C,0x3B,0x35,0x36,0x38,0x3A,0x3B,0x3C,0x3B,0x3B,0x35,0x35,0x36,0x37,0x38,0x3A,0x3C,0x3E,0x3F,0x3E,0x3C,0x3A,0x38,0x3A,0x3D,0x41,0x4D,0x4B,0x47,0x40,0x3B,0x39,0x3B,0x3E,0x59,0x58,0x53,0x4B,0x42,0x3D,0x3C,0x3D,0x62,0x61,0x5E,0x56,0x4D,0x45,0x43,0x42,0x3C,0x3F,0x42,0x44,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x41,0x40,0x3F,0x40,0x41,0x41,0x41,0x40,0x3F,0x3F,0x3F,0x41,0x42,0x43,0x42,0x41,0x3E,0x3F,0x40,0x42,0x43,0x42,0x41,0x40,0x3F,0x40,0x42,0x42,0x41,0x40,0x40,0x40,0x3F,0x41,0x43,0x42,0x40,0x41,0x45,0x49,0x3E,0x41,0x43,0x42,0x41,0x44,0x4D,0x55,0x6D,0x69,0x64,0x5F,0x58,0x4E,0x46,0x41,0x77,0x70,0x68,0x61,0x5B,0x53,0x49,0x43,0x88,0x80,0x74,0x6B,0x66,0x5E,0x54,0x4C,0x99,0x92,0x88,0x7E,0x79,0x73,0x6B,0x64,0xA2,0xA0,0x9A,0x93,0x8F,0x8D,0x87,0x80,0xA5,0xA6,0xA3,0xA0,0xA0,0x9F,0x98,0x8E,0xAA,0xA9,0xA5,0xA3,0xA6,0xA4,0x95,0x84,0xB0,0xAB,0xA4,0xA2,0xA5,0xA1,0x8B,0x73,0x36,0x3F,0x45,0x44,0x42,0x4A,0x5F,0x71,0x3A,0x3F,0x45,0x4B,0x51,0x5D,0x6D,0x79,0x4D,0x4C,0x50,0x59,0x66,0x72,0x79,0x7B,0x6B,0x66,0x63,0x69,0x73,0x7A,0x79,0x76,0x7D,0x77,0x72,0x72,0x75,0x77,0x74,0x71,0x7B,0x78,0x74,0x72,0x72,0x72,0x71,0x70,0x71,0x71,0x71,0x71,0x70,0x70,0x70,0x70,0x6D,0x6E,0x6F,0x70,0x71,0x70,0x6F,0x6E,0x77,0x78,0x79,0x7A,0x7A,0x78,0x75,0x74,0x81,0x7E,0x79,0x75,0x74,0x76,0x79,0x7B,0x8E,0x87,0x7D,0x75,0x72,0x76,0x7D,0x82,0x96,0x90,0x87,0x7F,0x7B,0x7B,0x7E,0x81,0x9A,0x98,0x93,0x8D,0x87,0x80,0x7B,0x78,0x9E,0x9C,0x98,0x92,0x88,0x7D,0x74,0x6E,0xA4,0x9F,0x95,0x88,0x7C,0x73,0x6C,0x69,0xAA,0xA0,0x8F,0x7D,0x70,0x69,0x67,0x67,0x7F,0x81,0x84,0x87,0x88,0x88,0x87,0x86,0x86,0x84,0x82,0x81,0x81,0x83,0x86,0x87,0x84,0x83,0x82,0x81,0x81,0x81,0x81,0x82,0x7C,0x7E,0x81,0x84,0x85,0x83,0x81,0x80,0x7D,0x7C,0x7C,0x7D,0x82,0x8A,0x91,0x96,0x84,0x7F,0x79,0x7A,0x85,0x99,0xAF,0xBD,0x7B,0x7D,0x82,0x8D,0x9F,0xB5,0xC8,0xD4,0x69,0x77,0x8F,0xA9,0xBF,0xCD,0xD4,0xD7},\r
+{0x37,0x3B,0x3C,0x3A,0x3A,0x3A,0x38,0x33,0x3F,0x3F,0x3F,0x3D,0x3C,0x3D,0x3C,0x3B,0x44,0x40,0x3C,0x3B,0x39,0x37,0x38,0x3A,0x43,0x3E,0x3B,0x3B,0x38,0x34,0x34,0x37,0x40,0x40,0x43,0x47,0x48,0x46,0x45,0x45,0x43,0x4B,0x54,0x5C,0x61,0x64,0x62,0x5E,0x55,0x62,0x6E,0x73,0x78,0x7D,0x78,0x6F,0x6A,0x7A,0x84,0x84,0x86,0x8A,0x83,0x75,0x3A,0x39,0x3A,0x3A,0x3A,0x3F,0x51,0x63,0x3B,0x3C,0x3C,0x3A,0x3F,0x4A,0x58,0x60,0x38,0x3A,0x39,0x3A,0x46,0x57,0x5D,0x5A,0x38,0x35,0x36,0x40,0x51,0x5D,0x5C,0x55,0x45,0x3C,0x3E,0x4F,0x5E,0x5E,0x57,0x52,0x5C,0x52,0x53,0x61,0x67,0x5D,0x54,0x54,0x6D,0x68,0x67,0x6A,0x67,0x5C,0x57,0x58,0x72,0x73,0x71,0x6B,0x62,0x5B,0x5A,0x5C,0x83,0x8E,0x94,0x94,0x8D,0x88,0x85,0x74,0x86,0x8C,0x8E,0x8A,0x82,0x7C,0x76,0x67,0x80,0x82,0x81,0x7A,0x74,0x6F,0x66,0x5D,0x74,0x74,0x75,0x70,0x6F,0x6D,0x62,0x61,0x70,0x70,0x73,0x6E,0x71,0x70,0x62,0x69,0x70,0x6E,0x73,0x6B,0x6F,0x6D,0x5C,0x6C,0x6F,0x6C,0x71,0x67,0x6B,0x69,0x59,0x72,0x6F,0x6C,0x71,0x66,0x6C,0x6C,0x5E,0x7D,0x6E,0x73,0x71,0x66,0x5E,0x5E,0x5F,0x5D,0x64,0x71,0x74,0x68,0x62,0x65,0x63,0x5B,0x66,0x74,0x77,0x6A,0x65,0x6D,0x6A,0x5D,0x75,0x78,0x72,0x67,0x66,0x6D,0x6A,0x60,0x7F,0x74,0x69,0x66,0x69,0x6A,0x67,0x62,0x7F,0x72,0x6A,0x6E,0x72,0x6E,0x68,0x66,0x79,0x73,0x70,0x72,0x72,0x6E,0x6A,0x69,0x72,0x75,0x73,0x6D,0x69,0x69,0x68,0x67,0x76,0x78,0x79,0x7A,0x79,0x76,0x73,0x71,0x7F,0x80,0x80,0x7F,0x7C,0x78,0x73,0x71,0x8A,0x89,0x87,0x83,0x7D,0x77,0x71,0x6E,0x8D,0x8B,0x87,0x81,0x7A,0x72,0x6C,0x68,0x85,0x82,0x7E,0x78,0x72,0x6B,0x65,0x62,0x76,0x74,0x71,0x6E,0x69,0x65,0x62,0x60,0x68,0x67,0x66,0x65,0x64,0x64,0x63,0x63,0x60,0x60,0x60,0x61,0x62,0x64,0x66,0x66,0x85,0x83,0x7F,0x7E,0x83,0x91,0xA3,0xB0,0x92,0x8B,0x83,0x7E,0x82,0x92,0xA6,0xB4,0x80,0x7F,0x7D,0x7F,0x87,0x95,0xA3,0xAC,0x75,0x7C,0x89,0x99,0xA6,0xAD,0xAE,0xAD,0x9C,0xA2,0xAD,0xBC,0xC7,0xCA,0xC5,0xBE,0xCC,0xC6,0xC1,0xC2,0xC8,0xCC,0xC9,0xC4,0xD5,0xCB,0xC1,0xBF,0xC6,0xCA,0xC8,0xC4,0xCD,0xC7,0xC5,0xCC,0xD7,0xDC,0xD7,0xD0,0x57,0x52,0x51,0x57,0x5A,0x56,0x54,0x56,0x5A,0x57,0x57,0x5B,0x5A,0x55,0x54,0x58,0x5C,0x5C,0x5E,0x60,0x5D,0x58,0x59,0x5D,0x5B,0x5A,0x5D,0x5F,0x5F,0x5C,0x5C,0x60,0x5B,0x59,0x5A,0x5D,0x5F,0x5E,0x5D,0x5C,0x60,0x5E,0x5D,0x5F,0x61,0x61,0x5F,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x60,0x5F,0x5D,0x54,0x58,0x5B,0x5A,0x59,0x5A,0x5B,0x5C,0x56,0x59,0x5E,0x61,0x61,0x61,0x60,0x60,0x58,0x5B,0x5F,0x62,0x63,0x64,0x64,0x65,0x57,0x5A,0x5D,0x60,0x62,0x63,0x65,0x67,0x58,0x5A,0x5D,0x5F,0x60,0x63,0x65,0x67,0x5C,0x5D,0x5F,0x61,0x62,0x64,0x67,0x69,0x5C,0x5E,0x60,0x62,0x63,0x65,0x67,0x69,0x5A,0x5D,0x60,0x62,0x64,0x66,0x68,0x6A,0x5C,0x5F,0x63,0x66,0x68,0x6A,0x6C,0x6E,0x61,0x5C,0x5B,0x5E,0x60,0x60,0x61,0x64,0x58,0x56,0x56,0x59,0x5B,0x5E,0x61,0x63,0x5E,0x61,0x62,0x62,0x65,0x6A,0x6E,0x6F,0x66,0x6A,0x6B,0x69,0x6A,0x6E,0x71,0x70,0x62,0x64,0x64,0x62,0x61,0x61,0x60,0x5E,0x69,0x66,0x65,0x67,0x65,0x60,0x5B,0x59,0x71,0x6A,0x6A,0x71,0x71,0x68,0x60,0x5F,0x6C,0x62,0x62,0x6E,0x71,0x65,0x5C,0x5C,0x5E,0x62,0x67,0x6C,0x6F,0x6F,0x6D,0x6C,0x6C,0x6D,0x6D,0x6D,0x6C,0x6A,0x68,0x66,0x70,0x6F,0x6C,0x68,0x66,0x64,0x62,0x62,0x68,0x67,0x65,0x63,0x63,0x63,0x64,0x65,0x61,0x61,0x62,0x63,0x64,0x66,0x68,0x69,0x5E,0x5F,0x60,0x61,0x62,0x64,0x64,0x65,0x5D,0x5D,0x5E,0x5E,0x60,0x62,0x63,0x64,0x5E,0x5E,0x5E,0x5F,0x61,0x65,0x69,0x6B,0x66,0x66,0x66,0x65,0x64,0x64,0x63,0x63,0x66,0x65,0x65,0x64,0x63,0x63,0x62,0x62,0x64,0x64,0x64,0x63,0x62,0x62,0x61,0x61,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x63,0x63,0x62,0x62,0x61,0x60,0x60,0x60,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0x61,0x65,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0xB8,0xB6,0xB3,0xB3,0xB6,0xBC,0xC3,0xC8,0xB8,0xB7,0xB6,0xB7,0xBB,0xC0,0xC6,0xC9,0xB7,0xB8,0xBB,0xBE,0xC2,0xC6,0xCA,0xCC,0xB8,0xBB,0xBF,0xC4,0xC8,0xCC,0xCE,0xCF,0xBB,0xBE,0xC2,0xC7,0xCC,0xCF,0xD1,0xD2,0xC0,0xC1,0xC3,0xC7,0xCB,0xCF,0xD3,0xD5,0xC5,0xC4,0xC3,0xC4,0xC8,0xCD,0xD3,0xD6,0xC8,0xC6,0xC3,0xC2,0xC5,0xCC,0xD3,0xD7,0x45,0x46,0x47,0x49,0x4A,0x4B,0x4B,0x4B,0x47,0x47,0x48,0x4A,0x4B,0x4C,0x4C,0x4C,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4E,0x4A,0x4A,0x4B,0x4D,0x4D,0x4E,0x4E,0x4E,0x4B,0x4B,0x4C,0x4D,0x4E,0x4E,0x4E,0x4E,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x4F,0x4F,0x4E,0x4E,0x4F,0x50,0x50,0x50,0x50,0x50,0x4F,0x50,0x50,0x51,0x52,0x52,0x52,0x51,0x4F,0x4F,0x57,0x6A,0x7F,0x8E,0x97,0x9B,0x4E,0x4F,0x59,0x6A,0x7D,0x8B,0x94,0x98,0x4C,0x4F,0x59,0x68,0x78,0x84,0x8D,0x93,0x4D,0x4F,0x56,0x62,0x6E,0x78,0x82,0x8A,0x4F,0x4F,0x53,0x5A,0x62,0x6B,0x76,0x7F,0x51,0x4F,0x50,0x54,0x59,0x60,0x69,0x70,0x52,0x4F,0x4E,0x52,0x55,0x59,0x5E,0x63,0x52,0x4F,0x4F,0x52,0x55,0x56,0x58,0x5A,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x53,0x52,0x51,0x51,0x52,0x54,0x57,0x59,0x54,0x53,0x52,0x51,0x51,0x52,0x53,0x54,0x52,0x52,0x51,0x51,0x51,0x51,0x52,0x52,0x4F,0x50,0x51,0x52,0x53,0x53,0x53,0x53,0x51,0x51,0x52,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x54,0x53,0x53,0x52,0x56,0x55,0x55,0x54,0x54,0x53,0x53,0x53,0x54,0x53,0x53,0x53,0x53,0x54,0x55,0x55},\r
+{0x79,0x76,0x75,0x76,0x7D,0x88,0x94,0x9B,0x79,0x77,0x74,0x75,0x7B,0x85,0x90,0x97,0x79,0x77,0x74,0x74,0x79,0x81,0x89,0x8F,0x78,0x76,0x74,0x73,0x76,0x7C,0x82,0x86,0x78,0x76,0x74,0x73,0x74,0x78,0x7C,0x7E,0x77,0x75,0x74,0x73,0x73,0x75,0x77,0x79,0x76,0x75,0x74,0x73,0x73,0x74,0x75,0x76,0x75,0x74,0x74,0x73,0x73,0x74,0x74,0x75,0x82,0x84,0x87,0x87,0x85,0x80,0x7B,0x77,0x84,0x85,0x87,0x88,0x86,0x82,0x7D,0x79,0x86,0x87,0x89,0x89,0x87,0x84,0x80,0x7D,0x88,0x89,0x8A,0x8A,0x88,0x86,0x84,0x82,0x8B,0x8A,0x8A,0x8A,0x89,0x88,0x87,0x86,0x8C,0x8B,0x8A,0x89,0x89,0x89,0x89,0x8A,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8C,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8D,0x9F,0xA0,0xA1,0xA4,0xA7,0xAA,0xAC,0xAE,0x9B,0x9C,0x9E,0xA1,0xA4,0xA6,0xA8,0xA9,0x94,0x95,0x98,0x9B,0x9D,0x9F,0x9F,0xA0,0x8C,0x8D,0x90,0x93,0x95,0x95,0x96,0x95,0x83,0x85,0x88,0x8B,0x8D,0x8F,0x8F,0x8F,0x79,0x7C,0x7F,0x83,0x87,0x8B,0x8D,0x8E,0x6D,0x6F,0x74,0x7A,0x80,0x86,0x8B,0x8D,0x62,0x65,0x6B,0x72,0x7B,0x83,0x89,0x8D,0xAF,0xAC,0xA9,0xA8,0xA7,0xA5,0xA2,0xA1,0xAB,0xA7,0xA4,0xA2,0x9F,0x9D,0x9A,0x99,0xA3,0xA0,0x9B,0x95,0x90,0x8C,0x89,0x87,0x99,0x96,0x8F,0x86,0x7E,0x7A,0x76,0x72,0x8E,0x8C,0x84,0x7B,0x76,0x73,0x6D,0x68,0x88,0x86,0x7F,0x78,0x78,0x78,0x72,0x69,0x89,0x87,0x80,0x7B,0x7E,0x81,0x79,0x6E,0x8D,0x8A,0x83,0x7F,0x83,0x86,0x7C,0x6E,0x59,0x5E,0x65,0x6B,0x74,0x7F,0x87,0x89,0x57,0x5B,0x60,0x67,0x71,0x7D,0x84,0x85,0x55,0x57,0x5A,0x61,0x6D,0x79,0x7F,0x7F,0x54,0x54,0x55,0x5C,0x6A,0x76,0x7B,0x7A,0x55,0x54,0x54,0x5B,0x68,0x76,0x7B,0x7A,0x56,0x55,0x55,0x5C,0x6B,0x79,0x80,0x7F,0x55,0x56,0x58,0x5F,0x6E,0x7E,0x87,0x88,0x54,0x56,0x59,0x62,0x71,0x82,0x8D,0x8F,0x90,0x8F,0x87,0x80,0x87,0x8F,0x87,0x75,0x8E,0x94,0x94,0x91,0x93,0x94,0x87,0x73,0x89,0x96,0x9F,0x9E,0x9A,0x94,0x84,0x72,0x83,0x94,0xA0,0x9F,0x98,0x8F,0x81,0x74,0x80,0x90,0x9D,0x9D,0x97,0x8F,0x83,0x78,0x84,0x90,0x9B,0x9D,0x9B,0x96,0x8B,0x80,0x91,0x94,0x97,0x98,0x9B,0x9B,0x95,0x8C,0x9C,0x98,0x91,0x8F,0x95,0x9C,0x9B,0x96,0xA4,0xA7,0xA9,0xA9,0xA6,0xA4,0xA5,0xA7,0x9A,0x9D,0xA0,0xA0,0x9D,0x9B,0x9B,0x9C,0x94,0x98,0x9D,0x9E,0x9B,0x97,0x95,0x95,0x94,0x9A,0xA1,0xA3,0x9F,0x99,0x94,0x93,0x8D,0x94,0x9C,0x9F,0x9A,0x91,0x8A,0x86,0x7F,0x87,0x91,0x93,0x8D,0x81,0x76,0x70,0x7B,0x83,0x8D,0x90,0x88,0x7A,0x6D,0x65,0x80,0x89,0x93,0x96,0x8D,0x7D,0x6E,0x66,0x78,0x77,0x75,0x74,0x76,0x79,0x7C,0x7E,0x7B,0x79,0x77,0x76,0x77,0x78,0x7B,0x7C,0x7E,0x7D,0x7B,0x7A,0x7B,0x7D,0x80,0x82,0x80,0x7F,0x7E,0x7F,0x83,0x8A,0x90,0x94,0x82,0x80,0x7F,0x82,0x8B,0x99,0xA6,0xAF,0x86,0x82,0x7F,0x81,0x8E,0xA2,0xB7,0xC5,0x8E,0x86,0x7E,0x7D,0x8A,0xA2,0xBD,0xCE,0x93,0x89,0x7D,0x7A,0x85,0x9F,0xBC,0xCF,0xA1,0xA1,0xA0,0x9E,0x99,0x8D,0x7C,0x6E,0x8C,0x8D,0x8D,0x8C,0x88,0x80,0x74,0x6B,0x7B,0x7C,0x7D,0x7D,0x7B,0x76,0x71,0x6D,0x73,0x74,0x77,0x79,0x77,0x73,0x71,0x72,0x6A,0x6C,0x71,0x75,0x75,0x71,0x71,0x74,0x61,0x62,0x69,0x71,0x74,0x72,0x73,0x78,0x5C,0x5C,0x61,0x6B,0x70,0x70,0x73,0x79,0x5A,0x58,0x5B,0x65,0x6B,0x6B,0x6F,0x76,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x62,0x5C,0x5B,0x64,0x6C,0x6D,0x6E,0x70,0x72,0x6F,0x6D,0x6E,0x6F,0x6F,0x6F,0x71,0x7A,0x7C,0x7B,0x74,0x6E,0x6D,0x6E,0x6F,0x73,0x7B,0x7D,0x75,0x6C,0x6C,0x6E,0x6E,0x6D,0x77,0x7B,0x75,0x6F,0x6F,0x70,0x6F,0x72,0x76,0x78,0x76,0x73,0x72,0x6F,0x6D,0x7F,0x79,0x76,0x77,0x78,0x75,0x70,0x6D,0x8C,0x80,0x77,0x7A,0x7E,0x7A,0x74,0x72,0x73,0x73,0x73,0x75,0x76,0x74,0x6F,0x6B,0x75,0x74,0x75,0x76,0x76,0x73,0x6D,0x68,0x75,0x75,0x75,0x76,0x76,0x71,0x6A,0x65,0x74,0x74,0x75,0x75,0x75,0x70,0x69,0x63,0x71,0x71,0x72,0x73,0x72,0x6E,0x67,0x62,0x6F,0x6E,0x6E,0x6F,0x6F,0x6B,0x66,0x61,0x6E,0x6C,0x6B,0x6B,0x6B,0x68,0x63,0x5F,0x6E,0x6C,0x6A,0x69,0x68,0x66,0x61,0x5D,0x99,0x90,0x81,0x72,0x69,0x66,0x68,0x6A,0x8D,0x85,0x78,0x6C,0x65,0x63,0x65,0x68,0x7D,0x76,0x6D,0x64,0x60,0x60,0x63,0x66,0x70,0x6C,0x66,0x61,0x5F,0x61,0x64,0x67,0x69,0x67,0x64,0x62,0x62,0x64,0x67,0x69,0x68,0x67,0x66,0x65,0x65,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x66,0x66,0x65,0x65,0x68,0x68,0x68,0x67,0x66,0x64,0x63,0x62,0x7C,0x90,0xAB,0xBF,0xC9,0xCE,0xD5,0xDA,0x8E,0xA9,0xC8,0xD5,0xD1,0xC9,0xCA,0xCF,0x9E,0xBC,0xDD,0xE6,0xDA,0xCB,0xC9,0xCE,0xAA,0xBE,0xD5,0xE0,0xDC,0xD5,0xD4,0xD7,0xC0,0xC1,0xC4,0xCC,0xD5,0xDA,0xD7,0xD3,0xDA,0xCD,0xC2,0xC4,0xCF,0xD4,0xCE,0xC4,0xDF,0xD6,0xCE,0xCD,0xD1,0xD0,0xC8,0xBF,0xD5,0xD6,0xD8,0xD9,0xD8,0xD2,0xCB,0xC5,0x6D,0x66,0x69,0x6B,0x69,0x62,0x66,0x80,0x71,0x69,0x69,0x70,0x67,0x5B,0x6A,0x81,0x75,0x6D,0x69,0x74,0x63,0x54,0x6E,0x7D,0x73,0x71,0x68,0x72,0x5F,0x54,0x74,0x71,0x70,0x72,0x68,0x6D,0x5E,0x5B,0x77,0x67,0x6C,0x6F,0x68,0x67,0x5F,0x62,0x74,0x67,0x69,0x67,0x63,0x61,0x5E,0x60,0x69,0x6F,0x66,0x5E,0x5E,0x5D,0x5C,0x5A,0x5F,0x77,0x6E,0x72,0x70,0x6B,0x6A,0x66,0x63,0x67,0x6F,0x72,0x6F,0x6C,0x6D,0x6A,0x68,0x6C,0x70,0x72,0x6F,0x6C,0x6F,0x6E,0x6C,0x6F,0x6E,0x6F,0x6A,0x69,0x6F,0x6F,0x6C,0x6E,0x67,0x66,0x61,0x62,0x6B,0x6D,0x69,0x6A,0x61,0x60,0x5A,0x5D,0x68,0x6A,0x65,0x64,0x67,0x64,0x5E,0x5F,0x6A,0x6A,0x61,0x5D,0x72,0x6E,0x65,0x65,0x6D,0x6A,0x5E,0x58},\r
+{0x61,0x5C,0x5A,0x5B,0x59,0x59,0x62,0x6F,0x65,0x5F,0x5C,0x5B,0x59,0x59,0x61,0x6C,0x66,0x60,0x5C,0x5A,0x58,0x58,0x5F,0x68,0x63,0x5E,0x5A,0x59,0x58,0x5A,0x60,0x67,0x5F,0x5C,0x59,0x59,0x5C,0x60,0x65,0x69,0x5E,0x5B,0x5A,0x5C,0x61,0x66,0x69,0x6B,0x5D,0x5C,0x5B,0x5E,0x63,0x68,0x69,0x68,0x5C,0x5B,0x5B,0x5D,0x63,0x67,0x66,0x63,0x6E,0x69,0x65,0x68,0x73,0x7A,0x6F,0x5A,0x6A,0x64,0x6E,0x73,0x71,0x7D,0x7C,0x60,0x73,0x6A,0x77,0x78,0x67,0x78,0x87,0x71,0x7B,0x6F,0x72,0x6E,0x60,0x6E,0x88,0x8D,0x70,0x6C,0x66,0x65,0x65,0x67,0x7A,0x98,0x65,0x69,0x63,0x66,0x6E,0x62,0x64,0x80,0x65,0x67,0x66,0x68,0x6B,0x63,0x5F,0x67,0x66,0x62,0x64,0x65,0x63,0x6A,0x6E,0x65,0x67,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x65,0x66,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x66,0x66,0x65,0x65,0x64,0x63,0x62,0x62,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x61,0x66,0x66,0x65,0x64,0x62,0x61,0x61,0x60,0x66,0x65,0x65,0x63,0x62,0x61,0x60,0x60,0xD0,0xC8,0xC2,0xC5,0xCF,0xD4,0xD0,0xCA,0xCE,0xC6,0xC0,0xC4,0xCD,0xD2,0xCE,0xC7,0xC9,0xC2,0xBD,0xC2,0xCB,0xCF,0xCA,0xC3,0xC5,0xBF,0xBB,0xC1,0xCA,0xCE,0xC8,0xC0,0xC1,0xBC,0xBA,0xC1,0xCC,0xD0,0xC9,0xC1,0xBE,0xBA,0xBB,0xC4,0xD0,0xD4,0xCD,0xC4,0xBC,0xBA,0xBC,0xC7,0xD4,0xD9,0xD2,0xC9,0xBC,0xBA,0xBD,0xC9,0xD7,0xDC,0xD5,0xCC,0x6F,0x63,0x5E,0x65,0x6D,0x6A,0x62,0x5D,0x6B,0x60,0x5C,0x63,0x69,0x67,0x61,0x5E,0x65,0x5E,0x5B,0x60,0x64,0x63,0x60,0x5F,0x62,0x5E,0x5D,0x5F,0x60,0x5F,0x5F,0x60,0x61,0x60,0x60,0x60,0x5F,0x5D,0x5E,0x60,0x61,0x62,0x62,0x62,0x60,0x5E,0x5F,0x61,0x5F,0x61,0x63,0x63,0x61,0x61,0x61,0x61,0x5D,0x60,0x63,0x63,0x62,0x62,0x62,0x62,0x5D,0x5E,0x60,0x62,0x65,0x69,0x6E,0x71,0x5F,0x61,0x63,0x65,0x67,0x6A,0x6D,0x70,0x61,0x63,0x66,0x68,0x69,0x6A,0x6C,0x6D,0x61,0x64,0x67,0x69,0x69,0x69,0x69,0x69,0x61,0x63,0x65,0x67,0x67,0x67,0x67,0x68,0x60,0x62,0x64,0x65,0x65,0x66,0x68,0x6A,0x61,0x62,0x63,0x63,0x65,0x68,0x6C,0x6F,0x63,0x63,0x63,0x63,0x65,0x69,0x6F,0x73,0x5D,0x62,0x63,0x61,0x63,0x68,0x67,0x62,0x66,0x5B,0x5B,0x68,0x6A,0x5F,0x5D,0x66,0x65,0x5D,0x5A,0x5F,0x65,0x65,0x64,0x64,0x77,0x6B,0x5D,0x59,0x5F,0x67,0x67,0x63,0x99,0x7A,0x63,0x63,0x64,0x5D,0x5D,0x67,0x96,0x84,0x72,0x68,0x63,0x61,0x64,0x68,0x74,0x80,0x7E,0x6C,0x62,0x68,0x6C,0x67,0x62,0x71,0x7D,0x79,0x69,0x5E,0x60,0x68,0x64,0x62,0x5B,0x68,0x73,0x72,0x71,0x66,0x5F,0x60,0x62,0x6B,0x72,0x71,0x6C,0x65,0x5D,0x60,0x6B,0x6E,0x6E,0x6D,0x65,0x63,0x60,0x64,0x70,0x6D,0x68,0x69,0x62,0x65,0x62,0x68,0x6E,0x69,0x65,0x67,0x68,0x6C,0x63,0x6C,0x68,0x68,0x68,0x69,0x73,0x6F,0x67,0x74,0x64,0x6C,0x6F,0x6A,0x79,0x68,0x6B,0x7C,0x64,0x72,0x75,0x69,0x79,0x5E,0x63,0x63,0x63,0x63,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x61,0x61,0x60,0x60,0x60,0x62,0x61,0x61,0x60,0x5F,0x5E,0x5D,0x5D,0x61,0x60,0x60,0x5E,0x5D,0x5C,0x5B,0x5B,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5C,0x5B,0x60,0x60,0x60,0x5F,0x5F,0x5F,0x5F,0x5E,0x60,0x60,0x60,0x61,0x61,0x62,0x62,0x62,0x60,0x60,0x61,0x62,0x63,0x64,0x64,0x65,0xC6,0xC4,0xC2,0xC2,0xC5,0xCB,0xD2,0xD6,0xC5,0xC4,0xC2,0xC3,0xC7,0xCD,0xD4,0xD8,0xC4,0xC4,0xC3,0xC5,0xC9,0xD0,0xD7,0xDB,0xC4,0xC4,0xC4,0xC7,0xCC,0xD3,0xDA,0xDE,0xC5,0xC5,0xC6,0xC9,0xCF,0xD5,0xDC,0xE0,0xC7,0xC7,0xC9,0xCC,0xD1,0xD7,0xDD,0xE0,0xC9,0xC9,0xCB,0xCE,0xD3,0xD8,0xDD,0xE0,0xCA,0xCB,0xCC,0xD0,0xD4,0xD9,0xDD,0xE0,0x4D,0x51,0x53,0x52,0x51,0x51,0x52,0x53,0x4E,0x51,0x53,0x51,0x4F,0x4F,0x50,0x51,0x4F,0x50,0x52,0x51,0x50,0x4F,0x50,0x52,0x4F,0x50,0x51,0x52,0x51,0x51,0x54,0x58,0x52,0x50,0x51,0x52,0x52,0x52,0x57,0x5D,0x56,0x52,0x51,0x52,0x53,0x54,0x5B,0x64,0x58,0x53,0x51,0x54,0x56,0x5A,0x64,0x70,0x57,0x52,0x51,0x56,0x5B,0x61,0x6E,0x7C,0x52,0x52,0x52,0x53,0x55,0x58,0x5B,0x5D,0x51,0x54,0x57,0x5B,0x5E,0x60,0x62,0x63,0x54,0x5A,0x62,0x69,0x6C,0x6D,0x6C,0x6C,0x5D,0x65,0x70,0x78,0x7B,0x79,0x77,0x75,0x6A,0x72,0x7D,0x84,0x84,0x81,0x7D,0x7B,0x75,0x7C,0x85,0x88,0x86,0x81,0x7D,0x7C,0x7C,0x81,0x86,0x86,0x81,0x7C,0x7A,0x7A,0x7E,0x82,0x84,0x82,0x7C,0x77,0x76,0x77,0x59,0x51,0x51,0x5E,0x6B,0x72,0x78,0x7E,0x54,0x55,0x5B,0x67,0x70,0x76,0x7B,0x80,0x51,0x5D,0x6A,0x73,0x78,0x7C,0x7F,0x80,0x5A,0x6A,0x78,0x7B,0x7D,0x81,0x80,0x7C,0x69,0x76,0x7F,0x7E,0x7E,0x80,0x7C,0x74,0x74,0x7C,0x7F,0x7B,0x79,0x79,0x74,0x6B,0x77,0x7B,0x7C,0x78,0x73,0x6F,0x6B,0x66,0x75,0x78,0x7A,0x76,0x6E,0x68,0x65,0x64,0x81,0x84,0x82,0x78,0x6D,0x6B,0x75,0x80,0x7F,0x7C,0x76,0x6F,0x6A,0x6E,0x77,0x80,0x7E,0x76,0x6D,0x69,0x6E,0x78,0x83,0x89,0x79,0x71,0x6A,0x6B,0x76,0x84,0x8F,0x95,0x6D,0x6B,0x6B,0x71,0x7C,0x8A,0x96,0x9D,0x68,0x6C,0x72,0x7A,0x84,0x90,0x9A,0xA1,0x6B,0x71,0x7A,0x83,0x8B,0x94,0x9C,0xA2,0x6E,0x73,0x7C,0x85,0x8D,0x95,0x9B,0x9F,0x76,0x76,0x78,0x7A,0x7C,0x7D,0x7E,0x7E,0x70,0x73,0x77,0x7D,0x82,0x86,0x8A,0x8B,0x6D,0x71,0x79,0x82,0x8C,0x94,0x99,0x9C,0x73,0x78,0x80,0x8B,0x95,0x9D,0xA3,0xA6,0x7F,0x84,0x8B,0x94,0x9C,0xA2,0xA6,0xA7,0x8A,0x8E,0x95,0x9C,0xA1,0xA5,0xA6,0xA6,0x8F,0x93,0x9A,0xA0,0xA5,0xA7,0xA7,0xA7,0x90,0x94,0x9B,0xA2,0xA7,0xA9,0xA9,0xA9,0x8A,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8B,0x89,0x86,0x83,0x82,0x82,0x83,0x84,0x8B,0x89,0x85,0x81,0x7F,0x7E,0x7E,0x7E,0x8B,0x88,0x83,0x7F,0x7B,0x79,0x79,0x79,0x88,0x85,0x81,0x7D,0x79,0x77,0x76,0x76,0x84,0x82,0x7E,0x7B,0x78,0x77,0x77,0x77,0x81,0x7F,0x7C,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7A,0x78,0x78,0x79,0x7A,0x7B},\r
+{0x5A,0x5B,0x61,0x6C,0x7B,0x88,0x90,0x93,0x66,0x68,0x6F,0x78,0x83,0x8C,0x92,0x95,0x70,0x74,0x7A,0x81,0x87,0x8D,0x92,0x95,0x76,0x7B,0x80,0x84,0x87,0x8C,0x91,0x95,0x7E,0x82,0x85,0x87,0x89,0x8D,0x94,0x9A,0x82,0x85,0x88,0x8B,0x8F,0x95,0x9E,0xA4,0x80,0x84,0x8B,0x93,0x9C,0xA7,0xB1,0xB8,0x7F,0x85,0x90,0x9E,0xAC,0xBA,0xC6,0xCD,0xA0,0x9C,0x95,0x91,0x97,0x9F,0x9F,0x9A,0x8D,0x95,0x9A,0x97,0x95,0x98,0x9C,0x9D,0x9B,0x9B,0x92,0x83,0x7B,0x81,0x8B,0x91,0x9A,0x99,0x95,0x90,0x8F,0x89,0x78,0x66,0x98,0x9B,0xA2,0xAD,0xB6,0xAE,0x8F,0x72,0xB1,0xB3,0xB4,0xB9,0xC2,0xC6,0xBD,0xB0,0xC2,0xC9,0xCE,0xCE,0xD0,0xD1,0xCC,0xC5,0xD3,0xD8,0xDA,0xD7,0xD5,0xD3,0xCD,0xC6,0x88,0x90,0x9E,0xAD,0xBD,0xCC,0xD7,0xDE,0x94,0x9C,0xA9,0xB8,0xC5,0xD1,0xDA,0xDF,0x9E,0xA7,0xB3,0xC1,0xCC,0xD4,0xDA,0xDD,0xA1,0xA9,0xB6,0xC2,0xCB,0xD0,0xD4,0xD5,0xA4,0xAA,0xB4,0xBD,0xC3,0xC6,0xC6,0xC7,0xA7,0xAC,0xB2,0xB6,0xB8,0xB7,0xB6,0xB6,0xA5,0xA7,0xAA,0xAC,0xAB,0xA9,0xA8,0xA7,0x9E,0xA0,0xA2,0xA2,0xA1,0xA0,0x9F,0x9F,0xDE,0xE4,0xE5,0xDF,0xDA,0xD6,0xCC,0xC1,0xDF,0xE4,0xE3,0xDD,0xD7,0xCF,0xC1,0xB4,0xDE,0xDF,0xDD,0xD7,0xD0,0xC6,0xB5,0xA5,0xD6,0xD4,0xCF,0xCA,0xC6,0xBC,0xAB,0x9C,0xC9,0xC4,0xBD,0xB9,0xB6,0xAE,0x9F,0x92,0xB9,0xB3,0xAC,0xA8,0xA6,0x9E,0x91,0x86,0xA9,0xA4,0xA0,0x9F,0x9C,0x95,0x89,0x80,0x9E,0x9B,0x9A,0x9B,0x9A,0x93,0x88,0x80,0x85,0x8D,0x99,0xA0,0x9C,0x8D,0x7B,0x6F,0x90,0x99,0xA4,0xA9,0xA2,0x90,0x7B,0x6D,0xA0,0xA0,0x9F,0x9A,0x8F,0x81,0x73,0x6A,0xAA,0x9E,0x8B,0x77,0x6A,0x66,0x67,0x69,0xA8,0x9A,0x83,0x6E,0x61,0x60,0x65,0x6A,0xA0,0x9A,0x90,0x85,0x7C,0x77,0x75,0x74,0x9C,0x9B,0x99,0x96,0x92,0x8E,0x8A,0x88,0x9D,0x9B,0x97,0x94,0x93,0x95,0x97,0x99,0x84,0x7F,0x79,0x79,0x82,0x92,0xA4,0xB0,0x7F,0x7C,0x78,0x79,0x80,0x8E,0x9D,0xA6,0x7A,0x79,0x78,0x7A,0x80,0x89,0x93,0x99,0x78,0x79,0x7B,0x7E,0x83,0x87,0x8C,0x8E,0x79,0x7B,0x7F,0x82,0x85,0x87,0x88,0x88,0x7A,0x7C,0x80,0x83,0x85,0x86,0x86,0x86,0x7A,0x7B,0x7E,0x80,0x82,0x83,0x83,0x83,0x78,0x79,0x7B,0x7C,0x7E,0x80,0x81,0x81,0x93,0x7F,0x79,0x7D,0x81,0x7B,0x71,0x73,0x9F,0x98,0x8C,0x7B,0x77,0x7C,0x79,0x75,0x98,0x95,0x93,0x8F,0x86,0x78,0x70,0x6E,0x6F,0x75,0x7C,0x89,0x89,0x7A,0x70,0x68,0x58,0x66,0x60,0x62,0x6F,0x7F,0x84,0x6F,0x7D,0x75,0x5D,0x65,0x71,0x76,0x85,0x7F,0xB1,0x8F,0x72,0x8D,0x8C,0x6C,0x7B,0x8F,0xC1,0xA2,0x85,0x9D,0x94,0x6E,0x81,0x9A,0x6B,0x6A,0x69,0x67,0x67,0x67,0x63,0x5E,0x6A,0x6A,0x69,0x69,0x6A,0x69,0x66,0x63,0x69,0x69,0x6A,0x6A,0x6A,0x67,0x65,0x63,0x6D,0x6D,0x6D,0x6D,0x6B,0x66,0x63,0x63,0x73,0x70,0x6F,0x70,0x6D,0x68,0x65,0x65,0x75,0x6F,0x6B,0x6D,0x6D,0x69,0x66,0x66,0x7A,0x71,0x6A,0x6D,0x6E,0x69,0x66,0x66,0x85,0x78,0x70,0x71,0x72,0x6D,0x68,0x67,0xAC,0x9E,0x85,0x8B,0x7E,0x63,0x7A,0x8D,0xA3,0x99,0x88,0x88,0x7F,0x73,0x81,0x8C,0x94,0x8B,0x86,0x7C,0x79,0x7D,0x7D,0x82,0x8A,0x7A,0x7D,0x6F,0x70,0x7B,0x6F,0x75,0x86,0x6E,0x72,0x67,0x6A,0x74,0x65,0x72,0x7D,0x64,0x67,0x61,0x64,0x6B,0x60,0x70,0x73,0x61,0x61,0x5C,0x5E,0x62,0x5D,0x6A,0x70,0x66,0x63,0x5D,0x5C,0x5F,0x5E,0x66,0x9D,0x8C,0x7A,0x72,0x73,0x72,0x6D,0x66,0xA9,0x9A,0x87,0x7A,0x75,0x74,0x72,0x70,0xA7,0xA1,0x98,0x8E,0x85,0x7E,0x78,0x75,0x8C,0x95,0x9F,0xA2,0x9D,0x92,0x83,0x78,0x6D,0x7C,0x91,0xA0,0xA7,0xA3,0x95,0x88,0x60,0x6C,0x7C,0x8B,0x9A,0xA5,0xA5,0x9F,0x64,0x6C,0x74,0x7B,0x89,0x9A,0xA5,0xA6,0x6B,0x72,0x77,0x79,0x81,0x90,0x9B,0x9E,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x67,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x6B,0x6A,0x69,0x68,0x66,0x65,0x64,0x63,0x70,0x6F,0x6E,0x6B,0x69,0x66,0x65,0x64,0x78,0x76,0x74,0x70,0x6C,0x69,0x66,0x65,0x7F,0x7D,0x79,0x75,0x70,0x6B,0x68,0x66,0x83,0x81,0x7D,0x78,0x72,0x6D,0x69,0x66,0xCB,0xCE,0xD3,0xD6,0xD4,0xCE,0xC7,0xC2,0xC0,0xC7,0xD2,0xDA,0xDA,0xD2,0xC7,0xC0,0xAD,0xB9,0xCA,0xD7,0xDC,0xD6,0xCB,0xC3,0x99,0xA4,0xB5,0xC5,0xCF,0xD3,0xD1,0xCF,0x8A,0x90,0x9C,0xAB,0xBB,0xC9,0xD4,0xDA,0x81,0x85,0x8D,0x9A,0xAB,0xBE,0xCE,0xD8,0x7F,0x83,0x8C,0x98,0xA7,0xB5,0xC1,0xC7,0x7F,0x86,0x91,0x9E,0xA9,0xB1,0xB5,0xB7,0x5C,0x5C,0x58,0x66,0x6E,0x5E,0x59,0x65,0x59,0x61,0x5F,0x66,0x74,0x6C,0x5D,0x57,0x55,0x61,0x5D,0x5C,0x73,0x80,0x70,0x60,0x5B,0x60,0x58,0x50,0x6C,0x89,0x83,0x7B,0x65,0x62,0x5B,0x52,0x6A,0x84,0x81,0x88,0x63,0x5F,0x63,0x5E,0x6F,0x7D,0x76,0x86,0x62,0x5E,0x67,0x61,0x6C,0x76,0x6C,0x82,0x6B,0x64,0x69,0x5B,0x63,0x6E,0x65,0x7D,0x5F,0x62,0x65,0x66,0x66,0x67,0x69,0x6A,0x66,0x66,0x69,0x6B,0x6A,0x65,0x64,0x65,0x62,0x5F,0x62,0x6B,0x6C,0x67,0x65,0x69,0x60,0x59,0x5A,0x65,0x6A,0x65,0x65,0x6C,0x70,0x63,0x5C,0x62,0x66,0x62,0x62,0x69,0x81,0x70,0x62,0x62,0x64,0x64,0x66,0x6A,0x8A,0x79,0x67,0x60,0x63,0x67,0x69,0x6A,0x8F,0x7E,0x6A,0x5F,0x60,0x65,0x66,0x63,0x6E,0x67,0x6D,0x5C,0x59,0x61,0x5F,0x66,0x68,0x69,0x74,0x6E,0x63,0x60,0x59,0x51,0x6C,0x6C,0x70,0x73,0x63,0x63,0x69,0x58,0x77,0x72,0x69,0x72,0x62,0x6D,0x7E,0x67,0x82,0x7B,0x6D,0x7A,0x6A,0x77,0x7D,0x60,0x8F,0x87,0x75,0x7D,0x6C,0x7D,0x75,0x5B,0xA1,0x99,0x86,0x82,0x6F,0x82,0x6C,0x5D,0xAC,0xA9,0x9C,0x92,0x7A,0x87,0x61,0x56,0x8C,0x8A,0x7C,0x69,0x61,0x66,0x66,0x60,0x68,0x83,0x90,0x7B,0x5F,0x5A,0x62,0x69,0x55,0x6F,0x80,0x76,0x66,0x63,0x64,0x62,0x5D,0x5E,0x5F,0x66,0x6F,0x72,0x6A,0x60,0x63,0x5C,0x5C,0x66,0x6C,0x6A,0x6A,0x6F,0x61,0x5E,0x62,0x69,0x65,0x5D,0x64,0x72,0x5F,0x5E,0x5F,0x62,0x62,0x61,0x64,0x69,0x5D,0x60,0x5F,0x5C,0x5F,0x68,0x6B,0x68},\r
+{0x66,0x67,0x68,0x67,0x65,0x61,0x5D,0x5A,0x65,0x66,0x67,0x67,0x65,0x62,0x5E,0x5C,0x65,0x66,0x67,0x67,0x66,0x64,0x61,0x5F,0x64,0x65,0x66,0x66,0x66,0x65,0x63,0x62,0x64,0x64,0x65,0x65,0x65,0x64,0x63,0x63,0x64,0x64,0x64,0x64,0x63,0x63,0x62,0x62,0x65,0x64,0x63,0x62,0x61,0x61,0x60,0x60,0x65,0x64,0x63,0x61,0x60,0x5F,0x5F,0x5F,0xBA,0xBD,0xC1,0xC6,0xCB,0xCE,0xD0,0xD1,0xB9,0xB9,0xBB,0xBF,0xC5,0xCB,0xD2,0xD5,0xBD,0xBA,0xB7,0xB7,0xBC,0xC7,0xD2,0xD9,0xC9,0xC2,0xBA,0xB5,0xB8,0xC3,0xD0,0xD8,0xD5,0xCE,0xC3,0xBB,0xBA,0xC1,0xCC,0xD3,0xD8,0xD2,0xC9,0xC2,0xC0,0xC3,0xC9,0xCE,0xCF,0xCD,0xCA,0xC8,0xC7,0xC7,0xC9,0xCA,0xC4,0xC6,0xC8,0xC9,0xCA,0xCA,0xCA,0xC9,0x64,0x65,0x71,0x7D,0x74,0x60,0x5D,0x6A,0x65,0x66,0x6F,0x79,0x74,0x67,0x66,0x6F,0x67,0x67,0x6C,0x72,0x72,0x6E,0x6D,0x70,0x67,0x68,0x6A,0x6C,0x6F,0x70,0x6D,0x6A,0x65,0x68,0x69,0x6A,0x6E,0x71,0x6D,0x65,0x64,0x67,0x69,0x6A,0x6E,0x71,0x6D,0x67,0x66,0x68,0x6B,0x6B,0x6C,0x6C,0x6A,0x68,0x6A,0x6B,0x6C,0x6B,0x68,0x66,0x66,0x66,0x6C,0x7D,0x64,0x70,0x72,0x69,0x80,0x6B,0x66,0x75,0x65,0x6B,0x6C,0x6B,0x84,0x7C,0x62,0x6D,0x68,0x66,0x65,0x6D,0x83,0x89,0x63,0x68,0x6C,0x65,0x63,0x6D,0x79,0x85,0x65,0x65,0x6D,0x67,0x65,0x6D,0x6D,0x76,0x66,0x65,0x6A,0x69,0x69,0x6C,0x68,0x6A,0x67,0x68,0x66,0x69,0x6B,0x68,0x68,0x65,0x6A,0x6C,0x65,0x69,0x6A,0x64,0x68,0x64,0x67,0x74,0x7A,0x6F,0x61,0x5E,0x61,0x64,0x64,0x7D,0x8B,0x7C,0x69,0x64,0x66,0x65,0x63,0x85,0x98,0x89,0x72,0x6C,0x6C,0x68,0x64,0x7D,0x8D,0x83,0x72,0x6B,0x6B,0x69,0x67,0x6D,0x71,0x70,0x6A,0x65,0x66,0x6A,0x6E,0x66,0x63,0x66,0x67,0x65,0x67,0x6D,0x6E,0x69,0x65,0x65,0x66,0x66,0x69,0x6D,0x66,0x6A,0x69,0x64,0x62,0x64,0x66,0x67,0x6A,0x68,0x65,0x64,0x64,0x67,0x6A,0x6C,0x5F,0x5F,0x61,0x63,0x66,0x69,0x6C,0x6E,0x67,0x66,0x65,0x62,0x5F,0x5B,0x58,0x56,0x6D,0x6D,0x6C,0x6B,0x69,0x66,0x64,0x63,0x6C,0x6C,0x6B,0x6B,0x6C,0x6C,0x6D,0x6E,0x6E,0x6C,0x68,0x65,0x62,0x62,0x62,0x62,0x6B,0x6A,0x68,0x66,0x65,0x66,0x67,0x68,0x6A,0x69,0x67,0x65,0x63,0x61,0x60,0x60,0x62,0x62,0x61,0x60,0x62,0x64,0x67,0x69,0x60,0x5F,0x5E,0x5D,0x5E,0x60,0x63,0x64,0x5F,0x5E,0x5C,0x5B,0x5B,0x5C,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5B,0x5C,0x5D,0x5E,0x65,0x63,0x61,0x5E,0x5E,0x5E,0x60,0x61,0x66,0x64,0x62,0x60,0x5F,0x60,0x62,0x63,0x64,0x62,0x60,0x5F,0x5F,0x60,0x62,0x63,0x61,0x60,0x5E,0x5D,0x5D,0x5E,0x60,0x62,0xD6,0xD1,0xCE,0xD2,0xDA,0xE0,0xDF,0xDB,0xD6,0xD2,0xCF,0xD3,0xDB,0xE0,0xDE,0xDB,0xD7,0xD3,0xD1,0xD5,0xDC,0xE0,0xDD,0xD9,0xD7,0xD3,0xD2,0xD6,0xDD,0xDF,0xDB,0xD5,0xD5,0xD2,0xD1,0xD6,0xDC,0xDD,0xD7,0xD0,0xD2,0xD0,0xCF,0xD4,0xD9,0xD9,0xD2,0xCA,0xCF,0xCD,0xCD,0xD2,0xD7,0xD5,0xCD,0xC4,0xCD,0xCB,0xCB,0xD0,0xD5,0xD3,0xCA,0xC1,0x75,0x72,0x6C,0x65,0x61,0x61,0x64,0x67,0x74,0x6E,0x66,0x5F,0x5E,0x62,0x68,0x6C,0x6E,0x65,0x5B,0x56,0x58,0x61,0x6A,0x70,0x67,0x5F,0x56,0x53,0x5A,0x66,0x70,0x76,0x64,0x5F,0x5A,0x5C,0x65,0x72,0x7C,0x81,0x60,0x5F,0x5F,0x65,0x6F,0x7B,0x85,0x8A,0x5E,0x60,0x64,0x6B,0x75,0x81,0x8B,0x90,0x60,0x63,0x69,0x71,0x7B,0x86,0x90,0x97,0x73,0x79,0x82,0x8A,0x8E,0x92,0x95,0x97,0x75,0x7B,0x84,0x8B,0x8F,0x91,0x94,0x95,0x79,0x7F,0x87,0x8D,0x8F,0x90,0x91,0x93,0x80,0x84,0x8B,0x8E,0x8F,0x8F,0x8F,0x90,0x87,0x8A,0x8E,0x90,0x8E,0x8D,0x8D,0x8D,0x8E,0x90,0x92,0x90,0x8D,0x8B,0x8B,0x8C,0x95,0x95,0x94,0x90,0x8C,0x89,0x89,0x8B,0x98,0x98,0x95,0x90,0x8B,0x88,0x89,0x8A,0x5E,0x62,0x69,0x74,0x80,0x8B,0x95,0x9A,0x58,0x5D,0x65,0x71,0x7E,0x8A,0x94,0x99,0x54,0x58,0x61,0x6C,0x79,0x85,0x8F,0x94,0x56,0x58,0x5E,0x66,0x71,0x7C,0x86,0x8C,0x59,0x59,0x5B,0x60,0x69,0x74,0x7F,0x85,0x5A,0x59,0x59,0x5C,0x63,0x6D,0x77,0x7E,0x5B,0x5A,0x5A,0x5B,0x60,0x67,0x6D,0x72,0x5D,0x5C,0x5C,0x5C,0x5E,0x61,0x65,0x67,0x9B,0x98,0x94,0x8E,0x89,0x86,0x86,0x87,0x9B,0x99,0x95,0x8F,0x8A,0x86,0x85,0x85,0x9C,0x9A,0x97,0x91,0x8B,0x86,0x83,0x82,0x96,0x96,0x93,0x8E,0x87,0x81,0x7C,0x7B,0x8B,0x8C,0x8B,0x87,0x81,0x7A,0x74,0x71,0x81,0x83,0x84,0x82,0x7D,0x75,0x6F,0x6C,0x75,0x78,0x7B,0x7A,0x76,0x6F,0x68,0x65,0x67,0x6B,0x6F,0x70,0x6C,0x65,0x5F,0x5B,0x93,0x96,0x9C,0xA3,0xA8,0xAB,0xAD,0xAD,0x96,0x9A,0xA0,0xA6,0xAA,0xAA,0xA8,0xA6,0x97,0x9D,0xA5,0xAC,0xAE,0xAB,0xA5,0xA1,0x93,0x9B,0xA6,0xAF,0xB2,0xAE,0xA7,0xA2,0x89,0x92,0xA0,0xAC,0xB1,0xAF,0xA9,0xA4,0x7E,0x87,0x94,0xA0,0xA6,0xA6,0xA2,0x9E,0x76,0x7D,0x87,0x91,0x96,0x96,0x92,0x90,0x73,0x78,0x7F,0x86,0x89,0x88,0x85,0x82,0x7E,0x7D,0x7B,0x7A,0x79,0x79,0x7A,0x7A,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x79,0x7A,0x7C,0x7B,0x7A,0x79,0x78,0x78,0x78,0x79,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7C,0x7B,0x7A,0x7A,0x7A,0x7B,0x81,0x80,0x7F,0x7E,0x7D,0x7D,0x7D,0x7E,0x84,0x83,0x82,0x81,0x80,0x80,0x81,0x81,0x86,0x85,0x84,0x83,0x82,0x82,0x83,0x83,0x97,0x98,0x98,0x99,0x99,0x98,0x97,0x96,0x96,0x96,0x96,0x95,0x94,0x93,0x92,0x92,0x94,0x93,0x92,0x90,0x8F,0x8E,0x8D,0x8D,0x90,0x8F,0x8E,0x8C,0x8B,0x8B,0x8B,0x8B,0x8D,0x8D,0x8C,0x8B,0x8B,0x8B,0x8C,0x8D,0x8C,0x8C,0x8C,0x8C,0x8C,0x8D,0x8E,0x8E,0x8B,0x8C,0x8D,0x8E,0x8E,0x8F,0x8F,0x8F,0x8C,0x8D,0x8E,0x8F,0x8F,0x8F,0x8F,0x8E,0x96,0x95,0x94,0x94,0x92,0x8C,0x83,0x7B,0x92,0x91,0x91,0x91,0x90,0x8A,0x80,0x79,0x8E,0x8D,0x8E,0x8F,0x8D,0x87,0x7D,0x75,0x8E,0x8D,0x8D,0x8D,0x8B,0x84,0x79,0x71,0x90,0x8F,0x8D,0x8C,0x89,0x80,0x75,0x6C,0x91,0x8E,0x8B,0x89,0x84,0x7B,0x6F,0x66,0x8E,0x8B,0x86,0x82,0x7D,0x74,0x69,0x60,0x8B,0x87,0x82,0x7D,0x78,0x6F,0x64,0x5D},\r
+{0x8E,0x90,0x92,0x93,0x92,0x8F,0x8C,0x8A,0x8B,0x8D,0x8F,0x90,0x8F,0x8C,0x88,0x85,0x85,0x87,0x8A,0x8C,0x8B,0x86,0x81,0x7E,0x7D,0x80,0x83,0x84,0x83,0x7E,0x79,0x75,0x74,0x76,0x78,0x79,0x77,0x74,0x6F,0x6C,0x6A,0x6B,0x6B,0x6B,0x69,0x67,0x65,0x63,0x61,0x60,0x5F,0x5D,0x5C,0x5B,0x5B,0x5B,0x5B,0x59,0x57,0x54,0x54,0x54,0x56,0x57,0x88,0x83,0x7C,0x74,0x6D,0x67,0x62,0x5E,0x81,0x7C,0x73,0x6B,0x65,0x61,0x5E,0x5C,0x78,0x72,0x69,0x62,0x5D,0x5C,0x5B,0x5B,0x6E,0x69,0x63,0x5E,0x5D,0x5D,0x5E,0x5E,0x64,0x62,0x60,0x5F,0x5F,0x60,0x61,0x61,0x5E,0x5D,0x5D,0x5F,0x60,0x61,0x61,0x60,0x5C,0x5C,0x5C,0x5D,0x5F,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5D,0x5E,0x5F,0x5F,0x5E,0xA0,0xA1,0xA3,0xA3,0xA0,0x9A,0x93,0x8F,0xA2,0xA4,0xA6,0xA5,0xA1,0x99,0x90,0x8A,0xA3,0xA6,0xA8,0xA7,0xA0,0x96,0x8A,0x83,0xA3,0xA5,0xA6,0xA4,0x9C,0x90,0x84,0x7C,0x9E,0x9F,0x9E,0x9B,0x93,0x88,0x7E,0x77,0x96,0x95,0x92,0x8D,0x86,0x7F,0x79,0x76,0x8D,0x8A,0x84,0x7F,0x7A,0x77,0x76,0x76,0x88,0x83,0x7C,0x76,0x72,0x73,0x75,0x77,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F,0x80,0x80,0x7B,0x7B,0x7C,0x7E,0x7F,0x80,0x81,0x81,0x79,0x7A,0x7B,0x7D,0x7F,0x81,0x83,0x83,0x78,0x79,0x7B,0x7D,0x80,0x83,0x84,0x85,0x79,0x7A,0x7C,0x7F,0x82,0x84,0x86,0x87,0x7B,0x7C,0x7E,0x81,0x83,0x86,0x88,0x89,0x7E,0x7F,0x81,0x83,0x85,0x87,0x89,0x8A,0x80,0x81,0x83,0x84,0x86,0x88,0x89,0x8A,0x6D,0x66,0x60,0x5D,0x5C,0x5C,0x5E,0x61,0x6B,0x65,0x5F,0x5D,0x5C,0x5B,0x5C,0x5E,0x67,0x62,0x5E,0x5D,0x5C,0x5B,0x5B,0x5C,0x63,0x5F,0x5D,0x5E,0x5E,0x5C,0x5C,0x5D,0x60,0x5D,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x5F,0x5C,0x5C,0x5E,0x60,0x60,0x60,0x62,0x60,0x5D,0x5C,0x5E,0x60,0x5F,0x60,0x61,0x61,0x5D,0x5C,0x5D,0x5E,0x5E,0x5E,0x60,0x71,0x7B,0x7C,0x7C,0x85,0x8F,0x92,0x94,0x67,0x75,0x7C,0x80,0x89,0x91,0x93,0x95,0x60,0x70,0x7A,0x7E,0x87,0x8D,0x90,0x94,0x64,0x72,0x7A,0x7C,0x82,0x87,0x8D,0x95,0x65,0x72,0x7A,0x7D,0x82,0x85,0x8B,0x95,0x5C,0x6A,0x75,0x7B,0x80,0x82,0x85,0x8E,0x59,0x65,0x6E,0x74,0x7B,0x7D,0x80,0x8A,0x60,0x68,0x6C,0x71,0x78,0x7B,0x81,0x8C,0x5D,0x5D,0x5D,0x5E,0x5E,0x5E,0x60,0x62,0x5E,0x5D,0x5E,0x5E,0x5E,0x5F,0x60,0x62,0x5F,0x5E,0x5E,0x5E,0x5F,0x60,0x61,0x62,0x60,0x60,0x5F,0x5E,0x5F,0x62,0x64,0x63,0x60,0x61,0x60,0x5E,0x61,0x66,0x67,0x65,0x61,0x62,0x60,0x5F,0x62,0x69,0x6B,0x68,0x61,0x63,0x61,0x5F,0x64,0x6D,0x6F,0x6B,0x61,0x63,0x62,0x5F,0x65,0x6F,0x71,0x6C,0x63,0x5F,0x60,0x6B,0x78,0x80,0x82,0x82,0x5D,0x5D,0x63,0x6F,0x7A,0x7D,0x79,0x75,0x5F,0x60,0x65,0x6F,0x75,0x72,0x6C,0x68,0x6B,0x67,0x65,0x67,0x68,0x66,0x63,0x63,0x6F,0x68,0x61,0x60,0x60,0x60,0x62,0x64,0x6A,0x63,0x5D,0x5D,0x61,0x63,0x64,0x66,0x66,0x5E,0x59,0x5C,0x62,0x65,0x65,0x65,0x68,0x5E,0x58,0x5A,0x61,0x65,0x65,0x64,0x7D,0x7B,0x77,0x73,0x6F,0x6D,0x6C,0x6B,0x7C,0x7A,0x76,0x72,0x6F,0x6D,0x6C,0x6B,0x79,0x78,0x75,0x71,0x6F,0x6D,0x6B,0x6B,0x77,0x76,0x73,0x71,0x6E,0x6C,0x6A,0x6A,0x75,0x74,0x73,0x70,0x6D,0x6B,0x68,0x67,0x75,0x74,0x73,0x70,0x6C,0x69,0x65,0x63,0x75,0x75,0x73,0x70,0x6C,0x67,0x63,0x60,0x76,0x75,0x73,0x70,0x6B,0x66,0x61,0x5E,0x8F,0x85,0x82,0x92,0xAE,0xBF,0xBD,0xB4,0x96,0x85,0x7B,0x8B,0xAD,0xC3,0xC2,0xB6,0x92,0x86,0x7E,0x89,0xA2,0xB9,0xC4,0xC5,0x83,0x88,0x8B,0x8C,0x92,0xA5,0xC2,0xD8,0x7E,0x86,0x8D,0x8D,0x8F,0xA0,0xC1,0xDB,0x86,0x86,0x88,0x8E,0x9C,0xB0,0xC4,0xD1,0x8A,0x8A,0x8F,0x9A,0xAB,0xBC,0xC9,0xCF,0x86,0x90,0x9E,0xA9,0xB1,0xBC,0xCB,0xD7,0xA8,0xAF,0xA6,0xAB,0x91,0x8C,0x60,0x5C,0x9D,0x9F,0xA0,0xAE,0xA2,0x92,0x65,0x5D,0x95,0x92,0x9C,0xAB,0xAC,0x92,0x67,0x5D,0x99,0x94,0x9E,0x9B,0x9E,0x82,0x66,0x5C,0x9E,0x9A,0x9D,0x82,0x80,0x6E,0x64,0x61,0x9A,0x95,0x8F,0x6D,0x69,0x63,0x64,0x68,0x8F,0x84,0x7A,0x63,0x65,0x66,0x64,0x6B,0x86,0x75,0x6A,0x62,0x6A,0x6C,0x63,0x6A,0x60,0x5F,0x5E,0x5E,0x5F,0x61,0x64,0x65,0x61,0x60,0x60,0x5F,0x60,0x61,0x62,0x63,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x60,0x61,0x62,0x63,0x63,0x63,0x63,0x62,0x60,0x61,0x62,0x64,0x65,0x65,0x64,0x64,0x60,0x61,0x63,0x64,0x65,0x66,0x66,0x66,0x62,0x63,0x63,0x64,0x65,0x66,0x66,0x66,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x6D,0x6B,0x69,0x69,0x6A,0x69,0x66,0x64,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x68,0x63,0x66,0x68,0x68,0x66,0x65,0x67,0x69,0x67,0x68,0x69,0x69,0x67,0x65,0x65,0x66,0x6A,0x69,0x68,0x67,0x67,0x67,0x64,0x62,0x68,0x66,0x64,0x65,0x67,0x67,0x65,0x62,0x66,0x66,0x66,0x66,0x67,0x67,0x66,0x65,0x67,0x69,0x6A,0x69,0x67,0x65,0x66,0x67,0x63,0x63,0x64,0x65,0x66,0x66,0x67,0x67,0x63,0x64,0x64,0x65,0x65,0x66,0x67,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x66,0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x6C,0x69,0x66,0x63,0x60,0x60,0x60,0x61,0x6A,0x68,0x65,0x62,0x60,0x5F,0x5F,0x60,0x68,0x66,0x63,0x60,0x5E,0x5E,0x5E,0x5F,0x65,0x63,0x60,0x5E,0x5D,0x5D,0x5E,0x5F,0x63,0x61,0x5F,0x5D,0x5C,0x5C,0x5E,0x5F,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5F,0x61,0x61,0x5F,0x5E,0x5C,0x5C,0x5E,0x60,0x61,0xB7,0xBC,0xC1,0xC4,0xC4,0xC4,0xC6,0xC9,0xBC,0xC0,0xC5,0xC7,0xC6,0xC6,0xC9,0xCB,0xC3,0xC6,0xCA,0xCB,0xCA,0xCA,0xCC,0xCF,0xCA,0xCD,0xD0,0xD0,0xCE,0xCD,0xCF,0xD2,0xD0,0xD2,0xD3,0xD2,0xCF,0xCE,0xD1,0xD3,0xD3,0xD5,0xD5,0xD2,0xCF,0xCD,0xD0,0xD2,0xD4,0xD5,0xD5,0xD1,0xCD,0xCB,0xCD,0xD0,0xD4,0xD5,0xD4,0xD0,0xCC,0xCA,0xCC,0xCF}};\r
+\r
+struct yrsreg {\r
+  volatile unsigned int fbadd;\r
+  volatile unsigned int size_info;\r
+  volatile unsigned int incadd;\r
+  volatile unsigned int reset;\r
+}\r
+\r
+  upycc_pic(){\r
+    struct yrsreg *sreg = (struct yrsreg *) HPADDR;\r
+    volatile unsigned int *dataad = (unsigned int *)HSADDR;\r
+    unsigned int rdata;\r
+    volatile unsigned int *raddr; \r
+    int i,j,k;\r
+    unsigned int *allocadd;\r
+    volatile unsigned int *svaddr = (unsigned int *)SVGAADDR;\r
+\r
+    allocadd = (unsigned int *)memalign(1024, 2*640*480);\r
+    if (allocadd == NULL) fail(0);\r
+\r
+    sreg->fbadd = (unsigned int) allocadd;\r
+    sreg->size_info = 0x00082464;\r
+    sreg->incadd = 0x4e4b504;\r
+    sreg->reset     = 0x00000000;\r
+    sreg->reset     = 0xffffffff;\r
+\r
+    /* For checking data*/\r
+\r
+    *(svaddr + 1)  = 0x01df027f;\r
+    *(svaddr + 2)  = 0x000b0010;\r
+    *(svaddr + 3)  = 0x00020060;\r
+    *(svaddr + 4)  = 0x020b031f;\r
+    *(svaddr + 5)  = (unsigned int) allocadd;\r
+    *(svaddr + 6)  = 0x00009c40;\r
+    *(svaddr + 7)  = 0x000061a8;\r
+    *(svaddr + 8)  = 0x00004e20;\r
+    *(svaddr + 9)  = 0x00003c19;\r
+    *(svaddr + 10) = 0x00000000;\r
+\r
+    *svaddr = 0x00000021;\r
+    for(i=0;i<480;i++){\r
+      for(j=0;j<320;j++){\r
+       *(allocadd + i*320 +j) = 0x0;\r
+      }\r
+    }\r
+    for(i=0;i<9;i++){\r
+      for(j=0;j<1024;j++){\r
+        *dataad = indata[i][j];\r
+       //      for(k=0;k<100000;k++);\r
+      }\r
+    }\r
+  }\r
+\r
+\r
+\r
\r
+\r
diff --git a/grlib-gpl-1.0.22-b4095/software/leon3/upycc_pic_neek.c b/grlib-gpl-1.0.22-b4095/software/leon3/upycc_pic_neek.c
new file mode 100644 (file)
index 0000000..f547b30
--- /dev/null
@@ -0,0 +1,76 @@
+#include "testmod.h"\r
+#include <stdio.h>\r
+\r
+// You must set the following AHB address according to your system\r
+// This sample address is for NEEK\r
+#define HSADDR 0xb0000000\r
+#define HPADDR 0x80000700\r
+#define SVGAADDR 0x80000b00\r
+\r
+static unsigned int indata[9][1024] = {\r
+{0x31,0x31,0x30,0x30,0x2F,0x2E,0x2D,0x2D,0x33,0x33,0x32,0x32,0x31,0x30,0x2F,0x2F,0x36,0x36,0x35,0x35,0x34,0x33,0x32,0x32,0x39,0x39,0x38,0x37,0x36,0x36,0x35,0x35,0x3B,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x3A,0x3A,0x41,0x41,0x40,0x3F,0x3F,0x3E,0x3D,0x3D,0x43,0x43,0x42,0x41,0x41,0x40,0x3F,0x3F,0x2E,0x2E,0x2E,0x2E,0x2D,0x2C,0x2B,0x2B,0x30,0x30,0x30,0x2F,0x2F,0x2E,0x2D,0x2D,0x32,0x32,0x32,0x32,0x32,0x31,0x30,0x2F,0x35,0x35,0x35,0x35,0x34,0x33,0x32,0x32,0x37,0x37,0x37,0x37,0x36,0x35,0x35,0x34,0x3A,0x3A,0x3A,0x39,0x39,0x38,0x37,0x37,0x3C,0x3C,0x3C,0x3C,0x3C,0x3B,0x3A,0x39,0x3E,0x3E,0x3E,0x3E,0x3D,0x3D,0x3C,0x3B,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x46,0x46,0x44,0x45,0x45,0x45,0x46,0x46,0x47,0x47,0x45,0x45,0x46,0x46,0x47,0x47,0x48,0x48,0x46,0x46,0x47,0x48,0x48,0x49,0x4A,0x4A,0x47,0x48,0x48,0x49,0x4A,0x4A,0x4B,0x4B,0x43,0x42,0x41,0x40,0x40,0x3F,0x3D,0x3B,0x45,0x44,0x43,0x41,0x40,0x3E,0x3D,0x3B,0x44,0x44,0x43,0x41,0x3F,0x3D,0x3D,0x3D,0x44,0x44,0x44,0x43,0x41,0x40,0x41,0x42,0x47,0x47,0x47,0x46,0x44,0x44,0x44,0x45,0x47,0x46,0x45,0x45,0x46,0x45,0x43,0x41,0x47,0x45,0x45,0x48,0x4C,0x4C,0x49,0x45,0x4A,0x48,0x49,0x4F,0x56,0x59,0x56,0x51,0x7D,0x7D,0x7F,0x80,0x81,0x82,0x82,0x82,0x7D,0x7D,0x7E,0x7F,0x80,0x80,0x80,0x80,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7E,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x7A,0x7B,0x7C,0x7B,0x79,0x78,0x78,0x79,0x7B,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x7A,0x7D,0x7F,0x7B,0x7A,0x78,0x77,0x78,0x7B,0x7E,0x80,0x85,0x85,0x84,0x83,0x81,0x80,0x7F,0x7F,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x83,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x83,0x83,0x84,0x85,0x85,0x86,0x86,0x82,0x82,0x83,0x83,0x84,0x84,0x85,0x85,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x83,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2B,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2D,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x38,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x3B,0x2E,0x2E,0x2E,0x2E,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x2F,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x31,0x32,0x32,0x32,0x33,0x31,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x34,0x33,0x33,0x34,0x34,0x34,0x34,0x34,0x34,0x36,0x36,0x36,0x35,0x35,0x35,0x35,0x35,0x38,0x38,0x37,0x37,0x36,0x36,0x35,0x35,0x3D,0x3D,0x3C,0x3D,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3D,0x3D,0x3D,0x3D,0x3C,0x3D,0x3D,0x3D,0x3C,0x3C,0x3C,0x3D,0x3E,0x3F,0x3F,0x3E,0x3D,0x3C,0x3C,0x3D,0x42,0x42,0x41,0x40,0x3F,0x3D,0x3D,0x3D,0x46,0x44,0x42,0x41,0x41,0x40,0x3E,0x3C,0x49,0x45,0x42,0x41,0x42,0x42,0x3E,0x3B,0x4A,0x45,0x41,0x41,0x43,0x43,0x3E,0x3A,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x35,0x39,0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x3A,0x3A,0x39,0x39,0x38,0x37,0x36,0x36,0x3B,0x3B,0x3A,0x3A,0x39,0x38,0x37,0x37,0x3C,0x3B,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3C,0x3B,0x3A,0x39,0x39,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x38,0x3C,0x3B,0x3B,0x3A,0x39,0x38,0x38,0x37,0x82,0x82,0x81,0x80,0x80,0x7F,0x7E,0x7E,0x80,0x80,0x80,0x7F,0x7F,0x7E,0x7E,0x7D,0x7E,0x7E,0x7E,0x7D,0x7D,0x7D,0x7D,0x7C,0x7B,0x7B,0x7B,0x7C,0x7C,0x7C,0x7C,0x7C,0x79,0x79,0x7A,0x7A,0x7B,0x7B,0x7C,0x7C,0x78,0x78,0x79,0x7A,0x7B,0x7C,0x7C,0x7D,0x77,0x78,0x79,0x7A,0x7B,0x7C,0x7D,0x7E,0x77,0x78,0x79,0x7A,0x7C,0x7D,0x7E,0x7F,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x80,0x84,0x84,0x83,0x83,0x82,0x81,0x81,0x81,0x85,0x84,0x84,0x83,0x82,0x82,0x81,0x81,0x85,0x85,0x84,0x84,0x83,0x82,0x82,0x82,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x82,0x86,0x86,0x86,0x85,0x84,0x84,0x83,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x83,0x87,0x87,0x86,0x86,0x85,0x84,0x84,0x84,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x2E,0x30,0x30,0x30,0x30,0x30,0x2F,0x2F,0x2F,0x33,0x32,0x32,0x32,0x32,0x32,0x32,0x32,0x33,0x34,0x34,0x34,0x35,0x36,0x36,0x36,0x33,0x34,0x35,0x36,0x37,0x39,0x3A,0x3A,0x33,0x34,0x35,0x37,0x39,0x3A,0x3B,0x3C,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x36,0x37,0x37,0x38,0x38,0x39,0x39,0x39,0x30,0x31,0x31,0x33,0x34,0x35,0x36,0x36,0x32,0x33,0x33,0x35,0x36,0x37,0x38,0x38,0x35,0x35,0x36,0x37,0x39,0x3A,0x3B,0x3B,0x37,0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x3F,0x3F,0x3B,0x3B,0x3C,0x3D,0x3E,0x40,0x40,0x41,0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x3E,0x3E,0x3F,0x40,0x41,0x43,0x43,0x44,0x34,0x34,0x35,0x36,0x37,0x39,0x3B,0x3C,0x36,0x36,0x37,0x37,0x39,0x3B,0x3D,0x3E,0x37,0x37,0x37,0x38,0x3A,0x3C,0x3D,0x3F,0x37,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3E,0x38,0x37,0x37,0x38,0x39,0x3B,0x3C,0x3D,0x39,0x39,0x39,0x39,0x3A,0x3C,0x3D,0x3E,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3D,0x3E,0x38,0x37,0x37,0x37,0x38,0x3A,0x3B,0x3C,0x3C,0x3D,0x3F,0x40,0x42,0x43,0x43,0x43,0x3D,0x3E,0x40,0x41,0x42,0x43,0x43,0x42,0x3F,0x3F,0x41,0x42,0x43,0x43,0x42,0x42,0x40,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x41,0x41,0x42,0x43,0x43,0x43,0x42,0x42,0x40,0x40,0x42,0x43,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x42,0x43,0x43,0x42,0x42},\r
+{0x81,0x80,0x7F,0x7E,0x7D,0x7B,0x7A,0x7A,0x80,0x7F,0x7E,0x7D,0x7C,0x7A,0x79,0x79,0x7E,0x7E,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7C,0x7C,0x7B,0x7A,0x78,0x77,0x76,0x75,0x7D,0x7C,0x7B,0x7A,0x79,0x77,0x76,0x76,0x7D,0x7D,0x7C,0x7A,0x79,0x78,0x77,0x76,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x86,0x87,0x82,0x82,0x83,0x84,0x85,0x86,0x87,0x87,0x82,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x83,0x83,0x84,0x85,0x86,0x87,0x87,0x88,0x83,0x83,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x83,0x84,0x84,0x85,0x86,0x87,0x88,0x88,0x37,0x38,0x39,0x39,0x38,0x37,0x35,0x34,0x39,0x3A,0x3A,0x3A,0x3A,0x38,0x37,0x36,0x3C,0x3C,0x3D,0x3D,0x3C,0x3A,0x39,0x38,0x3E,0x3F,0x3E,0x3E,0x3D,0x3C,0x3A,0x3A,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x43,0x43,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x45,0x44,0x42,0x41,0x3F,0x3E,0x3E,0x3D,0x34,0x34,0x33,0x32,0x32,0x33,0x34,0x34,0x35,0x35,0x34,0x33,0x33,0x34,0x35,0x35,0x37,0x36,0x35,0x35,0x35,0x35,0x36,0x37,0x38,0x38,0x37,0x36,0x36,0x37,0x38,0x38,0x3A,0x39,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3A,0x39,0x39,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x3B,0x3B,0x3A,0x39,0x39,0x3A,0x3B,0x3B,0x43,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x43,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3C,0x3C,0x3B,0x42,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x41,0x41,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x40,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x40,0x3F,0x3E,0x3D,0x3C,0x3B,0x3A,0x39,0x3A,0x39,0x3A,0x3D,0x3C,0x39,0x3A,0x3E,0x3F,0x3E,0x3D,0x3D,0x3C,0x3C,0x3D,0x3F,0x3F,0x3E,0x3C,0x3A,0x3B,0x3E,0x3F,0x3F,0x3B,0x3C,0x3B,0x39,0x3B,0x40,0x42,0x3F,0x3A,0x3C,0x3C,0x3B,0x3D,0x40,0x41,0x3F,0x3B,0x3A,0x3A,0x3B,0x3B,0x3A,0x3C,0x3F,0x3D,0x38,0x38,0x3C,0x3B,0x37,0x3E,0x49,0x41,0x3A,0x3A,0x41,0x40,0x3C,0x47,0x59,0x7C,0x7B,0x7B,0x7B,0x7B,0x7B,0x7C,0x7D,0x7A,0x7A,0x7A,0x7B,0x7B,0x7C,0x7D,0x7D,0x78,0x79,0x79,0x7A,0x7B,0x7C,0x7D,0x7D,0x76,0x77,0x79,0x7A,0x7B,0x7C,0x7C,0x7C,0x76,0x77,0x79,0x7A,0x7B,0x7B,0x7B,0x7A,0x76,0x77,0x79,0x7B,0x7B,0x7A,0x79,0x77,0x77,0x78,0x7A,0x7B,0x7B,0x79,0x76,0x74,0x77,0x79,0x7B,0x7B,0x7A,0x78,0x75,0x73,0x84,0x84,0x85,0x86,0x86,0x86,0x86,0x86,0x85,0x85,0x86,0x86,0x86,0x86,0x85,0x85,0x87,0x87,0x87,0x86,0x85,0x85,0x84,0x84,0x8A,0x89,0x87,0x86,0x85,0x84,0x84,0x84,0x8B,0x89,0x87,0x85,0x84,0x84,0x85,0x85,0x8B,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8A,0x88,0x86,0x84,0x84,0x86,0x88,0x8A,0x89,0x88,0x85,0x84,0x84,0x86,0x89,0x8B,0x38,0x35,0x38,0x39,0x35,0x35,0x35,0x31,0x36,0x34,0x36,0x37,0x35,0x36,0x38,0x35,0x3A,0x39,0x38,0x37,0x36,0x36,0x36,0x36,0x3A,0x3C,0x3B,0x3A,0x3C,0x3A,0x38,0x3A,0x35,0x3B,0x3A,0x3B,0x41,0x40,0x3C,0x40,0x37,0x3F,0x3C,0x3B,0x43,0x40,0x3A,0x40,0x3B,0x44,0x3D,0x3A,0x44,0x42,0x3D,0x47,0x37,0x40,0x3A,0x38,0x48,0x4A,0x49,0x57,0x33,0x32,0x33,0x35,0x38,0x3D,0x42,0x45,0x35,0x34,0x34,0x34,0x36,0x39,0x3C,0x3E,0x39,0x39,0x38,0x38,0x39,0x3A,0x3B,0x3C,0x38,0x38,0x38,0x38,0x39,0x3A,0x3B,0x3B,0x3C,0x3C,0x3C,0x3D,0x3D,0x3E,0x3F,0x40,0x3D,0x3C,0x3C,0x3C,0x3C,0x3E,0x3F,0x40,0x3F,0x3F,0x3E,0x3F,0x41,0x43,0x46,0x48,0x58,0x58,0x58,0x5A,0x5D,0x62,0x67,0x6A,0x49,0x3E,0x40,0x55,0x6C,0x7A,0x7E,0x7D,0x3B,0x37,0x54,0x79,0x81,0x84,0x7F,0x6C,0x41,0x42,0x6A,0x87,0x7A,0x74,0x70,0x54,0x4C,0x5C,0x7A,0x80,0x6B,0x67,0x66,0x54,0x44,0x68,0x78,0x6B,0x60,0x5F,0x5C,0x59,0x58,0x75,0x70,0x58,0x54,0x54,0x51,0x57,0x79,0x77,0x66,0x57,0x55,0x55,0x55,0x5B,0x6F,0x55,0x4C,0x54,0x56,0x56,0x59,0x57,0x58,0x5E,0x63,0x65,0x6D,0x75,0x75,0x6F,0x51,0x53,0x55,0x57,0x61,0x6C,0x6E,0x68,0x56,0x55,0x53,0x55,0x60,0x6B,0x6E,0x69,0x54,0x53,0x51,0x51,0x57,0x5F,0x61,0x5F,0x54,0x56,0x57,0x56,0x55,0x55,0x56,0x56,0x5A,0x5E,0x61,0x60,0x5C,0x58,0x57,0x57,0x56,0x59,0x5D,0x5F,0x5C,0x58,0x56,0x56,0x56,0x58,0x5B,0x5F,0x60,0x5D,0x5B,0x5A,0x7A,0x7B,0x7C,0x7D,0x7D,0x7B,0x79,0x78,0x7B,0x7B,0x7C,0x7C,0x7B,0x79,0x77,0x76,0x7B,0x7B,0x7B,0x7A,0x78,0x76,0x74,0x73,0x7A,0x79,0x78,0x76,0x74,0x71,0x6F,0x6E,0x77,0x75,0x73,0x71,0x6E,0x6C,0x6B,0x6A,0x72,0x71,0x6E,0x6B,0x69,0x67,0x67,0x66,0x6D,0x6C,0x69,0x66,0x64,0x64,0x64,0x64,0x6A,0x69,0x66,0x64,0x62,0x62,0x62,0x62,0x84,0x90,0x98,0x91,0x83,0x82,0x92,0xA3,0x91,0x95,0x97,0x92,0x8A,0x87,0x8D,0x94,0x85,0x87,0x88,0x8A,0x8A,0x8A,0x89,0x88,0x7B,0x84,0x8F,0x96,0x98,0x9A,0x9C,0x9F,0x91,0xA3,0xB6,0xBA,0xB3,0xB0,0xB8,0xC2,0xA8,0xBB,0xCB,0xC9,0xB9,0xB0,0xB7,0xC3,0xAE,0xB8,0xC2,0xBF,0xB4,0xAD,0xB0,0xB6,0xB1,0xB4,0xB8,0xBA,0xBB,0xBA,0xBB,0xBB,0x47,0x47,0x47,0x47,0x48,0x49,0x4A,0x4B,0x46,0x47,0x47,0x49,0x4A,0x4A,0x4B,0x4B,0x45,0x46,0x48,0x4A,0x4C,0x4C,0x4C,0x4B,0x44,0x46,0x49,0x4C,0x4D,0x4D,0x4C,0x4C,0x43,0x45,0x49,0x4C,0x4E,0x4E,0x4D,0x4C,0x43,0x45,0x48,0x4C,0x4E,0x4E,0x4E,0x4D,0x42,0x44,0x47,0x4B,0x4D,0x4E,0x4E,0x4E,0x42,0x44,0x47,0x4A,0x4C,0x4E,0x4E,0x4E,0x47,0x4C,0x54,0x5E,0x6B,0x74,0x71,0x6A,0x4A,0x52,0x5E,0x6C,0x7B,0x85,0x85,0x80,0x4B,0x56,0x67,0x79,0x8A,0x95,0x97,0x95,0x4B,0x58,0x6D,0x82,0x92,0x9D,0xA2,0xA2,0x4E,0x5B,0x71,0x88,0x9A,0xA5,0xAC,0xAF,0x4E,0x59,0x6F,0x88,0x9C,0xA9,0xB1,0xB7,0x4C,0x55,0x68,0x82,0x97,0xA6,0xB0,0xB6,0x4E,0x54,0x66,0x7E,0x94,0xA2,0xAD,0xB4},\r
+{0x3F,0x41,0x45,0x47,0x49,0x4A,0x4C,0x4D,0x3F,0x41,0x44,0x47,0x48,0x49,0x4B,0x4C,0x3F,0x41,0x44,0x46,0x47,0x48,0x49,0x4A,0x3F,0x41,0x44,0x46,0x46,0x47,0x48,0x49,0x40,0x42,0x45,0x46,0x47,0x47,0x48,0x49,0x41,0x43,0x45,0x47,0x48,0x48,0x49,0x4A,0x42,0x44,0x46,0x48,0x49,0x4A,0x4B,0x4C,0x42,0x44,0x47,0x49,0x4A,0x4B,0x4C,0x4D,0x4D,0x52,0x63,0x7B,0x8F,0x9D,0xA9,0xB2,0x50,0x52,0x5F,0x76,0x8B,0x9A,0xA6,0xAF,0x52,0x51,0x5A,0x6F,0x86,0x96,0xA2,0xAA,0x51,0x4E,0x56,0x6B,0x84,0x95,0xA1,0xA8,0x4D,0x4B,0x54,0x6B,0x85,0x97,0xA1,0xA7,0x4C,0x4A,0x55,0x6D,0x86,0x97,0xA0,0xA6,0x4F,0x4E,0x57,0x6D,0x84,0x94,0x9E,0xA4,0x52,0x51,0x59,0x6D,0x81,0x90,0x9B,0xA3,0x77,0x74,0x73,0x74,0x7A,0x83,0x8E,0x94,0x79,0x77,0x76,0x78,0x7F,0x89,0x94,0x9B,0x7B,0x7A,0x79,0x7B,0x84,0x90,0x9D,0xA4,0x7B,0x79,0x78,0x7C,0x85,0x93,0xA0,0xA9,0x78,0x76,0x75,0x78,0x82,0x90,0x9F,0xA8,0x78,0x75,0x73,0x75,0x7E,0x8C,0x9B,0xA4,0x7A,0x77,0x74,0x75,0x7C,0x8A,0x98,0xA2,0x7D,0x79,0x75,0x75,0x7C,0x89,0x97,0xA1,0x82,0x83,0x84,0x85,0x83,0x80,0x7D,0x7B,0x83,0x84,0x85,0x85,0x83,0x80,0x7C,0x79,0x85,0x86,0x87,0x86,0x83,0x7F,0x7A,0x77,0x85,0x87,0x88,0x87,0x84,0x7E,0x78,0x75,0x85,0x87,0x88,0x88,0x84,0x7E,0x78,0x73,0x84,0x86,0x88,0x89,0x85,0x7F,0x78,0x73,0x83,0x85,0x88,0x89,0x86,0x80,0x78,0x74,0x81,0x84,0x88,0x89,0x86,0x80,0x79,0x74,0x5F,0x56,0x4B,0x42,0x3F,0x3F,0x3E,0x3D,0x79,0x70,0x63,0x58,0x51,0x4B,0x44,0x3E,0x94,0x8B,0x7F,0x75,0x6C,0x62,0x55,0x4C,0xA2,0x9B,0x92,0x8C,0x87,0x7E,0x72,0x68,0xAC,0xA7,0xA0,0x9D,0x9C,0x97,0x8F,0x88,0xB7,0xB3,0xAF,0xAD,0xAB,0xA9,0xA4,0x9F,0xBC,0xBB,0xB9,0xB8,0xB7,0xB5,0xB2,0xB0,0xBA,0xBB,0xBC,0xBD,0xBD,0xBC,0xBB,0xBB,0x3E,0x3B,0x38,0x38,0x39,0x3A,0x3A,0x39,0x40,0x3D,0x39,0x38,0x38,0x39,0x38,0x37,0x49,0x43,0x3D,0x38,0x37,0x36,0x35,0x33,0x5F,0x57,0x4C,0x42,0x3D,0x3A,0x38,0x37,0x80,0x75,0x65,0x57,0x4D,0x48,0x44,0x42,0x99,0x8E,0x7D,0x6D,0x61,0x58,0x52,0x4E,0xA7,0x9E,0x91,0x82,0x76,0x6A,0x60,0x5A,0xB0,0xAA,0x9F,0x93,0x87,0x7A,0x6E,0x66,0xBA,0xBB,0xBC,0xBE,0xC0,0xC0,0xC1,0xC1,0xB8,0xB9,0xBB,0xBD,0xBE,0xBE,0xBE,0xBE,0xB5,0xB6,0xB8,0xBB,0xBC,0xBB,0xBB,0xBA,0xB2,0xB3,0xB6,0xB8,0xB9,0xB9,0xB8,0xB7,0xAF,0xB1,0xB3,0xB5,0xB6,0xB6,0xB6,0xB5,0xAC,0xAD,0xAF,0xB1,0xB3,0xB4,0xB4,0xB4,0xAA,0xAA,0xAB,0xAD,0xAF,0xB1,0xB2,0xB3,0xA8,0xA8,0xA9,0xAA,0xAC,0xAF,0xB1,0xB3,0xBA,0xB4,0xAB,0xA2,0x97,0x8A,0x7E,0x75,0xB9,0xB4,0xAD,0xA6,0x9E,0x94,0x8A,0x83,0xB7,0xB4,0xAF,0xAA,0xA5,0x9F,0x97,0x92,0xB5,0xB2,0xAE,0xAB,0xA9,0xA5,0xA0,0x9C,0xB4,0xB1,0xAE,0xAD,0xAD,0xAC,0xA9,0xA7,0xB3,0xB1,0xAF,0xAF,0xB2,0xB3,0xB2,0xB0,0xB2,0xB0,0xAE,0xAE,0xB1,0xB2,0xB2,0xB1,0xB2,0xAF,0xAC,0xAB,0xAC,0xAD,0xAD,0xAB,0x8D,0x8C,0x89,0x85,0x81,0x7D,0x7A,0x78,0x99,0x97,0x93,0x8F,0x89,0x84,0x80,0x7E,0xA6,0xA4,0xA0,0x9B,0x95,0x90,0x8C,0x8A,0xAA,0xA9,0xA6,0xA3,0x9F,0x9C,0x99,0x98,0xA6,0xA6,0xA6,0xA5,0xA5,0xA4,0xA4,0xA4,0xA4,0xA4,0xA5,0xA5,0xA6,0xA7,0xA7,0xA8,0xA9,0xA8,0xA8,0xA7,0xA6,0xA6,0xA5,0xA5,0xAF,0xAE,0xAC,0xA9,0xA6,0xA4,0xA2,0xA1,0x7E,0x80,0x82,0x83,0x84,0x83,0x82,0x81,0x7C,0x7D,0x7F,0x81,0x82,0x82,0x81,0x80,0x78,0x79,0x7B,0x7D,0x7E,0x7F,0x7F,0x7F,0x75,0x76,0x78,0x79,0x7B,0x7C,0x7D,0x7D,0x75,0x75,0x76,0x77,0x78,0x7A,0x7B,0x7B,0x77,0x77,0x76,0x76,0x77,0x78,0x79,0x7A,0x7A,0x79,0x78,0x77,0x77,0x77,0x79,0x7A,0x7C,0x7B,0x79,0x77,0x77,0x77,0x78,0x79,0x34,0x35,0x36,0x38,0x3A,0x3B,0x3B,0x3B,0x37,0x38,0x3A,0x3B,0x3D,0x3D,0x3C,0x3B,0x35,0x36,0x38,0x3A,0x3B,0x3C,0x3B,0x3B,0x35,0x35,0x36,0x37,0x38,0x3A,0x3C,0x3E,0x3F,0x3E,0x3C,0x3A,0x38,0x3A,0x3D,0x41,0x4D,0x4B,0x47,0x40,0x3B,0x39,0x3B,0x3E,0x59,0x58,0x53,0x4B,0x42,0x3D,0x3C,0x3D,0x62,0x61,0x5E,0x56,0x4D,0x45,0x43,0x42,0x3C,0x3F,0x42,0x44,0x43,0x43,0x42,0x42,0x3F,0x40,0x41,0x41,0x41,0x41,0x40,0x40,0x41,0x40,0x3F,0x40,0x41,0x41,0x41,0x40,0x3F,0x3F,0x3F,0x41,0x42,0x43,0x42,0x41,0x3E,0x3F,0x40,0x42,0x43,0x42,0x41,0x40,0x3F,0x40,0x42,0x42,0x41,0x40,0x40,0x40,0x3F,0x41,0x43,0x42,0x40,0x41,0x45,0x49,0x3E,0x41,0x43,0x42,0x41,0x44,0x4D,0x55,0x6D,0x69,0x64,0x5F,0x58,0x4E,0x46,0x41,0x77,0x70,0x68,0x61,0x5B,0x53,0x49,0x43,0x88,0x80,0x74,0x6B,0x66,0x5E,0x54,0x4C,0x99,0x92,0x88,0x7E,0x79,0x73,0x6B,0x64,0xA2,0xA0,0x9A,0x93,0x8F,0x8D,0x87,0x80,0xA5,0xA6,0xA3,0xA0,0xA0,0x9F,0x98,0x8E,0xAA,0xA9,0xA5,0xA3,0xA6,0xA4,0x95,0x84,0xB0,0xAB,0xA4,0xA2,0xA5,0xA1,0x8B,0x73,0x36,0x3F,0x45,0x44,0x42,0x4A,0x5F,0x71,0x3A,0x3F,0x45,0x4B,0x51,0x5D,0x6D,0x79,0x4D,0x4C,0x50,0x59,0x66,0x72,0x79,0x7B,0x6B,0x66,0x63,0x69,0x73,0x7A,0x79,0x76,0x7D,0x77,0x72,0x72,0x75,0x77,0x74,0x71,0x7B,0x78,0x74,0x72,0x72,0x72,0x71,0x70,0x71,0x71,0x71,0x71,0x70,0x70,0x70,0x70,0x6D,0x6E,0x6F,0x70,0x71,0x70,0x6F,0x6E,0x77,0x78,0x79,0x7A,0x7A,0x78,0x75,0x74,0x81,0x7E,0x79,0x75,0x74,0x76,0x79,0x7B,0x8E,0x87,0x7D,0x75,0x72,0x76,0x7D,0x82,0x96,0x90,0x87,0x7F,0x7B,0x7B,0x7E,0x81,0x9A,0x98,0x93,0x8D,0x87,0x80,0x7B,0x78,0x9E,0x9C,0x98,0x92,0x88,0x7D,0x74,0x6E,0xA4,0x9F,0x95,0x88,0x7C,0x73,0x6C,0x69,0xAA,0xA0,0x8F,0x7D,0x70,0x69,0x67,0x67,0x7F,0x81,0x84,0x87,0x88,0x88,0x87,0x86,0x86,0x84,0x82,0x81,0x81,0x83,0x86,0x87,0x84,0x83,0x82,0x81,0x81,0x81,0x81,0x82,0x7C,0x7E,0x81,0x84,0x85,0x83,0x81,0x80,0x7D,0x7C,0x7C,0x7D,0x82,0x8A,0x91,0x96,0x84,0x7F,0x79,0x7A,0x85,0x99,0xAF,0xBD,0x7B,0x7D,0x82,0x8D,0x9F,0xB5,0xC8,0xD4,0x69,0x77,0x8F,0xA9,0xBF,0xCD,0xD4,0xD7},\r
+{0x37,0x3B,0x3C,0x3A,0x3A,0x3A,0x38,0x33,0x3F,0x3F,0x3F,0x3D,0x3C,0x3D,0x3C,0x3B,0x44,0x40,0x3C,0x3B,0x39,0x37,0x38,0x3A,0x43,0x3E,0x3B,0x3B,0x38,0x34,0x34,0x37,0x40,0x40,0x43,0x47,0x48,0x46,0x45,0x45,0x43,0x4B,0x54,0x5C,0x61,0x64,0x62,0x5E,0x55,0x62,0x6E,0x73,0x78,0x7D,0x78,0x6F,0x6A,0x7A,0x84,0x84,0x86,0x8A,0x83,0x75,0x3A,0x39,0x3A,0x3A,0x3A,0x3F,0x51,0x63,0x3B,0x3C,0x3C,0x3A,0x3F,0x4A,0x58,0x60,0x38,0x3A,0x39,0x3A,0x46,0x57,0x5D,0x5A,0x38,0x35,0x36,0x40,0x51,0x5D,0x5C,0x55,0x45,0x3C,0x3E,0x4F,0x5E,0x5E,0x57,0x52,0x5C,0x52,0x53,0x61,0x67,0x5D,0x54,0x54,0x6D,0x68,0x67,0x6A,0x67,0x5C,0x57,0x58,0x72,0x73,0x71,0x6B,0x62,0x5B,0x5A,0x5C,0x83,0x8E,0x94,0x94,0x8D,0x88,0x85,0x74,0x86,0x8C,0x8E,0x8A,0x82,0x7C,0x76,0x67,0x80,0x82,0x81,0x7A,0x74,0x6F,0x66,0x5D,0x74,0x74,0x75,0x70,0x6F,0x6D,0x62,0x61,0x70,0x70,0x73,0x6E,0x71,0x70,0x62,0x69,0x70,0x6E,0x73,0x6B,0x6F,0x6D,0x5C,0x6C,0x6F,0x6C,0x71,0x67,0x6B,0x69,0x59,0x72,0x6F,0x6C,0x71,0x66,0x6C,0x6C,0x5E,0x7D,0x6E,0x73,0x71,0x66,0x5E,0x5E,0x5F,0x5D,0x64,0x71,0x74,0x68,0x62,0x65,0x63,0x5B,0x66,0x74,0x77,0x6A,0x65,0x6D,0x6A,0x5D,0x75,0x78,0x72,0x67,0x66,0x6D,0x6A,0x60,0x7F,0x74,0x69,0x66,0x69,0x6A,0x67,0x62,0x7F,0x72,0x6A,0x6E,0x72,0x6E,0x68,0x66,0x79,0x73,0x70,0x72,0x72,0x6E,0x6A,0x69,0x72,0x75,0x73,0x6D,0x69,0x69,0x68,0x67,0x76,0x78,0x79,0x7A,0x79,0x76,0x73,0x71,0x7F,0x80,0x80,0x7F,0x7C,0x78,0x73,0x71,0x8A,0x89,0x87,0x83,0x7D,0x77,0x71,0x6E,0x8D,0x8B,0x87,0x81,0x7A,0x72,0x6C,0x68,0x85,0x82,0x7E,0x78,0x72,0x6B,0x65,0x62,0x76,0x74,0x71,0x6E,0x69,0x65,0x62,0x60,0x68,0x67,0x66,0x65,0x64,0x64,0x63,0x63,0x60,0x60,0x60,0x61,0x62,0x64,0x66,0x66,0x85,0x83,0x7F,0x7E,0x83,0x91,0xA3,0xB0,0x92,0x8B,0x83,0x7E,0x82,0x92,0xA6,0xB4,0x80,0x7F,0x7D,0x7F,0x87,0x95,0xA3,0xAC,0x75,0x7C,0x89,0x99,0xA6,0xAD,0xAE,0xAD,0x9C,0xA2,0xAD,0xBC,0xC7,0xCA,0xC5,0xBE,0xCC,0xC6,0xC1,0xC2,0xC8,0xCC,0xC9,0xC4,0xD5,0xCB,0xC1,0xBF,0xC6,0xCA,0xC8,0xC4,0xCD,0xC7,0xC5,0xCC,0xD7,0xDC,0xD7,0xD0,0x57,0x52,0x51,0x57,0x5A,0x56,0x54,0x56,0x5A,0x57,0x57,0x5B,0x5A,0x55,0x54,0x58,0x5C,0x5C,0x5E,0x60,0x5D,0x58,0x59,0x5D,0x5B,0x5A,0x5D,0x5F,0x5F,0x5C,0x5C,0x60,0x5B,0x59,0x5A,0x5D,0x5F,0x5E,0x5D,0x5C,0x60,0x5E,0x5D,0x5F,0x61,0x61,0x5F,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x60,0x5F,0x5D,0x54,0x58,0x5B,0x5A,0x59,0x5A,0x5B,0x5C,0x56,0x59,0x5E,0x61,0x61,0x61,0x60,0x60,0x58,0x5B,0x5F,0x62,0x63,0x64,0x64,0x65,0x57,0x5A,0x5D,0x60,0x62,0x63,0x65,0x67,0x58,0x5A,0x5D,0x5F,0x60,0x63,0x65,0x67,0x5C,0x5D,0x5F,0x61,0x62,0x64,0x67,0x69,0x5C,0x5E,0x60,0x62,0x63,0x65,0x67,0x69,0x5A,0x5D,0x60,0x62,0x64,0x66,0x68,0x6A,0x5C,0x5F,0x63,0x66,0x68,0x6A,0x6C,0x6E,0x61,0x5C,0x5B,0x5E,0x60,0x60,0x61,0x64,0x58,0x56,0x56,0x59,0x5B,0x5E,0x61,0x63,0x5E,0x61,0x62,0x62,0x65,0x6A,0x6E,0x6F,0x66,0x6A,0x6B,0x69,0x6A,0x6E,0x71,0x70,0x62,0x64,0x64,0x62,0x61,0x61,0x60,0x5E,0x69,0x66,0x65,0x67,0x65,0x60,0x5B,0x59,0x71,0x6A,0x6A,0x71,0x71,0x68,0x60,0x5F,0x6C,0x62,0x62,0x6E,0x71,0x65,0x5C,0x5C,0x5E,0x62,0x67,0x6C,0x6F,0x6F,0x6D,0x6C,0x6C,0x6D,0x6D,0x6D,0x6C,0x6A,0x68,0x66,0x70,0x6F,0x6C,0x68,0x66,0x64,0x62,0x62,0x68,0x67,0x65,0x63,0x63,0x63,0x64,0x65,0x61,0x61,0x62,0x63,0x64,0x66,0x68,0x69,0x5E,0x5F,0x60,0x61,0x62,0x64,0x64,0x65,0x5D,0x5D,0x5E,0x5E,0x60,0x62,0x63,0x64,0x5E,0x5E,0x5E,0x5F,0x61,0x65,0x69,0x6B,0x66,0x66,0x66,0x65,0x64,0x64,0x63,0x63,0x66,0x65,0x65,0x64,0x63,0x63,0x62,0x62,0x64,0x64,0x64,0x63,0x62,0x62,0x61,0x61,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x63,0x63,0x62,0x62,0x61,0x60,0x60,0x60,0x63,0x63,0x63,0x62,0x61,0x61,0x60,0x60,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0x61,0x65,0x64,0x64,0x63,0x63,0x62,0x61,0x61,0xB8,0xB6,0xB3,0xB3,0xB6,0xBC,0xC3,0xC8,0xB8,0xB7,0xB6,0xB7,0xBB,0xC0,0xC6,0xC9,0xB7,0xB8,0xBB,0xBE,0xC2,0xC6,0xCA,0xCC,0xB8,0xBB,0xBF,0xC4,0xC8,0xCC,0xCE,0xCF,0xBB,0xBE,0xC2,0xC7,0xCC,0xCF,0xD1,0xD2,0xC0,0xC1,0xC3,0xC7,0xCB,0xCF,0xD3,0xD5,0xC5,0xC4,0xC3,0xC4,0xC8,0xCD,0xD3,0xD6,0xC8,0xC6,0xC3,0xC2,0xC5,0xCC,0xD3,0xD7,0x45,0x46,0x47,0x49,0x4A,0x4B,0x4B,0x4B,0x47,0x47,0x48,0x4A,0x4B,0x4C,0x4C,0x4C,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4E,0x4A,0x4A,0x4B,0x4D,0x4D,0x4E,0x4E,0x4E,0x4B,0x4B,0x4C,0x4D,0x4E,0x4E,0x4E,0x4E,0x4C,0x4D,0x4D,0x4E,0x4F,0x4F,0x4F,0x4F,0x4E,0x4E,0x4F,0x50,0x50,0x50,0x50,0x50,0x4F,0x50,0x50,0x51,0x52,0x52,0x52,0x51,0x4F,0x4F,0x57,0x6A,0x7F,0x8E,0x97,0x9B,0x4E,0x4F,0x59,0x6A,0x7D,0x8B,0x94,0x98,0x4C,0x4F,0x59,0x68,0x78,0x84,0x8D,0x93,0x4D,0x4F,0x56,0x62,0x6E,0x78,0x82,0x8A,0x4F,0x4F,0x53,0x5A,0x62,0x6B,0x76,0x7F,0x51,0x4F,0x50,0x54,0x59,0x60,0x69,0x70,0x52,0x4F,0x4E,0x52,0x55,0x59,0x5E,0x63,0x52,0x4F,0x4F,0x52,0x55,0x56,0x58,0x5A,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x4E,0x4F,0x4F,0x50,0x50,0x51,0x51,0x51,0x53,0x52,0x51,0x51,0x52,0x54,0x57,0x59,0x54,0x53,0x52,0x51,0x51,0x52,0x53,0x54,0x52,0x52,0x51,0x51,0x51,0x51,0x52,0x52,0x4F,0x50,0x51,0x52,0x53,0x53,0x53,0x53,0x51,0x51,0x52,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x54,0x53,0x53,0x52,0x56,0x55,0x55,0x54,0x54,0x53,0x53,0x53,0x54,0x53,0x53,0x53,0x53,0x54,0x55,0x55},\r
+{0x79,0x76,0x75,0x76,0x7D,0x88,0x94,0x9B,0x79,0x77,0x74,0x75,0x7B,0x85,0x90,0x97,0x79,0x77,0x74,0x74,0x79,0x81,0x89,0x8F,0x78,0x76,0x74,0x73,0x76,0x7C,0x82,0x86,0x78,0x76,0x74,0x73,0x74,0x78,0x7C,0x7E,0x77,0x75,0x74,0x73,0x73,0x75,0x77,0x79,0x76,0x75,0x74,0x73,0x73,0x74,0x75,0x76,0x75,0x74,0x74,0x73,0x73,0x74,0x74,0x75,0x82,0x84,0x87,0x87,0x85,0x80,0x7B,0x77,0x84,0x85,0x87,0x88,0x86,0x82,0x7D,0x79,0x86,0x87,0x89,0x89,0x87,0x84,0x80,0x7D,0x88,0x89,0x8A,0x8A,0x88,0x86,0x84,0x82,0x8B,0x8A,0x8A,0x8A,0x89,0x88,0x87,0x86,0x8C,0x8B,0x8A,0x89,0x89,0x89,0x89,0x8A,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8C,0x8C,0x8B,0x89,0x88,0x88,0x89,0x8B,0x8D,0x9F,0xA0,0xA1,0xA4,0xA7,0xAA,0xAC,0xAE,0x9B,0x9C,0x9E,0xA1,0xA4,0xA6,0xA8,0xA9,0x94,0x95,0x98,0x9B,0x9D,0x9F,0x9F,0xA0,0x8C,0x8D,0x90,0x93,0x95,0x95,0x96,0x95,0x83,0x85,0x88,0x8B,0x8D,0x8F,0x8F,0x8F,0x79,0x7C,0x7F,0x83,0x87,0x8B,0x8D,0x8E,0x6D,0x6F,0x74,0x7A,0x80,0x86,0x8B,0x8D,0x62,0x65,0x6B,0x72,0x7B,0x83,0x89,0x8D,0xAF,0xAC,0xA9,0xA8,0xA7,0xA5,0xA2,0xA1,0xAB,0xA7,0xA4,0xA2,0x9F,0x9D,0x9A,0x99,0xA3,0xA0,0x9B,0x95,0x90,0x8C,0x89,0x87,0x99,0x96,0x8F,0x86,0x7E,0x7A,0x76,0x72,0x8E,0x8C,0x84,0x7B,0x76,0x73,0x6D,0x68,0x88,0x86,0x7F,0x78,0x78,0x78,0x72,0x69,0x89,0x87,0x80,0x7B,0x7E,0x81,0x79,0x6E,0x8D,0x8A,0x83,0x7F,0x83,0x86,0x7C,0x6E,0x59,0x5E,0x65,0x6B,0x74,0x7F,0x87,0x89,0x57,0x5B,0x60,0x67,0x71,0x7D,0x84,0x85,0x55,0x57,0x5A,0x61,0x6D,0x79,0x7F,0x7F,0x54,0x54,0x55,0x5C,0x6A,0x76,0x7B,0x7A,0x55,0x54,0x54,0x5B,0x68,0x76,0x7B,0x7A,0x56,0x55,0x55,0x5C,0x6B,0x79,0x80,0x7F,0x55,0x56,0x58,0x5F,0x6E,0x7E,0x87,0x88,0x54,0x56,0x59,0x62,0x71,0x82,0x8D,0x8F,0x90,0x8F,0x87,0x80,0x87,0x8F,0x87,0x75,0x8E,0x94,0x94,0x91,0x93,0x94,0x87,0x73,0x89,0x96,0x9F,0x9E,0x9A,0x94,0x84,0x72,0x83,0x94,0xA0,0x9F,0x98,0x8F,0x81,0x74,0x80,0x90,0x9D,0x9D,0x97,0x8F,0x83,0x78,0x84,0x90,0x9B,0x9D,0x9B,0x96,0x8B,0x80,0x91,0x94,0x97,0x98,0x9B,0x9B,0x95,0x8C,0x9C,0x98,0x91,0x8F,0x95,0x9C,0x9B,0x96,0xA4,0xA7,0xA9,0xA9,0xA6,0xA4,0xA5,0xA7,0x9A,0x9D,0xA0,0xA0,0x9D,0x9B,0x9B,0x9C,0x94,0x98,0x9D,0x9E,0x9B,0x97,0x95,0x95,0x94,0x9A,0xA1,0xA3,0x9F,0x99,0x94,0x93,0x8D,0x94,0x9C,0x9F,0x9A,0x91,0x8A,0x86,0x7F,0x87,0x91,0x93,0x8D,0x81,0x76,0x70,0x7B,0x83,0x8D,0x90,0x88,0x7A,0x6D,0x65,0x80,0x89,0x93,0x96,0x8D,0x7D,0x6E,0x66,0x78,0x77,0x75,0x74,0x76,0x79,0x7C,0x7E,0x7B,0x79,0x77,0x76,0x77,0x78,0x7B,0x7C,0x7E,0x7D,0x7B,0x7A,0x7B,0x7D,0x80,0x82,0x80,0x7F,0x7E,0x7F,0x83,0x8A,0x90,0x94,0x82,0x80,0x7F,0x82,0x8B,0x99,0xA6,0xAF,0x86,0x82,0x7F,0x81,0x8E,0xA2,0xB7,0xC5,0x8E,0x86,0x7E,0x7D,0x8A,0xA2,0xBD,0xCE,0x93,0x89,0x7D,0x7A,0x85,0x9F,0xBC,0xCF,0xA1,0xA1,0xA0,0x9E,0x99,0x8D,0x7C,0x6E,0x8C,0x8D,0x8D,0x8C,0x88,0x80,0x74,0x6B,0x7B,0x7C,0x7D,0x7D,0x7B,0x76,0x71,0x6D,0x73,0x74,0x77,0x79,0x77,0x73,0x71,0x72,0x6A,0x6C,0x71,0x75,0x75,0x71,0x71,0x74,0x61,0x62,0x69,0x71,0x74,0x72,0x73,0x78,0x5C,0x5C,0x61,0x6B,0x70,0x70,0x73,0x79,0x5A,0x58,0x5B,0x65,0x6B,0x6B,0x6F,0x76,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x6F,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x75,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x74,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x62,0x5C,0x5B,0x64,0x6C,0x6D,0x6E,0x70,0x72,0x6F,0x6D,0x6E,0x6F,0x6F,0x6F,0x71,0x7A,0x7C,0x7B,0x74,0x6E,0x6D,0x6E,0x6F,0x73,0x7B,0x7D,0x75,0x6C,0x6C,0x6E,0x6E,0x6D,0x77,0x7B,0x75,0x6F,0x6F,0x70,0x6F,0x72,0x76,0x78,0x76,0x73,0x72,0x6F,0x6D,0x7F,0x79,0x76,0x77,0x78,0x75,0x70,0x6D,0x8C,0x80,0x77,0x7A,0x7E,0x7A,0x74,0x72,0x73,0x73,0x73,0x75,0x76,0x74,0x6F,0x6B,0x75,0x74,0x75,0x76,0x76,0x73,0x6D,0x68,0x75,0x75,0x75,0x76,0x76,0x71,0x6A,0x65,0x74,0x74,0x75,0x75,0x75,0x70,0x69,0x63,0x71,0x71,0x72,0x73,0x72,0x6E,0x67,0x62,0x6F,0x6E,0x6E,0x6F,0x6F,0x6B,0x66,0x61,0x6E,0x6C,0x6B,0x6B,0x6B,0x68,0x63,0x5F,0x6E,0x6C,0x6A,0x69,0x68,0x66,0x61,0x5D,0x99,0x90,0x81,0x72,0x69,0x66,0x68,0x6A,0x8D,0x85,0x78,0x6C,0x65,0x63,0x65,0x68,0x7D,0x76,0x6D,0x64,0x60,0x60,0x63,0x66,0x70,0x6C,0x66,0x61,0x5F,0x61,0x64,0x67,0x69,0x67,0x64,0x62,0x62,0x64,0x67,0x69,0x68,0x67,0x66,0x65,0x65,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x66,0x66,0x65,0x65,0x68,0x68,0x68,0x67,0x66,0x64,0x63,0x62,0x7C,0x90,0xAB,0xBF,0xC9,0xCE,0xD5,0xDA,0x8E,0xA9,0xC8,0xD5,0xD1,0xC9,0xCA,0xCF,0x9E,0xBC,0xDD,0xE6,0xDA,0xCB,0xC9,0xCE,0xAA,0xBE,0xD5,0xE0,0xDC,0xD5,0xD4,0xD7,0xC0,0xC1,0xC4,0xCC,0xD5,0xDA,0xD7,0xD3,0xDA,0xCD,0xC2,0xC4,0xCF,0xD4,0xCE,0xC4,0xDF,0xD6,0xCE,0xCD,0xD1,0xD0,0xC8,0xBF,0xD5,0xD6,0xD8,0xD9,0xD8,0xD2,0xCB,0xC5,0x6D,0x66,0x69,0x6B,0x69,0x62,0x66,0x80,0x71,0x69,0x69,0x70,0x67,0x5B,0x6A,0x81,0x75,0x6D,0x69,0x74,0x63,0x54,0x6E,0x7D,0x73,0x71,0x68,0x72,0x5F,0x54,0x74,0x71,0x70,0x72,0x68,0x6D,0x5E,0x5B,0x77,0x67,0x6C,0x6F,0x68,0x67,0x5F,0x62,0x74,0x67,0x69,0x67,0x63,0x61,0x5E,0x60,0x69,0x6F,0x66,0x5E,0x5E,0x5D,0x5C,0x5A,0x5F,0x77,0x6E,0x72,0x70,0x6B,0x6A,0x66,0x63,0x67,0x6F,0x72,0x6F,0x6C,0x6D,0x6A,0x68,0x6C,0x70,0x72,0x6F,0x6C,0x6F,0x6E,0x6C,0x6F,0x6E,0x6F,0x6A,0x69,0x6F,0x6F,0x6C,0x6E,0x67,0x66,0x61,0x62,0x6B,0x6D,0x69,0x6A,0x61,0x60,0x5A,0x5D,0x68,0x6A,0x65,0x64,0x67,0x64,0x5E,0x5F,0x6A,0x6A,0x61,0x5D,0x72,0x6E,0x65,0x65,0x6D,0x6A,0x5E,0x58},\r
+{0x61,0x5C,0x5A,0x5B,0x59,0x59,0x62,0x6F,0x65,0x5F,0x5C,0x5B,0x59,0x59,0x61,0x6C,0x66,0x60,0x5C,0x5A,0x58,0x58,0x5F,0x68,0x63,0x5E,0x5A,0x59,0x58,0x5A,0x60,0x67,0x5F,0x5C,0x59,0x59,0x5C,0x60,0x65,0x69,0x5E,0x5B,0x5A,0x5C,0x61,0x66,0x69,0x6B,0x5D,0x5C,0x5B,0x5E,0x63,0x68,0x69,0x68,0x5C,0x5B,0x5B,0x5D,0x63,0x67,0x66,0x63,0x6E,0x69,0x65,0x68,0x73,0x7A,0x6F,0x5A,0x6A,0x64,0x6E,0x73,0x71,0x7D,0x7C,0x60,0x73,0x6A,0x77,0x78,0x67,0x78,0x87,0x71,0x7B,0x6F,0x72,0x6E,0x60,0x6E,0x88,0x8D,0x70,0x6C,0x66,0x65,0x65,0x67,0x7A,0x98,0x65,0x69,0x63,0x66,0x6E,0x62,0x64,0x80,0x65,0x67,0x66,0x68,0x6B,0x63,0x5F,0x67,0x66,0x62,0x64,0x65,0x63,0x6A,0x6E,0x65,0x67,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x65,0x66,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x64,0x64,0x63,0x66,0x66,0x65,0x65,0x64,0x63,0x62,0x62,0x66,0x66,0x65,0x64,0x63,0x62,0x61,0x61,0x66,0x66,0x65,0x64,0x62,0x61,0x61,0x60,0x66,0x65,0x65,0x63,0x62,0x61,0x60,0x60,0xD0,0xC8,0xC2,0xC5,0xCF,0xD4,0xD0,0xCA,0xCE,0xC6,0xC0,0xC4,0xCD,0xD2,0xCE,0xC7,0xC9,0xC2,0xBD,0xC2,0xCB,0xCF,0xCA,0xC3,0xC5,0xBF,0xBB,0xC1,0xCA,0xCE,0xC8,0xC0,0xC1,0xBC,0xBA,0xC1,0xCC,0xD0,0xC9,0xC1,0xBE,0xBA,0xBB,0xC4,0xD0,0xD4,0xCD,0xC4,0xBC,0xBA,0xBC,0xC7,0xD4,0xD9,0xD2,0xC9,0xBC,0xBA,0xBD,0xC9,0xD7,0xDC,0xD5,0xCC,0x6F,0x63,0x5E,0x65,0x6D,0x6A,0x62,0x5D,0x6B,0x60,0x5C,0x63,0x69,0x67,0x61,0x5E,0x65,0x5E,0x5B,0x60,0x64,0x63,0x60,0x5F,0x62,0x5E,0x5D,0x5F,0x60,0x5F,0x5F,0x60,0x61,0x60,0x60,0x60,0x5F,0x5D,0x5E,0x60,0x61,0x62,0x62,0x62,0x60,0x5E,0x5F,0x61,0x5F,0x61,0x63,0x63,0x61,0x61,0x61,0x61,0x5D,0x60,0x63,0x63,0x62,0x62,0x62,0x62,0x5D,0x5E,0x60,0x62,0x65,0x69,0x6E,0x71,0x5F,0x61,0x63,0x65,0x67,0x6A,0x6D,0x70,0x61,0x63,0x66,0x68,0x69,0x6A,0x6C,0x6D,0x61,0x64,0x67,0x69,0x69,0x69,0x69,0x69,0x61,0x63,0x65,0x67,0x67,0x67,0x67,0x68,0x60,0x62,0x64,0x65,0x65,0x66,0x68,0x6A,0x61,0x62,0x63,0x63,0x65,0x68,0x6C,0x6F,0x63,0x63,0x63,0x63,0x65,0x69,0x6F,0x73,0x5D,0x62,0x63,0x61,0x63,0x68,0x67,0x62,0x66,0x5B,0x5B,0x68,0x6A,0x5F,0x5D,0x66,0x65,0x5D,0x5A,0x5F,0x65,0x65,0x64,0x64,0x77,0x6B,0x5D,0x59,0x5F,0x67,0x67,0x63,0x99,0x7A,0x63,0x63,0x64,0x5D,0x5D,0x67,0x96,0x84,0x72,0x68,0x63,0x61,0x64,0x68,0x74,0x80,0x7E,0x6C,0x62,0x68,0x6C,0x67,0x62,0x71,0x7D,0x79,0x69,0x5E,0x60,0x68,0x64,0x62,0x5B,0x68,0x73,0x72,0x71,0x66,0x5F,0x60,0x62,0x6B,0x72,0x71,0x6C,0x65,0x5D,0x60,0x6B,0x6E,0x6E,0x6D,0x65,0x63,0x60,0x64,0x70,0x6D,0x68,0x69,0x62,0x65,0x62,0x68,0x6E,0x69,0x65,0x67,0x68,0x6C,0x63,0x6C,0x68,0x68,0x68,0x69,0x73,0x6F,0x67,0x74,0x64,0x6C,0x6F,0x6A,0x79,0x68,0x6B,0x7C,0x64,0x72,0x75,0x69,0x79,0x5E,0x63,0x63,0x63,0x63,0x62,0x62,0x62,0x62,0x62,0x62,0x62,0x61,0x61,0x60,0x60,0x60,0x62,0x61,0x61,0x60,0x5F,0x5E,0x5D,0x5D,0x61,0x60,0x60,0x5E,0x5D,0x5C,0x5B,0x5B,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5C,0x5B,0x60,0x60,0x60,0x5F,0x5F,0x5F,0x5F,0x5E,0x60,0x60,0x60,0x61,0x61,0x62,0x62,0x62,0x60,0x60,0x61,0x62,0x63,0x64,0x64,0x65,0xC6,0xC4,0xC2,0xC2,0xC5,0xCB,0xD2,0xD6,0xC5,0xC4,0xC2,0xC3,0xC7,0xCD,0xD4,0xD8,0xC4,0xC4,0xC3,0xC5,0xC9,0xD0,0xD7,0xDB,0xC4,0xC4,0xC4,0xC7,0xCC,0xD3,0xDA,0xDE,0xC5,0xC5,0xC6,0xC9,0xCF,0xD5,0xDC,0xE0,0xC7,0xC7,0xC9,0xCC,0xD1,0xD7,0xDD,0xE0,0xC9,0xC9,0xCB,0xCE,0xD3,0xD8,0xDD,0xE0,0xCA,0xCB,0xCC,0xD0,0xD4,0xD9,0xDD,0xE0,0x4D,0x51,0x53,0x52,0x51,0x51,0x52,0x53,0x4E,0x51,0x53,0x51,0x4F,0x4F,0x50,0x51,0x4F,0x50,0x52,0x51,0x50,0x4F,0x50,0x52,0x4F,0x50,0x51,0x52,0x51,0x51,0x54,0x58,0x52,0x50,0x51,0x52,0x52,0x52,0x57,0x5D,0x56,0x52,0x51,0x52,0x53,0x54,0x5B,0x64,0x58,0x53,0x51,0x54,0x56,0x5A,0x64,0x70,0x57,0x52,0x51,0x56,0x5B,0x61,0x6E,0x7C,0x52,0x52,0x52,0x53,0x55,0x58,0x5B,0x5D,0x51,0x54,0x57,0x5B,0x5E,0x60,0x62,0x63,0x54,0x5A,0x62,0x69,0x6C,0x6D,0x6C,0x6C,0x5D,0x65,0x70,0x78,0x7B,0x79,0x77,0x75,0x6A,0x72,0x7D,0x84,0x84,0x81,0x7D,0x7B,0x75,0x7C,0x85,0x88,0x86,0x81,0x7D,0x7C,0x7C,0x81,0x86,0x86,0x81,0x7C,0x7A,0x7A,0x7E,0x82,0x84,0x82,0x7C,0x77,0x76,0x77,0x59,0x51,0x51,0x5E,0x6B,0x72,0x78,0x7E,0x54,0x55,0x5B,0x67,0x70,0x76,0x7B,0x80,0x51,0x5D,0x6A,0x73,0x78,0x7C,0x7F,0x80,0x5A,0x6A,0x78,0x7B,0x7D,0x81,0x80,0x7C,0x69,0x76,0x7F,0x7E,0x7E,0x80,0x7C,0x74,0x74,0x7C,0x7F,0x7B,0x79,0x79,0x74,0x6B,0x77,0x7B,0x7C,0x78,0x73,0x6F,0x6B,0x66,0x75,0x78,0x7A,0x76,0x6E,0x68,0x65,0x64,0x81,0x84,0x82,0x78,0x6D,0x6B,0x75,0x80,0x7F,0x7C,0x76,0x6F,0x6A,0x6E,0x77,0x80,0x7E,0x76,0x6D,0x69,0x6E,0x78,0x83,0x89,0x79,0x71,0x6A,0x6B,0x76,0x84,0x8F,0x95,0x6D,0x6B,0x6B,0x71,0x7C,0x8A,0x96,0x9D,0x68,0x6C,0x72,0x7A,0x84,0x90,0x9A,0xA1,0x6B,0x71,0x7A,0x83,0x8B,0x94,0x9C,0xA2,0x6E,0x73,0x7C,0x85,0x8D,0x95,0x9B,0x9F,0x76,0x76,0x78,0x7A,0x7C,0x7D,0x7E,0x7E,0x70,0x73,0x77,0x7D,0x82,0x86,0x8A,0x8B,0x6D,0x71,0x79,0x82,0x8C,0x94,0x99,0x9C,0x73,0x78,0x80,0x8B,0x95,0x9D,0xA3,0xA6,0x7F,0x84,0x8B,0x94,0x9C,0xA2,0xA6,0xA7,0x8A,0x8E,0x95,0x9C,0xA1,0xA5,0xA6,0xA6,0x8F,0x93,0x9A,0xA0,0xA5,0xA7,0xA7,0xA7,0x90,0x94,0x9B,0xA2,0xA7,0xA9,0xA9,0xA9,0x8A,0x89,0x87,0x85,0x84,0x85,0x86,0x87,0x8B,0x89,0x86,0x83,0x82,0x82,0x83,0x84,0x8B,0x89,0x85,0x81,0x7F,0x7E,0x7E,0x7E,0x8B,0x88,0x83,0x7F,0x7B,0x79,0x79,0x79,0x88,0x85,0x81,0x7D,0x79,0x77,0x76,0x76,0x84,0x82,0x7E,0x7B,0x78,0x77,0x77,0x77,0x81,0x7F,0x7C,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7A,0x78,0x78,0x79,0x7A,0x7B},\r
+{0x5A,0x5B,0x61,0x6C,0x7B,0x88,0x90,0x93,0x66,0x68,0x6F,0x78,0x83,0x8C,0x92,0x95,0x70,0x74,0x7A,0x81,0x87,0x8D,0x92,0x95,0x76,0x7B,0x80,0x84,0x87,0x8C,0x91,0x95,0x7E,0x82,0x85,0x87,0x89,0x8D,0x94,0x9A,0x82,0x85,0x88,0x8B,0x8F,0x95,0x9E,0xA4,0x80,0x84,0x8B,0x93,0x9C,0xA7,0xB1,0xB8,0x7F,0x85,0x90,0x9E,0xAC,0xBA,0xC6,0xCD,0xA0,0x9C,0x95,0x91,0x97,0x9F,0x9F,0x9A,0x8D,0x95,0x9A,0x97,0x95,0x98,0x9C,0x9D,0x9B,0x9B,0x92,0x83,0x7B,0x81,0x8B,0x91,0x9A,0x99,0x95,0x90,0x8F,0x89,0x78,0x66,0x98,0x9B,0xA2,0xAD,0xB6,0xAE,0x8F,0x72,0xB1,0xB3,0xB4,0xB9,0xC2,0xC6,0xBD,0xB0,0xC2,0xC9,0xCE,0xCE,0xD0,0xD1,0xCC,0xC5,0xD3,0xD8,0xDA,0xD7,0xD5,0xD3,0xCD,0xC6,0x88,0x90,0x9E,0xAD,0xBD,0xCC,0xD7,0xDE,0x94,0x9C,0xA9,0xB8,0xC5,0xD1,0xDA,0xDF,0x9E,0xA7,0xB3,0xC1,0xCC,0xD4,0xDA,0xDD,0xA1,0xA9,0xB6,0xC2,0xCB,0xD0,0xD4,0xD5,0xA4,0xAA,0xB4,0xBD,0xC3,0xC6,0xC6,0xC7,0xA7,0xAC,0xB2,0xB6,0xB8,0xB7,0xB6,0xB6,0xA5,0xA7,0xAA,0xAC,0xAB,0xA9,0xA8,0xA7,0x9E,0xA0,0xA2,0xA2,0xA1,0xA0,0x9F,0x9F,0xDE,0xE4,0xE5,0xDF,0xDA,0xD6,0xCC,0xC1,0xDF,0xE4,0xE3,0xDD,0xD7,0xCF,0xC1,0xB4,0xDE,0xDF,0xDD,0xD7,0xD0,0xC6,0xB5,0xA5,0xD6,0xD4,0xCF,0xCA,0xC6,0xBC,0xAB,0x9C,0xC9,0xC4,0xBD,0xB9,0xB6,0xAE,0x9F,0x92,0xB9,0xB3,0xAC,0xA8,0xA6,0x9E,0x91,0x86,0xA9,0xA4,0xA0,0x9F,0x9C,0x95,0x89,0x80,0x9E,0x9B,0x9A,0x9B,0x9A,0x93,0x88,0x80,0x85,0x8D,0x99,0xA0,0x9C,0x8D,0x7B,0x6F,0x90,0x99,0xA4,0xA9,0xA2,0x90,0x7B,0x6D,0xA0,0xA0,0x9F,0x9A,0x8F,0x81,0x73,0x6A,0xAA,0x9E,0x8B,0x77,0x6A,0x66,0x67,0x69,0xA8,0x9A,0x83,0x6E,0x61,0x60,0x65,0x6A,0xA0,0x9A,0x90,0x85,0x7C,0x77,0x75,0x74,0x9C,0x9B,0x99,0x96,0x92,0x8E,0x8A,0x88,0x9D,0x9B,0x97,0x94,0x93,0x95,0x97,0x99,0x84,0x7F,0x79,0x79,0x82,0x92,0xA4,0xB0,0x7F,0x7C,0x78,0x79,0x80,0x8E,0x9D,0xA6,0x7A,0x79,0x78,0x7A,0x80,0x89,0x93,0x99,0x78,0x79,0x7B,0x7E,0x83,0x87,0x8C,0x8E,0x79,0x7B,0x7F,0x82,0x85,0x87,0x88,0x88,0x7A,0x7C,0x80,0x83,0x85,0x86,0x86,0x86,0x7A,0x7B,0x7E,0x80,0x82,0x83,0x83,0x83,0x78,0x79,0x7B,0x7C,0x7E,0x80,0x81,0x81,0x93,0x7F,0x79,0x7D,0x81,0x7B,0x71,0x73,0x9F,0x98,0x8C,0x7B,0x77,0x7C,0x79,0x75,0x98,0x95,0x93,0x8F,0x86,0x78,0x70,0x6E,0x6F,0x75,0x7C,0x89,0x89,0x7A,0x70,0x68,0x58,0x66,0x60,0x62,0x6F,0x7F,0x84,0x6F,0x7D,0x75,0x5D,0x65,0x71,0x76,0x85,0x7F,0xB1,0x8F,0x72,0x8D,0x8C,0x6C,0x7B,0x8F,0xC1,0xA2,0x85,0x9D,0x94,0x6E,0x81,0x9A,0x6B,0x6A,0x69,0x67,0x67,0x67,0x63,0x5E,0x6A,0x6A,0x69,0x69,0x6A,0x69,0x66,0x63,0x69,0x69,0x6A,0x6A,0x6A,0x67,0x65,0x63,0x6D,0x6D,0x6D,0x6D,0x6B,0x66,0x63,0x63,0x73,0x70,0x6F,0x70,0x6D,0x68,0x65,0x65,0x75,0x6F,0x6B,0x6D,0x6D,0x69,0x66,0x66,0x7A,0x71,0x6A,0x6D,0x6E,0x69,0x66,0x66,0x85,0x78,0x70,0x71,0x72,0x6D,0x68,0x67,0xAC,0x9E,0x85,0x8B,0x7E,0x63,0x7A,0x8D,0xA3,0x99,0x88,0x88,0x7F,0x73,0x81,0x8C,0x94,0x8B,0x86,0x7C,0x79,0x7D,0x7D,0x82,0x8A,0x7A,0x7D,0x6F,0x70,0x7B,0x6F,0x75,0x86,0x6E,0x72,0x67,0x6A,0x74,0x65,0x72,0x7D,0x64,0x67,0x61,0x64,0x6B,0x60,0x70,0x73,0x61,0x61,0x5C,0x5E,0x62,0x5D,0x6A,0x70,0x66,0x63,0x5D,0x5C,0x5F,0x5E,0x66,0x9D,0x8C,0x7A,0x72,0x73,0x72,0x6D,0x66,0xA9,0x9A,0x87,0x7A,0x75,0x74,0x72,0x70,0xA7,0xA1,0x98,0x8E,0x85,0x7E,0x78,0x75,0x8C,0x95,0x9F,0xA2,0x9D,0x92,0x83,0x78,0x6D,0x7C,0x91,0xA0,0xA7,0xA3,0x95,0x88,0x60,0x6C,0x7C,0x8B,0x9A,0xA5,0xA5,0x9F,0x64,0x6C,0x74,0x7B,0x89,0x9A,0xA5,0xA6,0x6B,0x72,0x77,0x79,0x81,0x90,0x9B,0x9E,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x67,0x67,0x66,0x65,0x64,0x63,0x62,0x68,0x68,0x67,0x66,0x65,0x64,0x63,0x62,0x6B,0x6A,0x69,0x68,0x66,0x65,0x64,0x63,0x70,0x6F,0x6E,0x6B,0x69,0x66,0x65,0x64,0x78,0x76,0x74,0x70,0x6C,0x69,0x66,0x65,0x7F,0x7D,0x79,0x75,0x70,0x6B,0x68,0x66,0x83,0x81,0x7D,0x78,0x72,0x6D,0x69,0x66,0xCB,0xCE,0xD3,0xD6,0xD4,0xCE,0xC7,0xC2,0xC0,0xC7,0xD2,0xDA,0xDA,0xD2,0xC7,0xC0,0xAD,0xB9,0xCA,0xD7,0xDC,0xD6,0xCB,0xC3,0x99,0xA4,0xB5,0xC5,0xCF,0xD3,0xD1,0xCF,0x8A,0x90,0x9C,0xAB,0xBB,0xC9,0xD4,0xDA,0x81,0x85,0x8D,0x9A,0xAB,0xBE,0xCE,0xD8,0x7F,0x83,0x8C,0x98,0xA7,0xB5,0xC1,0xC7,0x7F,0x86,0x91,0x9E,0xA9,0xB1,0xB5,0xB7,0x5C,0x5C,0x58,0x66,0x6E,0x5E,0x59,0x65,0x59,0x61,0x5F,0x66,0x74,0x6C,0x5D,0x57,0x55,0x61,0x5D,0x5C,0x73,0x80,0x70,0x60,0x5B,0x60,0x58,0x50,0x6C,0x89,0x83,0x7B,0x65,0x62,0x5B,0x52,0x6A,0x84,0x81,0x88,0x63,0x5F,0x63,0x5E,0x6F,0x7D,0x76,0x86,0x62,0x5E,0x67,0x61,0x6C,0x76,0x6C,0x82,0x6B,0x64,0x69,0x5B,0x63,0x6E,0x65,0x7D,0x5F,0x62,0x65,0x66,0x66,0x67,0x69,0x6A,0x66,0x66,0x69,0x6B,0x6A,0x65,0x64,0x65,0x62,0x5F,0x62,0x6B,0x6C,0x67,0x65,0x69,0x60,0x59,0x5A,0x65,0x6A,0x65,0x65,0x6C,0x70,0x63,0x5C,0x62,0x66,0x62,0x62,0x69,0x81,0x70,0x62,0x62,0x64,0x64,0x66,0x6A,0x8A,0x79,0x67,0x60,0x63,0x67,0x69,0x6A,0x8F,0x7E,0x6A,0x5F,0x60,0x65,0x66,0x63,0x6E,0x67,0x6D,0x5C,0x59,0x61,0x5F,0x66,0x68,0x69,0x74,0x6E,0x63,0x60,0x59,0x51,0x6C,0x6C,0x70,0x73,0x63,0x63,0x69,0x58,0x77,0x72,0x69,0x72,0x62,0x6D,0x7E,0x67,0x82,0x7B,0x6D,0x7A,0x6A,0x77,0x7D,0x60,0x8F,0x87,0x75,0x7D,0x6C,0x7D,0x75,0x5B,0xA1,0x99,0x86,0x82,0x6F,0x82,0x6C,0x5D,0xAC,0xA9,0x9C,0x92,0x7A,0x87,0x61,0x56,0x8C,0x8A,0x7C,0x69,0x61,0x66,0x66,0x60,0x68,0x83,0x90,0x7B,0x5F,0x5A,0x62,0x69,0x55,0x6F,0x80,0x76,0x66,0x63,0x64,0x62,0x5D,0x5E,0x5F,0x66,0x6F,0x72,0x6A,0x60,0x63,0x5C,0x5C,0x66,0x6C,0x6A,0x6A,0x6F,0x61,0x5E,0x62,0x69,0x65,0x5D,0x64,0x72,0x5F,0x5E,0x5F,0x62,0x62,0x61,0x64,0x69,0x5D,0x60,0x5F,0x5C,0x5F,0x68,0x6B,0x68},\r
+{0x66,0x67,0x68,0x67,0x65,0x61,0x5D,0x5A,0x65,0x66,0x67,0x67,0x65,0x62,0x5E,0x5C,0x65,0x66,0x67,0x67,0x66,0x64,0x61,0x5F,0x64,0x65,0x66,0x66,0x66,0x65,0x63,0x62,0x64,0x64,0x65,0x65,0x65,0x64,0x63,0x63,0x64,0x64,0x64,0x64,0x63,0x63,0x62,0x62,0x65,0x64,0x63,0x62,0x61,0x61,0x60,0x60,0x65,0x64,0x63,0x61,0x60,0x5F,0x5F,0x5F,0xBA,0xBD,0xC1,0xC6,0xCB,0xCE,0xD0,0xD1,0xB9,0xB9,0xBB,0xBF,0xC5,0xCB,0xD2,0xD5,0xBD,0xBA,0xB7,0xB7,0xBC,0xC7,0xD2,0xD9,0xC9,0xC2,0xBA,0xB5,0xB8,0xC3,0xD0,0xD8,0xD5,0xCE,0xC3,0xBB,0xBA,0xC1,0xCC,0xD3,0xD8,0xD2,0xC9,0xC2,0xC0,0xC3,0xC9,0xCE,0xCF,0xCD,0xCA,0xC8,0xC7,0xC7,0xC9,0xCA,0xC4,0xC6,0xC8,0xC9,0xCA,0xCA,0xCA,0xC9,0x64,0x65,0x71,0x7D,0x74,0x60,0x5D,0x6A,0x65,0x66,0x6F,0x79,0x74,0x67,0x66,0x6F,0x67,0x67,0x6C,0x72,0x72,0x6E,0x6D,0x70,0x67,0x68,0x6A,0x6C,0x6F,0x70,0x6D,0x6A,0x65,0x68,0x69,0x6A,0x6E,0x71,0x6D,0x65,0x64,0x67,0x69,0x6A,0x6E,0x71,0x6D,0x67,0x66,0x68,0x6B,0x6B,0x6C,0x6C,0x6A,0x68,0x6A,0x6B,0x6C,0x6B,0x68,0x66,0x66,0x66,0x6C,0x7D,0x64,0x70,0x72,0x69,0x80,0x6B,0x66,0x75,0x65,0x6B,0x6C,0x6B,0x84,0x7C,0x62,0x6D,0x68,0x66,0x65,0x6D,0x83,0x89,0x63,0x68,0x6C,0x65,0x63,0x6D,0x79,0x85,0x65,0x65,0x6D,0x67,0x65,0x6D,0x6D,0x76,0x66,0x65,0x6A,0x69,0x69,0x6C,0x68,0x6A,0x67,0x68,0x66,0x69,0x6B,0x68,0x68,0x65,0x6A,0x6C,0x65,0x69,0x6A,0x64,0x68,0x64,0x67,0x74,0x7A,0x6F,0x61,0x5E,0x61,0x64,0x64,0x7D,0x8B,0x7C,0x69,0x64,0x66,0x65,0x63,0x85,0x98,0x89,0x72,0x6C,0x6C,0x68,0x64,0x7D,0x8D,0x83,0x72,0x6B,0x6B,0x69,0x67,0x6D,0x71,0x70,0x6A,0x65,0x66,0x6A,0x6E,0x66,0x63,0x66,0x67,0x65,0x67,0x6D,0x6E,0x69,0x65,0x65,0x66,0x66,0x69,0x6D,0x66,0x6A,0x69,0x64,0x62,0x64,0x66,0x67,0x6A,0x68,0x65,0x64,0x64,0x67,0x6A,0x6C,0x5F,0x5F,0x61,0x63,0x66,0x69,0x6C,0x6E,0x67,0x66,0x65,0x62,0x5F,0x5B,0x58,0x56,0x6D,0x6D,0x6C,0x6B,0x69,0x66,0x64,0x63,0x6C,0x6C,0x6B,0x6B,0x6C,0x6C,0x6D,0x6E,0x6E,0x6C,0x68,0x65,0x62,0x62,0x62,0x62,0x6B,0x6A,0x68,0x66,0x65,0x66,0x67,0x68,0x6A,0x69,0x67,0x65,0x63,0x61,0x60,0x60,0x62,0x62,0x61,0x60,0x62,0x64,0x67,0x69,0x60,0x5F,0x5E,0x5D,0x5E,0x60,0x63,0x64,0x5F,0x5E,0x5C,0x5B,0x5B,0x5C,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5B,0x5C,0x5D,0x5E,0x65,0x63,0x61,0x5E,0x5E,0x5E,0x60,0x61,0x66,0x64,0x62,0x60,0x5F,0x60,0x62,0x63,0x64,0x62,0x60,0x5F,0x5F,0x60,0x62,0x63,0x61,0x60,0x5E,0x5D,0x5D,0x5E,0x60,0x62,0xD6,0xD1,0xCE,0xD2,0xDA,0xE0,0xDF,0xDB,0xD6,0xD2,0xCF,0xD3,0xDB,0xE0,0xDE,0xDB,0xD7,0xD3,0xD1,0xD5,0xDC,0xE0,0xDD,0xD9,0xD7,0xD3,0xD2,0xD6,0xDD,0xDF,0xDB,0xD5,0xD5,0xD2,0xD1,0xD6,0xDC,0xDD,0xD7,0xD0,0xD2,0xD0,0xCF,0xD4,0xD9,0xD9,0xD2,0xCA,0xCF,0xCD,0xCD,0xD2,0xD7,0xD5,0xCD,0xC4,0xCD,0xCB,0xCB,0xD0,0xD5,0xD3,0xCA,0xC1,0x75,0x72,0x6C,0x65,0x61,0x61,0x64,0x67,0x74,0x6E,0x66,0x5F,0x5E,0x62,0x68,0x6C,0x6E,0x65,0x5B,0x56,0x58,0x61,0x6A,0x70,0x67,0x5F,0x56,0x53,0x5A,0x66,0x70,0x76,0x64,0x5F,0x5A,0x5C,0x65,0x72,0x7C,0x81,0x60,0x5F,0x5F,0x65,0x6F,0x7B,0x85,0x8A,0x5E,0x60,0x64,0x6B,0x75,0x81,0x8B,0x90,0x60,0x63,0x69,0x71,0x7B,0x86,0x90,0x97,0x73,0x79,0x82,0x8A,0x8E,0x92,0x95,0x97,0x75,0x7B,0x84,0x8B,0x8F,0x91,0x94,0x95,0x79,0x7F,0x87,0x8D,0x8F,0x90,0x91,0x93,0x80,0x84,0x8B,0x8E,0x8F,0x8F,0x8F,0x90,0x87,0x8A,0x8E,0x90,0x8E,0x8D,0x8D,0x8D,0x8E,0x90,0x92,0x90,0x8D,0x8B,0x8B,0x8C,0x95,0x95,0x94,0x90,0x8C,0x89,0x89,0x8B,0x98,0x98,0x95,0x90,0x8B,0x88,0x89,0x8A,0x5E,0x62,0x69,0x74,0x80,0x8B,0x95,0x9A,0x58,0x5D,0x65,0x71,0x7E,0x8A,0x94,0x99,0x54,0x58,0x61,0x6C,0x79,0x85,0x8F,0x94,0x56,0x58,0x5E,0x66,0x71,0x7C,0x86,0x8C,0x59,0x59,0x5B,0x60,0x69,0x74,0x7F,0x85,0x5A,0x59,0x59,0x5C,0x63,0x6D,0x77,0x7E,0x5B,0x5A,0x5A,0x5B,0x60,0x67,0x6D,0x72,0x5D,0x5C,0x5C,0x5C,0x5E,0x61,0x65,0x67,0x9B,0x98,0x94,0x8E,0x89,0x86,0x86,0x87,0x9B,0x99,0x95,0x8F,0x8A,0x86,0x85,0x85,0x9C,0x9A,0x97,0x91,0x8B,0x86,0x83,0x82,0x96,0x96,0x93,0x8E,0x87,0x81,0x7C,0x7B,0x8B,0x8C,0x8B,0x87,0x81,0x7A,0x74,0x71,0x81,0x83,0x84,0x82,0x7D,0x75,0x6F,0x6C,0x75,0x78,0x7B,0x7A,0x76,0x6F,0x68,0x65,0x67,0x6B,0x6F,0x70,0x6C,0x65,0x5F,0x5B,0x93,0x96,0x9C,0xA3,0xA8,0xAB,0xAD,0xAD,0x96,0x9A,0xA0,0xA6,0xAA,0xAA,0xA8,0xA6,0x97,0x9D,0xA5,0xAC,0xAE,0xAB,0xA5,0xA1,0x93,0x9B,0xA6,0xAF,0xB2,0xAE,0xA7,0xA2,0x89,0x92,0xA0,0xAC,0xB1,0xAF,0xA9,0xA4,0x7E,0x87,0x94,0xA0,0xA6,0xA6,0xA2,0x9E,0x76,0x7D,0x87,0x91,0x96,0x96,0x92,0x90,0x73,0x78,0x7F,0x86,0x89,0x88,0x85,0x82,0x7E,0x7D,0x7B,0x7A,0x79,0x79,0x7A,0x7A,0x7D,0x7C,0x7B,0x79,0x79,0x79,0x79,0x7A,0x7C,0x7B,0x7A,0x79,0x78,0x78,0x78,0x79,0x7D,0x7C,0x7A,0x79,0x78,0x78,0x79,0x79,0x7E,0x7D,0x7C,0x7B,0x7A,0x7A,0x7A,0x7B,0x81,0x80,0x7F,0x7E,0x7D,0x7D,0x7D,0x7E,0x84,0x83,0x82,0x81,0x80,0x80,0x81,0x81,0x86,0x85,0x84,0x83,0x82,0x82,0x83,0x83,0x97,0x98,0x98,0x99,0x99,0x98,0x97,0x96,0x96,0x96,0x96,0x95,0x94,0x93,0x92,0x92,0x94,0x93,0x92,0x90,0x8F,0x8E,0x8D,0x8D,0x90,0x8F,0x8E,0x8C,0x8B,0x8B,0x8B,0x8B,0x8D,0x8D,0x8C,0x8B,0x8B,0x8B,0x8C,0x8D,0x8C,0x8C,0x8C,0x8C,0x8C,0x8D,0x8E,0x8E,0x8B,0x8C,0x8D,0x8E,0x8E,0x8F,0x8F,0x8F,0x8C,0x8D,0x8E,0x8F,0x8F,0x8F,0x8F,0x8E,0x96,0x95,0x94,0x94,0x92,0x8C,0x83,0x7B,0x92,0x91,0x91,0x91,0x90,0x8A,0x80,0x79,0x8E,0x8D,0x8E,0x8F,0x8D,0x87,0x7D,0x75,0x8E,0x8D,0x8D,0x8D,0x8B,0x84,0x79,0x71,0x90,0x8F,0x8D,0x8C,0x89,0x80,0x75,0x6C,0x91,0x8E,0x8B,0x89,0x84,0x7B,0x6F,0x66,0x8E,0x8B,0x86,0x82,0x7D,0x74,0x69,0x60,0x8B,0x87,0x82,0x7D,0x78,0x6F,0x64,0x5D},\r
+{0x8E,0x90,0x92,0x93,0x92,0x8F,0x8C,0x8A,0x8B,0x8D,0x8F,0x90,0x8F,0x8C,0x88,0x85,0x85,0x87,0x8A,0x8C,0x8B,0x86,0x81,0x7E,0x7D,0x80,0x83,0x84,0x83,0x7E,0x79,0x75,0x74,0x76,0x78,0x79,0x77,0x74,0x6F,0x6C,0x6A,0x6B,0x6B,0x6B,0x69,0x67,0x65,0x63,0x61,0x60,0x5F,0x5D,0x5C,0x5B,0x5B,0x5B,0x5B,0x59,0x57,0x54,0x54,0x54,0x56,0x57,0x88,0x83,0x7C,0x74,0x6D,0x67,0x62,0x5E,0x81,0x7C,0x73,0x6B,0x65,0x61,0x5E,0x5C,0x78,0x72,0x69,0x62,0x5D,0x5C,0x5B,0x5B,0x6E,0x69,0x63,0x5E,0x5D,0x5D,0x5E,0x5E,0x64,0x62,0x60,0x5F,0x5F,0x60,0x61,0x61,0x5E,0x5D,0x5D,0x5F,0x60,0x61,0x61,0x60,0x5C,0x5C,0x5C,0x5D,0x5F,0x60,0x60,0x5F,0x5E,0x5D,0x5C,0x5D,0x5E,0x5F,0x5F,0x5E,0xA0,0xA1,0xA3,0xA3,0xA0,0x9A,0x93,0x8F,0xA2,0xA4,0xA6,0xA5,0xA1,0x99,0x90,0x8A,0xA3,0xA6,0xA8,0xA7,0xA0,0x96,0x8A,0x83,0xA3,0xA5,0xA6,0xA4,0x9C,0x90,0x84,0x7C,0x9E,0x9F,0x9E,0x9B,0x93,0x88,0x7E,0x77,0x96,0x95,0x92,0x8D,0x86,0x7F,0x79,0x76,0x8D,0x8A,0x84,0x7F,0x7A,0x77,0x76,0x76,0x88,0x83,0x7C,0x76,0x72,0x73,0x75,0x77,0x7C,0x7D,0x7D,0x7E,0x7F,0x7F,0x80,0x80,0x7B,0x7B,0x7C,0x7E,0x7F,0x80,0x81,0x81,0x79,0x7A,0x7B,0x7D,0x7F,0x81,0x83,0x83,0x78,0x79,0x7B,0x7D,0x80,0x83,0x84,0x85,0x79,0x7A,0x7C,0x7F,0x82,0x84,0x86,0x87,0x7B,0x7C,0x7E,0x81,0x83,0x86,0x88,0x89,0x7E,0x7F,0x81,0x83,0x85,0x87,0x89,0x8A,0x80,0x81,0x83,0x84,0x86,0x88,0x89,0x8A,0x6D,0x66,0x60,0x5D,0x5C,0x5C,0x5E,0x61,0x6B,0x65,0x5F,0x5D,0x5C,0x5B,0x5C,0x5E,0x67,0x62,0x5E,0x5D,0x5C,0x5B,0x5B,0x5C,0x63,0x5F,0x5D,0x5E,0x5E,0x5C,0x5C,0x5D,0x60,0x5D,0x5C,0x5E,0x5F,0x5F,0x5F,0x60,0x5F,0x5C,0x5C,0x5E,0x60,0x60,0x60,0x62,0x60,0x5D,0x5C,0x5E,0x60,0x5F,0x60,0x61,0x61,0x5D,0x5C,0x5D,0x5E,0x5E,0x5E,0x60,0x71,0x7B,0x7C,0x7C,0x85,0x8F,0x92,0x94,0x67,0x75,0x7C,0x80,0x89,0x91,0x93,0x95,0x60,0x70,0x7A,0x7E,0x87,0x8D,0x90,0x94,0x64,0x72,0x7A,0x7C,0x82,0x87,0x8D,0x95,0x65,0x72,0x7A,0x7D,0x82,0x85,0x8B,0x95,0x5C,0x6A,0x75,0x7B,0x80,0x82,0x85,0x8E,0x59,0x65,0x6E,0x74,0x7B,0x7D,0x80,0x8A,0x60,0x68,0x6C,0x71,0x78,0x7B,0x81,0x8C,0x5D,0x5D,0x5D,0x5E,0x5E,0x5E,0x60,0x62,0x5E,0x5D,0x5E,0x5E,0x5E,0x5F,0x60,0x62,0x5F,0x5E,0x5E,0x5E,0x5F,0x60,0x61,0x62,0x60,0x60,0x5F,0x5E,0x5F,0x62,0x64,0x63,0x60,0x61,0x60,0x5E,0x61,0x66,0x67,0x65,0x61,0x62,0x60,0x5F,0x62,0x69,0x6B,0x68,0x61,0x63,0x61,0x5F,0x64,0x6D,0x6F,0x6B,0x61,0x63,0x62,0x5F,0x65,0x6F,0x71,0x6C,0x63,0x5F,0x60,0x6B,0x78,0x80,0x82,0x82,0x5D,0x5D,0x63,0x6F,0x7A,0x7D,0x79,0x75,0x5F,0x60,0x65,0x6F,0x75,0x72,0x6C,0x68,0x6B,0x67,0x65,0x67,0x68,0x66,0x63,0x63,0x6F,0x68,0x61,0x60,0x60,0x60,0x62,0x64,0x6A,0x63,0x5D,0x5D,0x61,0x63,0x64,0x66,0x66,0x5E,0x59,0x5C,0x62,0x65,0x65,0x65,0x68,0x5E,0x58,0x5A,0x61,0x65,0x65,0x64,0x7D,0x7B,0x77,0x73,0x6F,0x6D,0x6C,0x6B,0x7C,0x7A,0x76,0x72,0x6F,0x6D,0x6C,0x6B,0x79,0x78,0x75,0x71,0x6F,0x6D,0x6B,0x6B,0x77,0x76,0x73,0x71,0x6E,0x6C,0x6A,0x6A,0x75,0x74,0x73,0x70,0x6D,0x6B,0x68,0x67,0x75,0x74,0x73,0x70,0x6C,0x69,0x65,0x63,0x75,0x75,0x73,0x70,0x6C,0x67,0x63,0x60,0x76,0x75,0x73,0x70,0x6B,0x66,0x61,0x5E,0x8F,0x85,0x82,0x92,0xAE,0xBF,0xBD,0xB4,0x96,0x85,0x7B,0x8B,0xAD,0xC3,0xC2,0xB6,0x92,0x86,0x7E,0x89,0xA2,0xB9,0xC4,0xC5,0x83,0x88,0x8B,0x8C,0x92,0xA5,0xC2,0xD8,0x7E,0x86,0x8D,0x8D,0x8F,0xA0,0xC1,0xDB,0x86,0x86,0x88,0x8E,0x9C,0xB0,0xC4,0xD1,0x8A,0x8A,0x8F,0x9A,0xAB,0xBC,0xC9,0xCF,0x86,0x90,0x9E,0xA9,0xB1,0xBC,0xCB,0xD7,0xA8,0xAF,0xA6,0xAB,0x91,0x8C,0x60,0x5C,0x9D,0x9F,0xA0,0xAE,0xA2,0x92,0x65,0x5D,0x95,0x92,0x9C,0xAB,0xAC,0x92,0x67,0x5D,0x99,0x94,0x9E,0x9B,0x9E,0x82,0x66,0x5C,0x9E,0x9A,0x9D,0x82,0x80,0x6E,0x64,0x61,0x9A,0x95,0x8F,0x6D,0x69,0x63,0x64,0x68,0x8F,0x84,0x7A,0x63,0x65,0x66,0x64,0x6B,0x86,0x75,0x6A,0x62,0x6A,0x6C,0x63,0x6A,0x60,0x5F,0x5E,0x5E,0x5F,0x61,0x64,0x65,0x61,0x60,0x60,0x5F,0x60,0x61,0x62,0x63,0x61,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x60,0x61,0x62,0x63,0x63,0x63,0x63,0x62,0x60,0x61,0x62,0x64,0x65,0x65,0x64,0x64,0x60,0x61,0x63,0x64,0x65,0x66,0x66,0x66,0x62,0x63,0x63,0x64,0x65,0x66,0x66,0x66,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x6D,0x6B,0x69,0x69,0x6A,0x69,0x66,0x64,0x66,0x67,0x68,0x68,0x68,0x67,0x67,0x68,0x63,0x66,0x68,0x68,0x66,0x65,0x67,0x69,0x67,0x68,0x69,0x69,0x67,0x65,0x65,0x66,0x6A,0x69,0x68,0x67,0x67,0x67,0x64,0x62,0x68,0x66,0x64,0x65,0x67,0x67,0x65,0x62,0x66,0x66,0x66,0x66,0x67,0x67,0x66,0x65,0x67,0x69,0x6A,0x69,0x67,0x65,0x66,0x67,0x63,0x63,0x64,0x65,0x66,0x66,0x67,0x67,0x63,0x64,0x64,0x65,0x65,0x66,0x67,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x67,0x64,0x64,0x64,0x65,0x65,0x66,0x66,0x66,0x64,0x64,0x65,0x65,0x65,0x66,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x66,0x66,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x65,0x6C,0x69,0x66,0x63,0x60,0x60,0x60,0x61,0x6A,0x68,0x65,0x62,0x60,0x5F,0x5F,0x60,0x68,0x66,0x63,0x60,0x5E,0x5E,0x5E,0x5F,0x65,0x63,0x60,0x5E,0x5D,0x5D,0x5E,0x5F,0x63,0x61,0x5F,0x5D,0x5C,0x5C,0x5E,0x5F,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5E,0x60,0x61,0x60,0x5E,0x5C,0x5C,0x5D,0x5F,0x61,0x61,0x5F,0x5E,0x5C,0x5C,0x5E,0x60,0x61,0xB7,0xBC,0xC1,0xC4,0xC4,0xC4,0xC6,0xC9,0xBC,0xC0,0xC5,0xC7,0xC6,0xC6,0xC9,0xCB,0xC3,0xC6,0xCA,0xCB,0xCA,0xCA,0xCC,0xCF,0xCA,0xCD,0xD0,0xD0,0xCE,0xCD,0xCF,0xD2,0xD0,0xD2,0xD3,0xD2,0xCF,0xCE,0xD1,0xD3,0xD3,0xD5,0xD5,0xD2,0xCF,0xCD,0xD0,0xD2,0xD4,0xD5,0xD5,0xD1,0xCD,0xCB,0xCD,0xD0,0xD4,0xD5,0xD4,0xD0,0xCC,0xCA,0xCC,0xCF}};\r
+\r
+struct yrsreg {\r
+  volatile unsigned int fbadd;\r
+  volatile unsigned int size_info;\r
+  volatile unsigned int incadd;\r
+  volatile unsigned int reset;\r
+}\r
+\r
+  upycc_pic_neek(){\r
+    struct yrsreg *sreg = (struct yrsreg *) HPADDR;\r
+    volatile unsigned int *dataad = (unsigned int *)HSADDR;\r
+    unsigned int rdata;\r
+    volatile unsigned int *raddr; \r
+    int i,j,k;\r
+    unsigned int *allocadd;\r
+    volatile unsigned int *svaddr = (unsigned int *)SVGAADDR;\r
+\r
+    allocadd = (unsigned int *)memalign(1024, 2*800*480);\r
+    if (allocadd == NULL) fail(0);\r
+\r
+    sreg->fbadd = (unsigned int) allocadd;\r
+    sreg->size_info = 0x000825A4;\r
+    sreg->incadd    = 0x0624a244;\r
+    sreg->reset     = 0x00000000;\r
+    sreg->reset     = 0xffffffff;\r
+\r
+    /* For checking data*/\r
+\r
+    *(svaddr + 1)  = 0x01df027f;\r
+    *(svaddr + 2)  = 0x000b0010;\r
+    *(svaddr + 3)  = 0x00020060;\r
+    *(svaddr + 4)  = 0x020b031f;\r
+    *(svaddr + 5)  = (unsigned int) allocadd;\r
+    *(svaddr + 6)  = 0x00009c40;\r
+    *(svaddr + 7)  = 0x000061a8;\r
+    *(svaddr + 8)  = 0x00004e20;\r
+    *(svaddr + 9)  = 0x00003c19;\r
+    *(svaddr + 10) = 0x00000000;\r
+\r
+    *svaddr = 0x00000021;\r
+    for(i=0;i<480;i++){\r
+      for(j=0;j<400;j++){\r
+       *(allocadd + i*320 +j) = 0x0;\r
+      }\r
+    }\r
+    for(i=0;i<9;i++){\r
+      for(j=0;j<1024;j++){\r
+        *dataad = indata[i][j];\r
+       //      for(k=0;k<100000;k++);\r
+      }\r
+    }\r
+  }\r
+\r
+\r
+\r
\r
+\r
index a92e24f..d838ab8 100644 (file)
@@ -28,11 +28,11 @@ MODULE_LICENSE("GPL");
 #define APBADD 0x80000c00
 
 
-/* Physical address for NEEK
-#define AHBADD 0xb0000000
+/* Physical address for NEEK*/
+/*#define AHBADD 0xb0000000
 #define RDYADD 0xb0000200
-#define APBADD 0x80000700
-*/
+#define APBADD 0x80000700*/
+
 
 static struct kmjpeg_priv *kmjpeg_devices;
 
@@ -42,7 +42,7 @@ module_param(kmjpeg_major, uint, 0);
 struct kmjpeg_sregs_t {
   volatile unsigned int fbadd;
   volatile unsigned int size_info;
-  volatile unsigned int inc_add;
+  volatile unsigned int incadd;
   volatile unsigned int reset;
 };
 
@@ -85,10 +85,10 @@ int kmjpeg_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsi
      if((tmp & 0x80000000) == 0x80000000)break;
      for(i=0;i<800;i++);
    }
-   //  *hdata = datawrite.pixeldata;
-   for(i=0;i<128;i++){
-     *hdata = datawrite.fourbdata[i];
-   }
+   *hdata = datawrite.pixeldata;
+   //   for(i=0;i<128;i++){
+   //     *hdata = datawrite.fourbdata[i];
+   //   }
    break;
   
   case IOCTL_REGSET :
@@ -109,7 +109,7 @@ int kmjpeg_ioctl(struct inode *inode, struct file *filep, unsigned int cmd, unsi
     //   printk("IOCTL regset2 ..............................\n");
     kmjpeg_sregs->fbadd = datareg.fb;
     kmjpeg_sregs->size_info = datareg.size_info;
-    kmjpeg_sregs->inc_add = datareg.inc_add;
+    kmjpeg_sregs->incadd = datareg.incadd;
     kmjpeg_sregs->reset = 0x0;
     kmjpeg_sregs->reset =0xffffffff;
     iounmap(kmjpeg_sregs);
index 8f96e20..b2b6155 100644 (file)
@@ -1,13 +1,13 @@
 #include <linux/ioctl.h>
 
 struct ioctl_cmdwrite{
-  //  unsigned int pixeldata;
-  unsigned int fourbdata[128];
+   unsigned int pixeldata;
+  //  unsigned int fourbdata[128];
 };
 struct ioctl_cmdreg{
   unsigned int fb;
   unsigned int size_info;
-  unsigned int inc_add;
+  unsigned int incadd;
 };
 
 #define IOC_MAGIC 'k'
index 390ec49..ea1b5be 100644 (file)
@@ -437,6 +437,14 @@ void setup_hardware(j_decompress_ptr cinfo)
     fprintf(stderr,"out_yccrgbs.txt File open error!\n");
     exit(1);
   }
+  if((cinfo->in_upycc = fopen("in_upycc.txt", "w"))==NULL){
+    fprintf(stderr,"in_upycc.txt File open error!\n");
+    exit(1);
+  }
+  if((cinfo->out_upycc = fopen("out_upycc.txt", "w"))==NULL){
+    fprintf(stderr,"out_upycc.txt File open error!\n");
+    exit(1);
+  }
 }
 
 
index 8df0927..4da1820 100644 (file)
Binary files a/snapgear-2.6-p42/user/jpeg-6b-host/gmon.out and b/snapgear-2.6-p42/user/jpeg-6b-host/gmon.out differ
diff --git a/snapgear-2.6-p42/user/jpeg-6b-host/in_upycc.txt b/snapgear-2.6-p42/user/jpeg-6b-host/in_upycc.txt
new file mode 100644 (file)
index 0000000..da3ed89
--- /dev/null
@@ -0,0 +1,9600 @@
+31
+31
+30
+30
+2F
+2E
+2D
+2D
+33
+33
+32
+32
+31
+30
+2F
+2F
+36
+36
+35
+35
+34
+33
+32
+32
+39
+39
+38
+37
+36
+36
+35
+35
+3B
+3B
+3B
+3A
+39
+38
+38
+37
+3E
+3E
+3D
+3D
+3C
+3B
+3A
+3A
+41
+41
+40
+3F
+3F
+3E
+3D
+3D
+43
+43
+42
+41
+41
+40
+3F
+3F
+2E
+2E
+2E
+2E
+2D
+2C
+2B
+2B
+30
+30
+30
+2F
+2F
+2E
+2D
+2D
+32
+32
+32
+32
+32
+31
+30
+2F
+35
+35
+35
+35
+34
+33
+32
+32
+37
+37
+37
+37
+36
+35
+35
+34
+3A
+3A
+3A
+39
+39
+38
+37
+37
+3C
+3C
+3C
+3C
+3C
+3B
+3A
+39
+3E
+3E
+3E
+3E
+3D
+3D
+3C
+3B
+41
+41
+41
+41
+41
+41
+41
+41
+42
+42
+42
+42
+42
+43
+43
+43
+43
+44
+44
+44
+44
+44
+44
+44
+44
+44
+44
+45
+45
+45
+46
+46
+44
+45
+45
+45
+46
+46
+47
+47
+45
+45
+46
+46
+47
+47
+48
+48
+46
+46
+47
+48
+48
+49
+4A
+4A
+47
+48
+48
+49
+4A
+4A
+4B
+4B
+43
+42
+41
+40
+40
+3F
+3D
+3B
+45
+44
+43
+41
+40
+3E
+3D
+3B
+44
+44
+43
+41
+3F
+3D
+3D
+3D
+44
+44
+44
+43
+41
+40
+41
+42
+47
+47
+47
+46
+44
+44
+44
+45
+47
+46
+45
+45
+46
+45
+43
+41
+47
+45
+45
+48
+4C
+4C
+49
+45
+4A
+48
+49
+4F
+56
+59
+56
+51
+7D
+7D
+7F
+80
+81
+82
+82
+82
+7D
+7D
+7E
+7F
+80
+80
+80
+80
+7D
+7D
+7D
+7D
+7D
+7D
+7D
+7E
+7D
+7D
+7C
+7B
+7B
+7B
+7B
+7B
+7D
+7C
+7B
+79
+79
+79
+7A
+7B
+7C
+7B
+79
+78
+78
+79
+7B
+7D
+7C
+7A
+79
+78
+78
+7A
+7D
+7F
+7B
+7A
+78
+77
+78
+7B
+7E
+80
+85
+85
+84
+83
+81
+80
+7F
+7F
+85
+84
+84
+83
+82
+82
+81
+81
+84
+84
+84
+84
+84
+84
+84
+84
+83
+83
+83
+84
+85
+85
+86
+86
+82
+83
+83
+84
+85
+85
+86
+86
+82
+82
+83
+83
+84
+84
+85
+85
+82
+82
+82
+83
+83
+83
+83
+83
+82
+82
+82
+82
+82
+82
+82
+82
+2B
+2B
+2B
+2B
+2B
+2B
+2B
+2B
+2D
+2D
+2D
+2D
+2D
+2D
+2D
+2D
+2F
+2F
+2F
+2F
+2F
+2F
+2F
+2F
+30
+30
+30
+30
+30
+30
+30
+30
+31
+31
+31
+31
+31
+31
+31
+31
+34
+34
+34
+34
+34
+34
+34
+34
+38
+38
+38
+38
+38
+38
+38
+38
+3B
+3B
+3B
+3B
+3B
+3B
+3B
+3B
+2E
+2E
+2E
+2E
+2F
+2F
+2F
+2F
+2F
+2F
+2F
+2F
+30
+30
+30
+31
+30
+30
+30
+31
+32
+32
+32
+33
+31
+31
+31
+32
+33
+33
+34
+34
+32
+32
+32
+33
+33
+34
+34
+34
+33
+33
+34
+34
+34
+34
+34
+34
+36
+36
+36
+35
+35
+35
+35
+35
+38
+38
+37
+37
+36
+36
+35
+35
+3D
+3D
+3C
+3D
+3E
+3F
+3E
+3D
+3D
+3C
+3C
+3D
+3D
+3D
+3D
+3D
+3C
+3D
+3D
+3D
+3C
+3C
+3C
+3D
+3E
+3F
+3F
+3E
+3D
+3C
+3C
+3D
+42
+42
+41
+40
+3F
+3D
+3D
+3D
+46
+44
+42
+41
+41
+40
+3E
+3C
+49
+45
+42
+41
+42
+42
+3E
+3B
+4A
+45
+41
+41
+43
+43
+3E
+3A
+39
+38
+38
+37
+36
+36
+35
+35
+39
+39
+38
+38
+37
+36
+36
+35
+3A
+3A
+39
+39
+38
+37
+36
+36
+3B
+3B
+3A
+3A
+39
+38
+37
+37
+3C
+3B
+3B
+3A
+39
+39
+38
+38
+3C
+3C
+3B
+3A
+39
+39
+38
+38
+3C
+3B
+3B
+3A
+39
+38
+38
+38
+3C
+3B
+3B
+3A
+39
+38
+38
+37
+82
+82
+81
+80
+80
+7F
+7E
+7E
+80
+80
+80
+7F
+7F
+7E
+7E
+7D
+7E
+7E
+7E
+7D
+7D
+7D
+7D
+7C
+7B
+7B
+7B
+7C
+7C
+7C
+7C
+7C
+79
+79
+7A
+7A
+7B
+7B
+7C
+7C
+78
+78
+79
+7A
+7B
+7C
+7C
+7D
+77
+78
+79
+7A
+7B
+7C
+7D
+7E
+77
+78
+79
+7A
+7C
+7D
+7E
+7F
+84
+84
+83
+82
+82
+81
+81
+80
+84
+84
+83
+83
+82
+81
+81
+81
+85
+84
+84
+83
+82
+82
+81
+81
+85
+85
+84
+84
+83
+82
+82
+82
+86
+86
+85
+84
+84
+83
+83
+82
+86
+86
+86
+85
+84
+84
+83
+83
+87
+87
+86
+86
+85
+84
+84
+83
+87
+87
+86
+86
+85
+84
+84
+84
+2E
+2E
+2E
+2E
+2E
+2E
+2E
+2E
+30
+30
+30
+30
+30
+2F
+2F
+2F
+33
+32
+32
+32
+32
+32
+32
+32
+33
+34
+34
+34
+35
+36
+36
+36
+33
+34
+35
+36
+37
+39
+3A
+3A
+33
+34
+35
+37
+39
+3A
+3B
+3C
+35
+35
+36
+37
+39
+3A
+3B
+3B
+36
+37
+37
+38
+38
+39
+39
+39
+30
+31
+31
+33
+34
+35
+36
+36
+32
+33
+33
+35
+36
+37
+38
+38
+35
+35
+36
+37
+39
+3A
+3B
+3B
+37
+38
+39
+3A
+3B
+3C
+3D
+3E
+39
+39
+3A
+3C
+3D
+3E
+3F
+3F
+3B
+3B
+3C
+3D
+3E
+40
+40
+41
+3C
+3D
+3E
+3F
+40
+41
+42
+43
+3E
+3E
+3F
+40
+41
+43
+43
+44
+34
+34
+35
+36
+37
+39
+3B
+3C
+36
+36
+37
+37
+39
+3B
+3D
+3E
+37
+37
+37
+38
+3A
+3C
+3D
+3F
+37
+37
+37
+38
+39
+3B
+3C
+3E
+38
+37
+37
+38
+39
+3B
+3C
+3D
+39
+39
+39
+39
+3A
+3C
+3D
+3E
+39
+39
+39
+39
+3A
+3B
+3D
+3E
+38
+37
+37
+37
+38
+3A
+3B
+3C
+3C
+3D
+3F
+40
+42
+43
+43
+43
+3D
+3E
+40
+41
+42
+43
+43
+42
+3F
+3F
+41
+42
+43
+43
+42
+42
+40
+41
+42
+43
+43
+43
+42
+42
+41
+41
+42
+43
+43
+43
+42
+42
+41
+41
+42
+43
+43
+43
+42
+42
+40
+40
+42
+43
+43
+43
+42
+42
+3F
+40
+41
+42
+43
+43
+42
+42
+81
+80
+7F
+7E
+7D
+7B
+7A
+7A
+80
+7F
+7E
+7D
+7C
+7A
+79
+79
+7E
+7E
+7D
+7C
+7A
+79
+78
+77
+7D
+7D
+7C
+7A
+79
+78
+77
+76
+7C
+7C
+7B
+7A
+78
+77
+76
+75
+7C
+7C
+7B
+7A
+78
+77
+76
+75
+7D
+7C
+7B
+7A
+79
+77
+76
+76
+7D
+7D
+7C
+7A
+79
+78
+77
+76
+82
+82
+83
+84
+85
+86
+86
+87
+82
+82
+83
+84
+85
+86
+86
+87
+82
+82
+83
+84
+85
+86
+87
+87
+82
+83
+83
+84
+85
+86
+87
+87
+83
+83
+84
+85
+86
+87
+87
+88
+83
+83
+84
+85
+86
+87
+88
+88
+83
+84
+84
+85
+86
+87
+88
+88
+83
+84
+84
+85
+86
+87
+88
+88
+37
+38
+39
+39
+38
+37
+35
+34
+39
+3A
+3A
+3A
+3A
+38
+37
+36
+3C
+3C
+3D
+3D
+3C
+3A
+39
+38
+3E
+3F
+3E
+3E
+3D
+3C
+3A
+3A
+40
+40
+3F
+3E
+3D
+3C
+3B
+3A
+42
+41
+40
+3F
+3E
+3D
+3C
+3B
+43
+43
+41
+40
+3F
+3E
+3D
+3C
+45
+44
+42
+41
+3F
+3E
+3E
+3D
+34
+34
+33
+32
+32
+33
+34
+34
+35
+35
+34
+33
+33
+34
+35
+35
+37
+36
+35
+35
+35
+35
+36
+37
+38
+38
+37
+36
+36
+37
+38
+38
+3A
+39
+38
+38
+38
+38
+39
+3A
+3B
+3A
+39
+39
+39
+39
+3A
+3B
+3B
+3B
+3A
+39
+39
+3A
+3B
+3B
+3B
+3B
+3A
+39
+39
+3A
+3B
+3B
+43
+43
+42
+41
+40
+3F
+3E
+3D
+43
+42
+41
+40
+3F
+3E
+3D
+3C
+42
+41
+40
+3F
+3E
+3D
+3C
+3B
+41
+41
+40
+3F
+3E
+3C
+3C
+3B
+42
+41
+40
+3F
+3E
+3D
+3C
+3B
+41
+41
+40
+3F
+3E
+3D
+3C
+3B
+40
+40
+3F
+3E
+3D
+3C
+3B
+3A
+40
+3F
+3E
+3D
+3C
+3B
+3A
+39
+3A
+39
+3A
+3D
+3C
+39
+3A
+3E
+3F
+3E
+3D
+3D
+3C
+3C
+3D
+3F
+3F
+3E
+3C
+3A
+3B
+3E
+3F
+3F
+3B
+3C
+3B
+39
+3B
+40
+42
+3F
+3A
+3C
+3C
+3B
+3D
+40
+41
+3F
+3B
+3A
+3A
+3B
+3B
+3A
+3C
+3F
+3D
+38
+38
+3C
+3B
+37
+3E
+49
+41
+3A
+3A
+41
+40
+3C
+47
+59
+7C
+7B
+7B
+7B
+7B
+7B
+7C
+7D
+7A
+7A
+7A
+7B
+7B
+7C
+7D
+7D
+78
+79
+79
+7A
+7B
+7C
+7D
+7D
+76
+77
+79
+7A
+7B
+7C
+7C
+7C
+76
+77
+79
+7A
+7B
+7B
+7B
+7A
+76
+77
+79
+7B
+7B
+7A
+79
+77
+77
+78
+7A
+7B
+7B
+79
+76
+74
+77
+79
+7B
+7B
+7A
+78
+75
+73
+84
+84
+85
+86
+86
+86
+86
+86
+85
+85
+86
+86
+86
+86
+85
+85
+87
+87
+87
+86
+85
+85
+84
+84
+8A
+89
+87
+86
+85
+84
+84
+84
+8B
+89
+87
+85
+84
+84
+85
+85
+8B
+89
+87
+85
+84
+85
+86
+87
+8A
+88
+86
+84
+84
+86
+88
+8A
+89
+88
+85
+84
+84
+86
+89
+8B
+38
+35
+38
+39
+35
+35
+35
+31
+36
+34
+36
+37
+35
+36
+38
+35
+3A
+39
+38
+37
+36
+36
+36
+36
+3A
+3C
+3B
+3A
+3C
+3A
+38
+3A
+35
+3B
+3A
+3B
+41
+40
+3C
+40
+37
+3F
+3C
+3B
+43
+40
+3A
+40
+3B
+44
+3D
+3A
+44
+42
+3D
+47
+37
+40
+3A
+38
+48
+4A
+49
+57
+33
+32
+33
+35
+38
+3D
+42
+45
+35
+34
+34
+34
+36
+39
+3C
+3E
+39
+39
+38
+38
+39
+3A
+3B
+3C
+38
+38
+38
+38
+39
+3A
+3B
+3B
+3C
+3C
+3C
+3D
+3D
+3E
+3F
+40
+3D
+3C
+3C
+3C
+3C
+3E
+3F
+40
+3F
+3F
+3E
+3F
+41
+43
+46
+48
+58
+58
+58
+5A
+5D
+62
+67
+6A
+49
+3E
+40
+55
+6C
+7A
+7E
+7D
+3B
+37
+54
+79
+81
+84
+7F
+6C
+41
+42
+6A
+87
+7A
+74
+70
+54
+4C
+5C
+7A
+80
+6B
+67
+66
+54
+44
+68
+78
+6B
+60
+5F
+5C
+59
+58
+75
+70
+58
+54
+54
+51
+57
+79
+77
+66
+57
+55
+55
+55
+5B
+6F
+55
+4C
+54
+56
+56
+59
+57
+58
+5E
+63
+65
+6D
+75
+75
+6F
+51
+53
+55
+57
+61
+6C
+6E
+68
+56
+55
+53
+55
+60
+6B
+6E
+69
+54
+53
+51
+51
+57
+5F
+61
+5F
+54
+56
+57
+56
+55
+55
+56
+56
+5A
+5E
+61
+60
+5C
+58
+57
+57
+56
+59
+5D
+5F
+5C
+58
+56
+56
+56
+58
+5B
+5F
+60
+5D
+5B
+5A
+7A
+7B
+7C
+7D
+7D
+7B
+79
+78
+7B
+7B
+7C
+7C
+7B
+79
+77
+76
+7B
+7B
+7B
+7A
+78
+76
+74
+73
+7A
+79
+78
+76
+74
+71
+6F
+6E
+77
+75
+73
+71
+6E
+6C
+6B
+6A
+72
+71
+6E
+6B
+69
+67
+67
+66
+6D
+6C
+69
+66
+64
+64
+64
+64
+6A
+69
+66
+64
+62
+62
+62
+62
+84
+90
+98
+91
+83
+82
+92
+A3
+91
+95
+97
+92
+8A
+87
+8D
+94
+85
+87
+88
+8A
+8A
+8A
+89
+88
+7B
+84
+8F
+96
+98
+9A
+9C
+9F
+91
+A3
+B6
+BA
+B3
+B0
+B8
+C2
+A8
+BB
+CB
+C9
+B9
+B0
+B7
+C3
+AE
+B8
+C2
+BF
+B4
+AD
+B0
+B6
+B1
+B4
+B8
+BA
+BB
+BA
+BB
+BB
+47
+47
+47
+47
+48
+49
+4A
+4B
+46
+47
+47
+49
+4A
+4A
+4B
+4B
+45
+46
+48
+4A
+4C
+4C
+4C
+4B
+44
+46
+49
+4C
+4D
+4D
+4C
+4C
+43
+45
+49
+4C
+4E
+4E
+4D
+4C
+43
+45
+48
+4C
+4E
+4E
+4E
+4D
+42
+44
+47
+4B
+4D
+4E
+4E
+4E
+42
+44
+47
+4A
+4C
+4E
+4E
+4E
+47
+4C
+54
+5E
+6B
+74
+71
+6A
+4A
+52
+5E
+6C
+7B
+85
+85
+80
+4B
+56
+67
+79
+8A
+95
+97
+95
+4B
+58
+6D
+82
+92
+9D
+A2
+A2
+4E
+5B
+71
+88
+9A
+A5
+AC
+AF
+4E
+59
+6F
+88
+9C
+A9
+B1
+B7
+4C
+55
+68
+82
+97
+A6
+B0
+B6
+4E
+54
+66
+7E
+94
+A2
+AD
+B4
+3F
+41
+45
+47
+49
+4A
+4C
+4D
+3F
+41
+44
+47
+48
+49
+4B
+4C
+3F
+41
+44
+46
+47
+48
+49
+4A
+3F
+41
+44
+46
+46
+47
+48
+49
+40
+42
+45
+46
+47
+47
+48
+49
+41
+43
+45
+47
+48
+48
+49
+4A
+42
+44
+46
+48
+49
+4A
+4B
+4C
+42
+44
+47
+49
+4A
+4B
+4C
+4D
+4D
+52
+63
+7B
+8F
+9D
+A9
+B2
+50
+52
+5F
+76
+8B
+9A
+A6
+AF
+52
+51
+5A
+6F
+86
+96
+A2
+AA
+51
+4E
+56
+6B
+84
+95
+A1
+A8
+4D
+4B
+54
+6B
+85
+97
+A1
+A7
+4C
+4A
+55
+6D
+86
+97
+A0
+A6
+4F
+4E
+57
+6D
+84
+94
+9E
+A4
+52
+51
+59
+6D
+81
+90
+9B
+A3
+77
+74
+73
+74
+7A
+83
+8E
+94
+79
+77
+76
+78
+7F
+89
+94
+9B
+7B
+7A
+79
+7B
+84
+90
+9D
+A4
+7B
+79
+78
+7C
+85
+93
+A0
+A9
+78
+76
+75
+78
+82
+90
+9F
+A8
+78
+75
+73
+75
+7E
+8C
+9B
+A4
+7A
+77
+74
+75
+7C
+8A
+98
+A2
+7D
+79
+75
+75
+7C
+89
+97
+A1
+82
+83
+84
+85
+83
+80
+7D
+7B
+83
+84
+85
+85
+83
+80
+7C
+79
+85
+86
+87
+86
+83
+7F
+7A
+77
+85
+87
+88
+87
+84
+7E
+78
+75
+85
+87
+88
+88
+84
+7E
+78
+73
+84
+86
+88
+89
+85
+7F
+78
+73
+83
+85
+88
+89
+86
+80
+78
+74
+81
+84
+88
+89
+86
+80
+79
+74
+5F
+56
+4B
+42
+3F
+3F
+3E
+3D
+79
+70
+63
+58
+51
+4B
+44
+3E
+94
+8B
+7F
+75
+6C
+62
+55
+4C
+A2
+9B
+92
+8C
+87
+7E
+72
+68
+AC
+A7
+A0
+9D
+9C
+97
+8F
+88
+B7
+B3
+AF
+AD
+AB
+A9
+A4
+9F
+BC
+BB
+B9
+B8
+B7
+B5
+B2
+B0
+BA
+BB
+BC
+BD
+BD
+BC
+BB
+BB
+3E
+3B
+38
+38
+39
+3A
+3A
+39
+40
+3D
+39
+38
+38
+39
+38
+37
+49
+43
+3D
+38
+37
+36
+35
+33
+5F
+57
+4C
+42
+3D
+3A
+38
+37
+80
+75
+65
+57
+4D
+48
+44
+42
+99
+8E
+7D
+6D
+61
+58
+52
+4E
+A7
+9E
+91
+82
+76
+6A
+60
+5A
+B0
+AA
+9F
+93
+87
+7A
+6E
+66
+BA
+BB
+BC
+BE
+C0
+C0
+C1
+C1
+B8
+B9
+BB
+BD
+BE
+BE
+BE
+BE
+B5
+B6
+B8
+BB
+BC
+BB
+BB
+BA
+B2
+B3
+B6
+B8
+B9
+B9
+B8
+B7
+AF
+B1
+B3
+B5
+B6
+B6
+B6
+B5
+AC
+AD
+AF
+B1
+B3
+B4
+B4
+B4
+AA
+AA
+AB
+AD
+AF
+B1
+B2
+B3
+A8
+A8
+A9
+AA
+AC
+AF
+B1
+B3
+BA
+B4
+AB
+A2
+97
+8A
+7E
+75
+B9
+B4
+AD
+A6
+9E
+94
+8A
+83
+B7
+B4
+AF
+AA
+A5
+9F
+97
+92
+B5
+B2
+AE
+AB
+A9
+A5
+A0
+9C
+B4
+B1
+AE
+AD
+AD
+AC
+A9
+A7
+B3
+B1
+AF
+AF
+B2
+B3
+B2
+B0
+B2
+B0
+AE
+AE
+B1
+B2
+B2
+B1
+B2
+AF
+AC
+AB
+AC
+AD
+AD
+AB
+8D
+8C
+89
+85
+81
+7D
+7A
+78
+99
+97
+93
+8F
+89
+84
+80
+7E
+A6
+A4
+A0
+9B
+95
+90
+8C
+8A
+AA
+A9
+A6
+A3
+9F
+9C
+99
+98
+A6
+A6
+A6
+A5
+A5
+A4
+A4
+A4
+A4
+A4
+A5
+A5
+A6
+A7
+A7
+A8
+A9
+A8
+A8
+A7
+A6
+A6
+A5
+A5
+AF
+AE
+AC
+A9
+A6
+A4
+A2
+A1
+7E
+80
+82
+83
+84
+83
+82
+81
+7C
+7D
+7F
+81
+82
+82
+81
+80
+78
+79
+7B
+7D
+7E
+7F
+7F
+7F
+75
+76
+78
+79
+7B
+7C
+7D
+7D
+75
+75
+76
+77
+78
+7A
+7B
+7B
+77
+77
+76
+76
+77
+78
+79
+7A
+7A
+79
+78
+77
+77
+77
+79
+7A
+7C
+7B
+79
+77
+77
+77
+78
+79
+34
+35
+36
+38
+3A
+3B
+3B
+3B
+37
+38
+3A
+3B
+3D
+3D
+3C
+3B
+35
+36
+38
+3A
+3B
+3C
+3B
+3B
+35
+35
+36
+37
+38
+3A
+3C
+3E
+3F
+3E
+3C
+3A
+38
+3A
+3D
+41
+4D
+4B
+47
+40
+3B
+39
+3B
+3E
+59
+58
+53
+4B
+42
+3D
+3C
+3D
+62
+61
+5E
+56
+4D
+45
+43
+42
+3C
+3F
+42
+44
+43
+43
+42
+42
+3F
+40
+41
+41
+41
+41
+40
+40
+41
+40
+3F
+40
+41
+41
+41
+40
+3F
+3F
+3F
+41
+42
+43
+42
+41
+3E
+3F
+40
+42
+43
+42
+41
+40
+3F
+40
+42
+42
+41
+40
+40
+40
+3F
+41
+43
+42
+40
+41
+45
+49
+3E
+41
+43
+42
+41
+44
+4D
+55
+6D
+69
+64
+5F
+58
+4E
+46
+41
+77
+70
+68
+61
+5B
+53
+49
+43
+88
+80
+74
+6B
+66
+5E
+54
+4C
+99
+92
+88
+7E
+79
+73
+6B
+64
+A2
+A0
+9A
+93
+8F
+8D
+87
+80
+A5
+A6
+A3
+A0
+A0
+9F
+98
+8E
+AA
+A9
+A5
+A3
+A6
+A4
+95
+84
+B0
+AB
+A4
+A2
+A5
+A1
+8B
+73
+36
+3F
+45
+44
+42
+4A
+5F
+71
+3A
+3F
+45
+4B
+51
+5D
+6D
+79
+4D
+4C
+50
+59
+66
+72
+79
+7B
+6B
+66
+63
+69
+73
+7A
+79
+76
+7D
+77
+72
+72
+75
+77
+74
+71
+7B
+78
+74
+72
+72
+72
+71
+70
+71
+71
+71
+71
+70
+70
+70
+70
+6D
+6E
+6F
+70
+71
+70
+6F
+6E
+77
+78
+79
+7A
+7A
+78
+75
+74
+81
+7E
+79
+75
+74
+76
+79
+7B
+8E
+87
+7D
+75
+72
+76
+7D
+82
+96
+90
+87
+7F
+7B
+7B
+7E
+81
+9A
+98
+93
+8D
+87
+80
+7B
+78
+9E
+9C
+98
+92
+88
+7D
+74
+6E
+A4
+9F
+95
+88
+7C
+73
+6C
+69
+AA
+A0
+8F
+7D
+70
+69
+67
+67
+7F
+81
+84
+87
+88
+88
+87
+86
+86
+84
+82
+81
+81
+83
+86
+87
+84
+83
+82
+81
+81
+81
+81
+82
+7C
+7E
+81
+84
+85
+83
+81
+80
+7D
+7C
+7C
+7D
+82
+8A
+91
+96
+84
+7F
+79
+7A
+85
+99
+AF
+BD
+7B
+7D
+82
+8D
+9F
+B5
+C8
+D4
+69
+77
+8F
+A9
+BF
+CD
+D4
+D7
+37
+3B
+3C
+3A
+3A
+3A
+38
+33
+3F
+3F
+3F
+3D
+3C
+3D
+3C
+3B
+44
+40
+3C
+3B
+39
+37
+38
+3A
+43
+3E
+3B
+3B
+38
+34
+34
+37
+40
+40
+43
+47
+48
+46
+45
+45
+43
+4B
+54
+5C
+61
+64
+62
+5E
+55
+62
+6E
+73
+78
+7D
+78
+6F
+6A
+7A
+84
+84
+86
+8A
+83
+75
+3A
+39
+3A
+3A
+3A
+3F
+51
+63
+3B
+3C
+3C
+3A
+3F
+4A
+58
+60
+38
+3A
+39
+3A
+46
+57
+5D
+5A
+38
+35
+36
+40
+51
+5D
+5C
+55
+45
+3C
+3E
+4F
+5E
+5E
+57
+52
+5C
+52
+53
+61
+67
+5D
+54
+54
+6D
+68
+67
+6A
+67
+5C
+57
+58
+72
+73
+71
+6B
+62
+5B
+5A
+5C
+83
+8E
+94
+94
+8D
+88
+85
+74
+86
+8C
+8E
+8A
+82
+7C
+76
+67
+80
+82
+81
+7A
+74
+6F
+66
+5D
+74
+74
+75
+70
+6F
+6D
+62
+61
+70
+70
+73
+6E
+71
+70
+62
+69
+70
+6E
+73
+6B
+6F
+6D
+5C
+6C
+6F
+6C
+71
+67
+6B
+69
+59
+72
+6F
+6C
+71
+66
+6C
+6C
+5E
+7D
+6E
+73
+71
+66
+5E
+5E
+5F
+5D
+64
+71
+74
+68
+62
+65
+63
+5B
+66
+74
+77
+6A
+65
+6D
+6A
+5D
+75
+78
+72
+67
+66
+6D
+6A
+60
+7F
+74
+69
+66
+69
+6A
+67
+62
+7F
+72
+6A
+6E
+72
+6E
+68
+66
+79
+73
+70
+72
+72
+6E
+6A
+69
+72
+75
+73
+6D
+69
+69
+68
+67
+76
+78
+79
+7A
+79
+76
+73
+71
+7F
+80
+80
+7F
+7C
+78
+73
+71
+8A
+89
+87
+83
+7D
+77
+71
+6E
+8D
+8B
+87
+81
+7A
+72
+6C
+68
+85
+82
+7E
+78
+72
+6B
+65
+62
+76
+74
+71
+6E
+69
+65
+62
+60
+68
+67
+66
+65
+64
+64
+63
+63
+60
+60
+60
+61
+62
+64
+66
+66
+85
+83
+7F
+7E
+83
+91
+A3
+B0
+92
+8B
+83
+7E
+82
+92
+A6
+B4
+80
+7F
+7D
+7F
+87
+95
+A3
+AC
+75
+7C
+89
+99
+A6
+AD
+AE
+AD
+9C
+A2
+AD
+BC
+C7
+CA
+C5
+BE
+CC
+C6
+C1
+C2
+C8
+CC
+C9
+C4
+D5
+CB
+C1
+BF
+C6
+CA
+C8
+C4
+CD
+C7
+C5
+CC
+D7
+DC
+D7
+D0
+57
+52
+51
+57
+5A
+56
+54
+56
+5A
+57
+57
+5B
+5A
+55
+54
+58
+5C
+5C
+5E
+60
+5D
+58
+59
+5D
+5B
+5A
+5D
+5F
+5F
+5C
+5C
+60
+5B
+59
+5A
+5D
+5F
+5E
+5D
+5C
+60
+5E
+5D
+5F
+61
+61
+5F
+5C
+5E
+5F
+5F
+5F
+60
+60
+5F
+5D
+54
+58
+5B
+5A
+59
+5A
+5B
+5C
+56
+59
+5E
+61
+61
+61
+60
+60
+58
+5B
+5F
+62
+63
+64
+64
+65
+57
+5A
+5D
+60
+62
+63
+65
+67
+58
+5A
+5D
+5F
+60
+63
+65
+67
+5C
+5D
+5F
+61
+62
+64
+67
+69
+5C
+5E
+60
+62
+63
+65
+67
+69
+5A
+5D
+60
+62
+64
+66
+68
+6A
+5C
+5F
+63
+66
+68
+6A
+6C
+6E
+61
+5C
+5B
+5E
+60
+60
+61
+64
+58
+56
+56
+59
+5B
+5E
+61
+63
+5E
+61
+62
+62
+65
+6A
+6E
+6F
+66
+6A
+6B
+69
+6A
+6E
+71
+70
+62
+64
+64
+62
+61
+61
+60
+5E
+69
+66
+65
+67
+65
+60
+5B
+59
+71
+6A
+6A
+71
+71
+68
+60
+5F
+6C
+62
+62
+6E
+71
+65
+5C
+5C
+5E
+62
+67
+6C
+6F
+6F
+6D
+6C
+6C
+6D
+6D
+6D
+6C
+6A
+68
+66
+70
+6F
+6C
+68
+66
+64
+62
+62
+68
+67
+65
+63
+63
+63
+64
+65
+61
+61
+62
+63
+64
+66
+68
+69
+5E
+5F
+60
+61
+62
+64
+64
+65
+5D
+5D
+5E
+5E
+60
+62
+63
+64
+5E
+5E
+5E
+5F
+61
+65
+69
+6B
+66
+66
+66
+65
+64
+64
+63
+63
+66
+65
+65
+64
+63
+63
+62
+62
+64
+64
+64
+63
+62
+62
+61
+61
+63
+63
+63
+62
+61
+61
+60
+60
+63
+63
+62
+62
+61
+60
+60
+60
+63
+63
+63
+62
+61
+61
+60
+60
+64
+64
+63
+63
+62
+61
+61
+61
+65
+64
+64
+63
+63
+62
+61
+61
+B8
+B6
+B3
+B3
+B6
+BC
+C3
+C8
+B8
+B7
+B6
+B7
+BB
+C0
+C6
+C9
+B7
+B8
+BB
+BE
+C2
+C6
+CA
+CC
+B8
+BB
+BF
+C4
+C8
+CC
+CE
+CF
+BB
+BE
+C2
+C7
+CC
+CF
+D1
+D2
+C0
+C1
+C3
+C7
+CB
+CF
+D3
+D5
+C5
+C4
+C3
+C4
+C8
+CD
+D3
+D6
+C8
+C6
+C3
+C2
+C5
+CC
+D3
+D7
+45
+46
+47
+49
+4A
+4B
+4B
+4B
+47
+47
+48
+4A
+4B
+4C
+4C
+4C
+48
+49
+4A
+4B
+4C
+4D
+4E
+4E
+4A
+4A
+4B
+4D
+4D
+4E
+4E
+4E
+4B
+4B
+4C
+4D
+4E
+4E
+4E
+4E
+4C
+4D
+4D
+4E
+4F
+4F
+4F
+4F
+4E
+4E
+4F
+50
+50
+50
+50
+50
+4F
+50
+50
+51
+52
+52
+52
+51
+4F
+4F
+57
+6A
+7F
+8E
+97
+9B
+4E
+4F
+59
+6A
+7D
+8B
+94
+98
+4C
+4F
+59
+68
+78
+84
+8D
+93
+4D
+4F
+56
+62
+6E
+78
+82
+8A
+4F
+4F
+53
+5A
+62
+6B
+76
+7F
+51
+4F
+50
+54
+59
+60
+69
+70
+52
+4F
+4E
+52
+55
+59
+5E
+63
+52
+4F
+4F
+52
+55
+56
+58
+5A
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+4E
+4F
+4F
+50
+50
+51
+51
+51
+53
+52
+51
+51
+52
+54
+57
+59
+54
+53
+52
+51
+51
+52
+53
+54
+52
+52
+51
+51
+51
+51
+52
+52
+4F
+50
+51
+52
+53
+53
+53
+53
+51
+51
+52
+53
+54
+54
+54
+54
+55
+55
+55
+55
+54
+53
+53
+52
+56
+55
+55
+54
+54
+53
+53
+53
+54
+53
+53
+53
+53
+54
+55
+55
+79
+76
+75
+76
+7D
+88
+94
+9B
+79
+77
+74
+75
+7B
+85
+90
+97
+79
+77
+74
+74
+79
+81
+89
+8F
+78
+76
+74
+73
+76
+7C
+82
+86
+78
+76
+74
+73
+74
+78
+7C
+7E
+77
+75
+74
+73
+73
+75
+77
+79
+76
+75
+74
+73
+73
+74
+75
+76
+75
+74
+74
+73
+73
+74
+74
+75
+82
+84
+87
+87
+85
+80
+7B
+77
+84
+85
+87
+88
+86
+82
+7D
+79
+86
+87
+89
+89
+87
+84
+80
+7D
+88
+89
+8A
+8A
+88
+86
+84
+82
+8B
+8A
+8A
+8A
+89
+88
+87
+86
+8C
+8B
+8A
+89
+89
+89
+89
+8A
+8C
+8B
+89
+88
+88
+89
+8B
+8C
+8C
+8B
+89
+88
+88
+89
+8B
+8D
+9F
+A0
+A1
+A4
+A7
+AA
+AC
+AE
+9B
+9C
+9E
+A1
+A4
+A6
+A8
+A9
+94
+95
+98
+9B
+9D
+9F
+9F
+A0
+8C
+8D
+90
+93
+95
+95
+96
+95
+83
+85
+88
+8B
+8D
+8F
+8F
+8F
+79
+7C
+7F
+83
+87
+8B
+8D
+8E
+6D
+6F
+74
+7A
+80
+86
+8B
+8D
+62
+65
+6B
+72
+7B
+83
+89
+8D
+AF
+AC
+A9
+A8
+A7
+A5
+A2
+A1
+AB
+A7
+A4
+A2
+9F
+9D
+9A
+99
+A3
+A0
+9B
+95
+90
+8C
+89
+87
+99
+96
+8F
+86
+7E
+7A
+76
+72
+8E
+8C
+84
+7B
+76
+73
+6D
+68
+88
+86
+7F
+78
+78
+78
+72
+69
+89
+87
+80
+7B
+7E
+81
+79
+6E
+8D
+8A
+83
+7F
+83
+86
+7C
+6E
+59
+5E
+65
+6B
+74
+7F
+87
+89
+57
+5B
+60
+67
+71
+7D
+84
+85
+55
+57
+5A
+61
+6D
+79
+7F
+7F
+54
+54
+55
+5C
+6A
+76
+7B
+7A
+55
+54
+54
+5B
+68
+76
+7B
+7A
+56
+55
+55
+5C
+6B
+79
+80
+7F
+55
+56
+58
+5F
+6E
+7E
+87
+88
+54
+56
+59
+62
+71
+82
+8D
+8F
+90
+8F
+87
+80
+87
+8F
+87
+75
+8E
+94
+94
+91
+93
+94
+87
+73
+89
+96
+9F
+9E
+9A
+94
+84
+72
+83
+94
+A0
+9F
+98
+8F
+81
+74
+80
+90
+9D
+9D
+97
+8F
+83
+78
+84
+90
+9B
+9D
+9B
+96
+8B
+80
+91
+94
+97
+98
+9B
+9B
+95
+8C
+9C
+98
+91
+8F
+95
+9C
+9B
+96
+A4
+A7
+A9
+A9
+A6
+A4
+A5
+A7
+9A
+9D
+A0
+A0
+9D
+9B
+9B
+9C
+94
+98
+9D
+9E
+9B
+97
+95
+95
+94
+9A
+A1
+A3
+9F
+99
+94
+93
+8D
+94
+9C
+9F
+9A
+91
+8A
+86
+7F
+87
+91
+93
+8D
+81
+76
+70
+7B
+83
+8D
+90
+88
+7A
+6D
+65
+80
+89
+93
+96
+8D
+7D
+6E
+66
+78
+77
+75
+74
+76
+79
+7C
+7E
+7B
+79
+77
+76
+77
+78
+7B
+7C
+7E
+7D
+7B
+7A
+7B
+7D
+80
+82
+80
+7F
+7E
+7F
+83
+8A
+90
+94
+82
+80
+7F
+82
+8B
+99
+A6
+AF
+86
+82
+7F
+81
+8E
+A2
+B7
+C5
+8E
+86
+7E
+7D
+8A
+A2
+BD
+CE
+93
+89
+7D
+7A
+85
+9F
+BC
+CF
+A1
+A1
+A0
+9E
+99
+8D
+7C
+6E
+8C
+8D
+8D
+8C
+88
+80
+74
+6B
+7B
+7C
+7D
+7D
+7B
+76
+71
+6D
+73
+74
+77
+79
+77
+73
+71
+72
+6A
+6C
+71
+75
+75
+71
+71
+74
+61
+62
+69
+71
+74
+72
+73
+78
+5C
+5C
+61
+6B
+70
+70
+73
+79
+5A
+58
+5B
+65
+6B
+6B
+6F
+76
+6F
+6F
+6F
+6F
+6F
+6F
+6F
+6F
+71
+71
+71
+71
+71
+71
+71
+71
+74
+74
+74
+74
+74
+74
+74
+74
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+75
+74
+74
+74
+74
+74
+74
+74
+74
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+73
+62
+5C
+5B
+64
+6C
+6D
+6E
+70
+72
+6F
+6D
+6E
+6F
+6F
+6F
+71
+7A
+7C
+7B
+74
+6E
+6D
+6E
+6F
+73
+7B
+7D
+75
+6C
+6C
+6E
+6E
+6D
+77
+7B
+75
+6F
+6F
+70
+6F
+72
+76
+78
+76
+73
+72
+6F
+6D
+7F
+79
+76
+77
+78
+75
+70
+6D
+8C
+80
+77
+7A
+7E
+7A
+74
+72
+73
+73
+73
+75
+76
+74
+6F
+6B
+75
+74
+75
+76
+76
+73
+6D
+68
+75
+75
+75
+76
+76
+71
+6A
+65
+74
+74
+75
+75
+75
+70
+69
+63
+71
+71
+72
+73
+72
+6E
+67
+62
+6F
+6E
+6E
+6F
+6F
+6B
+66
+61
+6E
+6C
+6B
+6B
+6B
+68
+63
+5F
+6E
+6C
+6A
+69
+68
+66
+61
+5D
+99
+90
+81
+72
+69
+66
+68
+6A
+8D
+85
+78
+6C
+65
+63
+65
+68
+7D
+76
+6D
+64
+60
+60
+63
+66
+70
+6C
+66
+61
+5F
+61
+64
+67
+69
+67
+64
+62
+62
+64
+67
+69
+68
+67
+66
+65
+65
+66
+67
+68
+68
+68
+67
+67
+66
+66
+65
+65
+68
+68
+68
+67
+66
+64
+63
+62
+7C
+90
+AB
+BF
+C9
+CE
+D5
+DA
+8E
+A9
+C8
+D5
+D1
+C9
+CA
+CF
+9E
+BC
+DD
+E6
+DA
+CB
+C9
+CE
+AA
+BE
+D5
+E0
+DC
+D5
+D4
+D7
+C0
+C1
+C4
+CC
+D5
+DA
+D7
+D3
+DA
+CD
+C2
+C4
+CF
+D4
+CE
+C4
+DF
+D6
+CE
+CD
+D1
+D0
+C8
+BF
+D5
+D6
+D8
+D9
+D8
+D2
+CB
+C5
+6D
+66
+69
+6B
+69
+62
+66
+80
+71
+69
+69
+70
+67
+5B
+6A
+81
+75
+6D
+69
+74
+63
+54
+6E
+7D
+73
+71
+68
+72
+5F
+54
+74
+71
+70
+72
+68
+6D
+5E
+5B
+77
+67
+6C
+6F
+68
+67
+5F
+62
+74
+67
+69
+67
+63
+61
+5E
+60
+69
+6F
+66
+5E
+5E
+5D
+5C
+5A
+5F
+77
+6E
+72
+70
+6B
+6A
+66
+63
+67
+6F
+72
+6F
+6C
+6D
+6A
+68
+6C
+70
+72
+6F
+6C
+6F
+6E
+6C
+6F
+6E
+6F
+6A
+69
+6F
+6F
+6C
+6E
+67
+66
+61
+62
+6B
+6D
+69
+6A
+61
+60
+5A
+5D
+68
+6A
+65
+64
+67
+64
+5E
+5F
+6A
+6A
+61
+5D
+72
+6E
+65
+65
+6D
+6A
+5E
+58
+61
+5C
+5A
+5B
+59
+59
+62
+6F
+65
+5F
+5C
+5B
+59
+59
+61
+6C
+66
+60
+5C
+5A
+58
+58
+5F
+68
+63
+5E
+5A
+59
+58
+5A
+60
+67
+5F
+5C
+59
+59
+5C
+60
+65
+69
+5E
+5B
+5A
+5C
+61
+66
+69
+6B
+5D
+5C
+5B
+5E
+63
+68
+69
+68
+5C
+5B
+5B
+5D
+63
+67
+66
+63
+6E
+69
+65
+68
+73
+7A
+6F
+5A
+6A
+64
+6E
+73
+71
+7D
+7C
+60
+73
+6A
+77
+78
+67
+78
+87
+71
+7B
+6F
+72
+6E
+60
+6E
+88
+8D
+70
+6C
+66
+65
+65
+67
+7A
+98
+65
+69
+63
+66
+6E
+62
+64
+80
+65
+67
+66
+68
+6B
+63
+5F
+67
+66
+62
+64
+65
+63
+6A
+6E
+65
+67
+66
+66
+66
+66
+66
+66
+66
+66
+66
+66
+66
+66
+66
+66
+65
+66
+66
+66
+66
+65
+65
+65
+65
+66
+66
+66
+65
+65
+64
+64
+63
+66
+66
+65
+65
+64
+63
+62
+62
+66
+66
+65
+64
+63
+62
+61
+61
+66
+66
+65
+64
+62
+61
+61
+60
+66
+65
+65
+63
+62
+61
+60
+60
+D0
+C8
+C2
+C5
+CF
+D4
+D0
+CA
+CE
+C6
+C0
+C4
+CD
+D2
+CE
+C7
+C9
+C2
+BD
+C2
+CB
+CF
+CA
+C3
+C5
+BF
+BB
+C1
+CA
+CE
+C8
+C0
+C1
+BC
+BA
+C1
+CC
+D0
+C9
+C1
+BE
+BA
+BB
+C4
+D0
+D4
+CD
+C4
+BC
+BA
+BC
+C7
+D4
+D9
+D2
+C9
+BC
+BA
+BD
+C9
+D7
+DC
+D5
+CC
+6F
+63
+5E
+65
+6D
+6A
+62
+5D
+6B
+60
+5C
+63
+69
+67
+61
+5E
+65
+5E
+5B
+60
+64
+63
+60
+5F
+62
+5E
+5D
+5F
+60
+5F
+5F
+60
+61
+60
+60
+60
+5F
+5D
+5E
+60
+61
+62
+62
+62
+60
+5E
+5F
+61
+5F
+61
+63
+63
+61
+61
+61
+61
+5D
+60
+63
+63
+62
+62
+62
+62
+5D
+5E
+60
+62
+65
+69
+6E
+71
+5F
+61
+63
+65
+67
+6A
+6D
+70
+61
+63
+66
+68
+69
+6A
+6C
+6D
+61
+64
+67
+69
+69
+69
+69
+69
+61
+63
+65
+67
+67
+67
+67
+68
+60
+62
+64
+65
+65
+66
+68
+6A
+61
+62
+63
+63
+65
+68
+6C
+6F
+63
+63
+63
+63
+65
+69
+6F
+73
+5D
+62
+63
+61
+63
+68
+67
+62
+66
+5B
+5B
+68
+6A
+5F
+5D
+66
+65
+5D
+5A
+5F
+65
+65
+64
+64
+77
+6B
+5D
+59
+5F
+67
+67
+63
+99
+7A
+63
+63
+64
+5D
+5D
+67
+96
+84
+72
+68
+63
+61
+64
+68
+74
+80
+7E
+6C
+62
+68
+6C
+67
+62
+71
+7D
+79
+69
+5E
+60
+68
+64
+62
+5B
+68
+73
+72
+71
+66
+5F
+60
+62
+6B
+72
+71
+6C
+65
+5D
+60
+6B
+6E
+6E
+6D
+65
+63
+60
+64
+70
+6D
+68
+69
+62
+65
+62
+68
+6E
+69
+65
+67
+68
+6C
+63
+6C
+68
+68
+68
+69
+73
+6F
+67
+74
+64
+6C
+6F
+6A
+79
+68
+6B
+7C
+64
+72
+75
+69
+79
+5E
+63
+63
+63
+63
+62
+62
+62
+62
+62
+62
+62
+61
+61
+60
+60
+60
+62
+61
+61
+60
+5F
+5E
+5D
+5D
+61
+60
+60
+5E
+5D
+5C
+5B
+5B
+60
+60
+5F
+5E
+5D
+5C
+5C
+5B
+60
+60
+60
+5F
+5F
+5F
+5F
+5E
+60
+60
+60
+61
+61
+62
+62
+62
+60
+60
+61
+62
+63
+64
+64
+65
+C6
+C4
+C2
+C2
+C5
+CB
+D2
+D6
+C5
+C4
+C2
+C3
+C7
+CD
+D4
+D8
+C4
+C4
+C3
+C5
+C9
+D0
+D7
+DB
+C4
+C4
+C4
+C7
+CC
+D3
+DA
+DE
+C5
+C5
+C6
+C9
+CF
+D5
+DC
+E0
+C7
+C7
+C9
+CC
+D1
+D7
+DD
+E0
+C9
+C9
+CB
+CE
+D3
+D8
+DD
+E0
+CA
+CB
+CC
+D0
+D4
+D9
+DD
+E0
+4D
+51
+53
+52
+51
+51
+52
+53
+4E
+51
+53
+51
+4F
+4F
+50
+51
+4F
+50
+52
+51
+50
+4F
+50
+52
+4F
+50
+51
+52
+51
+51
+54
+58
+52
+50
+51
+52
+52
+52
+57
+5D
+56
+52
+51
+52
+53
+54
+5B
+64
+58
+53
+51
+54
+56
+5A
+64
+70
+57
+52
+51
+56
+5B
+61
+6E
+7C
+52
+52
+52
+53
+55
+58
+5B
+5D
+51
+54
+57
+5B
+5E
+60
+62
+63
+54
+5A
+62
+69
+6C
+6D
+6C
+6C
+5D
+65
+70
+78
+7B
+79
+77
+75
+6A
+72
+7D
+84
+84
+81
+7D
+7B
+75
+7C
+85
+88
+86
+81
+7D
+7C
+7C
+81
+86
+86
+81
+7C
+7A
+7A
+7E
+82
+84
+82
+7C
+77
+76
+77
+59
+51
+51
+5E
+6B
+72
+78
+7E
+54
+55
+5B
+67
+70
+76
+7B
+80
+51
+5D
+6A
+73
+78
+7C
+7F
+80
+5A
+6A
+78
+7B
+7D
+81
+80
+7C
+69
+76
+7F
+7E
+7E
+80
+7C
+74
+74
+7C
+7F
+7B
+79
+79
+74
+6B
+77
+7B
+7C
+78
+73
+6F
+6B
+66
+75
+78
+7A
+76
+6E
+68
+65
+64
+81
+84
+82
+78
+6D
+6B
+75
+80
+7F
+7C
+76
+6F
+6A
+6E
+77
+80
+7E
+76
+6D
+69
+6E
+78
+83
+89
+79
+71
+6A
+6B
+76
+84
+8F
+95
+6D
+6B
+6B
+71
+7C
+8A
+96
+9D
+68
+6C
+72
+7A
+84
+90
+9A
+A1
+6B
+71
+7A
+83
+8B
+94
+9C
+A2
+6E
+73
+7C
+85
+8D
+95
+9B
+9F
+76
+76
+78
+7A
+7C
+7D
+7E
+7E
+70
+73
+77
+7D
+82
+86
+8A
+8B
+6D
+71
+79
+82
+8C
+94
+99
+9C
+73
+78
+80
+8B
+95
+9D
+A3
+A6
+7F
+84
+8B
+94
+9C
+A2
+A6
+A7
+8A
+8E
+95
+9C
+A1
+A5
+A6
+A6
+8F
+93
+9A
+A0
+A5
+A7
+A7
+A7
+90
+94
+9B
+A2
+A7
+A9
+A9
+A9
+8A
+89
+87
+85
+84
+85
+86
+87
+8B
+89
+86
+83
+82
+82
+83
+84
+8B
+89
+85
+81
+7F
+7E
+7E
+7E
+8B
+88
+83
+7F
+7B
+79
+79
+79
+88
+85
+81
+7D
+79
+77
+76
+76
+84
+82
+7E
+7B
+78
+77
+77
+77
+81
+7F
+7C
+79
+78
+78
+79
+79
+7E
+7D
+7A
+78
+78
+79
+7A
+7B
+5A
+5B
+61
+6C
+7B
+88
+90
+93
+66
+68
+6F
+78
+83
+8C
+92
+95
+70
+74
+7A
+81
+87
+8D
+92
+95
+76
+7B
+80
+84
+87
+8C
+91
+95
+7E
+82
+85
+87
+89
+8D
+94
+9A
+82
+85
+88
+8B
+8F
+95
+9E
+A4
+80
+84
+8B
+93
+9C
+A7
+B1
+B8
+7F
+85
+90
+9E
+AC
+BA
+C6
+CD
+A0
+9C
+95
+91
+97
+9F
+9F
+9A
+8D
+95
+9A
+97
+95
+98
+9C
+9D
+9B
+9B
+92
+83
+7B
+81
+8B
+91
+9A
+99
+95
+90
+8F
+89
+78
+66
+98
+9B
+A2
+AD
+B6
+AE
+8F
+72
+B1
+B3
+B4
+B9
+C2
+C6
+BD
+B0
+C2
+C9
+CE
+CE
+D0
+D1
+CC
+C5
+D3
+D8
+DA
+D7
+D5
+D3
+CD
+C6
+88
+90
+9E
+AD
+BD
+CC
+D7
+DE
+94
+9C
+A9
+B8
+C5
+D1
+DA
+DF
+9E
+A7
+B3
+C1
+CC
+D4
+DA
+DD
+A1
+A9
+B6
+C2
+CB
+D0
+D4
+D5
+A4
+AA
+B4
+BD
+C3
+C6
+C6
+C7
+A7
+AC
+B2
+B6
+B8
+B7
+B6
+B6
+A5
+A7
+AA
+AC
+AB
+A9
+A8
+A7
+9E
+A0
+A2
+A2
+A1
+A0
+9F
+9F
+DE
+E4
+E5
+DF
+DA
+D6
+CC
+C1
+DF
+E4
+E3
+DD
+D7
+CF
+C1
+B4
+DE
+DF
+DD
+D7
+D0
+C6
+B5
+A5
+D6
+D4
+CF
+CA
+C6
+BC
+AB
+9C
+C9
+C4
+BD
+B9
+B6
+AE
+9F
+92
+B9
+B3
+AC
+A8
+A6
+9E
+91
+86
+A9
+A4
+A0
+9F
+9C
+95
+89
+80
+9E
+9B
+9A
+9B
+9A
+93
+88
+80
+85
+8D
+99
+A0
+9C
+8D
+7B
+6F
+90
+99
+A4
+A9
+A2
+90
+7B
+6D
+A0
+A0
+9F
+9A
+8F
+81
+73
+6A
+AA
+9E
+8B
+77
+6A
+66
+67
+69
+A8
+9A
+83
+6E
+61
+60
+65
+6A
+A0
+9A
+90
+85
+7C
+77
+75
+74
+9C
+9B
+99
+96
+92
+8E
+8A
+88
+9D
+9B
+97
+94
+93
+95
+97
+99
+84
+7F
+79
+79
+82
+92
+A4
+B0
+7F
+7C
+78
+79
+80
+8E
+9D
+A6
+7A
+79
+78
+7A
+80
+89
+93
+99
+78
+79
+7B
+7E
+83
+87
+8C
+8E
+79
+7B
+7F
+82
+85
+87
+88
+88
+7A
+7C
+80
+83
+85
+86
+86
+86
+7A
+7B
+7E
+80
+82
+83
+83
+83
+78
+79
+7B
+7C
+7E
+80
+81
+81
+93
+7F
+79
+7D
+81
+7B
+71
+73
+9F
+98
+8C
+7B
+77
+7C
+79
+75
+98
+95
+93
+8F
+86
+78
+70
+6E
+6F
+75
+7C
+89
+89
+7A
+70
+68
+58
+66
+60
+62
+6F
+7F
+84
+6F
+7D
+75
+5D
+65
+71
+76
+85
+7F
+B1
+8F
+72
+8D
+8C
+6C
+7B
+8F
+C1
+A2
+85
+9D
+94
+6E
+81
+9A
+6B
+6A
+69
+67
+67
+67
+63
+5E
+6A
+6A
+69
+69
+6A
+69
+66
+63
+69
+69
+6A
+6A
+6A
+67
+65
+63
+6D
+6D
+6D
+6D
+6B
+66
+63
+63
+73
+70
+6F
+70
+6D
+68
+65
+65
+75
+6F
+6B
+6D
+6D
+69
+66
+66
+7A
+71
+6A
+6D
+6E
+69
+66
+66
+85
+78
+70
+71
+72
+6D
+68
+67
+AC
+9E
+85
+8B
+7E
+63
+7A
+8D
+A3
+99
+88
+88
+7F
+73
+81
+8C
+94
+8B
+86
+7C
+79
+7D
+7D
+82
+8A
+7A
+7D
+6F
+70
+7B
+6F
+75
+86
+6E
+72
+67
+6A
+74
+65
+72
+7D
+64
+67
+61
+64
+6B
+60
+70
+73
+61
+61
+5C
+5E
+62
+5D
+6A
+70
+66
+63
+5D
+5C
+5F
+5E
+66
+9D
+8C
+7A
+72
+73
+72
+6D
+66
+A9
+9A
+87
+7A
+75
+74
+72
+70
+A7
+A1
+98
+8E
+85
+7E
+78
+75
+8C
+95
+9F
+A2
+9D
+92
+83
+78
+6D
+7C
+91
+A0
+A7
+A3
+95
+88
+60
+6C
+7C
+8B
+9A
+A5
+A5
+9F
+64
+6C
+74
+7B
+89
+9A
+A5
+A6
+6B
+72
+77
+79
+81
+90
+9B
+9E
+68
+68
+67
+66
+65
+64
+63
+62
+68
+67
+67
+66
+65
+64
+63
+62
+68
+68
+67
+66
+65
+64
+63
+62
+6B
+6A
+69
+68
+66
+65
+64
+63
+70
+6F
+6E
+6B
+69
+66
+65
+64
+78
+76
+74
+70
+6C
+69
+66
+65
+7F
+7D
+79
+75
+70
+6B
+68
+66
+83
+81
+7D
+78
+72
+6D
+69
+66
+CB
+CE
+D3
+D6
+D4
+CE
+C7
+C2
+C0
+C7
+D2
+DA
+DA
+D2
+C7
+C0
+AD
+B9
+CA
+D7
+DC
+D6
+CB
+C3
+99
+A4
+B5
+C5
+CF
+D3
+D1
+CF
+8A
+90
+9C
+AB
+BB
+C9
+D4
+DA
+81
+85
+8D
+9A
+AB
+BE
+CE
+D8
+7F
+83
+8C
+98
+A7
+B5
+C1
+C7
+7F
+86
+91
+9E
+A9
+B1
+B5
+B7
+5C
+5C
+58
+66
+6E
+5E
+59
+65
+59
+61
+5F
+66
+74
+6C
+5D
+57
+55
+61
+5D
+5C
+73
+80
+70
+60
+5B
+60
+58
+50
+6C
+89
+83
+7B
+65
+62
+5B
+52
+6A
+84
+81
+88
+63
+5F
+63
+5E
+6F
+7D
+76
+86
+62
+5E
+67
+61
+6C
+76
+6C
+82
+6B
+64
+69
+5B
+63
+6E
+65
+7D
+5F
+62
+65
+66
+66
+67
+69
+6A
+66
+66
+69
+6B
+6A
+65
+64
+65
+62
+5F
+62
+6B
+6C
+67
+65
+69
+60
+59
+5A
+65
+6A
+65
+65
+6C
+70
+63
+5C
+62
+66
+62
+62
+69
+81
+70
+62
+62
+64
+64
+66
+6A
+8A
+79
+67
+60
+63
+67
+69
+6A
+8F
+7E
+6A
+5F
+60
+65
+66
+63
+6E
+67
+6D
+5C
+59
+61
+5F
+66
+68
+69
+74
+6E
+63
+60
+59
+51
+6C
+6C
+70
+73
+63
+63
+69
+58
+77
+72
+69
+72
+62
+6D
+7E
+67
+82
+7B
+6D
+7A
+6A
+77
+7D
+60
+8F
+87
+75
+7D
+6C
+7D
+75
+5B
+A1
+99
+86
+82
+6F
+82
+6C
+5D
+AC
+A9
+9C
+92
+7A
+87
+61
+56
+8C
+8A
+7C
+69
+61
+66
+66
+60
+68
+83
+90
+7B
+5F
+5A
+62
+69
+55
+6F
+80
+76
+66
+63
+64
+62
+5D
+5E
+5F
+66
+6F
+72
+6A
+60
+63
+5C
+5C
+66
+6C
+6A
+6A
+6F
+61
+5E
+62
+69
+65
+5D
+64
+72
+5F
+5E
+5F
+62
+62
+61
+64
+69
+5D
+60
+5F
+5C
+5F
+68
+6B
+68
+66
+67
+68
+67
+65
+61
+5D
+5A
+65
+66
+67
+67
+65
+62
+5E
+5C
+65
+66
+67
+67
+66
+64
+61
+5F
+64
+65
+66
+66
+66
+65
+63
+62
+64
+64
+65
+65
+65
+64
+63
+63
+64
+64
+64
+64
+63
+63
+62
+62
+65
+64
+63
+62
+61
+61
+60
+60
+65
+64
+63
+61
+60
+5F
+5F
+5F
+BA
+BD
+C1
+C6
+CB
+CE
+D0
+D1
+B9
+B9
+BB
+BF
+C5
+CB
+D2
+D5
+BD
+BA
+B7
+B7
+BC
+C7
+D2
+D9
+C9
+C2
+BA
+B5
+B8
+C3
+D0
+D8
+D5
+CE
+C3
+BB
+BA
+C1
+CC
+D3
+D8
+D2
+C9
+C2
+C0
+C3
+C9
+CE
+CF
+CD
+CA
+C8
+C7
+C7
+C9
+CA
+C4
+C6
+C8
+C9
+CA
+CA
+CA
+C9
+64
+65
+71
+7D
+74
+60
+5D
+6A
+65
+66
+6F
+79
+74
+67
+66
+6F
+67
+67
+6C
+72
+72
+6E
+6D
+70
+67
+68
+6A
+6C
+6F
+70
+6D
+6A
+65
+68
+69
+6A
+6E
+71
+6D
+65
+64
+67
+69
+6A
+6E
+71
+6D
+67
+66
+68
+6B
+6B
+6C
+6C
+6A
+68
+6A
+6B
+6C
+6B
+68
+66
+66
+66
+6C
+7D
+64
+70
+72
+69
+80
+6B
+66
+75
+65
+6B
+6C
+6B
+84
+7C
+62
+6D
+68
+66
+65
+6D
+83
+89
+63
+68
+6C
+65
+63
+6D
+79
+85
+65
+65
+6D
+67
+65
+6D
+6D
+76
+66
+65
+6A
+69
+69
+6C
+68
+6A
+67
+68
+66
+69
+6B
+68
+68
+65
+6A
+6C
+65
+69
+6A
+64
+68
+64
+67
+74
+7A
+6F
+61
+5E
+61
+64
+64
+7D
+8B
+7C
+69
+64
+66
+65
+63
+85
+98
+89
+72
+6C
+6C
+68
+64
+7D
+8D
+83
+72
+6B
+6B
+69
+67
+6D
+71
+70
+6A
+65
+66
+6A
+6E
+66
+63
+66
+67
+65
+67
+6D
+6E
+69
+65
+65
+66
+66
+69
+6D
+66
+6A
+69
+64
+62
+64
+66
+67
+6A
+68
+65
+64
+64
+67
+6A
+6C
+5F
+5F
+61
+63
+66
+69
+6C
+6E
+67
+66
+65
+62
+5F
+5B
+58
+56
+6D
+6D
+6C
+6B
+69
+66
+64
+63
+6C
+6C
+6B
+6B
+6C
+6C
+6D
+6E
+6E
+6C
+68
+65
+62
+62
+62
+62
+6B
+6A
+68
+66
+65
+66
+67
+68
+6A
+69
+67
+65
+63
+61
+60
+60
+62
+62
+61
+60
+62
+64
+67
+69
+60
+5F
+5E
+5D
+5E
+60
+63
+64
+5F
+5E
+5C
+5B
+5B
+5C
+5E
+60
+61
+60
+5E
+5C
+5B
+5C
+5D
+5E
+65
+63
+61
+5E
+5E
+5E
+60
+61
+66
+64
+62
+60
+5F
+60
+62
+63
+64
+62
+60
+5F
+5F
+60
+62
+63
+61
+60
+5E
+5D
+5D
+5E
+60
+62
+D6
+D1
+CE
+D2
+DA
+E0
+DF
+DB
+D6
+D2
+CF
+D3
+DB
+E0
+DE
+DB
+D7
+D3
+D1
+D5
+DC
+E0
+DD
+D9
+D7
+D3
+D2
+D6
+DD
+DF
+DB
+D5
+D5
+D2
+D1
+D6
+DC
+DD
+D7
+D0
+D2
+D0
+CF
+D4
+D9
+D9
+D2
+CA
+CF
+CD
+CD
+D2
+D7
+D5
+CD
+C4
+CD
+CB
+CB
+D0
+D5
+D3
+CA
+C1
+75
+72
+6C
+65
+61
+61
+64
+67
+74
+6E
+66
+5F
+5E
+62
+68
+6C
+6E
+65
+5B
+56
+58
+61
+6A
+70
+67
+5F
+56
+53
+5A
+66
+70
+76
+64
+5F
+5A
+5C
+65
+72
+7C
+81
+60
+5F
+5F
+65
+6F
+7B
+85
+8A
+5E
+60
+64
+6B
+75
+81
+8B
+90
+60
+63
+69
+71
+7B
+86
+90
+97
+73
+79
+82
+8A
+8E
+92
+95
+97
+75
+7B
+84
+8B
+8F
+91
+94
+95
+79
+7F
+87
+8D
+8F
+90
+91
+93
+80
+84
+8B
+8E
+8F
+8F
+8F
+90
+87
+8A
+8E
+90
+8E
+8D
+8D
+8D
+8E
+90
+92
+90
+8D
+8B
+8B
+8C
+95
+95
+94
+90
+8C
+89
+89
+8B
+98
+98
+95
+90
+8B
+88
+89
+8A
+5E
+62
+69
+74
+80
+8B
+95
+9A
+58
+5D
+65
+71
+7E
+8A
+94
+99
+54
+58
+61
+6C
+79
+85
+8F
+94
+56
+58
+5E
+66
+71
+7C
+86
+8C
+59
+59
+5B
+60
+69
+74
+7F
+85
+5A
+59
+59
+5C
+63
+6D
+77
+7E
+5B
+5A
+5A
+5B
+60
+67
+6D
+72
+5D
+5C
+5C
+5C
+5E
+61
+65
+67
+9B
+98
+94
+8E
+89
+86
+86
+87
+9B
+99
+95
+8F
+8A
+86
+85
+85
+9C
+9A
+97
+91
+8B
+86
+83
+82
+96
+96
+93
+8E
+87
+81
+7C
+7B
+8B
+8C
+8B
+87
+81
+7A
+74
+71
+81
+83
+84
+82
+7D
+75
+6F
+6C
+75
+78
+7B
+7A
+76
+6F
+68
+65
+67
+6B
+6F
+70
+6C
+65
+5F
+5B
+93
+96
+9C
+A3
+A8
+AB
+AD
+AD
+96
+9A
+A0
+A6
+AA
+AA
+A8
+A6
+97
+9D
+A5
+AC
+AE
+AB
+A5
+A1
+93
+9B
+A6
+AF
+B2
+AE
+A7
+A2
+89
+92
+A0
+AC
+B1
+AF
+A9
+A4
+7E
+87
+94
+A0
+A6
+A6
+A2
+9E
+76
+7D
+87
+91
+96
+96
+92
+90
+73
+78
+7F
+86
+89
+88
+85
+82
+7E
+7D
+7B
+7A
+79
+79
+7A
+7A
+7D
+7C
+7B
+79
+79
+79
+79
+7A
+7C
+7B
+7A
+79
+78
+78
+78
+79
+7D
+7C
+7A
+79
+78
+78
+79
+79
+7E
+7D
+7C
+7B
+7A
+7A
+7A
+7B
+81
+80
+7F
+7E
+7D
+7D
+7D
+7E
+84
+83
+82
+81
+80
+80
+81
+81
+86
+85
+84
+83
+82
+82
+83
+83
+97
+98
+98
+99
+99
+98
+97
+96
+96
+96
+96
+95
+94
+93
+92
+92
+94
+93
+92
+90
+8F
+8E
+8D
+8D
+90
+8F
+8E
+8C
+8B
+8B
+8B
+8B
+8D
+8D
+8C
+8B
+8B
+8B
+8C
+8D
+8C
+8C
+8C
+8C
+8C
+8D
+8E
+8E
+8B
+8C
+8D
+8E
+8E
+8F
+8F
+8F
+8C
+8D
+8E
+8F
+8F
+8F
+8F
+8E
+96
+95
+94
+94
+92
+8C
+83
+7B
+92
+91
+91
+91
+90
+8A
+80
+79
+8E
+8D
+8E
+8F
+8D
+87
+7D
+75
+8E
+8D
+8D
+8D
+8B
+84
+79
+71
+90
+8F
+8D
+8C
+89
+80
+75
+6C
+91
+8E
+8B
+89
+84
+7B
+6F
+66
+8E
+8B
+86
+82
+7D
+74
+69
+60
+8B
+87
+82
+7D
+78
+6F
+64
+5D
+8E
+90
+92
+93
+92
+8F
+8C
+8A
+8B
+8D
+8F
+90
+8F
+8C
+88
+85
+85
+87
+8A
+8C
+8B
+86
+81
+7E
+7D
+80
+83
+84
+83
+7E
+79
+75
+74
+76
+78
+79
+77
+74
+6F
+6C
+6A
+6B
+6B
+6B
+69
+67
+65
+63
+61
+60
+5F
+5D
+5C
+5B
+5B
+5B
+5B
+59
+57
+54
+54
+54
+56
+57
+88
+83
+7C
+74
+6D
+67
+62
+5E
+81
+7C
+73
+6B
+65
+61
+5E
+5C
+78
+72
+69
+62
+5D
+5C
+5B
+5B
+6E
+69
+63
+5E
+5D
+5D
+5E
+5E
+64
+62
+60
+5F
+5F
+60
+61
+61
+5E
+5D
+5D
+5F
+60
+61
+61
+60
+5C
+5C
+5C
+5D
+5F
+60
+60
+5F
+5E
+5D
+5C
+5D
+5E
+5F
+5F
+5E
+A0
+A1
+A3
+A3
+A0
+9A
+93
+8F
+A2
+A4
+A6
+A5
+A1
+99
+90
+8A
+A3
+A6
+A8
+A7
+A0
+96
+8A
+83
+A3
+A5
+A6
+A4
+9C
+90
+84
+7C
+9E
+9F
+9E
+9B
+93
+88
+7E
+77
+96
+95
+92
+8D
+86
+7F
+79
+76
+8D
+8A
+84
+7F
+7A
+77
+76
+76
+88
+83
+7C
+76
+72
+73
+75
+77
+7C
+7D
+7D
+7E
+7F
+7F
+80
+80
+7B
+7B
+7C
+7E
+7F
+80
+81
+81
+79
+7A
+7B
+7D
+7F
+81
+83
+83
+78
+79
+7B
+7D
+80
+83
+84
+85
+79
+7A
+7C
+7F
+82
+84
+86
+87
+7B
+7C
+7E
+81
+83
+86
+88
+89
+7E
+7F
+81
+83
+85
+87
+89
+8A
+80
+81
+83
+84
+86
+88
+89
+8A
+6D
+66
+60
+5D
+5C
+5C
+5E
+61
+6B
+65
+5F
+5D
+5C
+5B
+5C
+5E
+67
+62
+5E
+5D
+5C
+5B
+5B
+5C
+63
+5F
+5D
+5E
+5E
+5C
+5C
+5D
+60
+5D
+5C
+5E
+5F
+5F
+5F
+60
+5F
+5C
+5C
+5E
+60
+60
+60
+62
+60
+5D
+5C
+5E
+60
+5F
+60
+61
+61
+5D
+5C
+5D
+5E
+5E
+5E
+60
+71
+7B
+7C
+7C
+85
+8F
+92
+94
+67
+75
+7C
+80
+89
+91
+93
+95
+60
+70
+7A
+7E
+87
+8D
+90
+94
+64
+72
+7A
+7C
+82
+87
+8D
+95
+65
+72
+7A
+7D
+82
+85
+8B
+95
+5C
+6A
+75
+7B
+80
+82
+85
+8E
+59
+65
+6E
+74
+7B
+7D
+80
+8A
+60
+68
+6C
+71
+78
+7B
+81
+8C
+5D
+5D
+5D
+5E
+5E
+5E
+60
+62
+5E
+5D
+5E
+5E
+5E
+5F
+60
+62
+5F
+5E
+5E
+5E
+5F
+60
+61
+62
+60
+60
+5F
+5E
+5F
+62
+64
+63
+60
+61
+60
+5E
+61
+66
+67
+65
+61
+62
+60
+5F
+62
+69
+6B
+68
+61
+63
+61
+5F
+64
+6D
+6F
+6B
+61
+63
+62
+5F
+65
+6F
+71
+6C
+63
+5F
+60
+6B
+78
+80
+82
+82
+5D
+5D
+63
+6F
+7A
+7D
+79
+75
+5F
+60
+65
+6F
+75
+72
+6C
+68
+6B
+67
+65
+67
+68
+66
+63
+63
+6F
+68
+61
+60
+60
+60
+62
+64
+6A
+63
+5D
+5D
+61
+63
+64
+66
+66
+5E
+59
+5C
+62
+65
+65
+65
+68
+5E
+58
+5A
+61
+65
+65
+64
+7D
+7B
+77
+73
+6F
+6D
+6C
+6B
+7C
+7A
+76
+72
+6F
+6D
+6C
+6B
+79
+78
+75
+71
+6F
+6D
+6B
+6B
+77
+76
+73
+71
+6E
+6C
+6A
+6A
+75
+74
+73
+70
+6D
+6B
+68
+67
+75
+74
+73
+70
+6C
+69
+65
+63
+75
+75
+73
+70
+6C
+67
+63
+60
+76
+75
+73
+70
+6B
+66
+61
+5E
+8F
+85
+82
+92
+AE
+BF
+BD
+B4
+96
+85
+7B
+8B
+AD
+C3
+C2
+B6
+92
+86
+7E
+89
+A2
+B9
+C4
+C5
+83
+88
+8B
+8C
+92
+A5
+C2
+D8
+7E
+86
+8D
+8D
+8F
+A0
+C1
+DB
+86
+86
+88
+8E
+9C
+B0
+C4
+D1
+8A
+8A
+8F
+9A
+AB
+BC
+C9
+CF
+86
+90
+9E
+A9
+B1
+BC
+CB
+D7
+A8
+AF
+A6
+AB
+91
+8C
+60
+5C
+9D
+9F
+A0
+AE
+A2
+92
+65
+5D
+95
+92
+9C
+AB
+AC
+92
+67
+5D
+99
+94
+9E
+9B
+9E
+82
+66
+5C
+9E
+9A
+9D
+82
+80
+6E
+64
+61
+9A
+95
+8F
+6D
+69
+63
+64
+68
+8F
+84
+7A
+63
+65
+66
+64
+6B
+86
+75
+6A
+62
+6A
+6C
+63
+6A
+60
+5F
+5E
+5E
+5F
+61
+64
+65
+61
+60
+60
+5F
+60
+61
+62
+63
+61
+61
+61
+61
+61
+62
+62
+62
+60
+61
+62
+63
+63
+63
+63
+62
+60
+61
+62
+64
+65
+65
+64
+64
+60
+61
+63
+64
+65
+66
+66
+66
+62
+63
+63
+64
+65
+66
+66
+66
+64
+64
+64
+64
+65
+65
+65
+65
+6D
+6B
+69
+69
+6A
+69
+66
+64
+66
+67
+68
+68
+68
+67
+67
+68
+63
+66
+68
+68
+66
+65
+67
+69
+67
+68
+69
+69
+67
+65
+65
+66
+6A
+69
+68
+67
+67
+67
+64
+62
+68
+66
+64
+65
+67
+67
+65
+62
+66
+66
+66
+66
+67
+67
+66
+65
+67
+69
+6A
+69
+67
+65
+66
+67
+63
+63
+64
+65
+66
+66
+67
+67
+63
+64
+64
+65
+65
+66
+67
+67
+64
+64
+64
+65
+65
+66
+66
+67
+64
+64
+64
+65
+65
+66
+66
+66
+64
+64
+65
+65
+65
+66
+66
+66
+65
+65
+65
+65
+65
+65
+66
+66
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+65
+6C
+69
+66
+63
+60
+60
+60
+61
+6A
+68
+65
+62
+60
+5F
+5F
+60
+68
+66
+63
+60
+5E
+5E
+5E
+5F
+65
+63
+60
+5E
+5D
+5D
+5E
+5F
+63
+61
+5F
+5D
+5C
+5C
+5E
+5F
+61
+60
+5E
+5C
+5C
+5D
+5E
+60
+61
+60
+5E
+5C
+5C
+5D
+5F
+61
+61
+5F
+5E
+5C
+5C
+5E
+60
+61
+B7
+BC
+C1
+C4
+C4
+C4
+C6
+C9
+BC
+C0
+C5
+C7
+C6
+C6
+C9
+CB
+C3
+C6
+CA
+CB
+CA
+CA
+CC
+CF
+CA
+CD
+D0
+D0
+CE
+CD
+CF
+D2
+D0
+D2
+D3
+D2
+CF
+CE
+D1
+D3
+D3
+D5
+D5
+D2
+CF
+CD
+D0
+D2
+D4
+D5
+D5
+D1
+CD
+CB
+CD
+D0
+D4
+D5
+D4
+D0
+CC
+CA
+CC
+CF
+67
+63
+61
+64
+6A
+69
+61
+59
+68
+65
+63
+64
+67
+66
+62
+5D
+68
+67
+65
+64
+63
+62
+62
+61
+64
+66
+66
+65
+62
+60
+61
+63
+5E
+62
+65
+65
+62
+60
+61
+62
+5B
+5F
+63
+65
+64
+62
+60
+60
+5E
+5F
+61
+64
+65
+64
+61
+5E
+62
+60
+60
+63
+66
+65
+61
+5D
+69
+67
+66
+6A
+65
+60
+62
+5B
+64
+64
+62
+65
+65
+64
+65
+63
+63
+66
+64
+62
+65
+65
+64
+67
+65
+6D
+70
+67
+65
+62
+5E
+66
+63
+6D
+7C
+70
+65
+62
+5D
+67
+5E
+65
+80
+76
+63
+65
+62
+69
+5E
+5D
+7F
+77
+5F
+67
+65
+64
+64
+5B
+7E
+76
+5A
+65
+63
+5B
+5F
+5E
+60
+63
+64
+63
+61
+60
+5F
+5D
+5D
+60
+62
+63
+61
+5F
+60
+5D
+5A
+5B
+60
+63
+62
+60
+62
+5D
+57
+57
+5D
+63
+64
+61
+63
+5E
+57
+55
+5B
+63
+65
+62
+63
+5F
+58
+53
+58
+61
+65
+62
+61
+60
+59
+52
+55
+5F
+63
+61
+60
+60
+59
+52
+53
+5D
+62
+61
+5C
+79
+74
+67
+67
+60
+5C
+5F
+5D
+7F
+6A
+64
+6C
+60
+65
+62
+66
+8A
+66
+60
+6A
+59
+61
+5E
+6D
+8E
+71
+63
+69
+57
+58
+5D
+66
+82
+81
+6F
+6F
+63
+52
+61
+5D
+70
+83
+76
+72
+6B
+51
+5B
+5D
+65
+71
+70
+71
+70
+62
+5F
+61
+60
+5C
+67
+71
+78
+7F
+71
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+5F
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+60
+61
+61
+61
+61
+61
+61
+61
+61
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+62
+D1
+CD
+C9
+CB
+D0
+D0
+CB
+C5
+D2
+CC
+C7
+C9
+CE
+CF
+CB
+C6
+D2
+CB
+C5
+C5
+CB
+CE
+CC
+C8
+D0
+C9
+C2
+C3
+C8
+CC
+CB
+C8
+CB
+C6
+C1
+C2
+C8
+CC
+CA
+C6
+C5
+C2
+C0
+C4
+CA
+CC
+C8
+C2
+BF
+BE
+C0
+C6
+CD
+CD
+C6
+BE
+BB
+BC
+C0
+C8
+CF
+CE
+C4
+BB
index eb57b80..7f146c3 100644 (file)
@@ -5,16 +5,16 @@
 002f7f84
 002e7f84
 002d8083
-002d8082
-002e8182
+002d8083
+002e8181
 002e8181
 002e8280
 002e8280
 002d827f
 002c827f
 002b827f
-002b8280
-002b8283
+002b827f
+002b8284
 002b8284
 002b8284
 002b8284
@@ -29,8 +29,8 @@
 002f7e81
 002f7e81
 002f7e80
-002f7f80
-002e8082
+002f7e80
+002e8182
 002e8182
 002e8082
 002e8082
 002e7e84
 002e7e84
 00307d85
-00317c85
-00317c86
+00317d85
+00317b86
 00337b86
 00347a86
 00357a86
 00367a87
-00367a86
-00377c85
+00367a87
+00377c84
 00387c84
 00397b84
 00397b84
 00327c86
 00337c86
 00347d86
-00347c85
-00387b85
-00357a87
-00387b8d
-00397b92
-00357c96
-00357c96
-00357d93
-00317d8d
-00337d87
-00327c83
-00337c82
-00357a86
-00387a8e
-003d7996
-0042789f
+00347d86
+00387a84
+00357a84
+00387b90
+00397b90
+00357c98
+00357c98
+00357d91
+00317d91
+00337d83
+00327d83
+00337b82
+00357b82
+00387992
+003d7992
+004278a3
 004578a3
 00337d85
 00337d85
 00327d85
 00327d85
-00317e84
+00317f84
 00307f84
 002f8083
 002f8083
-00308182
 00308181
 00308181
-002f8180
+00308280
 002f8280
-002e817f
-002d8280
-002d8181
-002d8283
-002d8184
+002f827f
+002e827f
+002d827f
+002d827f
+002d8284
+002d8284
+002d8284
 002d8284
-002d8184
 002d8183
-002d8083
+002d8183
 002d8082
 002d8082
 002f8082
-002f7f82
+002f8082
 002f7f81
 002f7f81
 00307e81
 00307e81
 00307e80
-00317e81
-00308082
+00317e80
+00308182
+00308182
 00308082
 00308082
-00307f82
 00307f83
-002f7e83
+002f7f83
+002f7e84
 002f7e84
-002f7d84
 00327d85
-00337c85
+00337d85
 00337b86
-00357a86
+00357b86
 00367a86
 00377a86
 00387a87
-00387a86
-00397b85
-003a7b84
+00387a87
+00397c84
+003a7c84
 003a7b84
 003a7b84
 003a7b85
 00337c86
 00347c86
 00357d86
-00357c86
-00367b87
-00347a8a
-00367b8f
-00377b93
-00357c96
-00367c96
-00387d93
-00357d8e
-00357d88
-00347c84
-00347b84
-00347a87
-0036798d
-00397894
-003c789c
-003e779f
+00357d86
+00367a84
+00347a84
+00367b90
+00377b90
+00357c98
+00367c98
+00387d91
+00357d91
+00357d83
+00347d83
+00347b82
+00347b82
+00367992
+00397992
+003c78a3
+003e78a3
 00367d85
 00367d85
 00357d84
 00328082
 00328082
 00328082
+00328082
 00328081
-00328181
-00318080
-00308181
+00318081
+00308081
 002f8081
-002f8183
 002f8084
-002f8184
+002f8084
+002f8084
 002f8084
 002f8083
 002f8083
-002f8083
+002f7f83
 002f7f83
 00307f82
 00307f82
-00307f81
+00307e81
 00317e81
 00327e81
 00327e81
 00327d81
-00337e81
+00337d81
 00338082
 00328082
-00328082
 00327f82
-00327f83
+00327f82
+00327e83
 00327e83
-00327e84
 00327d84
-00357d85
+00327d84
 00357c85
-00367b86
+00357c85
+00367a86
 00377a86
-00397a86
+00397986
 003a7986
 003b7987
-003b7a86
+003b7987
 003c7a85
 003c7a85
 003d7a85
 00357d85
 00357d85
 00367d85
-00377c87
-003a7b8c
-00397b8f
-00387b92
+00377d85
+003a7b91
+00397b91
+00387b95
 00377b95
-00367c96
-00367c96
-00367c93
-00367c8f
-00397c8b
-00397b88
-00387a86
-00387988
-0039788c
-003a7791
-003b7795
-003c7698
+00367c97
+00367c97
+00367c92
+00367c92
+00397b8a
+00397b8a
+00387987
+00387987
+0039778d
+003a778d
+003b7694
+003c7694
 00397d85
 00397d85
 00387d84
 00377d84
 00367e84
 00367e84
-00357e83
 00357f83
 00357f83
-00357f82
-00357f83
-00357f82
-00347f82
-00337f82
-00327f82
-00327f82
+00358082
+00358082
+00358082
+00358082
+00348081
+00338081
+00328081
+00328081
+00308084
+00308084
 00308084
-00307f84
 00308084
-00307f84
+00308083
 00308083
 00307f83
 00307f83
-00307e83
 00317f82
-00317e82
+00317f82
 00317e81
 00327e81
 00337e81
-00337d81
+00337e81
 00347d81
 00347d81
-00337f82
+00338082
+00348082
 00347f82
 00347f82
-00347e82
 00357e83
-00367d83
+00367e83
+00367d84
 00367d84
-00367c84
 00377c85
-00387b85
+00387c85
 00397a86
-003a7986
+003a7a86
 003b7986
 003c7986
 003d7987
 003e7987
-003e7986
+003e7a85
 003f7a85
-003e7a86
-003e7a86
+003e7a85
+003e7a85
 003d7a86
 003c7a86
 003a7b86
 00387b86
 00387b86
 00377c86
-00367c85
+00367c86
 00367d85
 00377d85
 00387d85
-00387c87
-003a7c8c
-003c7b8f
-003b7b91
-003a7b92
-003c7c93
+00387d85
+003a7b91
+003c7b91
+003b7b95
+003a7b95
+003c7c97
+003a7c97
+00387c92
 003a7c92
-00387c91
-003a7b8e
-00387b8c
-00387a89
-00387988
-00387889
-0039778b
-003a768d
-003b7690
-003b7591
+00387b8a
+00387b8a
+00387987
+00387987
+0039778d
+003a778d
+003b7694
+003b7694
 003b7d84
 003b7d84
 003b7d84
 00397d84
 00387d84
 00387d84
-00377e84
-00377e84
-00377e83
-00377e84
-00377e83
-00367e83
-00357e83
-00357e83
+00377d84
+00377d84
+00377d84
+00377d84
+00377d84
+00367d84
+00357d84
+00357e84
 00347e84
-00317f84
 00317e85
-00317f84
+00317e85
+00317e84
 00317e84
-00317f84
 00317e84
-00317e83
+00317e84
+00317d83
 00317d83
-00327e82
+00327d82
 00327d82
 00327d82
 00337d82
 00337d81
 00347d81
-00347d81
-00347d81
+00347c81
+00347c81
 00337e82
 00347e82
 00357e82
 00367e82
-00377e83
+00377d83
 00397d83
-003a7d84
 003a7c84
-00397b85
+003a7c84
 00397a85
-003a7a86
+00397a85
+003a7986
 003c7986
-003d7987
+003d7887
 003e7887
-003f7887
-003f7887
+003f7787
+003f7787
+00407887
 00407887
-00407986
 003f7987
 003e7987
 003d7987
 00397b85
 00387c85
 00387c85
-00387d85
+00387d84
 00387d84
 00397d84
-003a7c85
-00357c87
-003b7b89
-003a7b8a
-003b7b8b
-00417b8b
-00407b8c
-003c7b8c
-00407a8b
-003c798b
+003a7d84
+00357b85
+003b7b85
+003a7b87
+003b7b87
+00417b88
+00407b88
+003c7a8a
+00407a8a
+003c788a
 003c788a
-003c7789
-003d7689
-003d758a
-003e748a
-003f748b
-0040748b
+003c768a
+003d768a
+003d7489
+003e7489
+003f7388
+00407388
 003e7d84
 003e7d84
 003d7d84
 003c7d84
 003b7d84
 003a7d84
-003a7c84
 003a7d84
-003a7c84
 003a7d84
-00397c84
+003a7d84
+003a7d84
+00397d84
 00397d84
 00387d84
-00377d85
-00377d85
-00347d85
-00347d85
-00347d84
-00347d84
-00347d84
-00347d84
+00377e84
+00377e84
+00347e85
+00347e85
+00347e84
+00347e84
+00347e84
+00347e84
 00347d83
 00347d83
-00337d83
+00337d82
 00337d82
 00347d82
 00347d82
 00347d81
 00347c81
 00347c81
-00337d82
+00337e82
 00347e82
 00357e82
-00377d82
+00377e82
 00397d83
-003a7c83
+003a7d83
 003b7c84
-003c7b84
+003c7c84
+003b7a85
 003b7a85
-003b7985
 003c7986
-003d7886
+003d7986
 003e7887
-00407787
+00407887
 00407787
 00417787
-00427788
-00417888
-00407888
+00427887
+00417887
+00407987
 003f7987
 003e7987
 003d7987
 00397d84
 00397d84
 003a7d84
-003b7c84
-00377b83
-003f7b83
-003c7b85
-003b7a87
-00437a89
-00407a8b
-003a798c
-0040788d
-003d788d
-003c768e
-003c758e
-003c748e
-003c738e
-003e728e
-003f728e
-0040728e
+003b7d84
+00377b85
+003f7b85
+003c7b87
+003b7b87
+00437b88
+00407b88
+003a7a8a
+00407a8a
+003d788a
+003c788a
+003c768a
+003c768a
+003c7489
+003e7489
+003f7388
+00407388
 00417d83
 00417d83
 00407d83
 003f7d83
 003f7c83
 003e7c83
-003d7c84
 003d7b84
-003c7c85
+003d7b84
 003c7b85
-003c7c85
 003c7b85
-003c7c85
-003b7c85
-003a7c86
-00397c85
-00387c85
-00387c85
-00387c85
-00387c85
-00387c84
+003c7b85
+003c7b85
+003c7b86
+003b7b86
+003a7b86
+00397b86
+00387b85
+00387b85
+00387b85
+00387b85
+00387b84
+00387b84
 00387c84
 00387c84
-00387c83
 00367c83
 00367c83
 00367c82
 00357d82
 00367d83
 00377d83
-00397d83
+00397c83
 003a7c83
-003b7b84
 003b7a84
-003c7a85
+003b7a84
+003c7985
 003d7985
-003e7986
+003e7886
 003f7886
-00407887
+00407787
 00417787
-00427787
-00437688
-00437689
-00437789
+00427687
+00437687
+0043768a
+0043768a
 00417789
-00407888
+00407789
 003f7987
 003e7987
 003d7a86
 00397c84
 003a7c84
 003b7c84
-003b7c82
-003b7b7f
-00447a7f
-003d7a83
-003a7987
-0044798b
+003b7c84
+003b7a7b
+00447a7b
+003d7984
+003a7984
+0044788f
 0042788f
-003d7792
-00477693
-003f7694
-003f7495
-003e7396
-003f7296
-00417197
-00437098
-00467099
-00486f99
+003d7696
+00477696
+003f7498
+003f7498
+003e719a
+003f719a
+00416f9c
+00436f9c
+00466e9f
+00486e9f
 00437d83
 00437d83
 00427d83
+00417d83
 00417c83
-00417c83
-00407b83
+00407c83
+003f7b84
 003f7b84
-003f7a84
 003e7b85
-003e7a85
+003e7b85
 003e7b85
 003e7b85
 003d7b86
 003c7b86
 003b7b86
 003b7b85
-003b7a85
 003b7b85
 003b7b85
 003b7b85
 003b7b84
 003b7b84
 003b7c84
+003b7c84
 00387c83
 00387c83
-00377c83
+00377c82
 00377c82
 00367c82
 00367c82
 00367d82
 00377d82
 00377d83
+00387d83
 00387c83
-00387c83
-00397b83
+00397c83
 00397a84
 00397a84
 003e7985
-003e7885
+003e7985
 003f7886
-00407786
+00407886
 00417787
+00437787
 00437687
-00437687
-00447688
+00447687
 0045768a
 0044768a
 00427789
-00417788
-003f7988
+00417789
+003f7987
 003e7987
 003e7a86
-003d7a85
+003d7a86
 003b7b85
 003b7b85
 003a7c84
 00397c84
 003a7c84
 003b7c84
-003b7b83
-00377a81
-00407983
-003a7889
-0038788f
-00487796
-004a769a
-0049759d
-0057749f
-0058739f
-0058729f
-0058709f
-005a6fa0
-005d6ea2
-00626ea4
-00676da7
-006a6da8
+003b7c84
+00377a7b
+00407a7b
+003a7984
+00387984
+0048788f
+004a788f
+00497696
+00577696
+00587498
+00587498
+0058719a
+005a719a
+005d6f9c
+00626f9c
+00676e9f
+006a6e9f
 00417d82
 00417d82
 00417c83
 00417c83
-00417c83
 00417b83
-00417a84
+00417b83
+00417984
 00417984
-00437a85
+00437985
 00427985
-00417a85
-00407a85
+00417985
+00407985
 00407a86
 003f7a86
 003d7b86
 003b7b86
-003d7a86
 003d7986
-003c7a86
-003d7a85
-003e7a85
+003d7986
+003c7986
+003d7986
+003e7a85
 003f7a85
 003e7a84
-003d7b84
+003d7a84
 00397b84
-00387b83
+00387b84
 00387b83
 00377b83
 00367c83
 00347c83
 00357c83
 00367c83
-00377c84
+00377b84
 00397b84
 003b7a85
 003c7a85
-003c7986
+003c7886
 003d7886
-003f7887
+003f7787
 00407787
-00427787
+00427687
 00437687
-00437688
 00437588
-0043768a
-0043768a
+00437588
+0043768b
+0043768b
 00427789
-00417788
-00407988
+00417789
+00407987
 003f7987
-003e7a86
+003e7a85
 003d7a85
-003a7b85
+003a7b84
 00397b84
 003a7b84
 003d7b84
 003c7b85
 00397b85
-003a7b85
-003e7a86
-0049788a
-003e778f
-00407697
-0055769f
-006c75a8
-007a74ad
-007e73b0
-007d72b0
-005870ad
-005e6fac
-00636eab
-00656dac
-006d6caf
-00756cb3
-00756bb7
-006f6bb9
+003a7a85
+003e7a85
+00497791
+003e7791
+004075a3
+005575a3
+006c73b6
+007a73b6
+007e71ba
+007d71ba
+00586eb3
+005e6eb3
+00636cb0
+00656cb0
+006d6bb8
+00756bb8
+00756ac2
+006f6ac2
+00427d82
 00427d82
-00427c82
+00427c83
 00427c83
 00427b83
-00427b83
-00437a83
+00437b83
 00437984
 00437984
 00457985
 00437985
 00417985
 00407a86
-003e7b86
+003e7a86
 003d7b86
 003b7b86
 003d7986
 003d7986
 003d7a85
 003d7a85
-003d7a85
+003d7a84
 003d7a84
 00397b84
 00397b84
 00397b84
 003b7b84
 003d7a85
-003e7985
-003d7986
+003e7a85
+003d7886
 003e7886
 00407787
 00417787
 00427687
 00437687
 00437588
-00427589
-0043768a
-0042768a
-0041778a
-00407788
-003f7988
-003e7986
-003d7a86
+00427588
+0043768b
+0042768b
+00417789
+00407789
+003f7987
+003e7987
+003d7a85
 003c7a85
 003f7b84
 003e7b84
 003d7b84
 003d7b84
 003c7b85
-003c7a85
+003c7b85
 003d7a85
-003f788a
-003b7792
-0037759b
-005474a4
-007973ae
-008172b7
-008471bc
-007f70bd
-006c6fbb
-00516db7
-00536cb3
-00556bb1
-00576bb2
-00616ab6
-006c6aba
-006e69c0
-006869c2
+003f7a85
+003b7791
+00377791
+005475a3
+007975a3
+008173b6
+008473b6
+007f71ba
+006c71ba
+00516eb3
+00536eb3
+00556cb0
+00576cb0
+00616bb8
+006c6bb8
+006e6ac2
+00686ac2
 00437c82
 00447c82
-00447c82
 00447b82
-00447a83
+00447b82
 00447983
 00447983
 00447883
+00447883
 00447884
 00447884
 00437984
 00417984
-003f7a85
-003d7b85
-003d7c85
+003f7b85
 003d7b85
-003c7986
+003d7d85
+003d7d85
+003c7886
 003d7886
 003d7886
 003d7886
 003c7986
-003c7985
+003c7986
 003c7a85
 003d7a85
 003a7b84
 003a7b84
 003c7b84
 003d7a85
-003f7985
-003f7986
+003f7a85
+003f7886
 003f7886
 00417787
 00427787
 00437688
 00437688
 00427588
-00427589
-0042768a
-0041768a
-0040778a
-003f7788
-003e7988
-003d7986
-003c7a86
+00427588
+0042768b
+0041768b
+00407789
+003f7789
+003e7987
+003d7987
+003c7b85
 003b7b85
 003f7b84
 003e7b84
 003c7a85
 003a7a85
-003b7a86
+003b7986
 003e7986
-003f7886
-003f778d
-0041749b
-004273a7
-006a72b0
-008771b9
-007a70c2
-00746fc6
-00706dc5
-00546cc2
-00566bbb
-00556ab6
-005369b2
-005568b2
-006068b5
-006b68ba
-006e67c0
-006967c3
+003f7787
+003f7787
+004172a8
+004272a8
+006a71bb
+008771bb
+007a6ecb
+00746ecb
+00706bc9
+00546bc9
+005669b9
+005569b9
+005367b0
+005567b0
+006067b7
+006b67b7
+006e66c3
+006966c3
 00447c82
 00447c82
 00447b82
-00457a82
+00457b82
 00457983
 00457983
 00467883
 00447884
 00447884
 00447984
-00437a84
-00417b84
-00407c84
+00437984
+00417b85
+00407b85
 00417d85
-00427c85
-003e7986
+00427d85
+003e7886
 003f7886
 003f7886
 003e7886
 003c7986
 003c7a85
 003d7a85
-003b7b85
+003b7b84
 003b7b84
 003a7c84
 003a7c84
 00387c83
 00377d83
 00377d83
-00377d83
+00377c83
 00377c83
 00377c83
 00387c83
 003b7b84
 003c7a85
 003e7a85
-00407986
+00407886
 00417886
 00427787
 00437787
 00437688
 00437688
 00427588
-00427589
-0041768a
-0041768a
+00427588
+0041768b
+0041768b
 00407789
-003f7888
+003f7789
 003e7987
-003c7a86
+003c7987
 003c7b85
 003b7b85
 003b7b84
 003c7b84
 003b7a85
-00397986
+00397a85
 003b7986
-00407887
+00407986
 00427787
-003f7590
-004c72a1
-005c70ae
-007a70b6
-00806fbe
-006b6ec5
-00676cc8
-00666bc7
-005469c3
-005468bb
-005367b6
-005167b1
-005166b1
-005766b4
-005f66b8
-006166bd
-005f65c0
+003f7787
+004c72a8
+005c72a8
+007a71bb
+008071bb
+006b6ecb
+00676ecb
+00666bc9
+00546bc9
+005469b9
+005369b9
+005167b0
+005167b0
+005767b7
+005f67b7
+006166c3
+005f66c3
 00447c82
 00457c82
-00457b82
+00457a82
 00457a82
 00467982
 00467982
 00477883
 00477883
 00477883
-00477983
+00477a83
 00467a83
-00447c83
 00447d83
-00447e84
-00457d84
-00427986
+00447d83
+00447f83
+00457f83
+00427787
 00427787
 00417887
 00407887
 003f7986
 003d7986
 003d7a86
-003d7a85
+003d7a86
 003c7b85
 003b7b85
 003b7c84
 00397d84
 00397d84
 00387e83
-00387d83
+00387e83
 00387d83
 00377d83
 00377c84
 003c7a85
 003d7a85
 00417986
-00417886
+00417986
 00427787
 00437787
 00437688
 00437688
 00427688
-00427689
+00427688
 0042778a
 0041778a
-00407889
+00407888
 003f7888
-003e7987
+003e7a86
 003d7a86
-003c7b85
+003c7b84
 003b7b84
 003a7b84
 003c7b84
-003c7a85
+003c7986
 003b7986
-003d7787
+003d7688
 00407688
-00417589
-003f7392
-004470a4
-00686eb0
-00786eb6
-006b6cbc
-00606bc1
-005f69c4
-005c68c2
-005967be
-005466b8
-005665b3
-005765b0
-005665af
-005565b1
-005565b4
-005665b7
-005664b9
+0041748a
+003f748a
+00446dae
+00686dae
+00786cb8
+006b6cb8
+006069c2
+005f69c2
+005c66bf
+005966bf
+005464b4
+005664b4
+005764ad
+005664ad
+005564b0
+005564b0
+005664b6
+005664b6
+00457c82
 00457c82
-00457b82
 00467a82
 00467a82
 00477982
-00477882
+00477982
 00487883
 00487883
 00477883
-00467983
+00467883
+00457a83
 00457a83
-00457b83
 00467d83
-00457e83
+00457d83
 00437f83
-00417d84
-00467986
+00417f83
+00467787
 00447787
 00427887
 00417887
 00397d83
 00397c84
 00397c84
-003a7c84
+003a7b84
 003c7b84
 003d7a85
 003e7a85
 00417986
 00417986
-00427887
+00427787
 00437787
-00437788
+00437688
 00437688
 00427688
 00427688
-00417789
-00417789
+0041778a
+0041778a
 00407888
-003f7987
+003f7888
 003e7a86
-003d7a85
+003d7a86
 003c7b84
 003b7b84
 003b7b84
-003a7a84
+003a7b84
 003a7986
-003b7887
-003b7788
-003a7589
+003b7986
+003b7688
+003a7688
 003c748a
-003f7293
-00586ea6
-00756cb1
-00706cb5
-00586ab9
-005469bd
-005468bf
-005166be
-005765bc
-005a64b8
-005e63b4
-006164b2
-006063b1
-005c64b2
-005863b4
+003f748a
+00586dae
+00756dae
+00706cb8
+00586cb8
+005469c2
+005469c2
+005166bf
+005766bf
+005a64b4
+005e64b4
+006164ad
+006064ad
+005c64b0
+005864b0
+005764b6
 005764b6
-005763b7
 00467b82
 00467b82
 00477a82
 00487a82
-00487982
+00487882
 00497882
-004a7882
+004a7782
 004a7782
 00477882
-00457982
-00457a82
+00457882
+00457b82
 00487b82
-004c7d82
 004c7e82
-00497f82
-00457e83
-00497986
+004c7e82
+00498082
+00458082
+00497787
 00457787
 00427887
 00417887
 00427986
 003e7a86
 003b7a86
-003c7b85
+003c7c85
 003b7c85
 003b7d84
 003a7d84
 00397e84
 00387e84
 00387f84
-00387e84
+00387f84
 00397d83
 00397d83
 00397d84
-00397c84
+00397d84
 003a7c84
-003b7b84
+003b7c84
 003d7a85
 003e7a85
 00407986
 00407986
 00427887
-00437787
+00437887
 00437788
 00437788
 00427688
 00427688
 00407789
 00407789
-003f7888
-003e7987
-003d7a86
+003f7988
+003e7988
+003d7b85
 003c7b85
 003b7b84
 003a7b84
 003d7a84
 00387a84
-00387986
-003c7787
-003b7688
+00387886
+003c7886
+003b7589
 00377589
-003e748a
-00497194
-00796da7
+003e738b
+0049738b
+00796ab1
 00776ab1
-00666ab4
-005769b6
-005568b9
-005566bb
-005565bb
-005b64bb
-005663ba
-005962b9
-005d63b7
-005f62b7
-005c63b8
-005862b9
-005663b9
-005662ba
-00477a82
+006669b4
+005769b4
+005566b8
+005566b8
+005564ba
+005b64ba
+005662bb
+005962bb
+005d62ba
+005f62ba
+005c62bb
+005862bb
+005662bb
+005662bb
+00477b82
+00487b82
 00487a82
-00487982
-00497882
-004a7782
-004a7783
-004b7683
-004b7783
+00497a82
 004a7882
-00487a82
-00497c82
-004f7e81
-00568181
-00598381
-00568480
-00518381
-004a7f84
-00457d85
-00417d85
-00417d85
-00437d85
-00437d85
-003e7d85
-003a7d85
-003c7d85
-003b7d84
+004a7882
+004b7782
+004b7782
+004a7882
+00487882
+00497b82
+004f7b82
+00567e82
+00597e82
+00568082
+00518082
+004a7787
+00457787
+00417887
+00417887
+00437986
+00437986
+003e7a86
+003a7a86
+003c7c85
+003b7c85
 003b7d84
 003a7d84
-00397d84
-00387d83
+00397e84
+00387e84
+00387f84
+00377f84
 00387d83
 00377d83
-00387c82
-00377c82
-00377c83
-00377c83
-00387b84
-003a7b84
+00377d84
+00377d84
+00387c84
+003a7c84
 003b7a85
-003c7a86
+003c7a85
 003f7986
-00407987
+00407986
 00417887
 00427887
 00437788
-00437688
+00437788
 00427688
 00427688
-00407688
-003f7788
-003e7887
-003d7986
-003c7a84
-003b7b83
-003a7b83
-00397a83
-00417a83
-003a7985
-003a7888
-0041778a
-0040758e
-003c7491
-00477393
-0059709c
-006f6bab
-005569b3
-004c68b4
-005468b5
-005667b6
-005666b7
-005965b8
-005764b9
-005663b9
-005862ba
-005b63ba
-005f62bb
-006062bc
-005d62bd
-005b62be
-005a62be
-00477882
+00407789
+003f7789
+003e7988
+003d7988
+003c7b85
+003b7b85
+003a7b84
+00397b84
+00417a84
+003a7a84
+003a7886
+00417886
+00407589
+003c7589
+0047738b
+0059738b
+006f6ab1
+00556ab1
+004c69b4
+005469b4
+005666b8
+005666b8
+005964ba
+005764ba
+005662bb
+005862bb
+005b62ba
+005f62ba
+006062bb
+005d62bb
+005b62bb
+005a62bb
 00477782
-00477683
-00477583
-00487583
-00497484
-004a7584
-004b7684
-00477883
-004c7b82
-00547f81
+00477782
+00477483
+00477483
+00487384
+00497384
+004a7485
+004b7485
+00477a83
+004c7a83
+00548380
 005e8380
-006b887f
-00748b7e
-00718e7d
-006a8d7e
-005f897f
-00568781
-004b8781
-00428682
-003f8683
-003f8483
-003e8384
-003d8284
-003e8084
-003b7f84
-00387e84
-00387c83
-00397c83
-003a7b82
+006b8e7d
+00748e7d
+0071947b
+006a947b
+005f8d7e
+00568d7e
+004b8c80
+00428c80
+003f8982
+003f8982
+003e8583
+003d8583
+003e8184
+003b8184
+00387d83
+00387d83
+00397a82
 003a7a82
-00397981
-00347980
-00357980
-00367981
-00387982
-003a7a83
-003b7a85
-003b7a86
+003a7881
+00397881
+0034777f
+0035777f
+00367881
+00387881
+003a7984
+003b7984
 003b7a87
-003c7a87
-003f7988
+003b7a87
+003c7a88
+003f7a88
 00427888
-00447788
-00437687
+00447888
+00437587
 00437587
-00427587
-00427586
-00377686
-003b7786
-003c7885
+00427486
+00427486
+00377685
+003b7685
+003c7883
+003a7883
+003a797f
+003a797f
+00387a7e
+00337a7e
 003a7983
-003a7981
-003a7a80
-00387a80
-00337a80
-003a7a82
-00397986
-003a778c
-003a7692
-003a7499
-003f739f
-005172a4
-00636fab
-00576ab2
-005267b6
-005167b6
-005767b5
-005a66b5
-005666b4
-005465b5
-005664b5
-005664b7
-005963b8
-005e64ba
-006163bd
-006163c0
-006163c2
-006063c4
-006063c5
-00467882
+00397983
+003a7691
+003a7691
+003a73a3
+003f73a3
+005171b0
+006371b0
+005766b8
+005266b8
+005166b6
+005766b6
+005a66b3
+005666b3
+005465b3
+005665b3
+005664b6
+005964b6
+005e64bc
+006164bc
+006163c3
+006163c3
+006063c8
+006063c8
+00467782
 00477782
-00477583
+00477483
 00497483
-004a7484
-004a7484
-004b7585
-004b7784
-004a7a84
-00527e82
-005e8281
-006c877f
-007b8d7e
-0085917c
+004a7384
+004a7384
+004b7485
+004b7485
+004a7a83
+00527a83
+005e8380
+006c8380
+007b8e7d
+00858e7d
 0085947b
 0080947b
-0079917d
-0070907e
-00638f7f
-00588e80
-00518c81
-004b8a82
-00448982
-003e8683
-00408483
-003d8283
-00398083
-00387e82
-00387c82
-00397b81
-00387a81
-00377981
-00377a81
-00387981
-003a7a82
-003b7982
-003d7983
+00798d7e
+00708d7e
+00638c80
+00588c80
+00518982
+004b8982
+00448583
+003e8583
+00408184
+003d8184
+00397d83
+00387d83
+00387a82
+00397a82
+00387881
+00377881
+0037777f
+0038777f
+003a7881
+003b7881
 003d7984
-003c7985
-003b7986
-003f7986
-00407886
-00417887
-00417787
-00417687
-00417687
-00407686
-00407687
-003f7888
-003f7987
-003f7a86
-003d7a84
-003c7b81
-003d7b7f
-003c7b7f
-003b7b7f
-003b7a82
-003c7986
-003c778e
-003a7696
-003f749f
-004a72a7
-005872ae
-00606eb3
-005a69b6
+003d7984
+003c7a87
+003b7a87
+003f7a88
+00407a88
+00417888
+00417888
+00417587
+00417587
+00407486
+00407486
+003f7685
+003f7685
+003f7883
+003d7883
+003c797f
+003d797f
+003c7a7e
+003b7a7e
+003b7983
+003c7983
+003c7691
+003a7691
+003f73a3
+004a73a3
+005871b0
+006071b0
+005a66b8
 005766b8
-005766b7
+005766b6
 005b66b6
-005a66b4
-005565b4
-005465b4
-005864b5
+005a66b3
+005566b3
+005465b3
+005865b3
 005864b6
-005b64b9
+005b64b6
 005f64bc
-006263bf
-006363c2
-006463c5
-006463c7
+006264bc
+006363c3
+006463c3
+006463c8
 006563c8
 00457983
-00467883
+00467983
 00487784
-004a7684
+004a7784
 004c7685
 004c7685
-004c7785
-004b7984
-004b7c84
-00568082
-00678581
-00798a7f
-008a907d
+004c7885
+004b7885
+004b7f83
+00567f83
+00678980
+00798980
+008a947c
 0095947c
-0097987a
-0095987a
-0094977c
-008b967d
-007f957d
-0075937e
-006c917f
-00628f80
-00558e81
-004c8b82
-00498882
-00438682
-003d8382
-00388182
-00377f82
-00367e81
-00357d81
-00337d81
-00357e83
-00367e84
-00387d84
-003a7c83
-003b7a83
-003c7882
-003b7783
-003b7683
-00417683
+00979b79
+00959b79
+0094997c
+008b997c
+007f977d
+0075977d
+006c937f
+0062937f
+00558f81
+004c8f81
+00498982
+00438982
+003d8482
+00388482
+00378081
+00368081
+00357e80
+00337e80
+00358186
+00368186
+00387e84
+003a7e84
+003b7982
+003c7982
+003b7581
+003b7581
+00417481
+00407481
+003f7683
 00407683
-003f7684
-00407785
-00417886
-00417886
-00417987
-00407a89
-00447c8d
-00407d8d
-003c7e8a
-003b7e87
-00397e84
-00377e81
-00387e7f
-003a7d7f
-00387c81
-003a7a86
-0039788e
-003a7697
-004674a0
-005772a9
-005d72b0
-005a6eb4
-005c69b7
+00417986
+00417986
+00417b87
+00407b87
+00447f92
+00407f92
+003c808b
+003b808b
+00398083
+00378083
+00387f7e
+003a7f7e
+00387c82
+003a7c82
+00397892
+003a7892
+004673a6
+005773a6
+005d71b4
+005a71b4
+005c66b8
 005c66b8
 005e65b7
-006065b6
+006065b7
 005d65b6
-005865b5
-005965b6
+005865b6
+005964b7
 005d64b7
-005764b9
+005763bb
 005a63bb
-005d63be
-006063c1
-006263c4
+005d63c0
+006063c0
+006262c6
 006362c6
-006562c8
+006562c9
 006762c9
-00447a84
-00467984
-00497884
-004c7785
-004d7785
-004d7785
+00447983
+00467983
+00497784
+004c7784
+004d7685
+004d7685
 004c7885
-004c7b85
-004b7e84
-00588382
-006d8881
-00828e7f
-0092937d
-009d987b
-00a29c79
-00a29d79
-00a29d7a
-009b9c7b
-00929b7c
-008c997c
-0087977e
-007e957e
-00729380
-00689080
-005f8e81
-00578b81
-004c8881
-00428681
-003d8481
-003a8280
-00388280
-00378281
-00358384
-00358385
-00368184
-00377f83
-00387c82
+004c7885
+004b7f83
+00587f83
+006d8980
+00828980
+0092947c
+009d947c
+00a29b79
+00a29b79
+00a2997c
+009b997c
+0092977d
+008c977d
+0087937f
+007e937f
+00728f81
+00688f81
+005f8982
+00578982
+004c8482
+00428482
+003d8081
+003a8081
+00387e80
+00377e80
+00358186
+00358186
+00367e84
+00377e84
+00387982
 003a7982
-003c7681
+003c7581
 003e7581
 003f7481
 003f7481
-003f7582
-00417783
-00427984
-00437b85
-00427c86
-00417e88
-0043818c
-003e828c
-003b8289
-003b8286
-00388283
-00348181
-0034807f
-00377f7f
-00387d82
-00357b87
-0036798f
-00407697
-005174a1
-005d72a8
-005c71af
-00556eb3
-005b68b6
-005a65b8
+003f7683
+00417683
+00427986
+00437986
+00427b87
+00417b87
+00437f92
+003e7f92
+003b808b
+003b808b
+00388083
+00348083
+00347f7e
+00377f7e
+00387c82
+00357c82
+00367892
+00407892
+005173a6
+005d73a6
+005c71b4
+005571b4
+005b66b8
+005a66b8
 005d65b7
 005f65b7
-005f65b7
-005c64b8
-005c64b8
-006063ba
-005863bc
-005a63be
+005f65b6
+005c65b6
+005c64b7
+006064b7
+005863bb
+005a63bb
 005d63c0
-005f62c3
+005f63c0
 006062c6
-006362c8
+006362c6
 006562c9
-006762ca
+006762c9
 00437b85
-00457a85
-00497a85
-004c7986
-004e7986
-004e7986
-004d7a86
-004c7c85
-004e8184
-005b8682
-00718b80
-0088917e
-009a987c
-00a59c7a
-00aca078
-00afa278
-00aca379
-00a7a279
-00a0a17a
-009da07a
-009c9e7c
-00979c7c
-008f997e
-0088967e
-0080947f
-0075917f
-00658e80
-00578c80
-004d8a80
-0048887f
-0044887f
-00428881
-003f8a83
-003e8984
-003c8684
-003a8383
-00387e82
-003a7a82
-003d7781
-00417481
-003e7381
-003f7381
-00407581
-00427782
-00437b82
-00427d82
-00417f83
-00408284
-00408684
-00408784
-00438783
-00478681
-0048867f
-0046847f
+00457b85
+00497a86
+004c7a86
+004e7987
+004e7987
+004d7b86
+004c7b86
+004e8483
+005b8483
+0071907f
+0088907f
+009a9d7a
+00a59d7a
+00aca477
+00afa477
+00aca678
+00a7a678
+00a0a479
+009da479
+009ca07b
+0097a07b
+008f9b7d
+00889b7d
+0080957e
+0075957e
+0065907f
+0057907f
+004d8c7f
+00488c7f
+00448a7f
+00428a7f
+003f8e84
+003e8e84
+003c8783
+003a8783
+00387d82
+003a7d82
+003d7581
+00417581
+003e7281
+003f7281
+00407681
+00427681
+00437d81
+00427d81
+00418282
+00408282
+00408a80
+00408a80
+0043897f
+0047897f
+0048877d
+0046877d
 0045837f
-00458180
-00457e84
-003c7b89
-003e7991
-004f7698
-005e73a0
-005e71a6
-00576fab
-00526cb0
-005b67b5
+0045837f
+00457d87
+003c7d87
+003e7795
+004f7795
+005e71a3
+005e71a3
+00576eac
+00526eac
+005b64b7
 005964b7
 005a64b8
 005d64b8
-005f64b9
-005e64ba
-005d64bc
-005c63bd
-005c63bf
-005d62c1
-005f62c3
+005f64bb
+005e64bb
+005d63be
+005c63be
+005c62c2
+005d62c2
+005f62c6
 006162c6
-006262c8
+006261ca
 006461ca
-006761cb
-006961cb
+006761cc
+006961cc
 00437b85
 00457b85
 00487a86
-004c7986
+004c7a86
 004e7987
 004e7987
-004e7b87
-004d7d85
-004e8284
-00598782
-006f8e80
-0088947d
-009c9b7b
-00a9a079
-00b1a377
-00b7a677
-00b7a777
-00b3a777
-00afa678
+004e7b86
+004d7b86
+004e8483
+00598483
+006f907f
+0088907f
+009c9d7a
+00a99d7a
+00b1a477
+00b7a477
+00b7a678
+00b3a678
+00afa479
 00ada479
-00aba27a
+00aba07b
 00a9a07b
-00a49e7c
-009f9c7c
-0099997d
-008e967d
-007d947e
-006d927e
-0061907e
-00588f7e
-00528e7f
-004e8e7f
-004d8f81
-004b8e82
-00478b82
-00408782
-003b8282
+00a49b7d
+009f9b7d
+0099957e
+008e957e
+007d907f
+006d907f
+00618c7f
+00588c7f
+00528a7f
+004e8a7f
+004d8e84
+004b8e84
+00478783
+00408783
+003b7d82
 00397d82
-003b7a82
-003e7782
-003f7582
-00407582
-00427782
-00427981
-00417c81
-00407e81
-00408181
-00408480
-0043897e
-004b8a7d
-00548a7e
+003b7581
+003e7581
+003f7281
+00407281
+00427681
+00427681
+00417d81
+00407d81
+00408282
+00408282
+00438a80
+004b8a80
+0054897f
 005c897f
-00618880
-00648681
-00628484
-005e8188
-005c7e8c
-00527b92
-00537798
-0061749e
+0061877d
+0064877d
+0062837f
+005e837f
+005c7d87
+00527d87
+00537795
+00617795
 006771a3
-005d6fa7
-00546dab
-00546aaf
-006066b5
-005e64b8
+005d71a3
+00546eac
+00546eac
+006064b7
+005e64b7
 005d64b8
-005f64ba
+005f64b8
+006164bb
 006164bb
-006163bd
-005f63bf
-005c62c0
-005c62c3
-005e62c4
-006062c7
-006261c8
+005f63be
+005c63be
+005c62c2
+005e62c2
+006062c6
+006262c6
 006361ca
-006561cb
+006561ca
 006761cc
-006961cd
+006961cc
 00427b85
 00447b85
-00477a86
+00477987
 004b7987
-004d7988
-004e7987
-004e7b87
-004e7e86
-004c8385
-00558882
-00688f80
-0082957d
-00979c7a
-00a6a178
-00b0a676
-00b6a876
-00bca976
-00bba976
-00b9a877
-00b8a777
-00b7a578
-00b5a479
-00b2a27a
-00b0a07a
-00a79e7b
-009e9c7c
-00919a7d
-0082987d
-0076977d
-006a957d
-0060957e
-005a947e
-0059947e
-0058927e
-00538f7f
-004b8b80
+004d7888
+004e7888
+004e7c87
+004e7c87
+004c8584
+00558584
+0068937e
+0082937e
+0097a078
+00a6a078
+00b0a975
+00b6a975
+00bcaa75
+00bbaa75
+00b9a976
+00b8a976
+00b7a678
+00b5a678
+00b2a379
+00b0a379
+00a79f7b
+009e9f7b
+00919c7c
+00829c7c
+0076997d
+006a997d
+0060987d
+005a987d
+0059967c
+0058967c
+0053907e
+004b907e
 00428781
-003d8282
-003c7f83
-003d7c83
-003f7a84
-00417984
-00437a83
-00427b82
-00407d81
-00417f81
-00458081
-0049847e
-00558a7a
-00628c79
+003d8781
+003c7f84
+003d7f84
+003f7b85
+00417b85
+00437b83
+00427b83
+00407e81
+00417e81
+00458180
+00498180
+00558d75
+00628d75
 006e8b7c
-00738a7f
-00788884
-007d8689
-0078838f
-006f8095
-006d7c9b
-006879a0
-006775a5
-006a72a8
-00676faa
-005c6cac
-00576aac
-005868af
-005e65b5
+00738b7c
+00788789
+007d8789
+00788199
+006f8199
+006d7aa6
+00687aa6
+006772ad
+006a72ad
+00676cae
+005c6cae
+005768ad
+005868ad
+005e63b8
 005f63b8
-005f63ba
 005f63bb
-006063bd
+005f63bb
 006063bf
-005f63c1
-005d62c3
-005a62c6
-005d61c7
-006061ca
-006261cb
-006461cc
-006660cd
-006860ce
-006a60ce
-00427a85
-00447a85
+006063bf
+005f62c4
+005d62c4
+005a61c8
+005d61c8
+006061cc
+006261cc
+006460ce
+006660ce
+006860cf
+006a60cf
+00427b85
+00447b85
 00477987
-004a7887
+004a7987
 004c7888
 004e7888
-004e7a87
-004e7d86
-004e8285
-00548882
-00668f80
-007e967c
-00949c7a
-00a2a277
-00ada775
+004e7c87
+004e7c87
+004e8584
+00548584
+0066937e
+007e937e
+0094a078
+00a2a078
+00ada975
 00b4a975
-00baa975
-00bba975
-00bca876
-00bda876
-00bda777
-00bca578
-00bba478
+00baaa75
+00bbaa75
+00bca976
+00bda976
+00bda678
+00bca678
 00bba379
-00b0a17a
-00aaa07b
-009f9f7b
-00939d7c
-00879c7c
-007a9c7c
-006e9b7d
-00669a7c
-0062987c
-0061967d
-005e937d
+00bba379
+00b09f7b
+00aa9f7b
+009f9c7c
+00939c7c
+0087997d
+007a997d
+006e987d
+0066987d
+0062967c
+0061967c
+005e907e
 0056907e
-004d8c7f
-00458880
-00438482
-00428183
-003e7f84
-00417e84
-00437d85
-00427c85
-00417d85
-00447e85
-004d7e85
-00558284
-006a8880
-007a8a80
-00848984
-00848889
-0086868f
-008a8396
-0083809e
-00757da5
-00727aab
-007376b0
-007172b3
-006b6fb4
-00626cb4
-005b69b3
-005a67b2
-005c66b3
-005464b7
-005863b9
+004d8781
+00458781
+00437f84
+00427f84
+003e7b85
+00417b85
+00437b83
+00427b83
+00417e81
+00447e81
+004d8180
+00558180
+006a8d75
+007a8d75
+00848b7c
+00848b7c
+00868789
+008a8789
+00838199
+00758199
+00727aa6
+00737aa6
+007172ad
+006b72ad
+00626cae
+005b6cae
+005a68ad
+005c68ad
+005463b8
+005863b8
 005b63bb
-005a63bd
+005a63bb
 005963bf
-005a63c1
+005a63bf
 005b62c4
-005c62c6
+005c62c4
 005c61c8
-005f61ca
+005f61c8
 006361cc
-006661cd
+006661cc
 006860ce
-006a60cf
-006c60d0
-006e60d0
-003f7985
+006a60ce
+006c60cf
+006e60cf
+003f7885
 00417885
-00457787
+00457687
 00477687
-00497688
-004a7788
+00497588
+004a7588
 004c7888
-004d7b87
-004d8085
-00528682
-00638d80
-007b947c
-008f9c7a
-009da177
-00a9a675
-00b2a874
-00baa775
-00bba775
-00bca775
-00bea776
+004d7888
+004d8284
+00528284
+0063907e
+007b907e
+008f9f78
+009d9f78
+00a9a873
+00b2a873
+00baa675
+00bba675
+00bca675
+00bea675
+00c0a676
 00c0a676
-00c0a677
 00c1a577
-00c1a478
-00baa478
-00b4a379
-00aba27a
-00a2a27b
-0097a17b
-008aa17b
-007ea17c
-00759f7c
-006d9b7c
-0069987d
-0064977d
-005f947d
-0058927d
-004e8e7e
-00468b7e
-00418880
-00368582
-003f8384
-00458087
-00447e89
-00427d8c
-004a7b8e
-005f7b90
-00717d91
-00838492
-008e8694
-00948597
-0094839b
-008d81a1
-00887fa8
-00857caf
-007479b6
-006e76bc
-007372c0
-00716fc2
-00666bc2
-005e68c0
-005e66be
-005f64bb
-005d63ba
-006163ba
+00c1a577
+00baa578
+00b4a578
+00aba47a
+00a2a47a
+0097a47b
+008aa47b
+007ea47b
+0075a47b
+006d9a7d
+00699a7d
+0064987c
+005f987c
+0058937c
+004e937c
+00468d7d
+00418d7d
+00368782
+003f8782
+0045808a
+0044808a
+00427b91
+004a7b91
+005f7896
+00717896
+0083859c
+008e859c
+009482a2
+009482a2
+008d7ead
+00887ead
+008578bc
+007478bc
+006e72c7
+007372c7
+00716bca
+00666bca
+005e65c5
+005e65c5
+005f62be
+005d62be
+006163bb
 005c63bb
-005b63bd
+005b63be
 005e63be
-006062c0
 006062c2
-006162c5
+006062c2
+006162c7
 006462c7
-005e61ca
+005e61cc
 006261cc
-006760cd
+006760cf
 006c60cf
-006f60d0
-006f60d0
-006d60d1
-006c60d1
+006f60d1
+006f60d1
+006d60d2
+006c60d2
 003f7885
-00417785
-00447686
-00477587
+00417885
+00447687
+00477687
 00487588
 00497588
-004b7788
-004c7a87
-00507f85
-00528483
-005f8c80
-0076937d
-008b9a7a
-009aa077
-00a6a574
-00afa774
+004b7888
+004c7888
+00508284
+00528284
+005f907e
+0076907e
+008b9f78
+009a9f78
+00a6a873
+00afa873
 00b8a675
-00b9a575
-00bba676
-00bda676
+00b9a675
+00bba675
+00bda675
 00bea676
 00bea676
 00bea577
 00bea577
 00b9a578
 00b4a578
-00ada579
-00a6a57a
-009ea57a
-0094a57b
-008aa57b
-0083a27c
-00779e7e
-00709a7e
-00689a7d
+00ada47a
+00a6a47a
+009ea47b
+0094a47b
+008aa47b
+0083a47b
+00779a7d
+00709a7d
+0068987c
 0061987c
-005b957c
-0053937b
-0049907c
-00438c7e
-003a8981
-003f8585
-0045818b
-004b7e90
-00517b96
-005d789a
-006d769e
-007978a2
-00867ea6
-008c81a9
-008e7faa
-008a7ead
-00827cb0
-007c79b5
-007677bb
-006774c0
-006471c5
-00716ec8
+005b937c
+0053937c
+00498d7d
+00438d7d
+003a8782
+003f8782
+0045808a
+004b808a
+00517b91
+005d7b91
+006d7896
+00797896
+0086859c
+008c859c
+008e82a2
+008a82a2
+00827ead
+007c7ead
+007678bc
+006778bc
+006472c7
+007172c7
 00746bca
-006868c9
-006266c7
-006564c4
-006362c1
-005b62bf
-005863bd
-005663bd
+00686bca
+006265c5
+006565c5
+006362be
+005b62be
+005863bb
+005663bb
 005663be
-005963c0
-005b62c1
-005e62c3
-006162c6
-006362c8
-006c61cb
-006d61cd
-006d60ce
-006d60d0
+005963be
+005b62c2
+005e62c2
+006162c7
+006362c7
+006c61cc
+006d61cc
+006d60cf
+006d60cf
 006c60d1
-006a60d2
+006a60d1
 006860d2
-006660d3
+006660d2
 003f7884
-00417785
-00447686
-00467587
-00477488
-00487488
+00417884
+00447586
+00467586
+00477388
+00487388
 00497589
-004a7888
-00527d86
-00518283
-005a8a80
-006f917d
-0086987a
-00969e77
-00a2a374
-00aaa574
-00b5a576
-00b6a476
-00b8a577
-00bba576
+004a7589
+00527e85
+00517e85
+005a8c7f
+006f8c7f
+00869b78
+00969b78
+00a2a473
+00aaa473
+00b5a477
+00b6a477
+00b8a477
+00bba477
 00bca576
 00bba576
 00bba576
 00baa576
 00b7a677
-00b4a678
-00afa678
-00aaa679
-00a5a679
-009fa67a
-0097a77a
-0092a47c
-0088a080
-00809c81
+00b4a677
+00afa778
+00aaa778
+00a5a779
+009fa779
+0097a87a
+0092a87a
+00889e84
+00809e84
 00749c7f
-006b9a7d
-0066987b
-005e957a
-0054927b
-004c8e7d
-004d8a82
-004c8588
-00508091
-00597c9a
-006678a3
-007274aa
-007972b0
-007b73b6
-008077bd
-008279bf
-008178be
-007a77bd
-007475bc
-006f73bd
-006671bf
-005d6fc2
-00666dc6
-00746ac9
-007768cb
-006a66cb
-006564c9
-006d62c7
-006a61c4
-005d61c2
-005e62c0
-006163bf
-006263c0
+006b9c7f
+00669879
+005e9879
+0054927a
+004c927a
+004d8885
+004c8885
+00507d99
+00597d99
+006674af
+007274af
+00796ebd
+007b6ebd
+008076cc
+008276cc
+008174c6
+007a74c6
+007471c1
+006f71c1
+00666ec2
+005d6ec2
+006669c8
+007469c8
+007765cc
+006a65cc
+006562c9
+006d62c9
+006a60c4
+005d60c4
+005e63c0
+006163c0
 006263c1
-006563c2
-006a63c4
-006e62c6
-006f62c8
-007061ca
-006f61cc
-006c61ce
-006861d0
-006660d2
+006263c1
+006563c3
+006a63c3
+006e62c7
+006f62c7
+007061cb
+006f61cb
+006c61cf
+006861cf
+006660d3
 006460d3
-006260d4
-006260d4
-003f7984
+006260d5
+006260d5
+003f7884
 00417884
-00447685
+00447586
 00467586
-00467487
-00477488
+00467388
+00477388
 00487589
-00497788
-00517b86
-004e8184
-00568881
-006b8f7d
-0084977a
-00959d77
-00a1a174
-00a8a474
-00b2a577
-00b3a578
-00b6a578
-00b8a577
-00b9a677
-00b9a676
-00b8a676
-00b7a676
+00497589
+00517e85
+004e7e85
+00568c7f
+006b8c7f
+00849b78
+00959b78
+00a1a473
+00a8a473
+00b2a477
+00b3a477
+00b6a477
+00b8a477
+00b9a576
+00b9a576
+00b8a576
+00b7a576
 00b5a677
 00b2a677
 00aea778
 00aba778
 00a9a779
 00a5a779
-00a0a77a
-009ca57c
-0099a180
-00929f81
-00889d7f
-007e9b7e
-0079997c
-0073957c
-006b917e
-00648d82
-006b8888
-00668291
-00637d9b
-006978a5
-007374b0
-007a71b9
-00796ebf
-00766ec6
-007471cb
-007472cc
-007571c9
-007070c6
-006f6fc3
-006d6ec1
-00626cc1
-00616bc3
-007569c6
-007867c8
-007266cb
-006764cb
-006663c9
-006d62c8
-006a61c5
-006061c3
-006663c2
-006a63c1
-006b63c2
-006963c2
+00a0a87a
+009ca87a
+00999e84
+00929e84
+00889c7f
+007e9c7f
+00799879
+00739879
+006b927a
+0064927a
+006b8885
+00668885
+00637d99
+00697d99
+007374af
+007a74af
+00796ebd
+00766ebd
+007476cc
+007476cc
+007574c6
+007074c6
+006f71c1
+006d71c1
+00626ec2
+00616ec2
+007569c8
+007869c8
+007265cc
+006765cc
+006662c9
+006d62c9
+006a60c4
+006060c4
+006663c0
+006a63c0
+006b63c1
+006963c1
 006a63c3
-006e63c4
-007162c5
+006e63c3
+007162c7
 007062c7
-006862c9
+006861cb
 006761cb
-006561cd
-006361d0
-006360d2
-006360d4
+006561cf
+006361cf
+006360d3
+006360d3
 006460d5
 006560d5
 00407a83
-00427984
+00427a83
 00457785
-00467686
-00477487
+00467785
+00477488
 00477488
 00487589
-00497788
-004d7b87
-004b8084
-00548781
-006b8e7e
-0085957a
-00979b77
-00a1a075
-00a7a475
-00afa678
-00b1a879
-00b3a779
-00b5a778
-00b6a778
-00b6a777
+00497589
+004d7c86
+004b7c86
+00548a80
+006b8a80
+00859878
+00979878
+00a1a274
+00a7a274
+00afa97a
+00b1a97a
+00b3a879
+00b5a879
+00b6a878
+00b6a878
 00b6a777
-00b5a677
+00b5a777
 00b4a677
 00b1a677
 00aea677
-00ada678
-00ada679
-00aca679
-00a9a67a
-00a7a57b
-00a2a37c
-00a0a17d
+00ada677
+00ada579
+00aca579
+00a9a57a
+00a7a57a
+00a2a47b
+00a0a47b
 009a9f7d
-00939c7e
-008f987f
-008d9382
-00878d86
-0080888c
-007d8294
-00777d9e
-007278a9
-007274b3
-007570bd
-00776dc5
-00746bcb
-00716bcf
-00706bd2
-00706bd0
-00736bcc
-006e6ac8
-007169c3
-007068c1
-006268c0
-006967c1
-007f66c5
-007465c7
-006965ca
+00939f7d
+008f9582
+008d9582
+0087888d
+0080888d
+007d7c9f
+00777c9f
+007273b5
+007273b5
+00756cc8
+00776cc8
+007469d4
+007169d4
+007068d5
+007068d5
+007367cb
+006e67cb
+007166c1
+007066c1
+006265bf
+006965bf
+007f64c6
+007464c6
+006964ca
 006664ca
-006963c9
-006a63c7
-006762c5
-006263c4
+006963c8
+006a63c8
+006763c4
 006263c4
+006264c5
+006464c5
 006464c4
-006464c3
-006264c3
+006264c4
 006163c3
 006163c3
 006063c4
-005e62c6
+005e63c4
 006162c8
-006162ca
-006261cc
-006361cf
-006461d2
-006661d4
-006861d5
+006162c8
+006261cd
+006361cd
+006461d3
+006661d3
+006861d6
 006961d6
-00417b83
+00417a83
 00437a83
-00457884
-00477786
-00487587
+00457785
+00477785
+00487488
 00487488
 00497589
-004a7788
-004c7a87
-004a7f84
-00558682
-006d8d7e
-0086947a
-00979a77
-00a09f75
-00a6a476
-00aca879
-00adaa7a
-00afaa7a
-00b1a979
-00b3a979
-00b4a978
-00b4a877
+004a7589
+004c7c86
+004a7c86
+00558a80
+006d8a80
+00869878
+00979878
+00a0a274
+00a6a274
+00aca97a
+00ada97a
+00afa879
+00b1a879
+00b3a878
+00b4a878
+00b4a777
 00b4a777
 00b3a677
 00b1a677
 00afa677
-00afa577
-00b2a578
-00b3a479
-00b2a47a
-00b0a479
-00a5a577
-00a6a478
-00a3a17a
-00a09c7e
-00a09683
-009f9089
-00988990
-008e8299
-007b7ca2
-007877ac
-007473b6
-00726fbf
-00726cc7
-00726acd
-007169d2
-007068d4
-007067d3
-006e66d1
-007365cc
-006b65c8
-006f65c4
-006d64c2
-005c64c2
-006c64c4
-007f64c8
-007264cb
-006a64cd
-006e64ce
-007264cc
-006e64cb
-006864c8
-006664c7
-006964c6
+00afa677
+00b2a579
+00b3a579
+00b2a57a
+00b0a57a
+00a5a47b
+00a6a47b
+00a39f7d
+00a09f7d
+00a09582
+009f9582
+0098888d
+008e888d
+007b7c9f
+00787c9f
+007473b5
+007273b5
+00726cc8
+00726cc8
+007169d4
+007069d4
+007068d5
+006e68d5
+007367cb
+006b67cb
+006f66c1
+006d66c1
+005c65bf
+006c65bf
+007f64c6
+007264c6
+006a64ca
+006e64ca
+007263c8
+006e63c8
+006863c4
+006663c4
+006964c5
 006664c5
-006564c5
+006564c4
 006764c4
 006563c3
 006063c3
-005b63c3
+005b63c4
 005963c4
-005e62c6
-005f62c9
-006062cb
-006161ce
-006261d1
-006461d4
-006461d5
+005e62c8
+005f62c8
+006061cd
+006161cd
+006261d3
+006461d3
+006461d6
 006561d6
-00427c82
-00447b82
+00427d81
+00447d81
 00467984
-00487885
-00497687
+00487984
+00497588
 004a7588
 004b7589
-004c7788
-004f7a87
-004e7f84
-00578682
-006d8d7e
-0084947b
-00949a78
-009e9f75
-00a4a476
-00aaaa7a
-00aaad7b
-00abad7b
-00adac7a
-00afab79
-00b1aa78
+004c7589
+004f7c86
+004e7c86
+00578980
+006d8980
+00849779
+00949779
+009ea174
+00a4a174
+00aaaf7c
+00aaaf7c
+00abae7b
+00adae7b
+00afac79
+00b1ac79
 00b2a977
-00b3a877
-00b2a777
+00b3a977
+00b2a677
 00b0a677
-00aea577
 00aea477
-00b1a378
-00b2a378
-00b2a279
-00b1a476
-00aaa770
-00a9a670
-00a5a276
-00a39c7d
-00a69487
-00a48c91
-0095849c
-00847da7
-007176b2
-007171bb
-00716dc3
-00716bc9
-007069cf
-007068d2
-007068d5
-007066d4
-006f63d1
-006c62cd
-007162ca
-006762c7
-006b62c5
-006962c5
-005962c8
-007262cb
-007962d0
-007363d4
-007064d6
-007264d6
-007265d4
-006e65d2
-006a65cf
-006965cc
-007165c9
-006a65c7
+00aea477
+00b1a278
+00b2a278
+00b2a179
+00b1a179
+00aaaa69
+00a9aa69
+00a5a077
+00a3a077
+00a68f8f
+00a48f8f
+00957da9
+00847da9
+007170bf
+007170bf
+007169cd
+007169cd
+007067d4
+007067d4
+007067d7
+007067d7
+006f60cd
+006c60cd
+007160c7
+006760c7
+006b60c5
+006960c5
+005961cc
+007261cc
+007962d7
+007362d7
+007064dc
+007264dc
+007266d7
+006e66d7
+006a66d0
+006966d0
+007165c8
+006a65c8
 006a64c6
-007164c5
-007164c4
+007164c6
+007164c3
 006864c3
-006063c3
-005f63c3
+006063c2
+005f63c2
 005d63c5
-005d62c7
-005e62cb
-005e62ce
-006061d1
-006261d4
-006361d6
+005d63c5
+005e62cc
+005e62cc
+006061d3
+006261d3
+006361d7
 006461d7
-00427c81
-00447b82
-00477983
-00497785
-004a7687
+00427d81
+00447d81
+00477984
+00497984
+004a7588
 004b7588
-004c7588
-004d7788
-00527b86
-00517f84
-00598681
-006d8c7e
-0081937b
-00909978
-009b9d76
-00a3a376
-00a8a979
-00a8ac7b
-00a9ac7a
-00aaac79
+004c7589
+004d7589
+00527c86
+00517c86
+00598980
+006d8980
+00819779
+00909779
+009ba174
+00a3a174
+00a8af7c
+00a8af7c
+00a9ae7b
+00aaae7b
 00acac79
-00afab78
-00b1aa77
-00b3a876
-00b2a777
-00afa577
-00aca577
-00aba478
-00aca379
-00ada379
-00ada37a
-00aba377
-00b0a571
-00aba372
-00a49e79
-00a29883
-00a59090
-00a1879c
-008b7fa8
-007377b3
-006d71bd
-006e6dc4
-006f6aca
-007068cf
-007168d3
-007067d5
-006f68d7
-006e66d5
-006f63d0
-006c62cc
-007162c9
-006661c6
-006c62c5
-006c62c6
-005e62c9
-007d62cd
-007263d2
-007563d6
-007364d9
-006d65d9
-006966d6
-006966d4
+00afac79
+00b1a977
+00b3a977
+00b2a677
+00afa677
+00aca477
+00aba477
+00aca278
+00ada278
+00ada179
+00aba179
+00b0aa69
+00abaa69
+00a4a077
+00a2a077
+00a58f8f
+00a18f8f
+008b7da9
+00737da9
+006d70bf
+006e70bf
+006f69cd
+007069cd
+007167d4
+007067d4
+006f67d7
+006e67d7
+006f60cd
+006c60cd
+007160c7
+006660c7
+006c60c5
+006c60c5
+005e61cc
+007d61cc
+007262d7
+007562d7
+007364dc
+006d64dc
+006966d7
+006966d7
 006866d0
-006766cd
-006c65c9
-006264c7
+006766d0
+006c65c8
+006265c8
 006264c6
-006e64c5
+006e64c6
 007164c3
 006564c3
 005c63c2
-005c63c3
-005e63c4
-005e63c7
-005e62ca
-005f62cd
-006161d1
-006561d4
-006961d6
+005c63c2
+005e63c5
+005e63c5
+005e62cc
+005f62cc
+006161d3
+006561d3
+006961d7
 006b61d7
-00457a82
+00457982
 00467982
-00477883
-00497685
-004a7586
+00477684
+00497684
+004a7587
 004b7587
 004b7687
-004b7787
-004f7b86
-004f8084
-00578581
-006a8b7f
-007f927c
-008e9779
+004b7687
+004f7d85
+004f7d85
+00578880
+006a8880
+007f947b
+008e947b
 00979b77
-009b9f77
+009b9b77
 009fa478
-00a0a779
-00a1a878
-00a4a977
-00a7aa77
-00aaaa76
-00aca975
-00aea875
-00afa776
-00aca577
-00a9a578
+00a0a478
+00a1a777
+00a4a777
+00a7a975
+00aaa975
+00aca974
+00aea974
+00afa676
+00aca676
+00a9a479
 00a8a479
-00a7a47a
-00a5a57b
-00a2a57c
-00a1a37b
-00a19f79
-00a19b7c
-00a09685
+00a7a57c
+00a5a57c
+00a2a77e
+00a1a77e
+00a1997c
+00a1997c
+00a09090
 009e9090
-0099889d
-008d81a9
-007c79b4
-006e72bd
-006f6dc3
-006f6ac8
-006f68cc
-006f67cf
-006f68d3
-006f68d6
-006f69d8
-006f68d7
-006d66d2
-006665cd
-006965ca
-006b64c6
-006965c4
-006265c4
-006665c6
-008065c9
-006e65ce
-007265d2
-007065d5
-006b66d5
-006a66d3
+009981ab
+008d81ab
+007c72bf
+006e72bf
+006f69c9
+006f69c9
+006f66ce
+006f66ce
+006f68d5
+006f68d5
+006f6ada
+006f6ada
+006d67d0
+006667d0
+006966c8
+006b66c8
+006966c2
+006266c2
+006666c5
+008066c5
+006e66cf
+007266cf
+007066d4
+006b66d4
+006a66d0
 006666d0
-006366cd
-006765ca
-006f64c8
+006366ca
+006766ca
+006f63c6
 006363c6
-005e63c5
+005e63c4
 006563c4
-006d63c3
+006d63c2
 006a63c2
 006263c2
-005d63c3
-005d62c4
-005e62c7
-006062ca
-006262cd
-006562d1
-006962d3
-006e62d5
+005d63c2
+005d62c5
+005e62c5
+006062cb
+006262cb
+006562d2
+006962d2
+006e62d6
 007162d6
-00477983
-00477883
-00487784
-004a7685
-004b7586
+00477982
+00477982
+00487684
+004a7684
+004b7587
 004c7587
 004c7687
-004c7787
-004e7b86
-004f7f84
-00598582
-006a8a7f
-007d907d
-008b957a
-00949879
-00989c78
-009ba078
-009ca278
-009ea478
-00a1a577
-00a4a676
-00a6a775
-00a8a775
-00a9a675
-00aba576
-00a7a377
-00a4a278
-00a2a279
-009fa27b
-009da37c
-009aa47d
-0099a17e
-008c9a80
-008d9486
-008d8f91
-008c8a9d
-008882ab
-00807bb7
-007474c0
-006b6ec6
-00716ac9
-007167cb
-007166cc
+004c7687
+004e7d85
+004f7d85
+00598880
+006a8880
+007d947b
+008b947b
+00949b77
+00989b77
+009ba478
+009ca478
+009ea777
+00a1a777
+00a4a975
+00a6a975
+00a8a974
+00a9a974
+00aba676
+00a7a676
+00a4a479
+00a2a479
+009fa57c
+009da57c
+009aa77e
+0099a77e
+008c997c
+008d997c
+008d9090
+008c9090
+008881ab
+008081ab
+007472bf
+006b72bf
+007169c9
+007169c9
+007166ce
 007166ce
-007167d1
-007168d3
-007169d6
-007169d5
-007167d1
-006967cd
-006966ca
-007066c6
-006766c3
+007168d5
+007168d5
+00716ada
+00716ada
+007167d0
+006967d0
+006966c8
+007066c8
+006766c2
 005b66c2
-006a66c4
-008166c7
-006f66cc
-007266d0
-006f66d2
-006c66d2
-006d66d1
-006a66ce
-006866cb
-006c65c8
-006b64c7
-006063c5
+006a66c5
+008166c5
+006f66cf
+007266cf
+006f66d4
+006c66d4
+006d66d0
+006a66d0
+006866ca
+006c66ca
+006b63c6
+006063c6
 005c63c4
-006363c3
-006963c3
+006363c4
+006963c2
 006763c2
 006163c2
-005e62c3
+005e63c2
 005f62c5
-006162c7
-006362ca
-006561cd
-006762d1
-006a61d3
+006162c5
+006362cb
+006562cb
+006762d2
+006a62d2
 006d62d6
-007061d6
+007062d6
 00487984
-00497884
-004a7784
-004b7685
-004c7586
+00497984
+004a7785
+004b7785
+004c7487
 004d7487
 004e7588
-004e7787
-004c7a86
-004f7e85
-00598383
-00688980
-00788e7e
-0084937b
-008d967a
-00939979
-00949b7a
-00959d7a
-00989f79
-009ba078
-009da277
-009fa276
-009fa276
-00a0a176
-00a3a076
-00a09f77
-009b9e78
-00959d79
-00909d7b
-008c9e7c
-00899e7c
-00879b80
-007b9486
-007c8e90
-007d8a9c
-007d84aa
-007b7eb9
-007677c4
-007171cc
-006d6ccf
+004e7588
+004c7b86
+004f7b86
+00598582
+00688582
+0078907d
+0084907d
+008d9779
+00939779
+00949a7b
+00959a7b
+00989d79
+009b9d79
+009da077
+009fa077
+009fa076
+00a0a076
+00a39d77
+00a09d77
+009b9b78
+00959b78
+00909b7b
+008c9b7b
+00899c7c
+00879c7c
+007b8d8e
+007c8d8e
+007d85a9
+007d85a9
+007b78c8
+007678c8
+00716cd5
+006d6cd5
+007465d1
+007465d1
+007463c9
+007463c9
+007465ca
+007465ca
 007468cf
-007465ce
-007464cb
-007464cb
-007465cc
-007466ce
-007468d1
-007468d1
-007567cf
-006d66cc
-006966c9
-007466c5
-006366c2
-005466c1
-006e66c3
-007d66c7
-007066cb
-007266cf
-006f66d1
-006c66d1
-006f66d0
-006e66cd
-006c65c9
-006f64c7
-006563c6
+007468cf
+007566ce
+006d66ce
+006966c6
+007466c6
+006366c0
+005466c0
+006e66c4
+007d66c4
+007066cd
+007266cd
+006f66d2
+006c66d2
+006f66ce
+006e66ce
+006c65c7
+006f65c7
+006562c5
 005e62c5
 005b62c4
-006062c3
-006462c3
+006062c4
+006462c2
 006362c2
-006062c3
-005f61c4
-006161c6
-006361c8
-006661cb
-006860ce
-006961d2
+006061c3
+005f61c3
+006161c7
+006361c7
+006660cd
+006860cd
+006960d4
 006a60d4
-006c61d7
-006d60d7
-004a7985
-004a7885
-004b7885
-004d7686
-004d7587
-004e7488
+006c60d8
+006d60d8
+004a7984
+004a7984
+004b7785
+004d7785
+004d7487
+004e7487
 004e7588
-004e7688
-004d7987
-004f7d85
-00568283
-00628781
-006e8c7f
+004e7588
+004d7b86
+004f7b86
+00568582
+00628582
+006e907d
 0078907d
-0082937b
-008a967a
-008c987b
-008d997b
-00909b7a
+00829779
+008a9779
+008c9a7b
+008d9a7b
+00909d79
 00939d79
-00959e79
-00959f78
-00969f77
-00959f77
-00999d78
-00969c78
-008f9b79
-00869a7a
-007e9a7c
-007a9a7d
-00769a7d
-00729683
-00738d8d
-00748799
-007783a7
-00797eb6
-007778c5
-007372d0
-00716dd6
-007268d8
-007565d5
-007563d1
-007563cc
-007563ca
-007564ca
-007565cb
-007567ce
-007567ce
-007366cd
-007166cb
-006866c7
-007266c4
-005f66c1
+0095a077
+0095a077
+0096a076
+0095a076
+00999d77
+00969d77
+008f9b78
+00869b78
+007e9b7b
+007a9b7b
+00769c7c
+00729c7c
+00738d8e
+00748d8e
+007785a9
+007985a9
+007778c8
+007378c8
+00716cd5
+00726cd5
+007565d1
+007565d1
+007563c9
+007563c9
+007565ca
+007565ca
+007568cf
+007568cf
+007366ce
+007166ce
+006866c6
+007266c6
+005f66c0
 005466c0
-007466c2
-007166c6
-006e66ca
+007466c4
+007166c4
+006e66cd
+006f66cd
+006a66d2
+006966d2
 006f66ce
-006a66d0
-006966d0
 006f66ce
-006f66cb
-006c65c8
-006e64c6
-006263c5
+006c65c7
+006e65c7
+006262c5
 005e62c5
 005d62c4
 005f62c4
-006062c3
-005f61c3
+006062c2
+005f62c2
 005f61c3
-006061c4
+006061c3
 006161c7
-006460c9
-006760cc
-00695fcf
-00695fd3
-00695fd6
-00695fd8
-00695fd9
+006461c7
+006760cd
+006960cd
+006960d4
+006960d4
+006960d8
+006960d8
 004b7986
-004b7886
-004c7886
-004d7687
-004e7588
+004b7986
+004c7787
+004d7787
 004e7489
 004e7489
-004e7688
-004f7887
-004f7c86
-00538084
-005a8482
+004e7489
+004e7489
+004f7987
+004f7987
+00538184
+005a8184
 00628980
-006b8c7e
+006b8980
 00768f7d
-007f927c
-0083947d
-0085967d
-0088987c
-008b9a7b
+007f8f7d
+0083947e
+0085947e
+0088987d
+008b987d
 008d9d7b
+008f9d7b
 008f9e7a
-008f9e79
-008f9e79
-008e9c7a
-008c9b7a
-0084997b
-007b987c
-0076977e
-0073977f
-006d9780
-00689187
-006a8694
-006c7fa1
-00717cb0
-007577bf
-007572d0
-00716dda
-007168df
-007465df
-007562da
-007561d4
-007561ce
-007561ca
-007563ca
-007564ca
-007566cd
-007566cd
-007066cb
-007266c8
-006866c5
+008f9e7a
+008e9b7b
+008c9b7b
+0084977d
+007b977d
+00769580
+00739580
+006d9582
+00689582
+006a7d9e
+006c7d9e
+007176bc
+007576bc
+00756ddd
+00716ddd
+007164e6
+007464e6
+007560da
+007560da
+007560cb
+007560cb
+007563c9
+007563c9
+007566ce
+007566ce
+007066c9
+007266c9
+006866c2
 006d66c2
-005e66bf
-005b66bf
-007766c1
-006766c5
-006765c9
-006665cd
+005e66bd
+005b66bd
+007766c2
+006766c2
+006765cb
+006665cb
 006165cf
 006265cf
-006b65cc
-006d65c9
-006965c6
-006a64c4
-006163c4
+006b65ca
+006d65ca
+006965c3
+006a65c3
+006162c4
 006062c4
 006061c4
 006061c4
 005f61c3
 005d61c3
-005e61c4
+005e60c5
 006060c5
-006160c8
-00635fca
-00655fce
-00675ed1
-00675ed5
-00675ed7
-00675ed9
-00685eda
-004c7987
-004d7887
+00615fc9
+00635fc9
+00655ed0
+00675ed0
+00675dd7
+00675dd7
+00675ddb
+00685ddb
+004c7986
+004d7986
 004d7787
-004e7688
-004f7589
+004e7787
 004f7489
 004f7489
-004f7589
-00517788
-004f7a87
-00507e85
-00548284
-00598582
+004f7489
+004f7489
+00517987
+004f7987
+00508184
+00548184
+00598980
 00608980
-00698b7f
-00708f7e
-0079927e
-007c957e
-007f977e
-00839a7d
-00879d7c
-008b9e7c
-008d9f7b
-008e9e7c
-00889d7d
-00869b7e
-007f997f
-00789781
-00789583
-00789585
-00729586
-00698e8d
-0061809a
-006278a8
-006975b6
-007171c4
-00746dd3
-007269dd
-007365e2
-007862e2
-007461dd
-007460d7
-007460d1
-007461cd
-007463cc
-007464cd
-007466cf
+00698f7d
+00708f7d
+0079947e
+007c947e
+007f987d
+0083987d
+00879d7b
+008b9d7b
+008d9e7a
+008e9e7a
+00889b7b
+00869b7b
+007f977d
+0078977d
+00789580
+00789580
+00729582
+00699582
+00617d9e
+00627d9e
+006976bc
+007176bc
+00746ddd
+00726ddd
+007364e6
+007864e6
+007460da
+007460da
+007460cb
+007460cb
+007463c9
+007463c9
 007466ce
-006c66ca
-006f66c6
-006866c3
-006766c0
-005f66be
-006266be
-007466c0
-006766c4
-006165c9
-006065cc
-005a65ce
-005d65cd
-006865cb
-006a65c8
-006565c4
-006464c3
+007466ce
+006c66c9
+006f66c9
+006866c2
+006766c2
+005f66bd
+006266bd
+007466c2
+006766c2
+006165cb
+006065cb
+005a65cf
+005d65cf
+006865ca
+006a65ca
+006565c3
+006465c3
 006162c4
-006261c4
+006262c4
 006261c4
 006261c4
 006061c3
-005e60c4
+005e61c3
 005f60c5
-00615fc7
+006160c5
 00605fc9
-00625ecb
-00645ecf
-00655dd2
-00655dd6
-00665cd9
+00625fc9
+00645ed0
+00655ed0
+00655dd7
+00665dd7
 00685ddb
-006a5cdc
+006a5ddb
 004e7888
 004e7888
-004f7788
+004f7689
 00507689
-00507589
+0050748a
 0050748a
 0050738a
-00507489
+0050738a
 00527688
-004f7887
+004f7688
 004e7c86
-00527f85
+00527c86
 00558284
-00598582
-005e8781
-00638b80
-006d9180
-006f957f
-0074987f
-007a9b7e
-00809e7e
-0086a07d
-008ba17e
-008da17f
-00899f80
-00879d82
-00809a85
-007b9788
-007e958b
-0081948d
-0079948f
-006e8b95
-005c7ba1
-005c72ad
-006170b8
-006b6dc4
-007069d1
-007066da
-007363df
+00598284
+005e8682
+00638682
+006d9480
+006f9480
+00749a7f
+007a9a7f
+0080a17e
+0086a17e
+008ba37f
+008da37f
+00899f83
+00879f83
+0080998a
+007b998a
+007e9490
+00819490
+00799394
+006e9394
+005c70aa
+005c70aa
+00616cbe
+006b6cbe
+007066d5
+007066d5
+007361e0
 007961e0
-007360dd
-007360d9
-007360d5
-007361d2
-007363d2
-007364d2
-007366d4
-007367d1
-006966ca
-006766c4
-006366c1
+00735fdc
+00735fdc
+007361d5
+007361d5
+007364d4
+007364d4
+007367d7
+007367d7
+006966c5
+006766c5
+006366bf
 006166bf
-005e66bd
-006066bd
-006965c0
-006f65c3
-006765c8
-006465cb
-005e64cd
-005f64cd
-006a64ca
-006a64c7
-006164c3
-005d63c2
-005f62c3
+005e66bb
+006066bb
+006965c1
+006f65c1
+006765ca
+006465ca
+005e64ce
+005f64ce
+006a64c8
+006a64c8
+006163c0
+005d63c0
+005f61c4
 006161c4
-006361c4
+006360c4
 006360c4
 006160c4
 006160c4
-00615fc6
-00615ec8
-00615eca
-00625dcd
-00635dd1
-00635cd4
-00655cd8
+00615ec7
+00615ec7
+00615dcc
+00625dcc
+00635cd3
+00635cd3
+00655bda
 00685bda
-006c5cdc
-006f5bdd
-004f7889
-00507789
-00507789
-00517589
-0052758a
+006c5bde
+006f5bde
+004f7888
+00507888
+00507689
+00517689
+0052748a
 0052748a
 0052738a
-0051748a
-00527589
-004f7788
-004f7a87
+0051738a
+00527688
+004f7688
+004f7c86
 00527c86
-00557f85
-00568184
-00588383
-005a8882
-00628f81
+00558284
+00568284
+00588682
+005a8682
+00629480
 00659480
-006b9780
+006b9a7f
 00729a7f
-007b9e7f
-0083a07f
-0089a17f
-008da181
-008d9f84
-008a9c87
-0083998c
-007f9690
-00839394
-00869197
-007c9099
-006e87a0
-005a77aa
-00586db3
-005b6cbb
-006569c3
-006b67cc
-006b64d3
-006f62d8
-007661db
-007360da
-007360d9
-007361d7
-007362d6
-007364d5
-007365d5
-007367d6
-007367d1
-006666c9
-005e66c3
-005e66c0
-005d66bd
-005c66bc
-005a66bc
-005f65bf
-007765c3
-007265c8
-006e64cb
+007ba17e
+0083a17e
+0089a37f
+008da37f
+008d9f83
+008a9f83
+0083998a
+007f998a
+00839490
+00869490
+007c9394
+006e9394
+005a70aa
+005870aa
+005b6cbe
+00656cbe
+006b66d5
+006b66d5
+006f61e0
+007661e0
+00735fdc
+00735fdc
+007361d5
+007361d5
+007364d4
+007364d4
+007367d7
+007367d7
+006666c5
+005e66c5
+005e66bf
+005d66bf
+005c66bb
+005a66bb
+005f65c1
+007765c1
+007265ca
+006e65ca
 006564ce
-006564cd
-006d64ca
-006a63c6
-005e63c2
-005862c1
-005d61c3
+006564ce
+006d64c8
+006a64c8
+005e63c0
+005863c0
+005d61c4
 006061c4
 006360c4
 006360c4
 006260c4
-00625fc5
+006260c4
 00625ec7
-00625ec9
-00635dcb
-00635dce
-00635cd2
-00635cd5
-00655bd9
-00695bdb
+00625ec7
+00635dcc
+00635dcc
+00635cd3
+00635cd3
+00655bda
+00695bda
 006f5bde
 00735bde
-004e788a
-004f778a
-004f778a
-0050758a
-0050758a
+004e788b
+004f788b
+004f768a
+0050768a
+0050748a
 0051748a
 0051738a
 0051738a
 00537489
-00527688
+00527489
+00517888
 00517888
-00517a87
 00527c87
-00547e86
-00577f85
-00598484
-00598b82
-005e9081
+00547c87
+00577e86
+00597e86
+00598d82
+005e8d82
 00659480
-006b977f
-00749b7f
-007f9e7f
-00879f81
-00899f83
-00909c87
-008f998c
-00879592
-00809198
-00878e9e
-008f8ca2
+006b9480
+00749c7f
+007f9c7f
+00879f82
+00899f82
+00909a8b
+008f9a8b
+00879199
+00809199
 00878aa6
-007582ad
-006272b6
-005c6abc
-005b69bf
-006467c2
-006c65c6
-006d64ca
-006e62cf
-007062d2
-007361d5
-007362d7
-007363d8
-007564d8
-007666d7
-007467d6
-006f68d5
-006b68cf
-006167c7
+008f8aa6
+008786af
+007586af
+006269c0
+005c69c0
+005b67c1
+006467c1
+006c64c4
+006d64c4
+006e62cc
+007062cc
+007362d5
+007362d5
+007364da
+007564da
+007667d7
+007467d7
+006f69d3
+006b69d3
+006166c1
 005c66c1
-005a66be
+005a66bc
 005b66bc
-005965bb
-005965bc
-006265bf
-006f65c4
-006e64c9
+005965ba
+005965ba
+006265c1
+006f65c1
+006e64cc
 006964cc
-006564cf
-006863ce
-007363ca
-007a62c7
-006f62c3
-005a62c2
-005d61c4
+006563d0
+006863d0
+007362c9
+007a62c9
+006f62c1
+005a62c1
+005d60c5
 006260c5
 006360c5
 006160c5
-00635fc5
+00635fc6
 00685fc6
-00675ec8
-00625eca
-00645dcd
-00625dd0
-005b5cd3
-00685cd6
-00735cda
+00675ec9
+00625ec9
+00645dcf
+00625dcf
+005b5cd5
+00685cd5
+00735cdc
 00725cdc
-00715bdf
-00665bdf
+00715be0
+00665be0
 004e788b
-004f778b
-004f768b
-0050758a
+004f788b
+004f768a
+0050768a
 0050748a
 0051748a
 0051738a
 0051738a
 00547489
-00537589
-00527688
+00537489
+00527888
 00517888
-00517a88
-00527b87
-00537c87
-00548086
-00578684
-005b8b82
-00608f81
-00679380
-0071977f
-007d9a80
-00849b81
-00859b84
-008e9889
-00949490
-00948f97
-00918b9f
-009387a7
-009484ad
-008782b2
-00737bb9
-00726fc2
-006f68c6
-006d67c5
-006e66c4
-006f65c4
-006f64c5
-006f63c8
-007163cc
-007563d1
-007463d5
-007564d7
-007665d8
-007666d6
-007367d3
-006d68d1
-006868cb
-006567c4
-005f66bf
-005c66bd
-005b66bb
-005965bb
-005965bc
-006165c0
-006c64c5
-006a64ca
-006463ce
-006e63d0
-007362cf
+00517c87
+00527c87
+00537e86
+00547e86
+00578d82
+005b8d82
+00609480
+00679480
+00719c7f
+007d9c7f
+00849f82
+00859f82
+008e9a8b
+00949a8b
+00949199
+00919199
+00938aa6
+00948aa6
+008786af
+007386af
+007269c0
+006f69c0
+006d67c1
+006e67c1
+006f64c4
+006f64c4
+006f62cc
 007162cc
-007d62c8
-007c62c4
-006061c3
+007562d5
+007462d5
+007564da
+007664da
+007667d7
+007367d7
+006d69d3
+006869d3
+006566c1
+005f66c1
+005c66bc
+005b66bc
+005965ba
+005965ba
+006165c1
+006c65c1
+006a64cc
+006464cc
+006e63d0
+007363d0
+007162c9
+007d62c9
+007c62c1
+006062c1
 006660c5
 005b60c5
-005b60c6
-006860c6
+005b60c5
+006860c5
 006a5fc6
-005f5fc7
-005d5fc9
-00665ecb
-005f5ece
-00605dd1
-00625dd4
-006b5dd7
-00725ddb
-00715cdd
-006c5cdf
-00655ce0
+005f5fc6
+005d5ec9
+00665ec9
+005f5dcf
+00605dcf
+00625cd5
+006b5cd5
+00725cdc
+00715cdc
+006c5be0
+00655be0
 004e778c
-004f778b
-004f768b
+004f778c
+004f758b
 0050758b
 0050748a
 0051748a
 00517389
 00517389
 00527389
-00527489
+00527389
 00517589
-00517689
-00517889
-00517989
-00527a89
-00527c88
-00558086
-00578484
-005a8882
-00618d81
-006d9180
-00799480
-007f9581
-007f9584
-0089928a
-00968d92
-009f889b
-009e82a4
-009a7eae
-00947ab6
-008477bc
-007272c4
-007a6ccf
-007c68d1
-007b67cc
-007467c8
-006e66c4
-006d65c3
-006e65c5
-006f64c9
-007564ce
-007565d2
-007565d4
+00517589
+00517789
+00517789
+0052798a
+0052798a
+00557f86
+00577f86
+005a8782
+00618782
+006d917f
+0079917f
+007f9381
+007f9381
+00898d8e
+00968d8e
+009f81a2
+009e81a2
+009a76b7
+009476b7
+008470c5
+007270c5
+007a68da
+007c68da
+007b67cd
+007467cd
+006e66c2
+006d66c2
+006e65c4
+006f65c4
+007565cf
+007565cf
+007566d4
 007666d4
-007667d2
+007667ce
 007167ce
-006a68ca
-006568c5
-006667c1
+006a68c4
+006568c4
+006666be
 006066be
-005c66bc
-005a66bb
+005c66ba
+005a66ba
+005865bb
 005865bb
-005865bd
-005f64c1
-006864c6
-007364cc
+005f64c4
+006864c4
+007363d0
 006a63d0
-007763d2
-007862d1
-006762ce
-007861ca
-008761c5
+007762d4
+007862d4
+006761cd
+007861cd
+008761c4
 007161c4
-006560c6
-005d60c6
+006560c7
+005d60c7
 005a60c7
 005f60c7
-006560c8
-00655fc9
-00645fcb
-00645fcd
-005d5fcf
-00605ed2
-006b5ed5
-006e5ed8
-006e5edb
-006d5ede
-00655edf
-00635de0
+006560c9
+006560c9
+00645fcc
+00645fcc
+005d5fd1
+00605fd1
+006b5fd7
+006e5fd7
+006e5fdd
+006d5fdd
+00655ee0
+00635ee0
 004e778c
-004f768c
+004f778c
 004f758b
 0050758b
 0050748a
-00517489
+0051748a
 00517389
 00517389
 004f7389
 00507389
-00517489
+00517589
 00527589
-00537689
-0053778a
-0053788a
-00537a8a
-00547d89
-00548087
-00558484
-005c8882
-006a8e80
+00537789
+00537789
+0053798a
+0053798a
+00547f86
+00547f86
+00558782
+005c8782
+006a917f
 0076917f
-007b9280
-007a9183
-00838d8a
-00948992
-00a0829d
-009f7ca8
-009877b3
-008f72bc
-00816fc4
-00746ccc
-007369d6
-007b68d8
-007d67d2
+007b9381
+007a9381
+00838d8e
+00948d8e
+00a081a2
+009f81a2
+009876b7
+008f76b7
+008170c5
+007470c5
+007368da
+007b68da
+007d67cd
 007567cd
-006c67c8
-006c66c5
-006e66c6
-006e65c9
-007465cd
-007465d0
-007566d2
-007566d1
-007566ce
-007067ca
-006967c5
-006367c1
-006366bf
-005e66bd
-005a66bb
+006c66c2
+006c66c2
+006e65c4
+006e65c4
+007465cf
+007465cf
+007566d4
+007566d4
+007567ce
+007067ce
+006968c4
+006368c4
+006366be
+005e66be
+005a66ba
 005966ba
 005865bb
-005a65be
-006064c2
-006764c8
-007b63ce
-006f62d2
+005a65bb
+006064c4
+006764c4
+007b63d0
+006f63d0
 007262d4
-006e62d3
-006061d0
-006e61cc
-008861c8
-008d61c6
+006e62d4
+006061cd
+006e61cd
+008861c4
+008d61c4
 007760c7
 006b60c7
-005d60c8
-005960c8
+005d60c7
+005960c7
 005f60c9
-006760ca
-006760cc
-00635fce
-006060d0
-006460d3
-007060d6
-006d60d9
-006860dc
-006960de
-00625fdf
-00655fe0
+006760c9
+00675fcc
+00635fcc
+00605fd1
+00645fd1
+00705fd7
+006d5fd7
+00685fdd
+00695fdd
+00625ee0
+00655ee0
 004e768c
 004f768c
 004f758b
 0050758b
-0050748a
+00507489
 00517489
-00517389
+00517388
 00517388
 00517388
 00517388
 00527489
-00537589
-0054758a
-0054768b
-0054768b
-0054788c
-00557b8c
-00547e8a
-00548287
-005b8683
-00688c80
-00768f7e
-007b907e
-007a8f81
-00808b88
-00908691
-009d7f9c
-009d79a8
-009772b5
-008f6dc0
-00836ac8
-007868d0
-006d68d9
-007768db
+00537489
+0054758b
+0054758b
+0054768c
+0054768c
+00557b8e
+00547b8e
+00548386
+005b8386
+00688d7e
+00768d7e
+007b907d
+007a907d
+0080888a
+0090888a
+009d7aa2
+009d7aa2
+00976dbd
+008f6dbd
+008365ce
+007865ce
+006d68df
+007768df
 007b68d6
-007567d2
+007568d6
+006f67ce
+006f67ce
+007067cd
 006f67cd
-006f67cb
-007067cb
-006f66cc
-007166cf
 007166d1
-007266d1
-007366cf
-007266cb
-006e66c7
-006766c3
-006266bf
-005f66bd
+007166d1
+007266d0
+007366d0
+007265c8
+006e65c8
+006765bf
+006265bf
+005f66bc
 005c66bc
-005966bb
 005966ba
-005c65bb
-006065be
-006564c4
-006964c9
-007063d0
+005966ba
+005c65bc
+006065bc
+006564c7
+006964c7
+007062d4
 006c62d4
-006662d7
-006561d6
-006561d3
-006761ce
-007a60ca
-009860c8
-009960c8
-007a60c8
+006661d9
+006561d9
+006561d2
+006761d2
+007a60c9
+009860c9
+009960c9
+007a60c9
 006360c9
 006360c9
-006460ca
+006460cb
 005d60cb
-005d60cd
-006760cf
-006261d1
-006861d4
-006e61d6
-006961d9
-006561dc
-006761de
-006861df
-006c61e0
+005d61ce
+006761ce
+006261d3
+006861d3
+006e62d8
+006962d8
+006562dd
+006762dd
+006862e0
+006c62e0
 004e768c
-004f758c
+004f768c
 004f758b
-0050758a
-0050748a
+0050758b
+00507489
 00517489
 00517388
 00517388
 0054758b
 0053758b
 0053768c
-0052778d
-00567b8f
-00557e8d
-00558289
-005c8784
-006b8c80
-00798f7d
-0080917d
-007f8f7f
-00848b86
-0090868f
-009b7e9b
-009d77a8
-009b71b6
-00966bc1
-008b67ca
-008066d2
-007267d9
-007668db
-007868d8
-007668d5
-007367d2
-007267d0
-006f67d0
-006d67d1
-006f66d2
-006e66d2
+0052768c
+00567b8e
+00557b8e
+00558386
+005c8386
+006b8d7e
+00798d7e
+0080907d
+007f907d
+0084888a
+0090888a
+009b7aa2
+009d7aa2
+009b6dbd
+00966dbd
+008b65ce
+008065ce
+007268df
+007668df
+007868d6
+007668d6
+007367ce
+007267ce
+006f67cd
+006d67cd
+006f66d1
 006e66d1
-006f65cf
-006f65cb
-006b64c7
-006664c3
+006e66d0
+006f66d0
+006f65c8
+006b65c8
+006665bf
 006165bf
-005e66bd
-005b66bb
-005a66bb
-005c66bb
+005e66bc
+005b66bc
+005a66ba
+005c66ba
 006165bc
-006665bf
-006964c5
-006b63cb
-006562d1
-006962d6
+006665bc
+006964c7
+006b64c7
+006562d4
+006962d4
 006361d9
-006661d8
-006e61d5
-006261d0
-006460cc
-008060ca
+006661d9
+006e61d2
+006261d2
+006460c9
+008060c9
 009660c9
 008460c9
 007260c9
-006860ca
+006860c9
 006360cb
-006160cc
+006160cb
 006461ce
-006861d0
-006361d2
-006c62d4
-006862d7
-006862d9
-006863dc
-006963de
-007363df
-006f63e0
+006861ce
+006361d3
+006c61d3
+006862d8
+006862d8
+006862dd
+006962dd
+007362e0
+006f62e0
 004e758c
 004f758c
-004f758b
-0050748a
-0050748a
+004f748b
+0050748b
+00507489
 00517489
 00517388
 00517388
 00547489
 0054748b
 0053748b
-0053758c
-0053788e
-00557c91
-0056818f
-0058858b
-005f8a85
-006e8f80
-007e927d
-0087947b
-0088927e
-00918e83
-0094888d
-00978099
-009879a7
-009b71b5
-009b6cc1
-009568ca
-008c66d1
-007f67d5
-007968d7
+0053758d
+0053758d
+00558093
+00568093
+00588989
+005f8989
+006e937d
+007e937d
+0087967a
+0088967a
+00918d85
+00948d85
+00977d9f
+00987d9f
+009b6ebc
+009b6ebc
+009566cf
+008c66cf
+007f68d5
+007968d5
 007668d6
 007768d6
-007868d6
-007568d6
-007067d6
-006d67d6
-006e66d6
-006c66d5
-006b65d3
-006b64d0
-006b64cc
+007868d8
+007568d8
+007067d9
+006d67d9
+006e66d8
+006c66d8
+006b64d2
+006b64d2
+006b63cb
+006863cb
+006362c5
+005f62c5
+005d66bc
+005c66bc
+005b65ba
+005e65ba
+006365bd
+006865bd
+006963c9
 006863c9
-006363c5
-005f64c2
-005d65be
-005c66bb
-005b65bb
-005e65bb
-006365bc
-006865c0
-006964c6
-006863cc
-006562d3
+006562d7
 006762d7
-006661da
-006861d9
-006b60d6
-006360d2
-005f60ce
-006760cb
+006661dc
+006861dc
+006b60d5
+006360d5
+005f60cc
+006760cc
 007460ca
 008060ca
-007e60ca
+007e60cb
 006c60cb
-006261cb
-006861cd
-006c62cf
-006762d1
-006762d3
-007463d5
-006463d8
-006c63da
-006f64dc
-006a64de
-007964df
-006864e0
+006261cc
+006861cc
+006c62d0
+006762d0
+006763d4
+007463d4
+006464d9
+006c64d9
+006f64dd
+006a64dd
+007965e0
+006865e0
 004e758c
-004f758b
-004f758b
-0050758a
-00507589
-00517588
-00517588
-00517587
-00547587
-00537587
-00537688
-00537688
-00537689
-0054778a
-0055778b
-00557a8c
-00547f8e
-0056838d
-00598889
-00628d84
-0071927f
-0082957b
-008d987a
-008f977c
-009c9382
-00988d8a
-00918596
-008f7da2
-009575af
-009c6fba
-009b6bc3
-009668ca
-008c68d0
-008068d3
-007768d4
-007a68d5
-007e68d6
-007a67d7
-007467d8
-007266d8
-006e66d7
-006c65d5
-006a64d3
-006964cf
-006863cc
+004f758c
+004f748b
+0050748b
+00507489
+00517489
+00517388
+00517388
+00547388
+00537388
+00537489
+00537489
+0053748b
+0054748b
+0055758d
+0055758d
+00548093
+00568093
+00598989
+00628989
+0071937d
+0082937d
+008d967a
+008f967a
+009c8d85
+00988d85
+00917d9f
+008f7d9f
+00956ebc
+009c6ebc
+009b66cf
+009666cf
+008c68d5
+008068d5
+007768d6
+007a68d6
+007e68d8
+007a68d8
+007467d9
+007267d9
+006e66d8
+006c66d8
+006a64d2
+006964d2
+006863cb
+006663cb
+006162c5
+005d62c5
+005c66bc
+005b66bc
+005b65ba
+005d65ba
+006365bd
+006765bd
 006663c9
-006162c6
-005d63c2
-005c65be
-005b66bb
-005b66bb
-005d66bc
-006366bd
-006765c1
-006664c6
-006364cb
-006663d1
-006262d5
-006461d7
-006561d7
+006363c9
+006662d7
+006262d7
+006461dc
+006561dc
 006360d5
-006a5fd2
-006e5fcf
-00655fcd
-006260cd
-007160cd
-007d61cd
-007961cc
-006961cd
-005e61cd
-006061d0
-006862d2
-006b62d4
-007c63d7
+006a60d5
+006e60cc
+006560cc
+006260ca
+007160ca
+007d60cb
+007960cb
+006961cc
+005e61cc
+006062d0
+006862d0
+006b63d4
+007c63d4
 006464d9
-007264db
-007565dd
-006965de
-007966de
-005e66df
-004d768b
+007264d9
+007564dd
+006964dd
+007965e0
+005e65e0
+004d768a
 0051768a
-0053768a
+00537689
 00527689
-00517788
-00517787
-00527886
-00537986
-00527985
+00517887
+00517887
 00527a85
-00527b86
-00537b86
-00557b87
-00587c88
-005b7c88
-005d7e88
-005a8288
-005b8686
-00618a83
-006c8f80
-007b957c
-0088997a
-00909c79
-00939c7c
-00a09a80
-009c9487
-00958d91
-0091859a
-00977ca5
-009f75ad
-009f70b4
-009a6cbd
-009369c8
-007f68ce
-007968cf
-007d68d1
+00537a85
+00527c84
+00527c84
+00527d85
+00537d85
+00557e86
+00587e86
+005b7e87
+005d7e87
+005a8584
+005b8584
+00618d7f
+006c8d7f
+007b9979
+00889979
+0090a079
+0093a079
+00a09c82
+009c9c82
+00958d92
+00918d92
+00977ba4
+009f7ba4
+009f6fb0
+009a6fb0
+009368cb
+007f68cb
+007968ce
+007d68ce
 008167d3
-007b67d5
-007167d6
+007b67d3
+007166d6
 007366d6
-006b66d5
-006a65d3
-006964d1
-006764cd
-006763ca
+006b65d4
+006a65d4
+006964ce
+006764ce
 006763c7
-006362c4
-005e63c1
-005c65bd
-005c66bb
-005866bc
+006763c7
+006362c2
+005e62c2
+005c66ba
+005c66ba
+005867bd
 006667bd
-006e67bf
-005e67c2
-005966c5
-006566c9
-005f65cc
-006263cf
-006562d1
-006660d1
-00665fd1
-00675dd1
-00695cd0
-006a5dd1
-006460d2
-006561d2
-007162d0
-007d61cf
+006e68c1
+005e68c1
+005967c6
+006567c6
+005f65cb
+006265cb
+006561ce
+006661ce
+00665dd0
+00675dd0
+00695ad1
+006a5ad1
+006462d6
+006562d6
+007162d1
+007d62d1
 007461ce
 006061ce
-005d61d1
-006a61d3
-006c62d7
-007d63da
-006464dd
-007065de
-007266de
-006967de
-008068dd
-006b68dc
-004e758a
-0051758a
-00537589
-00517688
-004f7787
-004f7886
+005d60d2
+006a60d2
+006c62da
+007d62da
+006464e0
+007064e0
+007267df
+006967df
+008069db
+006b69db
+004e768a
+0051768a
+00537689
+00517689
+004f7887
+004f7887
 00507a85
-00517b84
-00517d84
-00547e84
-00577f84
-005b8084
-005e8185
-00608185
-00628186
-00638385
-00668684
-00688a82
-006f8e7f
-0078937d
-0083997a
-008c9d79
-0092a179
-0095a17b
-008d9f7f
-00959a85
-009a928d
-00978995
-0095809e
-009878a5
-009c72ab
-009d6db4
-009f6ac2
-009868c9
-008c68cb
+00517a85
+00517c84
+00547c84
+00577d85
+005b7d85
+005e7e86
+00607e86
+00627e87
+00637e87
+00668584
+00688584
+006f8d7f
+00788d7f
+00839979
+008c9979
+0092a079
+0095a079
+008d9c82
+00959c82
+009a8d92
+00978d92
+00957ba4
+00987ba4
+009c6fb0
+009d6fb0
+009f68cb
+009868cb
+008c68ce
 007b68ce
-007767d1
-007c67d4
+007767d3
+007c67d3
 007966d6
-007566d7
-006a65d6
+007566d6
 006a65d4
-006964d1
-006964cd
-006a63c9
-006963c6
-006662c3
-006363c0
-005965bc
+006a65d4
+006964ce
+006964ce
+006a63c7
+006963c7
+006662c2
+006362c2
+005966ba
 006166ba
-005f67bb
+005f67bd
 006667bd
-007468bf
+007468c1
 006c68c1
-005d67c3
-005766c6
-006666c8
-006664ca
-006962cc
-006b60ce
-006a5ed0
-00655dd1
-00645bd2
-00655cd3
-006560d5
-006661d5
-006f61d2
-007961d0
-007461cf
-006760cf
-006660d1
-006f60d4
-006661d8
-007561dc
-006563df
+005d67c6
+005767c6
+006665cb
+006665cb
+006961ce
+006b61ce
+006a5dd0
+00655dd0
+00645ad1
+00655ad1
+006562d6
+006662d6
+006f62d1
+007962d1
+007461ce
+006761ce
+006660d2
+006f60d2
+006662da
+007562da
+006564e0
 006b64e0
-006c65df
-006b66de
-008467dc
-007c68db
-004f728b
-0050728a
+006c67df
+006b67df
+008469db
+007c69db
+004f708b
+0050708b
 00527389
-00517588
-00507687
-004f7886
-00507b84
+00517389
+00507786
+004f7786
+00507d83
 00527d83
-00547f83
-005a8183
-00628383
-00698583
-006c8684
-006d8784
-006c8885
-006c8984
-00708c81
-00748f7f
-007a947e
+00548282
+005a8282
+00628682
+00698682
+006c8a83
+006d8a83
+006c8b84
+006c8b84
+0070907f
+0074907f
+007a997c
 0081997c
-00879e79
-008da378
-0092a579
-0095a57b
-009ba27f
-009b9c84
-0092948b
-00838a93
-007b809b
-008178a1
-008b71a6
-00916caf
-009869bc
-009568c4
+0087a478
+008da478
+0092a979
+0095a979
+009ba280
+009ba280
+0092908e
+0083908e
+007b7b9d
+00817b9d
+008b6da6
+00916da6
+009868c0
+009568c0
 009367c7
-008f67cb
-008667d0
-007867d4
-007066d7
-006e66d9
-006965d9
-006965d7
-006a64d3
-006a64ce
-006a63ca
-006763c5
-006562c2
-006363bf
-005564bb
+008f67c7
+008667d2
+007867d2
+007066da
+006e66da
+006965da
+006965da
+006a64d2
+006a64d2
+006a63c7
+006763c7
+006562c0
+006362c0
+005565b9
 006165b9
-005d66ba
-005c66bb
-007367bc
-008067be
-007067c0
-006066c2
-006266c5
-005f64c8
-006263ca
-006b61cd
-006c5fd0
-00675dd2
-00655cd3
-00695dd4
-00675fd6
-006760d5
-006c60d3
-00725fd1
-00725fd0
-006e5ed0
-006d5ed2
-00705ed5
-00625fd9
-006d5fdc
-006861df
-006662e0
-006563df
-006d64dd
-008365dc
-008965db
-004f6f8b
-0050708a
-0051728a
-00527488
-00517687
-00517985
+005d66b9
+005c66b9
+007367bb
+008067bb
+007067bf
+006067bf
+006265c5
+005f65c5
+006262cb
+006b62cb
+006c5ed2
+00675ed2
+00655cd5
+00695cd5
+006760d6
+006760d6
+006c5fd2
+00725fd2
+00725ecf
+006e5ecf
+006d5dd3
+00705dd3
+00625edb
+006d5edb
+006860e0
+006660e0
+006563de
+006d63de
+008364db
+008964db
+004f708b
+0050708b
+00517389
+00527389
+00517786
+00517786
 00547d83
-00588082
-005d8382
-00658681
-00708881
-00788b81
-007b8d82
-00798e82
-00778f82
-00759081
-0076937f
-007b967d
+00587d83
+005d8282
+00658282
+00708682
+00788682
+007b8a83
+00798a83
+00778b84
+00758b84
+0076907f
+007b907f
 0080997c
-00849d7a
-0087a179
-008ca378
-0091a579
-0095a37b
-009a9f7e
-00999983
-0095918a
-00908790
-008f7e97
-0089769d
-00786fa1
-00666ba9
-006f69b5
-007568bd
-007c67c1
+0084997c
+0087a478
+008ca478
+0091a979
+0095a979
+009aa280
+0099a280
+0095908e
+0090908e
+008f7b9d
+00897b9d
+00786da6
+00666da6
+006f68c0
+007568c0
+007c67c7
 008967c7
-008967cd
+008967d2
 007a67d2
-007066d7
+007066da
 006866da
 006d65da
-006d65d9
-006d64d5
-006d64d0
-006b63cb
-006663c6
-006362c3
-006363bf
-005b64bc
-006065ba
+006d65da
+006d64d2
+006d64d2
+006b63c7
+006663c7
+006362c0
+006362c0
+005b65b9
+006065b9
 005866b9
 005066b9
-006c67ba
+006c67bb
 008967bb
-008367bc
-007b67be
-006066c1
+008367bf
+007b67bf
+006065c5
 005965c5
-005a63c8
-006562cc
-006a60d0
-00655ed3
-00655dd5
-006c5dd6
-00675fd6
-00685fd5
-006a5fd3
-006c5ed2
-006f5ed0
-00705dd0
+005a62cb
+006562cb
+006a5ed2
+00655ed2
+00655cd5
+006c5cd5
+006760d6
+006860d6
+006a5fd2
+006c5fd2
+006f5ecf
+00705ecf
 006d5dd3
-006a5dd5
-00635dd9
-00685edc
-006c5fdf
-006560df
-006361de
-006d62dd
-007963db
-008563da
-00526e8b
-00506f8a
-0051718a
-00527388
-00527786
-00527b84
-00577f82
-005d8381
-006a8780
-00728b80
-007d8f7f
-0084927f
-0084947f
-0081967f
-007d977f
-007b997e
-007e9b7c
-00829d7b
-00859e7a
-00879f79
-0089a078
-008da078
-00949e79
-009a9b7b
-0098967e
-009b9083
-00a28988
-00ad818d
-00b67993
-00ae7297
-008f6d9b
-00726aa2
-005869ac
-006668b4
-006068ba
-006268c0
-006f67c8
-007f67cf
-008466d5
-006f66d9
-007365db
-007065da
-006f64d7
-007064d2
-006d63cd
-006863c8
-006562c4
-006563c1
-006564be
-006265bb
+006a5dd3
+00635edb
+00685edb
+006c60e0
+006560e0
+006363de
+006d63de
+007964db
+008564db
+00526d8b
+00506d8b
+00517189
+00527189
+00527985
+00527985
+00578281
+005d8281
+006a8c7f
+00728c7f
+007d947e
+0084947e
+0084997e
+0081997e
+007d9c7e
+007b9c7e
+007ea07a
+0082a07a
+0085a079
+0087a079
+00899f78
+008d9f78
+00949a7a
+009a9a7a
+00988f80
+009b8f80
+00a28189
+00ad8189
+00b67393
+00ae7393
+008f6a99
+00726a99
+005868ad
+006668ad
+006068b9
+006268b9
+006f67ca
+007f67ca
+008466d7
+006f66d7
+007365dc
+007065dc
+006f64d6
+007064d6
+006d63cb
+006863cb
+006562c3
+006562c3
+006565bd
+006265bd
 005b66ba
-005266b9
-006a67b8
-008467b8
-008167b9
-008867ba
-007066bd
-006365c1
-005c64c6
-006263ca
-006661d0
-006260d3
-00625fd7
-00695ed8
+005266ba
+006a67b7
+008467b7
+008167b7
+008867b7
+007066bc
+006366bc
+005c64c7
+006264c7
+006661d2
+006261d2
+00625fd9
+00695fd9
 00655fd7
-00685fd6
-00695fd4
-006a5ed2
-006e5dd1
+00685fd7
+00695ed3
+006a5ed3
+006e5cd1
 00715cd1
-006d5cd4
-00655cd6
-00655cda
-00655cdd
-006d5ddf
-00675edf
-00655fde
-006d60dc
-006d61da
-007661d9
-00566f8b
-0052708a
-00517289
-00527588
-00537986
-00547d83
-005b8282
-00648780
+006d5bd5
+00655bd5
+00655bdc
+00655bdc
+006d5ce0
+00675ce0
+00655edd
+006d5edd
+006d60d9
+007660d9
+00566d8b
+00526d8b
+00517189
+00527189
+00537985
+00547985
+005b8281
+00648281
 00758c7f
-007c907e
-0085947d
-0088987d
-00869a7d
-00819c7d
-007d9e7d
-007c9f7c
-0082a27a
-0085a279
+007c8c7f
+0085947e
+0088947e
+0086997e
+0081997e
+007d9c7e
+007c9c7e
+0082a07a
+0085a07a
 0088a079
-008b9e79
-008f9b79
-00959879
-009e937a
-00a48e7c
-00b1897f
-00b38383
-00b47d87
-00b9788b
-00c2738f
-00c66e92
-00bd6b95
-00b0699b
-007d69a4
-007569ab
-005d69b1
-006568b8
-007168c1
-007667c8
-008567cf
-007f66d4
-007566d7
-006f65d8
-006b65d6
-006d64d3
-006d64cf
+008ba079
+008f9f78
+00959f78
+009e9a7a
+00a49a7a
+00b18f80
+00b38f80
+00b48189
+00b98189
+00c27393
+00c67393
+00bd6a99
+00b06a99
+007d68ad
+007568ad
+005d68b9
+006568b9
+007167ca
+007667ca
+008566d7
+007f66d7
+007565dc
+006f65dc
+006b64d6
+006d64d6
+006d63cb
 006963cb
-006663c8
-006663c4
-006364c2
-005f65bf
-006366bd
-005e66bb
-006f67b9
+006662c3
+006662c3
+006365bd
+005f65bd
+006366ba
+005e66ba
+006f67b7
 007d67b7
 007667b7
-008667b8
-008166ba
-007066be
-006265c3
-006264c9
-006462cf
-006461d3
-006660d7
-006a60d8
-006460d7
-00675fd6
-00695fd4
+008667b7
+008166bc
+007066bc
+006264c7
+006264c7
+006461d2
+006461d2
+00665fd9
+006a5fd9
+00645fd7
+00675fd7
+00695ed3
 006a5ed3
-006e5dd2
-00715cd2
-006d5cd4
-00675bd7
-00665bdb
-00655bdd
-006a5cdf
-00695cdf
-00695ddd
-006c5edb
-00685fd9
-006a5fd8
-0058728b
-0053738a
-00517589
-00547887
-00567c85
-005a8182
-00648681
+006e5cd1
+00715cd1
+006d5bd5
+00675bd5
+00665bdc
+00655bdc
+006a5ce0
+00695ce0
+00695edd
+006c5edd
+006860d9
+006a60d9
+0058738b
+0053738b
+00517888
+00547888
+00568083
+005a8083
+00648b7f
 00708b7f
-007c907d
-0081957c
-0086997b
-00869c7a
-00819f7a
-007ca17a
-007aa37a
-007aa47a
-0080a779
-0084a579
-008ba179
-00939b79
-009c947a
-00a78c7b
-00b1847c
-00b87d7e
-00c27681
-00c97284
-00ce6e86
-00ce6c89
-00d06b8c
-00d16a8e
-00cc6990
-00c56994
-00b16a9b
-008f6aa1
-00726aa6
-008d69ad
-008c69b6
-006c68be
-007b68c6
-008f67cc
-007a66d0
-007165d3
+007c957b
+0081957b
+00869d79
+00869d79
+0081a379
+007ca379
+007aa679
+007aa679
+0080aa78
+0084aa78
+008b9e79
+00939e79
+009c8b7b
+00a78b7b
+00b1777e
+00b8777e
+00c26a83
+00c96a83
+00ce6687
+00ce6687
+00d0678c
+00d1678c
+00cc698e
+00c5698e
+00b16b99
+008f6b99
+00726aa4
+008d6aa4
+008c69b5
+006c69b5
+007b68c5
+008f68c5
+007a66cf
+007166cf
 006a65d3
-006d64d3
+006d65d3
 006e64d1
-006963cf
-006663cd
-006663ca
-006264c8
-005e64c4
+006964d1
+006663cf
+006663cf
+006264c9
+005e64c9
 006765c2
-006165be
-006c66bb
-007666b8
-006c66b6
-008266b6
+006165c2
+006c66ba
+007666ba
+006c66b5
+008266b5
 008a66b8
-007966bc
-006765c1
-006064c7
-006363cd
-006762d2
-006962d6
-006a61d8
+007966b8
+006765c3
+006065c3
+006363d0
+006763d0
+006962d8
+006a62d8
 006661d7
-006860d6
-006b60d4
-006b5fd3
+006861d7
+006b60d3
+006b60d3
 006c5ed2
-006c5dd3
-006a5cd5
-00685cd7
-00675bdb
+006c5ed2
+006a5cd6
+00685cd6
+00675bdd
 00685bdd
 00665cdf
-00695cde
-006b5ddc
-00685eda
-00685ed7
-00655ed6
-0057768a
-00527789
-00517a88
-00567d86
-005b8184
-00618581
-006e8b80
-007c907d
-007e947c
-0082997a
-00849c79
-0082a078
-007ca278
-0077a478
-0076a678
-0077a778
-007fa978
-0085a679
-0090a079
-009e987a
-00ac8e7b
-00ba847d
-00c67a7e
-00cd7180
-00d36b82
-00d86784
-00da6586
-00d76588
-00d5668a
-00d3678b
-00cd698c
-00c66a8f
-00c16c93
-00a26c98
-00856c9d
-009d6ba3
-00946bab
-006e6ab3
-008169bb
-009a68c1
-008567c7
-007866cc
-007066cf
-007165d1
-007265d1
-006d64d2
-006864d2
-006763d0
-006b64cd
-006464ca
-006965c7
-005b65c3
-006366be
-006e66bb
-006566b8
-007d66b7
+00695cdf
+006b5ddb
+00685ddb
+00685ed5
+00655ed5
+0057738b
+0052738b
+00517888
+00567888
+005b8083
+00618083
+006e8b7f
+007c8b7f
+007e957b
+0082957b
+00849d79
+00829d79
+007ca379
+0077a379
+0076a679
+0077a679
+007faa78
+0085aa78
+00909e79
+009e9e79
+00ac8b7b
+00ba8b7b
+00c6777e
+00cd777e
+00d36a83
+00d86a83
+00da6687
+00d76687
+00d5678c
+00d3678c
+00cd698e
+00c6698e
+00c16b99
+00a26b99
+00856aa4
+009d6aa4
+009469b5
+006e69b5
+008168c5
+009a68c5
+008566cf
+007866cf
+007065d3
+007165d3
+007264d1
+006d64d1
+006863cf
+006763cf
+006b64c9
+006464c9
+006965c2
+005b65c2
+006366ba
+006e66ba
+006566b5
+007d66b5
 008f66b8
-007e65bb
-006a65c0
-005f64c6
-006063cc
-006563d1
-006662d5
-006362d7
-006a62d7
-006b62d6
-006c61d4
-006b60d2
-00685fd2
-00665ed3
-00665dd5
-00665cd8
-006a5cdb
-006c5cdd
-00655cde
-00695ddd
+007e66b8
+006a65c3
+005f65c3
+006063d0
+006563d0
+006662d8
+006362d8
+006a61d7
+006b61d7
+006c60d3
+006b60d3
+00685ed2
+00665ed2
+00665cd6
+00665cd6
+006a5bdd
+006c5bdd
+00655cdf
+00695cdf
 006a5ddb
-00645ed8
-00685fd5
-00645fd4
-00597c89
-00517d88
-00518087
-005e8385
-006b8683
-00728b80
-00788f7f
-007e947c
-0081987b
+00645ddb
+00685ed5
+00645ed5
+00597f88
+00517f88
+00518485
+005e8485
+006b8b81
+00728b81
+0078947d
+007e947d
+00819c79
 00849c79
-00829f78
+0082a277
 0078a277
-006da477
-006ba677
-0075a677
-0080a777
-0088a878
-0090a579
-009e9e7a
-00ad957b
-00bd8b7d
-00cc807f
-00d77580
-00de6d82
-00de6784
-00e46385
-00e56286
-00df6287
-00da6589
-00d66789
-00cc6989
-00c16b8b
-00ac6e8d
-009e6e90
-00856e93
-008b6d98
-007e6d9f
-00636ca6
-007a6bae
-008d6ab5
-009d69bc
-008c68c3
+006da676
+006ba676
+0075a776
+0080a776
+0088a879
+0090a879
+009e9a7b
+00ad9a7b
+00bd837f
+00cc837f
+00d76e82
+00de6e82
+00de6185
+00e46185
+00e56087
+00df6087
+00da6588
+00d66588
+00cc6a88
+00c16a88
+00ac708a
+009e708a
+00856f90
+008b6f90
+007e6e9c
+00636e9c
+007a6bab
+008d6bab
+009d69bb
+008c69bb
 007a66c9
-007265cd
-007365d1
-007264d4
-006d64d6
-006664d6
-006e64d3
-006764d0
-006d64cd
-005c64c8
+007266c9
+007365d4
+007265d4
+006d64da
+006664da
+006e64d5
+006764d5
+006d64ce
+005c64ce
 005965c3
-006165bf
+006165c3
 005f65bb
-006665b9
+006665bb
 008c65ba
-008a65bb
-007c65c0
-006964c4
-006163ca
-006663cf
-006663d2
-006063d5
-006764d5
-007464d5
-007a63d3
-006f62d2
-006161d2
-005e60d2
-00615ed5
-00645dd8
-006a5ddb
-00685ddd
-00655ddd
-00645edc
-00645fd9
-00675fd6
-006a60d3
-006c60d1
-00548287
-00558386
-005b8585
-00678883
-00708c81
-0076907f
+008a65ba
+007c64c1
+006964c1
+006163cc
+006663cc
+006663d3
+006063d3
+006765d5
+007465d5
+007a63d2
+006f63d2
+006161d1
+005e61d1
+00615ed6
+00645ed6
+006a5edc
+00685edc
+00655edd
+00645edd
+006460d7
+006760d7
+006a61d0
+006c61d0
+00547f88
+00557f88
+005b8485
+00678485
+00708b81
+00768b81
 007b947d
-0080987c
-007f9b7a
-007c9f78
-0076a177
-006fa477
-006aa576
+0080947d
+007f9c79
+007c9c79
+0076a277
+006fa277
+006aa676
 006ea676
 0077a776
-0080a777
-0094a679
-009ca37a
-00a99d7b
-00b8957c
-00c58b7e
-00d18280
-00da7882
-00df7183
-00df6b84
-00e46785
-00e36686
-00dd6787
-00d76887
-00cf6a87
-00c16c88
-00b46e88
-00a37188
-00997289
-0088718c
-00887090
-007f7096
-00736f9c
-00816da3
-008c6cab
-00a96ab3
+0080a776
+0094a879
+009ca879
+00a99a7b
+00b89a7b
+00c5837f
+00d1837f
+00da6e82
+00df6e82
+00df6185
+00e46185
+00e36087
+00dd6087
+00d76588
+00cf6588
+00c16a88
+00b46a88
+00a3708a
+0099708a
+00886f90
+00886f90
+007f6e9c
+00736e9c
+00816bab
+008c6bab
+00a969bb
 009a69bb
-008768c2
+008766c9
 007a66c9
-007566cf
+007565d4
 007465d4
-007265d8
-007064d9
-006864d7
-006964d4
-007464d1
-006e64cc
-006365c7
+007264da
+007064da
+006864d5
+006964d5
+007464ce
+006e64ce
+006365c3
 006065c3
-005965bf
-005165bc
-006865bc
-008364bd
-009064c0
-007b63c4
-005f63c9
-005a63cd
-006263d0
-006963d2
-006465d4
-007d65d4
-008b64d2
-007c63d1
-006962d1
-006461d2
-00665fd4
-00655ed7
-005f5eda
-005f5edb
-00615edc
-00635fda
+005965bb
+005165bb
+006865ba
+008365ba
+009064c1
+007b64c1
+005f63cc
+005a63cc
+006263d3
+006963d3
+006465d5
+007d65d5
+008b63d2
+007c63d2
+006961d1
+006461d1
+00665ed6
+00655ed6
+005f5edc
+005f5edc
+00615edd
+00635edd
 006660d7
-006961d4
+006960d7
 006c61d0
-006e61ce
-00518785
-005d8884
-006a8a83
-00738d82
-00789180
-007c947e
-007f987c
-00809b7b
-007e9e79
+006e61d0
+00518a84
+005d8a84
+006a8e82
+00738e82
+0078957e
+007c957e
+007f9c7b
+00809c7b
+007ea178
 0076a178
-006da377
+006da577
 0069a577
 006ea677
 0078a677
 0083a677
-0089a577
-009ea379
+0089a677
+009ea07a
 00a7a07a
-00b39c7b
-00c1977d
-00cc907f
-00d48980
-00da8382
-00dd7d83
-00de7884
-00df7485
-00dd7286
-00d77186
-00d07186
-00c67186
-00b57187
-00a57386
-00947584
-008b7684
-00867587
-007c748a
-0079738f
-007d7294
-007d709b
-00826ea2
+00b39a7c
+00c19a7c
+00cc9080
+00d49080
+00da8583
+00dd8583
+00de7c85
+00df7c85
+00dd7786
+00d77786
+00d07586
+00c67586
+00b57486
+00a57486
+00947881
+008b7881
+00867685
+007c7685
+0079748d
+007d748d
+007d709a
+0082709a
 00a76cab
-00a16ab3
-009869bc
-008e68c4
-008566cc
-007e65d2
-007865d6
+00a16cab
+009869be
+008e69be
+008566ce
+007e66ce
+007865d8
 007565d8
 006c64d8
-006c64d6
-007064d3
-007364cf
-006364ca
-006364c6
+006c64d8
+007064d2
+007364d2
+006364c9
+006364c9
 006964c2
-005864c0
-005564bf
-006f63bf
-008063c2
-007663c4
-006663c8
-006362cb
+005864c2
+005563c0
+006f63c0
+008063c3
+007663c3
+006662c9
+006362c9
 006462ce
-006263d0
-006365d2
-008565d2
-009864d1
-008963d0
-007262d0
-006c61d1
-006c60d3
-00685fd6
-00675fd8
-00665fda
-00655fda
-006260d8
-005f61d5
-005b62d1
-005862cd
-005662cb
-005a8b83
-006a8c83
+006262ce
+006366d2
+008566d2
+009864d0
+008964d0
+007262cf
+006c62cf
+006c60d4
+006860d4
+00675fd9
+00665fd9
+006560d9
+006260d9
+005f62d2
+005b62d2
+005863ca
+005663ca
+005a8a84
+006a8a84
 00788e82
-007b9180
+007b8e82
 007d957e
-0081987d
-00809b7b
-007c9e7a
-0079a179
-0071a378
+0081957e
+00809c7b
+007c9c7b
+0079a178
+0071a178
 006aa577
-006ba677
+006ba577
 0076a677
 0084a677
-008fa678
-0095a478
-00a1a179
-00a99e7a
-00b69b7b
-00c2987d
-00cb947f
+008fa677
+0095a677
+00a1a07a
+00a9a07a
+00b69a7c
+00c29a7c
+00cb9080
 00d09080
-00d48c82
-00d58783
-00d68384
-00d48084
-00cf7e85
-00ca7c85
-00c67b85
-00bc7a85
-00ab7985
-009c7984
-008a7a82
-007a7981
-007d7884
-006f7787
-0070768b
-007b7490
-006f7296
-0075709e
-008c6ea6
-00956cae
-009f6ab7
-00a269bf
-009d67c7
-009266cd
-008366d2
-007865d4
-007765d5
-007264d4
+00d48583
+00d58583
+00d67c85
+00d47c85
+00cf7786
+00ca7786
+00c67586
+00bc7586
+00ab7486
+009c7486
+008a7881
+007a7881
+007d7685
+006f7685
+0070748d
+007b748d
+006f709a
+0075709a
+008c6cab
+00956cab
+009f69be
+00a269be
+009d66ce
+009266ce
+008365d8
+007865d8
+007764d8
+007264d8
 006964d2
-007264cf
-006264cb
-006d64c8
-007e64c5
-006763c3
-005d63c2
-005e62c2
+007264d2
+006264c9
+006d64c9
+007e64c2
+006764c2
+005d63c0
+005e63c0
 005f63c3
-006662c5
-006f62c8
-007261ca
-006a62cc
+006663c3
+006f62c9
+007262c9
+006a62ce
 006062ce
-006465d0
-007d65d1
+006466d2
+007d66d2
 008d64d0
-008363cf
+008364d0
 007262cf
-006b61d0
-006b60d2
-006960d5
-006d5fd7
-006d5fd8
-006c60d8
-006b60d6
-006962d3
-006662cf
-006463cb
-006363c8
-00698e82
+006b62cf
+006b60d4
+006960d4
+006d5fd9
+006d5fd9
+006c60d9
+006b60d9
+006962d2
+006662d2
+006463ca
+006363ca
+00698f81
 00768f81
-007f9180
+007f937f
 007e937f
-007e977d
+007e9a7c
 00809a7c
-007c9d7a
+007ca079
 0074a079
-006da378
+006da578
 006ba578
-006ba678
+006ba778
 0071a778
-007ca778
-008aa778
+007ca779
+008aa779
 0096a779
-009da479
-00a49f7a
+009da779
+00a49c7a
 00aa9c7a
 00b49b7b
-00bd9a7c
-00c3987e
-00c6957f
-00c69380
-00c79081
-00c98e82
-00c48b83
-00bd8984
-00b98784
-00b68684
-00ae8484
-009f8384
-00928283
-00867f81
-006e7d80
-00727c83
-00677a86
-006a798a
-0074778f
-00657595
-0072739c
-006d70a4
-007c6eac
-00916cb3
-00a06aba
+00bd9b7b
+00c3997e
+00c6997e
+00c69680
+00c79680
+00c99282
+00c49282
+00bd8e83
+00b98e83
+00b68a83
+00ae8a83
+009f8883
+00928883
+00867f7f
+006e7f7f
+00727d83
+00677d83
+006a798c
+0074798c
+00657598
+00727598
+006d70a7
+007c70a7
+00916bb5
+00a06bb5
 00a768c1
-00a367c6
-009566ca
-008865cd
-008265d0
-007b65d0
-006d64cf
+00a368c1
+009566c7
+008866c7
+008265cf
+007b65cf
+006d64cd
 007a64cd
-006a63cb
-007763c9
-007d63c7
-006062c6
-006362c6
-005c61c5
-005c62c6
+006a63ca
+007763ca
+007d62c8
+006062c8
+006361c7
+005c61c7
+005c61c7
 006661c7
-006c61c8
+006c60c9
 006a60c9
-006a61cb
-006f61cc
+006a60ca
+006f60ca
 006764cf
 006d64cf
-007163ce
-007062ce
-006a61ce
-006560cf
-006660d1
-006a5fd4
-006c5fd6
+007162cd
+007062cd
+006a60cd
+006560cd
+00665fd2
+006a5fd2
 006c5fd7
-006b60d6
-006b60d4
-006c62d0
-006c62cc
-006d63c8
-006e63c5
-00748f80
-007c9080
-007f927f
-007b957e
-0079997c
-00799c7b
-00749f79
-006ba279
-0068a478
-006ca678
+006c5fd7
+006b60d5
+006b60d5
+006c62cd
+006c62cd
+006d63c4
+006e63c4
+00748f81
+007c8f81
+007f937f
+007b937f
+00799a7c
+00799a7c
+0074a079
+006ba079
+0068a578
+006ca578
 0072a778
 007aa778
-0084a879
+0084a779
 0090a779
-009aa879
-00a1a579
-00a79f7a
+009aa779
+00a1a779
+00a79c7a
 00ac9c7a
-00b29b7a
-00b69a7b
-00b8997d
-00b7987e
-00b6967f
-00b6957f
-00b99381
-00b39281
-00ac9082
-00a88f82
-00a68e82
-009e8d82
-00918d83
-00868982
-007d8380
-00647f80
-00677f83
-00617d86
-00647b8b
-006b7990
-00607796
-0070749d
-006072a4
-006c6fab
-007c6db1
-008b6bb6
-009a69bc
-00a568bf
-00a567c2
-009f66c5
-008f65ca
-008765cc
-007564cc
-007d64cb
+00b29b7b
+00b69b7b
+00b8997e
+00b7997e
+00b69680
+00b69680
+00b99282
+00b39282
+00ac8e83
+00a88e83
+00a68a83
+009e8a83
+00918883
+00868883
+007d7f7f
+00647f7f
+00677d83
+00617d83
+0064798c
+006b798c
+00607598
+00707598
+006070a7
+006c70a7
+007c6bb5
+008b6bb5
+009a68c1
+00a568c1
+00a566c7
+009f66c7
+008f65cf
+008765cf
+007564cd
+007d64cd
 006c63ca
-007d63c9
-007562c9
-005b61c8
-006161c8
-005e61c8
-006261c8
-006960c8
+007d63ca
+007562c8
+005b62c8
+006161c7
+005e61c7
+006261c7
+006961c7
 006560c9
 005d60c9
 006460ca
-007261cb
-006e62cd
-006663ce
+007260ca
+006e64cf
+006664cf
 006362cd
-006661cc
+006662cd
 006760cd
-00655fce
-00675fd0
-006d5ed3
-006e5fd5
-006c5fd6
-00685fd5
-006560d2
-006261ce
-006262ca
-006262c6
-006263c3
-0077907f
-007b917e
-007c937e
-0078957d
-0073997b
-006f9c7a
-006ba079
-0066a378
-006ba578
+006560cd
+00675fd2
+006d5fd2
+006e5fd7
+006c5fd7
+006860d5
+006560d5
+006262cd
+006262cd
+006263c4
+006263c4
+0077907e
+007b907e
+007c947d
+0078947d
+00739b7a
+006f9b7a
+006ba278
+0066a278
+006ba778
 0071a778
-007aa879
-0083a879
+007aa979
+0083a979
 008ba97a
-0094a87a
-009ca97a
-00a2a67a
-00a5a079
-00a79c79
+0094a97a
+009ca97b
+00a2a97b
+00a59d78
+00a79d78
 00aa9b79
-00ac9a7a
-00ab987b
-00a9977c
-00a8957d
-00a7947d
-00a9937f
-00a4937f
-00a09380
-009f9381
-009c9481
-00959481
-00899582
-00809081
-00738780
-00618181
-00618184
-005c7f88
-005e7d8d
-00627b93
-005d7899
-006a769f
-006473a6
-006c70ab
-00746eb0
-007b6cb3
-00896ab7
-009a68b9
-00a567ba
-00a666be
+00ac9b79
+00ab977b
+00a9977b
+00a8947c
+00a7947c
+00a9937e
+00a4937e
+00a09580
+009f9580
+009c9781
+00959781
+00899981
+00809981
+0073837f
+0061837f
+00618186
+005c8186
+005e7d91
+00627d91
+005d789e
+006a789e
+006472a9
+006c72a9
+00746db1
+007b6db1
+008969b5
+009a69b5
+00a566b7
+00a666b7
 00a165c4
-009965c7
-008664c8
-008264c8
+009965c4
+008664c6
+008264c6
 006f63c8
-008263c9
-006c62c9
+008263c8
+006c61c9
 005d61c9
-005f61c9
-005e60c9
-005f60c9
-00625fc9
+005f60ca
+005e60ca
+005f5fca
+00625fca
 00625fca
 00615fca
 00645fc9
-006960ca
-006e61cc
+00695fc9
+006e61cd
 006961cd
-006561cc
 006560cb
-00665fcc
-00665ecd
-00695ecf
-006d5dd2
-006b5ed4
-006a5ed5
-00685ed4
-00665fd1
-006560cd
-006661c8
-006762c4
-006862c2
-0075917e
-0078927e
+006560cb
+00665ecb
+00665ecb
+00695dd0
+006d5dd0
+006b5dd5
+006a5dd5
+00685ed3
+00665ed3
+006560ca
+006660ca
+006762c1
+006862c1
+0075907e
+0078907e
 007a947d
-0076967c
-006e9a7b
-00689d7a
-0065a179
-0064a378
-006ea678
-0073a878
+0076947d
+006e9b7a
+00689b7a
+0065a278
+0064a278
+006ea778
+0073a778
 007ca979
-0085aa79
-008daa7a
-0095aa7a
-009baa7b
-009fa77a
-009ea179
-00a09d79
-00a29d7a
-00a29c7a
-00a19b7b
-00a0997c
-009f987c
-009f977d
-009e977e
-009b967f
-009a967f
-009b9680
-009a9681
-00939681
-00889681
-00809181
-00708782
-00668184
-00638085
-005d7e88
-005c7d8b
-005f7a91
-005e7898
-0066759f
-006b73a6
-007270ad
-00776eb2
-00796cb5
-00816bb6
-009069b7
-009b68b6
-009e67b9
-00ac67be
-00a966c1
-009c66c3
-009265c4
-007a64c6
-008763c7
-006162c7
-005661c8
-005d60c8
-006060c8
-005f5fc9
-005c5fc9
-005f5fc9
-00685fc9
+0085a979
+008da97a
+0095a97a
+009ba97b
+009fa97b
+009e9d78
+00a09d78
+00a29b79
+00a29b79
+00a1977b
+00a0977b
+009f947c
+009f947c
+009e937e
+009b937e
+009a9580
+009b9580
+009a9781
+00939781
+00889981
+00809981
+0070837f
+0066837f
+00638186
+005d8186
+005c7d91
+005f7d91
+005e789e
+0066789e
+006b72a9
+007272a9
+00776db1
+00796db1
+008169b5
+009069b5
+009b66b7
+009e66b7
+00ac65c4
+00a965c4
+009c64c6
+009264c6
+007a63c8
+008763c8
+006161c9
+005661c9
+005d60ca
+006060ca
+005f5fca
+005c5fca
+005f5fca
+00685fca
 006b5fc9
-006860ca
-006660cd
-006a60cd
-006960cc
-00645fcb
-00625fcb
-00645ecc
-00665ece
+00685fc9
+006661cd
+006a61cd
+006960cb
+006460cb
+00625ecb
+00645ecb
+00665dd0
 00675dd0
-006a5ed3
-00695ed3
+006a5dd5
+00695dd5
 00675ed3
-00655fd0
-00635fcc
-006160c8
-006061c4
-006061c2
-0075927e
+00655ed3
+006360ca
+006160ca
+006062c1
+006062c1
+0075937e
 0072937e
-006c957d
-0065977c
-00619a7b
-00619d7a
-0064a17a
-0067a479
-0073a779
+006c967d
+0065967d
+00619c7b
+00619c7b
+0064a37a
+0067a37a
+0073a879
 0079a879
-0082aa79
+0082ab79
 008aab79
-008eac7a
-0092ac7a
-0095ac7a
-0097a97a
-0097a27b
-00989f7b
-00989f7c
-0099a07c
-0099a07c
-0098a07d
-00979f7d
-00969f7e
-00969d7e
-00959c7f
+008ead7a
+0092ad7a
+0095ad7a
+0097ad7a
+0097a07c
+0098a07c
+0098a17d
+0099a17d
+0099a37d
+0098a37d
+0097a37e
+0096a37e
+0096a07f
+0095a07f
 00949a7f
-0094987f
-00929580
+00949a7f
+00929380
 008c9380
-00839280
-007b8d83
-006d8388
-00667e8a
-00607d87
+00838f80
+007b8f80
+006d7d8f
+00667d8f
+00607b85
 005d7b85
-005c7a86
-005c778a
-005e7591
-0061739b
-007171a7
-007b6fb0
-007c6eb8
-007c6dbb
-00856cbb
-008f6bb9
-00926ab6
-00946ab6
-00a86ab9
-00af6abb
-00a668bd
-00ab67c0
-009166c2
-008c65c3
-006063c5
-005c62c5
-006061c5
-005f60c5
-005e60c6
-005e60c6
-005f60c7
-006160c7
-006460c9
-006560cb
-006760ce
-00635fcf
+005c7782
+005c7782
+005e7392
+00617392
+00716fae
+007b6fae
+007c6dbf
+007c6dbf
+00856cbd
+008f6cbd
+00926bb4
+00946bb4
+00a86cb7
+00af6cb7
+00a669bc
+00ab69bc
+009166c1
+008c66c1
+006063c4
+005c63c4
+006060c4
+005f60c4
+005e60c4
+005e60c4
+005f60c6
+006160c6
+006461c9
+006561c9
+00675fd1
+00635fd1
 00615fcd
-00645fcc
-006a5fca
-00695fca
-00615fcc
-00595ecd
+00645fcd
+006a5fc9
+00695fc9
+00615fcb
+00595fcb
 00695fd0
-00675fd1
-00665fd1
-006a5fcf
-00655fcc
-00605fc9
-006260c6
-005b60c4
-0074947e
-006e957d
+00675fd0
+00665fd0
+006a5fd0
+00655fcb
+00605fcb
+00625fc5
+005b5fc5
+0074937e
+006e937e
 0066967d
-005f987c
+005f967d
 005e9c7b
-00629f7b
-0068a27a
-006ca57a
-0075a779
-007ba979
-0084aa79
+00629c7b
+0068a37a
+006ca37a
+0075a879
+007ba879
+0084ab79
 008bab79
-008fac7a
-0091ac7a
-0094ab7a
-0095a97a
-0096a37b
-0096a17c
-0096a17c
-0095a27d
+008fad7a
+0091ad7a
+0094ad7a
+0095ad7a
+0096a07c
+0096a07c
+0096a17d
+0095a17d
 0094a37d
-0093a47d
-0092a47e
+0093a37d
+0092a37e
 0092a37e
-0092a17f
-00919f7f
-00919b7f
-0091987f
-00909480
-008a9180
+0092a07f
+0091a07f
+00919a7f
+00919a7f
+00909380
+008a9380
 00808f80
-00798984
-006b818d
-00657c8e
-005f7b88
-005d7a84
-005c7881
-005b7684
-005c748c
-005e7298
-006770a6
-00756eb2
-007c6ebb
-00806dc0
-00896cbf
-00916cbc
-00936bb7
-00956bb5
-009d6bb7
-009f6bb9
+00798f80
+006b7d8f
+00657d8f
+005f7b85
+005d7b85
+005c7782
+005b7782
+005c7392
+005e7392
+00676fae
+00756fae
+007c6dbf
+00806dbf
+00896cbd
+00916cbd
+00936bb4
+00956bb4
+009d6cb7
+009f6cb7
 00a069bc
-00ae68be
-00a267c1
-009265c3
-006564c4
-005d62c5
-006161c5
+00ae69bc
+00a266c1
+009266c1
+006563c4
+005d63c4
+006160c4
 006060c4
-006060c5
-005f60c5
+006060c4
+005f60c4
 006060c6
-006160c7
+006160c6
 006261c9
-006360cb
-00685fcf
-00655fd0
-00635fce
-00645fcc
-00675fca
+006361c9
+00685fd1
+00655fd1
+00635fcd
+00645fcd
+00675fc9
 00665fc9
-00625fca
-005d5fcc
-00645fce
+00625fcb
+005d5fcb
+00645fd0
 00645fd0
 00625fd0
-00655fcf
-00655fcc
-00645fca
-00655fc7
+00655fd0
+00655fcb
+00645fcb
+00655fc5
 00635fc5
-006e957d
+006e967d
 0065967d
-005b987d
+005b9a7c
 00569a7c
-00589e7b
-0061a17b
-006aa47a
+0058a07b
+0061a07b
+006aa679
 0070a679
-0079a879
+0079aa79
 007faa79
 0087aa79
 008daa79
-008faa79
-0090a979
-0091a87a
+008fa879
+0090a879
+0091a67a
 0093a67a
-0094a37b
+0094a27b
 0093a27b
-0092a37b
-0090a47c
-008fa57c
-008ea57d
+0092a47b
+0090a47b
+008fa67c
+008ea67c
+008da57e
 008da57e
-008da47e
-008ea27f
-008d9f7f
-008e9b80
-008f9780
-008d9381
-00878f81
-007d8d81
-00758786
-0067808f
-00627c90
-005e7b89
-005d7983
-005c777f
-005b7581
-005b7389
-005c7195
-006070a5
-00706eb2
-007a6ebd
-007e6dc2
-00876cc1
-008d6cbe
-00906bb8
-00946bb7
-00956bb9
+008ea17f
+008da17f
+008e9980
+008f9980
+008d9081
+00879081
+007d8a81
+00758a81
+00677c96
+00627c96
+005e7a85
+005d7a85
+005c767b
+005b767b
+005b728b
+005c728b
+00606fad
+00706fad
+007a6dc3
+007e6dc3
+00876cc2
+008d6cc2
+00906bb6
+00946bb6
+00956abc
 00926abc
-009c69be
-00ab67c0
-00ac66c3
-009264c5
-006763c6
-005d62c6
-006161c6
-006160c5
+009c68c0
+00ab68c0
+00ac65c5
+009265c5
+006762c7
+005d62c7
+006160c6
+006160c6
 00615fc6
 00615fc6
-00615fc8
+00615fc9
 00625fc9
-006260ca
-006260cc
-00685fd0
-00675fd0
-00655fce
-00645fcb
-00635fc9
-00625fc8
+006260cb
+006260cb
+00685fd2
+00675fd2
+00655fcc
+00645fcc
+00635fc7
+00625fc7
 00625fc9
-00615fcb
-00635fcd
-00665fcf
+00615fc9
+00635fce
+00665fce
 00645fcf
-00625fce
-00655fcc
-00655fca
-00645fc7
+00625fcf
+00655fcb
+00655fcb
+00645fc6
 00675fc6
 0067967d
-005f977c
+005f967d
 00569a7c
-00539c7b
+00539a7c
 005aa07b
-0066a37a
+0066a07b
 0070a679
-0076a879
+0076a679
 0080aa79
-0084ab79
+0084aa79
 008baa79
-008ea979
+008eaa79
+008fa879
 008fa879
-008fa779
-008fa57a
-0090a47a
-0090a37a
-008fa37b
+008fa67a
+0090a67a
+0090a27b
+008fa27b
 008ea47b
-008ca57b
+008ca47b
 008ba67c
 008ba67c
-008ba67d
-008ba47e
-008ea27f
-008d9f7f
-008d9a80
-008d9681
-008b9181
-00848d81
-00798a82
-00718586
-00637f90
-005f7b91
-005d7a89
-005e7983
-005e777e
-005c757f
-005c7387
-005d7192
-006470a2
-00726eb0
-007a6ebb
-007c6dc1
+008ba57e
+008ba57e
+008ea17f
+008da17f
+008d9980
+008d9980
+008b9081
+00849081
+00798a81
+00718a81
+00637c96
+005f7c96
+005d7a85
+005e7a85
+005e767b
+005c767b
+005c728b
+005d728b
+00646fad
+00726fad
+007a6dc3
+007c6dc3
 00826cc2
-00876cc0
-008d6bbc
-00956bbb
-00996abd
-009469bf
-009e68c1
-009b67c3
+00876cc2
+008d6bb6
+00956bb6
+00996abc
+00946abc
+009e68c0
+009b68c0
 009e65c5
-008264c7
-006662c8
-005c61c8
-006060c7
-00615fc7
-00625fc7
-00635fc8
+008265c5
+006662c7
+005c62c7
+006060c6
+006160c6
+00625fc6
+00635fc6
+00635fc9
 00635fc9
-00635fca
 006360cb
-006260cd
-00645fd1
-00665fd0
-00665fcd
-00655fca
-00625fc8
+006260cb
+00645fd2
+00665fd2
+00665fcc
+00655fcc
+00625fc7
 00605fc7
-00615fc8
+00615fc9
 00635fc9
-00655fcc
+00655fce
 006d5fce
-00705fce
-00675fce
-00655fcc
-00625fca
-005e5fc8
+00705fcf
+00675fcf
+00655fcb
+00625fcb
+005e5fc6
 00665fc6
 0064977c
-005f987c
-005a9b7c
-005c9e7b
-0065a27b
+005f977c
+005a9d7b
+005c9d7b
+0065a57a
 0072a57a
-007ca979
-0081ab79
-0087ac78
-008aac78
+007cac79
+0081ac79
+0087ae78
+008aae78
 008eab78
-0090a978
-008ea778
+0090ab78
+008ea578
 008da578
+008da179
+008da179
 008da379
-008da279
 008da379
-008da37a
-008ca57a
+008ca67a
 008ba67a
-008ba77b
-008ba77c
+008ba87b
+008ba87b
 008ca77d
-008da57e
-0090a27f
-008f9e7f
-008d9980
-008c9481
-00898e82
-00808a82
-00758683
-006c8287
-00607d8f
-005d7990
-005c7989
-005e7884
-005f767f
-005f7480
-005f7286
-00607190
-0065709e
-00726eaa
-007a6eb6
-007d6dbd
-00826cc2
-00856bc3
-008b6bc2
-00956ac1
-009e69c1
-009a68c2
-009d67c4
+008da77d
+0090a07f
+008fa07f
+008d9681
+008c9681
+00898a83
+00808a83
+00758383
+006c8383
+00607992
+005d7992
+005c7886
+005e7886
+005f757e
+005f757e
+005f7189
+00607189
+00656fa2
+00726fa2
+007a6db9
+007d6db9
+00826bc4
+00856bc4
+008b6bc5
+00956bc5
+009e68c3
+009a68c3
+009d66c6
 008266c6
-008064c8
-006e63c9
-006461ca
-006160ca
-00605fc9
-00615ec9
-00625ec9
+008063ca
+006e63ca
+006460cb
+006160cb
+00605eca
+00615eca
+00625eca
 00645eca
-00655ecb
 00655ecc
-00645fcd
+00655ecc
 00645fcf
-005e60d1
-006260d0
-006560cd
-006560ca
-006260c7
-006060c6
-006160c6
-006260c7
-006360ca
-006d60cc
+00645fcf
+005e60d2
+006260d2
+006560cb
+006560cb
+006260c5
+006060c5
+006160c5
+006260c5
+006360cb
+006d60cb
 007c60ce
 007060ce
 006560cc
-006260cb
-005d60c9
-006760c7
-0060967c
-005f987c
-005f9b7c
-00659f7b
-006fa37a
-007ba77a
-0085ab79
-008aad79
+006260cc
+005d60c8
+006760c8
+0060977c
+005f977c
+005f9d7b
+00659d7b
+006fa57a
+007ba57a
+0085ac79
+008aac79
 008eae78
 0090ae78
-0092ad78
-0090aa78
-008da778
-008ba478
-008ba279
-008ca279
+0092ab78
+0090ab78
+008da578
+008ba578
+008ba179
+008ca179
+008ca379
 008ca379
-008ca479
-008ca57a
 008ca67a
-008ca77b
-008da77b
+008ca67a
+008ca87b
+008da87b
 008ea77d
-008ea47e
-0091a17f
-008e9c80
-008b9781
-00899182
-00848c83
-007b8783
+008ea77d
+0091a07f
+008ea07f
+008b9681
+00899681
+00848a83
+007b8a83
 006f8383
-00667f86
-005f7b8c
-005c788c
-005c7888
-005e7785
-00607583
-00607483
-00607288
-0062708f
-005c6f99
-006a6ea3
-00756daf
-007b6cb8
-00806bc0
-00826bc5
-00856bc8
-008e6ac8
-009a68c6
-009567c5
-008f66c7
-006d64c9
-006963cb
-006362cc
-006460cc
-00685fcc
-00605ecb
-00615ecb
-00635ecb
-00645ecb
+00668383
+005f7992
+005c7992
+005c7886
+005e7886
+0060757e
+0060757e
+00607189
+00627189
+005c6fa2
+006a6fa2
+00756db9
+007b6db9
+00806bc4
+00826bc4
+00856bc5
+008e6bc5
+009a68c3
+009568c3
+008f66c6
+006d66c6
+006963ca
+006363ca
+006460cb
+006860cb
+00605eca
+00615eca
+00635eca
+00645eca
 00655ecc
-00665ecd
+00665ecc
 00665fcf
-00665fd0
-005b60d1
-005f60d0
-006360cc
-006560c9
-006460c6
-006260c4
-006060c4
-006060c6
-005e60c9
+00665fcf
+005b60d2
+005f60d2
+006360cb
 006560cb
-008060cd
-007660cd
-006360cc
+006460c5
+006260c5
+006060c5
+006060c5
+005e60cb
 006560cb
-006260c9
+008060ce
+007660ce
+006360cc
+006560cc
+006260c8
 006960c8
-005e947d
-0060967c
-00649a7c
-006b9e7b
-0075a37a
-0081a87a
-008bac79
+005e937d
+0060937d
+00649b7c
+006b9b7c
+0075a67a
+0081a67a
+008baf79
 0090af79
-0095b078
-0095b078
+0095b278
+0095b278
 0094ae78
-0090ac78
-008ca879
-0089a579
-0089a379
+0090ae78
+008ca779
+0089a779
+0089a279
 008ba279
 008ba378
-008ca478
+008ca378
 008da579
-008ea67a
+008ea579
 008ea67b
 008fa67b
-008fa57d
-008fa37e
-008e9f7f
-008b9a80
-00869482
-00828e83
-007d8983
+008fa47d
+008fa47d
+008e9c80
+008b9c80
+00869083
+00829083
+007d8484
 00748484
-00698084
+00697c85
 00607c85
-00607986
-005d7787
-005c7787
+00607783
+005d7783
+005c7688
 005e7688
-00607488
-005f7389
-0060728a
-0061708e
-00596f93
-00656e9b
-006e6da5
-00746cb0
-007b6bbc
-007d6ac7
-00806acf
-008a69d0
-008f67cb
-008465c9
-007a64cb
-006363cc
-006562ce
-006660cf
-00645fcf
-006b5ece
-00625ecd
+0060738b
+005f738b
+0060718c
+0061718c
+00596e92
+00656e92
+006e6ca5
+00746ca5
+007b6ac2
+007d6ac2
+00806ad8
+008a6ad8
+008f65ca
+008465ca
+007a63cd
+006363cd
+006560d0
+006660d0
+00645ed0
+006b5ed0
+00625dce
+00635dce
 00635dcd
-00635dcc
 00645dcd
-00655ece
+00655ecf
 00665ecf
-00665fd1
-00665fd1
-005e60d1
-005f60cf
-006160cb
-006460c8
-006560c4
-006460c3
+00665fd2
+00665fd2
+005e60d0
+005f60d0
+006160c9
+006460c9
+006560c2
+006460c2
 006160c3
-005e60c5
-005e60c7
-005d60ca
+005e60c3
+005e60c8
+005d60c8
 007f60cc
 007760cc
-005f60cc
-006760ca
-006560c9
+005f60cb
+006760cb
+006560c8
 006460c8
-0060917d
+0060937d
 0063937d
-0069977d
-00719c7c
-007ba27b
-0086a77a
-0090ac7a
+00699b7c
+00719b7c
+007ba67a
+0086a67a
+0090af79
 0097af79
-0098b179
-0098b178
-0095af79
-0090ad79
-008ba979
-0088a679
-0089a479
+0098b278
+0098b278
+0095ae78
+0090ae78
+008ba779
+0088a779
+0089a279
 008aa279
-008ca279
-008da278
-008ea379
-008fa47a
-008fa47b
-008fa37c
-008fa27d
-008ea07e
+008ca378
+008da378
+008ea579
+008fa579
+008fa67b
+008fa67b
+008fa47d
+008ea47d
 008b9c80
-00879781
-00829183
-007d8b84
-00788584
-006f8185
-00647d85
-005d7a85
-00617883
-005d7683
-005c7686
-005d7588
-005e748b
-005e728c
+00879c80
+00829083
+007d9083
+00788484
+006f8484
+00647c85
+005d7c85
+00617783
+005d7783
+005c7688
+005d7688
+005e738b
+005e738b
 005e718c
-0060708d
-00606f90
-00686d96
-006c6c9f
-00716bab
-00786aba
-007b69c7
-008169d3
-008c68d5
-008666cf
-007564cc
-006a63ce
-006262cf
+0060718c
+00606e92
+00686e92
+006c6ca5
+00716ca5
+00786ac2
+007b6ac2
+00816ad8
+008c6ad8
+008665ca
+007565ca
+006a63cd
+006263cd
 006a60d0
-006c5fd1
-00635ed1
-006a5dd0
-00645dcf
-00645dce
+006c60d0
+00635ed0
+006a5ed0
 00645dce
 00645dce
+00645dcd
+00645dcd
+00655ecf
 00655ecf
-00655ed0
 00655fd2
-00655fd1
+00655fd2
 006260d0
-006060cd
-006060ca
-006360c7
-006660c3
+006060d0
+006060c9
+006360c9
+006660c2
 006560c2
 006160c3
-005d60c4
-006460c7
-005b60c9
-007e60cb
+005d60c3
+006460c8
+005b60c8
+007e60cc
 007660cc
 005a60cb
-006560ca
+006560cb
 006360c8
-005b60c7
-005e8c7e
-00628e7d
+005b60c8
+005e897e
+0062897e
 0069927d
-0074987c
-00809e7c
-008ba47b
-0095aa7b
-009aae7a
-009bb07a
-0098b179
+0074927d
+0080a07c
+008ba07c
+0095ac7b
+009aac7b
+009bb17a
+0098b17a
 0094af7a
-008ead7a
-0089aa7a
-0086a77a
-0086a57a
-0087a27a
-008ea079
-0090a079
-0092a07a
-0093a07a
-0092a07b
-008f9f7c
-008c9e7e
+008eaf7a
+0089a97a
+0086a97a
+0086a47b
+0087a47b
+008e9e79
+00909e79
+00929f7a
+00939f7a
+00929e7c
+008f9e7c
+008c9b7f
 008a9b7f
-00889781
-00839282
-007c8d83
-00748784
-006d8285
+00889382
+00839382
+007c8884
+00748884
+006d7e86
 00677e86
-00627a86
-005e7885
-005d7681
-005d7581
-005d7585
-005e7488
-005e738b
-005e728d
-0060718d
-00626f8d
-00636e8f
-005f6d94
-00606c9d
-006b6ba9
-007869b9
-008068c7
-008268d4
-008267d7
-006d65d1
-006b63cf
-006962d0
-006961d1
-006a60d2
-00695fd2
-00665ed2
-00645dd1
-00635dcf
-00635cce
+00627787
+005e7787
+005d757e
+005d757e
+005d7486
+005e7486
+005e738d
+005e738d
+0060708d
+0062708d
+00636d8f
+005f6d8f
+00606ba0
+006b6ba0
+007868c1
+008068c1
+008267db
+008267db
+006d63d0
+006b63d0
+006961d2
+006961d2
+006a5fd3
+00695fd3
+00665dd2
+00645dd2
+00635ccf
+00635ccf
 00645cce
-00655dce
-00665ed0
+00655cce
 00665ed1
-00675fd2
-00675fd1
-005f60ce
+00665ed1
+00675fd3
+00675fd3
+005f61cb
 005e61cb
-006061c8
-006361c5
-006461c3
+006061c6
+006361c6
+006461c1
 006361c1
 006161c2
-006061c4
-005c61c7
-007961c9
-007461cb
+006061c2
+005c61c8
+007961c8
+007461cc
 006761cc
-006761cb
-006061c9
-005c61c7
+006761ca
+006061ca
+005c61c6
 005f61c6
-0058867f
-005d887e
-00658d7e
-0071937d
-007e9a7d
+0058897e
+005d897e
+0065927d
+0071927d
+007ea07c
 008aa07c
-0094a67c
-0099aa7b
-009bad7b
-0099ae7b
-0095ad7b
-008fab7b
-008aa97b
-0086a67b
-0085a47c
-0085a17b
-008b9e7a
-008d9c7a
-008f9c7a
-00909c7b
-008f9b7c
-008c9a7d
-0088987f
-00859680
-00819282
-007c8d83
+0094ac7b
+0099ac7b
+009bb17a
+0099b17a
+0095af7a
+008faf7a
+008aa97a
+0086a97a
+0085a47b
+0085a47b
+008b9e79
+008d9e79
+008f9f7a
+00909f7a
+008f9e7c
+008c9e7c
+00889b7f
+00859b7f
+00819382
+007c9382
 00738884
-006b8385
-00657f86
-00617b87
-005e7887
-005c7686
-005e7582
-005d7581
-005e7485
-005e7487
-005e738a
-005f728c
-0060718d
-00626f8e
-005d6e91
-005d6c97
+006b8884
+00657e86
+00617e86
+005e7787
+005c7787
+005e757e
+005d757e
+005e7486
+005e7486
+005e738d
+005f738d
+0060708d
+0062708d
+005d6d8f
+005d6d8f
 00636ba0
-006f6aab
-007a68ba
-007d67c7
-007966d3
-007565d7
-006663d3
-006762d1
+006f6ba0
+007a68c1
+007d68c1
+007967db
+007567db
+006663d0
+006763d0
+006861d2
 006861d2
-006860d3
 00685fd3
-00675ed3
+00675fd3
 00675dd2
-00685dd1
-00635cd0
+00685dd2
+00635ccf
 00645ccf
 00645cce
-00655dce
-00655ed0
+00655cce
+00655ed1
 00665ed1
-00675fd2
-006760d0
-005f61cc
-005d61c8
+00675fd3
+00675fd3
+005f61cb
+005d61cb
 005d61c6
-006061c4
-006261c2
+006061c6
+006261c1
 006361c1
 006161c2
-005f61c4
-005d61c7
-007f61c9
-006a61cb
-006461cb
+005f61c2
+005d61c8
+007f61c8
+006a61cc
+006461cc
 006c61ca
-006061c8
+006061ca
 006561c6
-006261c5
-00548180
-00588380
-00618880
-006c8d7f
+006261c6
+00547e81
+00587e81
+00618780
+006c8780
 0079947f
-00859a7e
+0085947f
 008fa07e
-0094a47d
-009ca77d
-009aa97c
-0097a87c
-0091a77c
-008ba57c
-0086a37c
-0083a17d
-00829e7d
-00859a7b
-0087987b
-008a987b
-008c977c
-008b967d
-0086947e
-00819280
-007e8f81
-00788b82
-00728783
-00698385
+0094a07e
+009ca67d
+009aa67d
+0097a67d
+0091a67d
+008ba27d
+0086a27d
+00839e7e
+00829e7e
+0085967b
+0087967b
+008a957c
+008c957c
+008b927e
+0086927e
+00818d81
+007e8d81
+00788683
+00728683
+00697f86
 00627f86
-005d7c87
+005d7988
 005c7988
-005b7788
-005b7687
-005f7585
-005e7584
+005b7689
+005b7689
+005f7586
+005e7586
+005e7486
 005e7486
-005e7487
 005f7388
-0060728a
-0061718d
-00626f90
-005f6d96
-00606c9e
-00656aa7
-006f69b2
-007567bd
-007265c7
-006c64cf
-006863d3
-006362d3
+00607388
+0061708e
+0062708e
+005f6c9c
+00606c9c
+006569b0
+006f69b0
+007565c4
+007265c4
+006c63d1
+006863d1
+006361d3
 006661d3
-006861d4
-006860d4
-00665fd4
-00655ed4
-00675dd3
-00695cd1
-00645cd0
+006860d5
+006860d5
+00665ed5
+00655ed5
+00675cd2
+00695cd2
 00645ccf
-00645dce
-00655dce
+00645ccf
+00645dcd
+00655dcd
 00655ed0
-00665ed1
-00665fd2
-006760cf
-006061c9
-005d62c6
-005a62c4
-005b62c2
-006062c1
-006362c1
-006262c3
+00665ed0
+006660d2
+006760d2
 006062c5
-006662c8
+005d62c5
+005a62c2
+005b62c2
+006062c0
+006362c0
+006262c4
+006062c4
+006662ca
 008a62ca
-006662cb
-006062cb
-006a62c9
-005962c7
-006162c4
-005e62c3
-00567c82
+006662cc
+006062cc
+006a62c8
+005962c8
+006162c2
+005e62c2
+00567e81
 00587e81
-005e8281
-00668880
-00718e80
+005e8780
+00668780
+0071947f
 007c947f
-0086997f
-008c9e7e
-0096a17e
-0096a27e
-0093a27e
-008ea17e
-00879f7e
-00819d7e
-007c9b7f
-007b997e
-007d957d
-0080937c
-0083937d
-0084917d
-00838f7e
-007e8d7f
-00798b81
-00758882
-006e8583
-00698184
+0086a07e
+008ca07e
+0096a67d
+0096a67d
+0093a67d
+008ea67d
+0087a27d
+0081a27d
+007c9e7e
+007b9e7e
+007d967b
+0080967b
+0083957c
+0084957c
+0083927e
+007e927e
+00798d81
+00758d81
+006e8683
+00698683
 00637f86
-005e7c87
+005e7f86
 005d7988
-005d7888
-005e7789
+005d7988
+005e7689
 005e7689
-00607588
-00607587
-005f7487
-005e7488
-005f7389
-0062728c
-0064718f
-00636f95
-006b6d9c
-00676ba5
-006569ae
-006767b8
-006866c1
-006664c8
-006363ce
-006362d1
+00607586
+00607586
+005f7486
+005e7486
+005f7388
+00627388
+0064708e
+0063708e
+006b6c9c
+00676c9c
+006569b0
+006769b0
+006865c4
+006665c4
+006363d1
+006363d1
 006761d3
-006861d4
+006861d3
 006960d5
-00695fd5
-00675fd5
-00655dd4
-00655dd3
-00665cd1
+006960d5
+00675ed5
+00655ed5
+00655cd2
+00665cd2
+00645ccf
 00645ccf
-00645cce
 00645dcd
 00655dcd
-00655ecf
-00665fd0
-006660d1
-006661ce
-006262c7
-005d62c3
+00655ed0
+00665ed0
+006660d2
+006660d2
+006262c5
+005d62c5
+005762c2
 005762c2
-005762c1
 005d62c0
-006362c1
-006462c3
-006162c6
-006d62c9
-008e62cb
+006362c0
+006462c4
+006162c4
+006d62ca
+008e62ca
 007162cc
-006362cb
-006962c9
-005762c6
-005862c3
-005d62c1
-00597883
-00597a83
-005b7e83
-00608282
-00698882
-00748d81
-007f9281
-00859680
-008b9980
-008c9a7f
-008b9a7f
-0087997f
-00819780
-007a9580
-00749480
-0071927f
-0074907e
-00768f7d
-00788d7e
-00798b7f
-00778980
-00748681
-006f8482
-006c8183
-00647e84
-00627c85
-00607a86
-005f7887
-005f7788
-00607789
+006362cc
+006962c8
+005762c8
+005862c2
+005d62c2
+00597684
+00597684
+005b7d83
+00607d83
+00698782
+00748782
+007f9181
+00859181
+008b9680
+008c9680
+008b9680
+00879680
+00819281
+007a9281
+00749081
+00719081
+00748d7e
+00768d7e
+00788a7f
+00798a7f
+00778481
+00748481
+006f7f83
+006c7f83
+00647a85
+00627a85
+00607787
+005f7787
+005f7689
+00607689
 0061768a
 0061768a
-00607589
-00617589
-00607589
-005e748a
-0061738c
-00667290
-00677195
-00656f9b
-006f6da3
-00686bac
-006169b5
-006066bd
-006065c4
-006063ca
-006261ce
-006461d1
-006a61d3
+0060758a
+0061758a
+0060758a
+005e758a
+0061738f
+0066738f
+0067709a
+0065709a
+006f6cab
+00686cab
+006167bc
+006067bc
+006063c9
+006063c9
+006260cf
+006460cf
+006a61d4
 006961d4
 006860d5
-00675fd5
-00675fd5
-00675dd4
-00645dd2
-00625cd0
-00645cce
+006760d5
+00675ed5
+00675ed5
+00645cd1
+00625cd1
 00645ccd
-00655dcc
-00655dcc
-00655ecd
-00665fce
-006660d0
-006661cc
-006362c5
-005e62c0
-005762bf
-005562bf
+00645ccd
+00655dcb
+00655dcb
+00655fcd
+00665fcd
+006661d0
+006661d0
+006362bf
+005e62bf
+005762be
+005562be
 005b62c0
-006362c1
-006562c4
-006262c7
-006662cb
-008262cc
+006362c0
+006562c6
+006262c6
+006662cd
+008262cd
 008162cd
-006f62cb
-006f62c8
-006362c5
-005262c1
-006162bf
-005a7585
-00597784
-00597a84
-005c7e83
-00638383
+006f62cd
+006f62c6
+006362c6
+005262be
+006162be
+005a7684
+00597684
+00597d83
+005c7d83
+00638782
 006d8782
-00778c82
-007e8f81
-00819281
-00839380
-00849381
-00829281
-007d9081
-00758e81
-006f8d82
-006c8c81
-006a8c7f
-006b8b7f
-006b897f
-006b8780
+00779181
+007e9181
+00819680
+00839680
+00849680
+00829680
+007d9281
+00759281
+006f9081
+006c9081
+006a8d7e
+006b8d7e
+006b8a7f
+006b8a7f
 00698481
-00678182
-00657e83
-00637c84
-005e7985
-005d7786
+00678481
+00657f83
+00637f83
+005e7a85
+005d7a85
 005d7787
-005f7688
+005f7787
 00607689
 00617689
 0061768a
 0060768a
-00617689
+0061758a
 0062758a
-0060758b
-005f748d
-00627491
-00697295
-006b719b
-00686fa1
-006a6da9
-00636ab0
-005d68b8
-005d66bf
-006164c6
-006362cb
+0060758a
+005f758a
+0062738f
+0069738f
+006b709a
+0068709a
+006a6cab
+00636cab
+005d67bc
+005d67bc
+006163c9
+006363c9
 006460cf
-006660d2
-006861d3
+006660cf
+006861d4
 006661d4
 006460d5
-00655fd5
+006560d5
 00675ed5
-00675dd4
-00655dd2
-00625cd0
-00655cce
-00655ccc
+00675ed5
+00655cd1
+00625cd1
+00655ccd
+00655ccd
 00655dcb
-00655ecb
-00655fcc
-006560cd
-006661cf
-006661cb
-006362c2
-005f62be
+00655dcb
+00655fcd
+00655fcd
+006661d0
+006661d0
+006362bf
+005f62bf
 005862be
 005362be
-005862bf
-006162c2
-006562c5
-006262c8
-005d62cc
+005862c0
+006162c0
+006562c6
+006262c6
+005d62cd
 007062cd
 008362cd
-007662cb
-007262c7
-006b62c3
-005162bf
-005b62bd
-005b7486
-005a7585
+007662cd
+007262c6
+006b62c6
+005162be
+005b62be
+005b7386
+005a7386
 005a7885
-005b7b84
+005b7885
 00607f84
-00678383
-006d8783
-00728a82
-00758b82
-00788c81
-007b8c82
-007a8b82
-00768982
-006f8882
-00688683
-00658682
+00677f84
+006d8683
+00728683
+00758982
+00788982
+007b8882
+007a8882
+00768583
+006f8583
+00688283
+00658283
 00618880
 00608880
-005f8680
+005f8381
 005d8381
-005c8082
-005b7d83
-005b7a83
-005b7784
-005c7585
-005c7486
-005c7487
-005d7488
+005c7c83
+005b7c83
+005b7684
+005b7684
+005c7286
+005c7286
+005c7388
+005d7388
 005f7589
-00607689
-0060768a
-005f7689
-00617688
-00637689
-0061758d
-005f7491
-00647497
-006d729d
-006f71a3
-006b6fa8
-00666cad
-005e6ab3
-005968b9
-005c65c0
-006263c7
-006561cd
-00655fd2
-00655fd5
-006660d4
+00607589
+0060778a
+005f778a
+00617686
+00637686
+00617590
+005f7590
+0064739e
+006d739e
+006f70a9
+006b70a9
+00666bb1
+005e6bb1
+005966bc
+005c66bc
+006261cb
+006561cb
+00655ed7
+00655ed7
 006661d4
-006660d5
+006661d4
+00665fd5
 00665fd5
 00675ed4
-00675dd3
-00665dd1
-00655ccf
-00655ccd
+00675ed4
+00665cd0
+00655cd0
 00655ccc
-00655dcb
-00655ecb
-00655fcc
-006560cd
+00655ccc
+00655eca
+00655eca
+006560cc
+006560cc
 006561cf
-006561ca
-006162c1
-006062bc
+006561cf
+006162bb
+006062bb
 005962bc
-005262bd
-005562bf
-005f62c2
-006362c6
-006162c9
-005d62cd
-006562ce
+005262bc
+005562c0
+005f62c0
+006362c8
+006162c8
+005d62cf
+006562cf
 007162ce
-007062cb
-007162c7
-007062c2
-006262be
-005f62bc
+007062ce
+007162c4
+007062c4
+006262bb
+005f62bb
 005d7386
-005c7486
-005c7785
-005c7a85
-005e7d84
-00618184
-00658483
-00678783
-00678882
+005c7386
+005c7885
+005c7885
+005e7f84
+00617f84
+00658683
+00678683
+00678982
 006b8982
 006f8882
-00708782
-006c8683
-00658483
-005f8383
-005b8382
-005b8781
-00598780
-00578481
-00548181
-00547e83
-00547a83
-00567884
-00577584
-005e7386
+00708882
+006c8583
+00658583
+005f8283
+005b8283
+005b8880
+00598880
+00578381
+00548381
+00547c83
+00547c83
+00567684
+00577684
+005e7286
 005d7286
 005c7388
 005d7388
 005e7589
 005f7589
 005f778a
-005e7789
-00617687
-00637688
-0062758e
-005f7493
-0065749b
-006f72a1
-007171a6
-006c6fab
-00686caf
-005e6ab4
-005867b9
-005a65c0
-006162c7
-006560ce
-00655fd4
-00645fd6
-006760d5
-006960d4
-006a60d5
+005e778a
+00617686
+00637686
+00627590
+005f7590
+0065739e
+006f739e
+007170a9
+006c70a9
+00686bb1
+005e6bb1
+005866bc
+005a66bc
+006161cb
+006561cb
+00655ed7
+00645ed7
+006761d4
+006961d4
+006a5fd5
 00695fd5
 00675ed4
-00655dd3
-00665dd1
-00675ccf
-00655ccd
-00655ccb
-00655ecb
+00655ed4
+00665cd0
+00675cd0
+00655ccc
+00655ccc
+00655eca
 00655eca
 006560cc
-006560cd
-006561ce
-006561ca
-006062c0
+006560cc
+006561cf
+006561cf
+006062bb
 006062bb
 005962bc
-005262bd
-005362bf
-005d62c2
-006262c6
-006162ca
-006162cd
+005262bc
+005362c0
+005d62c0
+006262c8
+006162c8
+006162cf
 006062cf
 005c62ce
-006762cb
-007162c7
-007862c2
-007f62bd
+006762ce
+007162c4
+007862c4
+007f62bb
 007162bb
index 2bb3948..1bef1a7 100644 (file)
@@ -205,10 +205,10 @@ ycc_rgb_convert (j_decompress_ptr cinfo,
       XDrawPoint(wininfo.dpy,wininfo.win,wininfo.gc,col,call_num);
 
       if(call_flag ==0){
-        fprintf(cinfo->out_yccrgbs,"%x",(unsigned short)pixcoldata);
+        fprintf(cinfo->out_upycc,"%x",(unsigned short)pixcoldata);
         call_flag =1;
       }else{
-        fprintf(cinfo->out_yccrgbs,"%x\n",(unsigned short)pixcoldata);
+        fprintf(cinfo->out_upycc,"%x\n",(unsigned short)pixcoldata);
         call_flag = 0;
       }
     }
index 80ffefb..01575ca 100644 (file)
@@ -22,6 +22,7 @@
 #include "jinclude.h"
 #include "jpeglib.h"
 
+#define HW_TEST_PT
 
 /* Pointer to routine to upsample a single component */
 typedef JMETHOD(void, upsample1_ptr,
@@ -239,6 +240,7 @@ h2v1_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   JSAMPROW outend;
   int inrow;
 
   for (inrow = 0; inrow < cinfo->max_v_samp_factor; inrow++) {
     inptr = input_data[inrow];
     outptr = output_data[inrow];
@@ -310,7 +312,7 @@ h2v1_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   register JDIMENSION colctr;
   int inrow;
 
-  for (inrow = 0; inrow < cinfo->max_v_samp_factor; inrow++) {
+   for (inrow = 0; inrow < cinfo->max_v_samp_factor; inrow++) {
     inptr = input_data[inrow];
     outptr = output_data[inrow];
     /* Special case for first column */
@@ -355,6 +357,29 @@ h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   register JDIMENSION colctr;
   int inrow, outrow, v;
 
+  //printf("come here!");
+
+#ifdef HW_TEST_PT
+  register JSAMPROW inptr;
+  register JSAMPLE invalue;
+  JSAMPROW outend;
+
+  inrow = outrow = 0;
+  while (outrow < cinfo->max_v_samp_factor) {
+    inptr = input_data[inrow];
+    outptr = output_data[outrow];
+    outend = outptr + cinfo->output_width;
+    while (outptr < outend) {
+      invalue = *inptr++;      /* don't need GETJSAMPLE() here */
+      *outptr++ = invalue;
+      *outptr++ = invalue;
+    }
+    jcopy_sample_rows(output_data, outrow, output_data, outrow+1,
+                     1, cinfo->output_width);
+    inrow++;
+    outrow += 2;
+  }
+#else
   inrow = outrow = 0;
   while (outrow < cinfo->max_v_samp_factor) {
     for (v = 0; v < 2; v++) {
@@ -388,6 +413,7 @@ h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
     }
     inrow++;
   }
+#endif
 }
 
 
index a72b320..c764d4b 100644 (file)
@@ -1,3 +1,5 @@
+/* modified by Kenichi Kurimoto */
+
 /*
  * jidctint.c
  *
@@ -301,6 +303,17 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
       outptr[7] = dcval;
 
       wsptr += DCTSIZE;                /* advance pointer to next row */
+
+
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[0]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[1]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[2]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[3]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[4]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[5]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[6]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[7]);
+
       continue;
     }
 #endif
@@ -383,6 +396,16 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
                            & RANGE_MASK];
     
     wsptr += DCTSIZE;          /* advance pointer to next row */
+
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[0]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[1]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[2]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[3]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[4]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[5]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[6]);
+    fprintf(cinfo->in_upycc,"%02X\n",outptr[7]);
+
   }
 }
 
index b3abf2b..b1cceb4 100644 (file)
@@ -634,6 +634,8 @@ struct jpeg_decompress_struct {
 
   FILE *in_yccrgbs;
   FILE *out_yccrgbs;
+  FILE *in_upycc;
+  FILE *out_upycc;
 
 };
 
diff --git a/snapgear-2.6-p42/user/jpeg-6b-host/out_upycc.txt b/snapgear-2.6-p42/user/jpeg-6b-host/out_upycc.txt
new file mode 100644 (file)
index 0000000..64684b0
--- /dev/null
@@ -0,0 +1,3200 @@
+31653165
+31653165
+31453145
+31453145
+29452945
+29662966
+29452945
+29452945
+29252925
+29252925
+29252925
+29452945
+31653165
+29652965
+29652965
+29652965
+31453145
+31653165
+31453145
+31453145
+31653165
+39443965
+39853985
+39853985
+398539a6
+39a539a5
+39a53985
+39653965
+39653965
+39653965
+39653965
+39653965
+39a53985
+49654965
+51055105
+49254105
+31653165
+31853185
+51655185
+71467166
+39653965
+39653965
+31653165
+31453145
+31663166
+31662966
+29662966
+29452945
+31253125
+31253125
+31253125
+29452945
+31653165
+29652965
+31653165
+31853185
+31663166
+31663166
+31653145
+31453145
+39653965
+39653965
+39853985
+41a541a5
+39a639a6
+39a639a6
+41a639a5
+39853985
+39653965
+39653965
+39653965
+39653965
+39a53985
+49454945
+51055125
+49464925
+39853985
+31853185
+49455165
+69256925
+39863986
+39853985
+39863165
+31663166
+31863186
+31863186
+31863166
+31662965
+31453145
+31453145
+31453145
+31453145
+31653165
+31653165
+31853185
+31853185
+31863186
+31863186
+31653165
+31653165
+39853985
+39853985
+41a541a5
+41a541a5
+41c641c6
+41c641c6
+41c641a5
+41854185
+39853985
+39653965
+39853985
+39863986
+51664945
+51455125
+51255125
+49454945
+41854185
+41a541a5
+49854985
+51655965
+39a639a6
+39a63986
+39863986
+39863986
+31863186
+31863186
+31863186
+31863186
+31663166
+31663166
+31663166
+31653165
+31653165
+31653185
+31853185
+31853185
+31863186
+31863186
+39863986
+39863986
+398539a6
+41a541a5
+41a541c5
+41c541c6
+41e641e6
+41e641e6
+41c641c6
+41a641a6
+41854185
+39853985
+39863986
+39a639a6
+51665166
+51465146
+59465946
+51465166
+41854185
+41a541a5
+49854985
+51655165
+39a639a6
+39a639a6
+39a639a6
+39a63986
+39863986
+39863986
+39863985
+39863986
+31653165
+31653165
+31653165
+31653165
+31853185
+31853185
+31853185
+31853185
+31853186
+318639a6
+398639a6
+39a639a6
+39a539a5
+41a541c5
+41c541c5
+41c541c5
+49e649e6
+41c641c6
+41c541c5
+41a541a5
+41a639a5
+39a639a6
+39a639a6
+39a639a6
+398541a6
+41a641a6
+49c649c6
+49a649c6
+49a549a5
+49a549a5
+49c449c5
+49e449e5
+41c741c7
+41c641c6
+41c639a6
+39a639a6
+39a639a6
+39a639a6
+39a639a6
+39863986
+39863986
+39863986
+39863986
+39853985
+31853185
+31853185
+31853185
+31853185
+31853186
+318639a6
+39a639a6
+39a641c6
+41c541c5
+41c541c5
+41c549e6
+49e649e6
+49e649e6
+49e641c6
+41c641c5
+41c641a5
+41a641a6
+39a639a6
+39a639a6
+39a639a6
+398541c6
+41a641a6
+49e749c6
+49a549c6
+49a549a5
+49a549a5
+49c449c5
+49e449e5
+41e741e7
+41e741c7
+41c641c6
+41c641c6
+41c641c6
+41c641c6
+41a641a6
+41a64185
+39a539a5
+39a539a5
+39a539a5
+39a639a6
+39853985
+39a53185
+31853185
+31853185
+31853185
+39863986
+39a639a6
+39c539c5
+41c541c5
+41c541c5
+49e649e6
+49e649e6
+51e651e6
+49c649c6
+41c641c6
+41c641c6
+41a641a6
+39a639a6
+39a639a6
+39a639a6
+31e53a47
+41c539c5
+59c651c6
+596561c6
+59855985
+61646164
+61646984
+71a471a5
+41e741e7
+41e741e7
+41e741e7
+41c641c6
+41c641c6
+41c641c6
+41a641a6
+41a641a6
+41a641a6
+41a641a6
+39a639a6
+39a639a6
+39a639a6
+39a539a5
+39a539a5
+31853185
+39a639a6
+398639a6
+39a639a6
+39a539a5
+41e641e6
+41c549e6
+49e649e6
+49e64a06
+51e651e6
+49e649c6
+41c641c6
+41c641c6
+41a641a6
+39a639a6
+39a639a6
+39a639a6
+29c53a26
+39c539a5
+59e75a07
+61c67248
+7a487a48
+7a477a47
+82478a88
+92a892c9
+41e741e7
+41e741e7
+41e641e6
+41e641e6
+4a064a06
+41e641e6
+49e641c6
+41a641a6
+41c541c5
+41c541c5
+41e641e6
+41e641c6
+39a539a5
+39a53985
+39853985
+31853185
+39853985
+39853985
+398539a5
+41c541c6
+41c541c5
+41c549e6
+49e649e6
+49e549e5
+51e651e6
+49e649c6
+49e641c6
+41e641c6
+39a639a5
+39a641c6
+41c639a5
+41c541e6
+59e75185
+714581e8
+b24ac2ac
+cacccaac
+99c7a1e7
+a227a228
+ba48c289
+d249ca28
+42074207
+41e741e7
+41e741e7
+42064206
+4a064a06
+4a0641e6
+49e641c6
+41a641a6
+41c541c5
+41c541c5
+41c641c6
+41c641c6
+39a539a5
+39a539a5
+39853985
+39a53185
+39853985
+39853985
+39a539a6
+41c641e6
+41c541c5
+49e649e6
+49e649e6
+49e549e5
+51e651e6
+49c649c6
+41c641c6
+41c641c6
+41c641c6
+41c641c6
+41c641c6
+41c641e6
+51654944
+81e8ab0c
+caedcb0d
+caccba2a
+91869986
+91a699c6
+a9e7ba48
+ca28c1e8
+42074207
+42074207
+4a064a06
+4a064a06
+4a064a06
+420641e6
+41c641c6
+41c641c6
+41c541c5
+41c541c5
+41c541c5
+41c641c6
+39a639a6
+39a639a6
+39a63985
+39863986
+39853985
+398539a6
+39a641c6
+41c641e6
+41c541c5
+49e649e6
+49e649e6
+49e549e5
+51e649c5
+49c649c5
+41c641c5
+41c641a6
+41c641c6
+41c641c5
+41a541c6
+41c541c5
+79247945
+ba09daed
+e24bda2a
+d209b925
+a185a185
+91a491c4
+aa06b247
+ca28c1e7
+42074207
+42074207
+4a064a06
+4a264a26
+4a064a06
+4a064206
+41e641e6
+41e749e7
+41c541c5
+41c541c5
+41c541c5
+41c641c6
+39a639a6
+39a639a6
+39a639a6
+39863986
+39853985
+398539a6
+39a539a6
+41c641e6
+49e649e6
+49e649e6
+49e649e6
+49e549e5
+49c549c5
+49c649c5
+41c641c5
+41c641a6
+39a641c6
+41c539a5
+41a549e6
+49e641c5
+81869208
+ca8bd2cc
+d1c9c9a8
+c9a8b925
+a185a165
+91a491a4
+a1a5a9e6
+b9a6b9a6
+42074207
+42274227
+4a274a27
+4a264a26
+4a264a26
+4a274a27
+4a074a07
+4a084a08
+49e649e6
+49e649e6
+41c641c5
+41c641c6
+41c641a6
+39a639a6
+39a639a6
+39a639a6
+39a63986
+398539a6
+39a539a6
+41c641c6
+49e649e6
+49e649e6
+49e649e6
+49e649e6
+51e649c6
+49e649c5
+41c641c6
+41c639a6
+39a641c6
+41c541a5
+41c549e5
+49e549c5
+8144aa68
+c2aaba28
+b9a6b9a6
+b1a5b185
+99a499c4
+91e491e4
+91c491c4
+a1a4a1a4
+42074207
+4a274a27
+4a274a27
+4a274a27
+4a264a26
+4a074a07
+4a084a07
+41e841e7
+4a064a06
+49e649e6
+49e649e6
+41c641c6
+41c641c6
+39a639a6
+39a639a6
+39a639a6
+39a639a6
+39a639a6
+39a641c6
+41c641e6
+49e649e6
+49e649e6
+49e649e6
+49e649e6
+49c649c6
+49e649c5
+41c641c6
+41c639a6
+39a639a6
+41a541a5
+41a541a5
+49c449c5
+99e6b2ca
+ba69a1a6
+b145b145
+a944a985
+a1e5a205
+9a259a25
+9a0599e4
+a1a4a1a4
+4a274a27
+4a274a47
+4a474a47
+4a474a47
+4a264226
+42074a27
+4a494a49
+4a294208
+52274a06
+49e649e6
+49e649e6
+41c641a5
+41c641a6
+39a639a6
+39a639a6
+39a639a6
+39a639a6
+39a639a6
+39a639a6
+41c641e6
+49e649e6
+49e649e6
+49e649e6
+49e649e6
+49c649c6
+49c649c6
+41c641c6
+39a639a6
+41c639a5
+41a541c5
+41a44184
+49c45226
+bacabac9
+aa2799a5
+a184a184
+a184a9c5
+a9a4a9a4
+a9e4a9e5
+a9c4a9a4
+a9a4a9a4
+4a274a27
+4a474a47
+4a474a47
+4a474a47
+4a474a47
+4a275268
+5aaa5aaa
+5aaa526a
+52274a06
+49e649e6
+49e649e6
+41c641a5
+41c641a6
+39a639a6
+39a639a6
+39a63986
+39a63986
+39863986
+39a639a6
+41c541c6
+41c649e6
+49e649e6
+49e649e6
+49e649e6
+49c649c5
+49c641c5
+41c641a6
+39a639a5
+41e639c5
+41a549e6
+49c549a5
+520562a8
+b28899a5
+916499a5
+a1a5a1a5
+a9a4a1a4
+a9a4a9a4
+a9c4a9e5
+b1e5a9c4
+a9c4a9c4
+4a264a26
+4a264a26
+4a464a46
+52465246
+4a275248
+528b5aec
+63306b91
+6b526331
+5ace528d
+4a2b41ea
+41c941c9
+41c841a8
+41c739a7
+39a639a6
+39c539c5
+39c539c5
+31a431a4
+31a439c5
+39c539c5
+41a541a5
+41c649c6
+49e64a06
+49e549e5
+4a054a05
+39a441c5
+41c539c5
+39e539e5
+31c529a4
+39c539a5
+51655165
+69246944
+9186a208
+a1a5a184
+9984a1a5
+a1e599c5
+99a499c4
+a1a4a1c4
+b1c5b1e5
+b9a5b9a5
+c1a5c1a5
+4a264a26
+4a264a46
+4a464a46
+52465246
+4a475288
+5aec6b4e
+73b27c13
+7bf47bd4
+73916b50
+62ee5a8d
+524b4a2b
+49e941c8
+41c841a7
+39a639a6
+39c539c5
+39c531a4
+31c431c5
+39c539c5
+41c541c5
+41c641a5
+49c649e6
+49e649e6
+49e549e5
+49e549e5
+41e541e5
+41e541c5
+39e539e5
+39e631e5
+39c541c5
+51855165
+694479a6
+99c7a208
+a9c5a1a5
+a1a5a1c5
+a1e599a4
+99a499c5
+a1c4a1c5
+b1c5b1e6
+c1c5c1c6
+c9c6c9c6
+4a064a27
+4a274a47
+52475247
+52475247
+4a295a8a
+630e7bb0
+84358c76
+8c988c78
+8c788416
+7bd46b73
+6b3162d0
+526d4a2c
+4a0a41ea
+39c839a7
+31a631a6
+31a63185
+39663966
+39a639a6
+39c539e5
+39c439c4
+42054205
+41e541e5
+49e649e6
+49c649c6
+59a85987
+49a74987
+39a73986
+31c631c7
+39a639c6
+51655165
+796589e7
+a1c8a1c7
+a9c5a9c5
+a9e5aa06
+a1e5a1c5
+a1c4a9e5
+a984a9a4
+b1a5b9c5
+c1c5c1c5
+c9c5c9c6
+4a064a27
+4a275247
+52475247
+52475247
+4a295aaa
+6b4f83f2
+8c7694b7
+9cfa9cfa
+9cd99498
+8c778436
+83f47bb3
+73516b10
+62cd5a8c
+4a4a41e9
+39c739c7
+39c631a6
+39663966
+39863986
+39c539c5
+39e539e5
+3a053a05
+41e541e5
+49e649e6
+49e749c6
+59a85187
+49874987
+39a73986
+31a631a6
+39a63185
+494459a6
+81c79228
+a1c89987
+a9c5a9c5
+a9e5a9e5
+a9e5a1e5
+a9e5aa05
+a9a4a9a4
+b1a5b9c5
+c1a5c1c5
+c9c5c9c6
+49e74a07
+52275248
+52485248
+52285228
+524a5aac
+6b518414
+94b99cfa
+9d3da53d
+a51d9cfd
+94bb949b
+949a8c79
+8c378416
+7bd47373
+62f0528e
+4a2c420b
+420a41ea
+41aa41aa
+41a93988
+39a639c6
+39e54205
+3a043a04
+42054206
+42074207
+41e841e8
+41ea41ea
+41ea420a
+422a422a
+42094209
+49e741a6
+59856a07
+8a488a48
+91e689c6
+a1c5a1c4
+a9c5a9c5
+b1c5b1c5
+b1a5b1a5
+b9a4b9a4
+c1a5c1a5
+c9a5c9c5
+d1c5d1c6
+49e74a07
+52275248
+52485248
+52485228
+524a5a8b
+6b518414
+94b99d1b
+a55dad7e
+ad7fa55e
+a53da51d
+a51ca4fc
+9cfa9cb9
+94978c36
+7bb36b31
+5ace528d
+526c4a4b
+520c4a0c
+49ea41c9
+39c639a6
+39c439e5
+3a044204
+42064206
+41e741e7
+41e841e8
+41ea4a2b
+528c5acd
+5aed5b0e
+630c5aec
+62aa5a69
+6a287a8a
+92898a28
+91c691c6
+aa05a9e5
+a9c5a9e5
+b1e5b1e5
+b1c5b1a5
+b9a4b9c5
+c1a5c1c5
+c9a5c9c5
+d1c5d1c6
+49e74a07
+4a075227
+52475a47
+52485248
+522a5a6b
+63117bd4
+8c799cfb
+a53fa57f
+ad9fad9f
+ad7fad7f
+ad7fad5e
+ad5da53d
+9cfb94ba
+8c587bd6
+73746312
+5ad15290
+528f528f
+4a6d422c
+41e939a9
+41c741c7
+41c641e6
+41e741e7
+41e741e7
+42084a29
+42ad530f
+6b706b90
+83708b91
+9b2f92cd
+a28c9a6b
+a249aa6a
+a2489a07
+91e591e5
+a9e5a9e5
+b1c5b1c5
+b9c5b9c5
+b9a5b9a4
+b984c184
+c985c9a5
+d1a5d1a5
+d1c5d9c6
+49e74a07
+4a075227
+52475a47
+52485248
+524a5a6b
+62f07bb3
+8c7994db
+9d1ea55f
+ad9fad9f
+ad9fad9f
+b59fb59f
+b59eb59e
+ad3ca51c
+9cb98c58
+83f67394
+6b3362f2
+5af15ad0
+5acf528e
+4a2b41ea
+41e841e8
+41c641e6
+41e741e7
+41e74208
+4a49528a
+5b506bd2
+7c127c12
+93d293f2
+a370930e
+a2cca2cc
+aa8aaa6a
+a22799e6
+9a059a06
+a184a1a4
+a9a4a9a4
+b184b1a4
+b984b9a4
+c184c1a4
+c9a5d1c5
+d1c5d1c6
+d9e6d9e6
+41e541e6
+4a064a06
+52265226
+52475247
+5229526a
+5aef73b2
+843894ba
+951d9d7f
+ad9fad9f
+adbfadbf
+b5dfb5df
+b5dfb5df
+ad9fad5e
+a51d9cdc
+8c5a83f9
+73976b56
+63336312
+5af15ab1
+528f4a4d
+420b39ea
+398841c9
+51e851e8
+59a761e8
+7a898b0c
+ab51b3b2
+c3d2c3d2
+cb51c330
+daceca4c
+d1ead20b
+da09c9a8
+b9a5b9a5
+b1c5b1c4
+b1e5a9c5
+b1a4b1c5
+b9c5b9c5
+c1a5c1c5
+c984c9a5
+d1a5d9e6
+d9e6d9e6
+d9c6d9c6
+41e541e6
+4a064a06
+52265226
+52275247
+524a526a
+5acf7392
+7c188c9a
+951d9d5e
+ad9fad9f
+ad9fadbf
+adbfadbf
+b5bfb5bf
+ad7fad5e
+a51d9cfc
+949b8c5a
+83f97bb8
+73746b53
+63125ad1
+52af4a6e
+422b39eb
+39a841c9
+51e85a09
+6208726a
+8aeb934d
+ab71b3b2
+bb92bb71
+c30fbacf
+ca6cb9ea
+c1a9d20a
+da29d1c8
+c1c6c1c6
+b9e5b1a4
+a9a4a984
+a984a984
+b1a4b9c5
+c1a5c1c5
+d1e6d1e6
+d9e6d9e6
+d9c6d9c6
+d9a5d9a5
+41e541e6
+4a064a06
+52255226
+52065226
+5a695269
+5aad6b50
+7c168c98
+8cfc953d
+a57ead7e
+ad9ead9f
+adbfad9f
+ad9fad9f
+ad7fa57e
+a53e9d1d
+9cdd94bc
+8c7b8c5b
+8bd78396
+73546b13
+5b1252d1
+4a8e424d
+522b522b
+71e97a2a
+aa4ab2ab
+ca8bcaab
+ea4dea6e
+e28dda4c
+ca4bca0a
+c1e8b987
+c9c7da29
+e228d1c7
+c9c5d206
+ca06b9a4
+b9c5b9c5
+b9c5b9c5
+c1c6ca06
+d227d227
+da27d206
+d9e6d1c6
+d9a5d985
+d965d965
+41e541e6
+4a064a06
+52255225
+52065206
+52695249
+528d6b2f
+7bf68c78
+8cdb951c
+a55ea55e
+ad7ead9e
+ad9fad9f
+ad9fa57e
+a57ea55e
+a53e9d1d
+9cfd9cdd
+94bc949c
+9c599418
+83f77bb5
+6b946b73
+63315b10
+730f6aee
+828b8aac
+b2abbaec
+ca8bca8a
+d9ecd9ec
+d22bd20b
+ca0ac20a
+b9c8b9a8
+da29da49
+da08d1a6
+c9c6d206
+ca06b9c4
+c206c226
+c206c206
+ca06ca27
+d227d227
+d1e6c9c5
+d1a5d185
+d185d185
+d985d985
+41e64206
+4a064a26
+52265226
+52065206
+52285228
+528c6b2f
+7bf58c98
+8cfb951c
+a51ea53f
+ad5fad5f
+ad7fad7f
+ad7fa57f
+a57ea55e
+a53e9d3d
+a51da51d
+9cfd9cfc
+9cbc9cbb
+949a8c59
+94368c16
+9bd29391
+a32ea2ed
+ba6bba6b
+da2ada4a
+e9e9e1c8
+e1c8e1c8
+da28d208
+ca48ca48
+b9e6c207
+e289d248
+d1c6c9c6
+c9e6c9e6
+c1e6c1c5
+c1c6c1c6
+c1c6c1c6
+b9a5b9a5
+b9a5b9a5
+c1a5c1a5
+c9a5c9a5
+d985d9a5
+e1a6e1a6
+41e64206
+4a064a26
+52265226
+52065226
+52285228
+528c6b4f
+7c168c98
+8cfb951c
+a51ea51e
+a53ea53e
+a55fad5f
+a57fa57f
+a55ea55e
+a53ea53e
+ad5ead5e
+ad5ea53e
+9cdc9cdc
+9cdb9cba
+a4b8a4b8
+ac54a413
+a30ea30e
+ba8bba6b
+d229d229
+e1c8e1c8
+e1c8e1c8
+da28d1e7
+ca28c227
+b1a5c227
+e289d228
+d1e7d207
+d227d207
+c1e6c1e6
+c9e6c1e6
+c1c6c1e6
+c1c6b9a5
+b984b164
+c1a5c1a5
+c985c985
+d185d985
+d985d985
+42074207
+4a274a27
+52265226
+52265a27
+52485248
+528c6b4f
+7c158c97
+8cdb951b
+a4dfa4df
+a4ffa4ff
+a51fa53f
+a55fa55f
+a55ea55e
+a53da53d
+a55da55d
+ad5da55d
+8d5e855e
+94fb94fb
+bcb8bc97
+cbb1bb2f
+ca2aca2a
+d9e8d9e8
+e1c8e1c8
+e9c8e9c8
+da06d9e6
+d226c9e5
+ca06ca05
+c144da27
+f208e9e7
+f1a7f1a8
+e9c8e9a8
+d9c7d9a7
+d228c9e7
+c9e7d227
+ca27c1e6
+b9c5b9a5
+b985b985
+c985c985
+d165d185
+d965d965
+42074207
+4a274a27
+52265226
+5a275a27
+5a695a49
+5aac6b4f
+73f58477
+8cba94fb
+a4dfa4df
+a4dfa4ff
+a51fa51f
+a53fa55f
+a55ea53e
+9d3d9d1d
+a53da53d
+a53ca51c
+8d9f8d5e
+94fb94fb
+bc97b477
+c370aaad
+c209c22a
+d9e8d9e8
+e1c8e1c8
+e9a8e9a8
+da06d9e6
+d226c9e5
+ca26ca26
+c984e268
+e9e7e9e7
+f1a8e987
+e187e187
+d9a7d1a7
+d207c1a6
+c1a6d207
+ca27c1c6
+b9a5b9a5
+b9a5b9a5
+c985c985
+d165d985
+e186e1a6
+42264a27
+4a264a26
+52265226
+52275227
+52495249
+528c6b2f
+73d48456
+8c988cb9
+94bb94bb
+94dc94fd
+94fd9d1e
+9d3e9d3e
+9d3e9d3d
+9cfc9cfc
+a4dc9cdc
+9cbc9c9c
+9cd99cd9
+b477b477
+d3b3cb51
+d28cc22a
+d1e8d1e8
+d9e8d9e8
+e1c8e1c8
+e988e988
+d9c7d1a7
+c9e7c9e7
+c207b9c6
+c1e7e2aa
+d9e8e208
+e1c8e1a7
+d9c7d1a7
+c9a6c9c7
+d207c1a5
+b9a5c1c6
+ca27c206
+b9c5b9a5
+b9a4b9a5
+c9a5c9a5
+d185d9a6
+e1c7e9e7
+4a274a27
+4a264a47
+52265247
+52475247
+52495249
+5aac6b2f
+73b38435
+84988cb8
+8c9b949b
+94bc94dc
+94dd94fd
+951e951e
+9d1d94fd
+9cdc9cdc
+9c9b949b
+947b945b
+84378437
+a3d5a3d5
+c331baf0
+ca4bc20a
+d208d208
+d9e8d9e8
+e1c8e1c8
+e9a9e9a9
+e1e8d9a7
+c9e7d228
+c1e7b185
+ca07e2aa
+d9e8e208
+e1c8e1a7
+d9c7d9c7
+d1c7d1e7
+c9e6c1a5
+b985c1c5
+c206c1e6
+b9c5b9a5
+b9a5c1c5
+c9a5c9c5
+d9a6d9c6
+e1c6e9e7
+4a274a27
+52475247
+52465246
+5a475a47
+52285248
+5aac6b2e
+73b27c14
+84568c77
+8c788c78
+8c9994b9
+8cba94da
+8cda94db
+94fa94fa
+8cb98c78
+8c578437
+841783f6
+8b528b52
+b2f0b2f0
+da4dda2c
+e1c9e1a9
+e208e208
+da28da28
+da28da28
+e209e209
+e208d9c7
+c9e7d248
+b9e6a964
+ca28da89
+da08da08
+e1c8d9c7
+d9e8d9e8
+ca07d207
+c1e5b9a5
+b984b9c5
+c1e5b9e5
+b9c5b9a4
+c1a5c1c5
+d1c5d1c5
+d9a5e1a6
+e1a6e1a6
+4a474a47
+52475247
+52465267
+5a475a47
+52285248
+5a8b62ed
+6b5173b2
+7bf58436
+84378437
+84588c78
+84798479
+84998479
+8cb98c99
+84577c16
+73b57395
+73746b54
+83118311
+aaafb2d0
+da2cd20c
+e1c9e9c9
+e208e208
+da28da28
+da28da28
+e209e209
+da08d9e8
+c9e7d228
+b9c6a964
+d248ca28
+d9e8d9e8
+d9a7d9a7
+d9e8d9e8
+ca07d207
+c1c5b9a5
+b9a4b9a5
+b9c5b9c5
+b9a4b9c5
+c1a5c1c5
+d1c5d1c5
+d9a5d9a5
+e185e185
+52275227
+52475247
+5a475a47
+5a475a47
+52485248
+526a5aab
+62ee6b2f
+73927bd3
+7bd483f4
+84168416
+84378438
+84388438
+84378437
+7bf573b4
+73737352
+6b126af1
+92ac92ac
+c22bca4c
+f1aaf189
+f967f988
+f1e7f1e7
+da47da47
+da28da28
+e208e208
+d208da28
+c207ca27
+b1c6a9a5
+d269c1e7
+c9c6c9c6
+c966d186
+d1e7d1e7
+c1e7ca07
+b9c5b9c5
+b9c5b9c5
+b9a4b9a4
+b9a4c1c4
+c1a4c9a4
+d1a4d1a5
+e185e185
+e185e185
+52475247
+52475247
+5a475a47
+5a475a47
+5a685248
+524a5a6a
+5aac62ed
+63306b71
+73937bb3
+7bb57bd5
+7bf78417
+84388438
+84167bf6
+7bd47394
+7b937b93
+73526af1
+8a4b8a6b
+b9eac22b
+f1aaf1aa
+f988f9a8
+f1e7f1e7
+da47da47
+da28da28
+e208e208
+d1e7d208
+c207c1e7
+b1c6b1e6
+d268c1e7
+c986c986
+c945c945
+d1c7d1e7
+c1c6c1c6
+b9c5c1c5
+c1c5c1c5
+b9c5b9a4
+b9a4c1c4
+c1a4c9a4
+d1a4d1a4
+d984e185
+e185e9a5
+5a475a47
+5a475a47
+5a675a67
+5a675a67
+5a685a47
+52485a69
+5a6a5a8b
+62cd62ed
+6b316b32
+73547b94
+7bb783d8
+8bf88bf9
+8bd78bb7
+8b758b54
+93549374
+93138ab1
+92079207
+b1c7c208
+e1c8e1c8
+f9a7f9e8
+f1c6f1c6
+e9e7e9e7
+e9e8e9e8
+e9c8e9c8
+c9e7c1e7
+b9e6b9c6
+b1c6b1e6
+c207ca27
+c9c6c9a6
+c965c965
+c9e7c9e7
+b9c5b1a5
+b9a4b9c5
+c1c5c1c5
+b9c4b9c4
+c1a4c1a4
+c9a4c9a4
+d184d184
+e164e184
+f1a5f1a5
+5a475a68
+5a475a47
+62676267
+62675a67
+5a685a47
+52485a69
+5a6a5a8b
+5a8c5aac
+62d062f0
+6b127353
+73767bb7
+83d88bf9
+93f88bd8
+93958b75
+9b749b95
+9b338ab1
+91e791e7
+b186b9e8
+e1a7e1a7
+f186f9c7
+f1c6f1c6
+e9e7e9e7
+e9e8e9e8
+e9c8e9c8
+c1e7b9a6
+b1c6b1a5
+a9c5a9a5
+b9a5d268
+da28d207
+d186d186
+d207c9e7
+b9c5b184
+b9a4b9c5
+c1c5c1c5
+c1c5c1c5
+c1c4c1c4
+c9a4c9a4
+d184d184
+e164e184
+f1a5f1c6
+5a475a47
+5a475a47
+5a675a67
+5a675a67
+5a675a67
+5a685a68
+5a695a69
+5a8a628a
+5a8d62ae
+62f06b11
+73547bb5
+8bd78bd7
+9bf79bf7
+ab74a353
+bb32c373
+cb12b26f
+b9c7b1a6
+b185b9e6
+ca07ca07
+da07da07
+e9e7e9e7
+f1c8f1c8
+f1e9e9e8
+e1c8d9a8
+b9c6b1a5
+a9a5a9a5
+a9a5a9a5
+b9c6ca27
+d9e7d1c6
+d186d9a6
+da27e268
+ca47b1a4
+b9a4c1c5
+c1c5c1c4
+c1c4c9e5
+c9c5c9a4
+d1a4d1a4
+d143d9a5
+f1c6f1c6
+f1a5e964
+5a475a47
+5a475a47
+5a675a67
+5a675a67
+62875a67
+5a685a68
+5a495a69
+5a695a6a
+5a6d5a8e
+62d062f1
+6b347b95
+83b783b7
+9bf7a418
+b3f6b3d5
+c394cbb4
+cb12b26f
+ca49ca28
+c227ca28
+ca27ca27
+da07da07
+ea07ea07
+f1c8f1e8
+f1e9e9c8
+e1a8d987
+b9e6b9a6
+b1c5a9a5
+a9a5a9a5
+b9c6c227
+d1c7c9a6
+d9e7e207
+d227e288
+d2a8b9c5
+c1e5b984
+b984ca05
+ca05c1a4
+c183c9c5
+c984c984
+d984e1c5
+f1c6f1c6
+f185e944
+5a275a27
+5a475a47
+5a675a67
+5a675a67
+5a675a67
+5a475a47
+5a485a48
+62686268
+5a6a5a8a
+5aac62cd
+6b317392
+7bb37bb3
+9bb3ac35
+cc13cc13
+e3b1e370
+e2acd22a
+fa09fa0a
+e249e228
+ca28ca27
+ca27ca27
+e208e208
+e9e8ea09
+e229d9e8
+ca07c1c7
+ba07b1c6
+a9c5a9c5
+a9a5a9a5
+b9a5c1e6
+e207d9c6
+ea08ea28
+d1c5e248
+e2e9ca47
+c1c5b984
+b984c1a4
+c9c5c9c5
+c9a5c9a5
+c944d164
+e1a5e9c6
+f1a6e986
+e944e924
+5a275a27
+5a475a47
+5a675a67
+5a675a67
+5a465a67
+5a475a67
+5a685a68
+62686268
+5a6a5a6a
+526c5aad
+6b317392
+7b937b93
+9393a415
+cc34cc13
+e390db4f
+e28cd22a
+f1c8fa09
+ea69e228
+ca27ca27
+ca27ca27
+e208e208
+e9e8e9e8
+e208d9e8
+c1e7c1c6
+b9e6b1c6
+a9c5a9a5
+a9a5a9a5
+b9a5c1e6
+ea48d9e7
+e9e7e1c7
+c985da06
+e30aeb2a
+da67ca06
+b984b963
+c184c9c5
+d1c5c9a4
+d164d185
+e9c6e1a6
+e965e965
+e924e944
+5a275a27
+5a475a47
+5a675a67
+5a675a67
+5a675a67
+5a675a67
+62686268
+62686268
+62496249
+5a6b628b
+630f7391
+73b273b2
+8bb19c33
+cc32cc32
+eb8ee34d
+ea8ae229
+f168f9c9
+f229e9e9
+d9e8d9e8
+da08d9e8
+e1e8e1e8
+e208e208
+d228d207
+ba06b9e6
+b1c6b1c5
+a9a5a9a5
+b1c5b1e6
+c1c6c9e6
+e1e7e1c6
+e185e165
+d185d9a5
+e268fb6b
+fb6be268
+c9a5c9a5
+c9c5c184
+c964d1a5
+d185d9a6
+e9c7e186
+e145e966
+e966f186
+5a275a27
+5a475a47
+5a675a67
+5a675a67
+5a875a87
+62876287
+62686267
+62486248
+6a496249
+5a6b62ac
+63307391
+7bf37bd3
+93d29c33
+cc11cc32
+ebafeb8e
+f2cbea6a
+f1a8f9c9
+f209ea09
+da08da08
+d9e8d9e7
+d9c8d9c8
+d9e8d9e8
+d207c9e7
+ba06b9c6
+b1c6a9a5
+a9c5a9c5
+b1e6ba06
+c9e6c9e7
+d985d9a6
+d965e185
+e1e6d185
+c9c5e2a8
+fb4beac9
+da27c9e5
+c9a5c9a4
+d1a5d1c6
+d185e1c6
+e186e186
+e966e966
+f9a7f187
+5a275a27
+5a475a67
+5a675a67
+5a675a67
+62a75a87
+62876287
+62876267
+62476247
+6a2a724a
+626c6a8d
+6b517bd3
+7c157c35
+94349c55
+c3f2c412
+ebafebaf
+fb0cfacb
+f24aea09
+ea09ea09
+f209e9e9
+e9c8e9a7
+e9a8e1a7
+d9a7d9a7
+d1e6d1c6
+c1c5b9a5
+b1c5b1c5
+a9c5a9e5
+b1e6ba27
+c9c6c9c6
+d965e186
+e165e966
+e1a6d965
+c984d1c5
+da47eaa8
+e288d206
+c9a5d1c6
+d9e6d1a6
+d986e9e8
+e166e9a7
+f187e967
+f9c9e947
+5a275a27
+5a475a67
+5a675a67
+5a675a67
+5a875a87
+5a675a67
+62676287
+62686268
+6a2a724a
+626c6aae
+6b527bf4
+84568456
+a4969c75
+bbd1bbb1
+eb6ef3af
+fb4dfb2d
+faacf24a
+ea09f229
+fa2af209
+f1e8e9c8
+e9a8e1a7
+d9a7d9a6
+d1c6c9c6
+c1c5b9a4
+b1c5a9a5
+a9c5a9c5
+b1e6ba06
+c9c6c9a5
+e186d965
+e145e145
+d965e1a6
+da06c9a5
+c9a5da26
+e288e267
+d1c6c984
+d185d9c6
+e1a6f229
+e166e9c8
+f1c8e966
+f9c9e105
+5a275a47
+5a685a68
+5a685a68
+5a885a88
+52695269
+5a695a69
+5a6a628a
+62aa62ab
+5aac5aac
+5ace6b30
+73b47c16
+84598c59
+a4ba9c99
+ac15abf4
+cbf1d432
+e3efdbcf
+fb2ce28a
+e229ea4a
+f26aea29
+e9c8e9e8
+e1a7e1a7
+d1a6d1a6
+c9c6c9c6
+b9e5b9c5
+a9c5a9c5
+a9a5ba07
+ca28b9a6
+b965c1c6
+c185c9a6
+d1a5d1a5
+d1c5d1c5
+d9c4d9c4
+d985d985
+e1e7ea48
+e227c985
+c944d9c6
+e9a6fa28
+e926f187
+f1a8e947
+fa2ae968
+5a475a47
+5a685a47
+52475247
+52685268
+52695a89
+5a8a62aa
+62cb6acb
+6aeb6aeb
+6b0d6b0e
+6b507391
+7bf58437
+8c598c79
+8c179458
+b436ac15
+c3d1cbf1
+dbefdbef
+fb8efb4d
+facce249
+ea09f249
+f209e9e8
+e1a7e1a7
+d1a6d1a6
+c9e6c9e6
+c206b9e5
+a9a5b1e6
+b1c6ba07
+ca69c228
+b985b945
+c9c6c9c6
+d1c6d1c6
+d9e5d1a4
+d1a4d1a4
+d985d986
+d9e7ea28
+e227d1a5
+d9a5e1e6
+e166f1e7
+e926f167
+f167e967
+fa4bfa0a
+5a465a66
+5a675a67
+5a685247
+52695269
+528a5aab
+62ed6b0e
+732f732f
+732f732f
+6b517372
+73947bd5
+7bf88419
+8c3b8c5b
+9c7a9c7a
+a4159393
+a32eab4e
+bbadc3cd
+f38deb6d
+f32cf30c
+fa8bea29
+e9a8e9a8
+e167e167
+d9a7d9a7
+c9e6c9c6
+ba05b9e5
+a184b1e6
+a9c5a9c5
+c268d2ea
+ca48b9c6
+c1c6b9a5
+c9a5d1e6
+d9c5d9a5
+d984d9a5
+d985d985
+d9c6e206
+e206d9e6
+e1e5e206
+e144e9a5
+e965e945
+e946f187
+fa4afa6a
+5a465a66
+5a675a67
+5a685a68
+5a895aaa
+5acb630c
+734f7b90
+7b917b91
+7b717b70
+73927bb2
+7bd57bf6
+7bf88419
+843b8c5b
+9c7a9c7a
+a416a3f5
+b3d0b38f
+ab0a9a88
+ca48ca69
+da89eaeb
+faabea29
+e9a8e167
+e987e987
+d9c7d9c7
+c9e6c9c6
+b9e5b9e5
+a9c5b1e6
+a9a5a164
+ba47db2b
+daead2a9
+c1a6b965
+c164c9c5
+d9c5d184
+d984e1c5
+d985e1a5
+d9c5d9c6
+d9e6da06
+e1e5d9c5
+e144e185
+f186e945
+e125f187
+f1e8fa4a
+62865a65
+5a665a66
+5a885a88
+528b5acb
+6b2f7370
+7bb383f4
+83d67bb5
+7b957395
+73b67bd7
+7bf77bf7
+7c178438
+8c7894b8
+9c969cb6
+acd4bd15
+d573cd32
+b40c9329
+91e5a267
+b1e6b206
+d208e28a
+fa6ae9a8
+f1a8f1a8
+e1c7e9c7
+d1e7d1c6
+c1e5c1e5
+ba06b1e6
+a9c5a184
+b247d32a
+cb0ad34b
+c268b1e6
+b985c1a6
+d9a5d185
+d964e185
+d965e185
+d9a5d9c5
+d9e5e206
+e1c5d984
+e164e164
+f185e964
+e144e985
+e9a6f207
+62a66286
+5a665a66
+5a885a88
+5aab630c
+73717bb2
+83f48415
+83f67bb5
+7b957b95
+7bd77bf7
+7c188418
+84388c79
+94d99cfa
+b559b579
+c556c577
+ddd5e5f5
+dd92d531
+bb0ab2c9
+a9c6b207
+da08da49
+fa6afa2a
+f1c8e987
+e1a7e1a7
+d1e7d1c6
+c1e6c1e6
+b1e6b1c5
+b206a9e6
+ba68cae9
+c2a9d32b
+d2eac268
+c1a6c1a6
+d185d185
+e185e1a5
+d965e185
+d9a5d9c5
+d9e5e206
+e1c5d9a4
+e164e164
+f185e965
+e965e985
+e185e1a6
+62a86267
+5a685a88
+5a8a5aab
+630e6b70
+73b47bd4
+7c177c17
+73b77397
+73977397
+73b97bd9
+84178c58
+94d59d37
+ad94b5d5
+c633ce54
+d694d694
+e674e674
+de34d5f3
+d531b40d
+a2e9bbcc
+d34cb248
+da89eb2c
+ea49d9e8
+d9a7e1c7
+d9c7d9a6
+d1a6d1a6
+c9a6c185
+c1e6b9c6
+ba47c2a9
+b267cb0a
+db4bc2a9
+c1e6b9a6
+d185d1a6
+e186e1a6
+e185e186
+d9c6d9c6
+d9c5d9c5
+e1c5e1a5
+e964e984
+e964e965
+e9a5e185
+d9a5d984
+62876267
+5a686288
+5aab62ec
+6b507bd1
+73d47bf4
+7bf67bf6
+73976b76
+6b776b77
+73997bd9
+845894ba
+a557b5d9
+c656ce77
+d6b5ded6
+e6f5ded5
+e694e694
+de34de13
+e5b3c4af
+b38bcc4e
+db8dba68
+e2aafb8d
+f28ae229
+e1e8e1e8
+e1e8d9c7
+d1a6d1a6
+d1e7c9a6
+c207b185
+b206ba68
+aa26c2e9
+db6ccaea
+ca07b9a5
+d165d186
+e186d965
+e1a6e1a6
+e1c6d9c6
+d9a5d9a5
+d9a4d9a4
+e985e9a5
+e944e965
+e9a5e164
+d9a5d984
+628a5a49
+524a62cc
+6b2f7370
+73937bd4
+73d67bf6
+73f76b96
+5b355b15
+637773d8
+7bf9843a
+94b9a53b
+bdd8ce5a
+ded6e717
+e734ef55
+ef55e714
+e6f5e6d4
+d674ce13
+bd51acd0
+9beca40d
+a36b8a88
+b30acb8c
+ebaedb2c
+e269da28
+e9e8e9e8
+e987e166
+e1c7d986
+d9c7c945
+b165b9a6
+b1c5ba06
+db4bdb4b
+d2a9c206
+c985d1a6
+d986d165
+d986e9e8
+ea28e1c7
+d165c964
+d964d984
+e985e965
+e144e144
+d965e185
+d9c6d9e6
+5a6a5a6a
+62ac6b0d
+73507391
+73b37bd4
+73d573b5
+6b966355
+5b155b36
+637773d8
+8c5b949c
+a51ab59c
+c619ce7a
+def7e717
+e734ef55
+ef35e714
+e6d4de93
+ce13bdb1
+b4f0a4af
+9c0d9c0d
+a36b9b0a
+bb2bcb8c
+fc0febae
+eacbe269
+e9e8e9e8
+f1c8e9a7
+d986d986
+e208d9e7
+c1c6b9a6
+a9a5a164
+ba27d30a
+eb4bd289
+c965c144
+d165d9a6
+d966f229
+faaaea49
+d9a6d185
+d985d984
+d924d924
+e124e144
+e185e185
+d9e6d9e6
+524c62ad
+6b107351
+73937bb4
+73b57bd6
+73b76b76
+5b355b15
+63366b97
+73d87c19
+94ba9cfb
+ad5bbddd
+ce3dd67e
+debce6bc
+e6dae6da
+e6d9de98
+de77ce16
+bd93ad11
+94b08c4f
+8c2e83cd
+8b8c8bac
+a36ba38c
+e470dc2f
+eb8de32c
+f28aea6a
+f209e9e8
+e1a7e1a7
+e1e7e1e8
+c9a6c9a6
+c206b184
+a964ca47
+daa9d268
+c9c6c9a5
+d1a5c985
+d166f28a
+fb2cfaaa
+e207d9e6
+e1c6d9a5
+e185e185
+e165d965
+d165c944
+c144b944
+5a8d6b0f
+7b927b92
+7bb47bd4
+7bd673b5
+6b966355
+5b155b15
+6b7773f8
+843a847a
+94db9d1c
+b57cbddd
+ce3cd65d
+de7bde7b
+de99de99
+d657d637
+ce16c5d5
+b552a4d0
+8c4f7bcd
+83cd736b
+834b8bac
+92ea9b2a
+cb8dd3ce
+f3aefbcf
+fb4dfb0c
+fa4af209
+f1e8e9c8
+d9a6e1e8
+c9a6d1e7
+daa9c1e6
+b1a5b9c5
+b9a5c1e6
+d207da27
+d1c6c985
+d186ea49
+facbf28a
+e207d9c6
+e1a6d9a5
+e9a6e9a6
+e9a6e1a6
+d9a6d9a6
+c9a6c9a5
+6b107372
+7bb37bb3
+7bb57bd5
+73b66b75
+63155b15
+5b156336
+73988419
+8c7b949c
+9cfaa53b
+ad7cb5bd
+bdddc5fe
+c5fdc5fd
+cdfcc5dc
+c59abd7a
+bd78b537
+a4b59454
+84306b6d
+736d6b0c
+7b0b836c
+82aa930b
+a289b30b
+db6debef
+fbeffbce
+f34ceaeb
+f28aea49
+d9e7e249
+d1e6da48
+e288c1a5
+c1c5b984
+b984c9e5
+d206d1e6
+d1e6d206
+d1a6d9c7
+da07da07
+d1e6d1a5
+d9a5d9c5
+e1a6e1a6
+e1a6e1a6
+d9e6d9e6
+ca07ca27
+73717bb2
+7bb37b93
+73947394
+6b756314
+5af56315
+63566b97
+7bd9843a
+949b94bc
+9d1aa53b
+ad5cad7c
+b57cb57c
+b57bb57b
+bd7ab55a
+b518acf8
+acf6a4b5
+94538bf2
+7bef632c
+6b0c62eb
+72ea7b0b
+8289930b
+9228a289
+c2cad34c
+f38dfbef
+fbcefb8e
+faebf2aa
+e228ea69
+d1e7e269
+da47b984
+c1a5c1a4
+c1c5c9e6
+c9c5c184
+c9c5da27
+d9e7d1a6
+c9a5d1c6
+d1c5d1a5
+d9a5d9c6
+e9c6e1a6
+d9a5d985
+c9a5c9a5
+c1c5c1c5
+739273b2
+73b37393
+6b746353
+5b145af4
+5b156336
+73787bb9
+83fa8c5b
+947c9cbd
+9cfa9d1b
+a53ba53b
+a53aa51a
+a519a519
+a519a4f8
+a4d89cb8
+9c989457
+8bf683b5
+738e5aec
+6acc62ab
+728b7aab
+824992ab
+9a49a28a
+baaabaeb
+d32be3ce
+f42ef42f
+fbaef36d
+eacae2aa
+d207e2a9
+d206c184
+c184c184
+c184c9a4
+c9a4c9a4
+c9c5c9e5
+da06d1c6
+c9c5c9c5
+c9c5c9c5
+d9c5d9e5
+e1c5e1c5
+d9a5d9a5
+c9c5c9c5
+c206c206
+73727392
+73b37393
+63535b12
+5af45af4
+63366356
+73987bd9
+841a8c5b
+947c949c
+94da94da
+9cfa9cfa
+9cd99cd9
+9cd89cd8
+9cb79497
+9c979c97
+9c989457
+8bf683b5
+6b6e632d
+6acc62ab
+726a728b
+8a49928a
+a28aaacb
+bacabaca
+caeadb6c
+e3cdebee
+fc0ffbef
+fb8df32c
+da68eaca
+c1a5b943
+c184c9a4
+c184c184
+c184d1e5
+d1e5c9e5
+d1c5d1e6
+d1e5c9c5
+c9a4c9c4
+d1c5d1c5
+e1c5d9a5
+d9a5d984
+c9a5c9a4
+b9c5b9c5
+73726b52
+63325af1
+5ad25ad2
+5ad45af4
+6b576b77
+7bb983fa
+841b8c3c
+8c5c8c5c
+9479947a
+947a947a
+947a947a
+945a945a
+94599459
+94589458
+94568c35
+83f37bb2
+830c7acc
+62ea62ca
+5ae95ae9
+72a87aa9
+b28abaeb
+d2abd2ab
+daece34d
+db8ddbad
+f430fc71
+fc0ffc30
+eb4ce32b
+b9a5b985
+b9c4b9a4
+b9a4b9a4
+c1a4c1a4
+c9c5c9c5
+d1a5d184
+c984d1a5
+d1e5c9e5
+c9a4c163
+d9c5d1a5
+d1a5d9c5
+c9c5c9a4
+c1c4b983
+73726b31
+63115ad0
+52b15ad2
+5af46315
+6b577398
+7bd983fa
+841b843b
+8c5c8c5c
+94799479
+947a8c59
+8c5a8c39
+8c398c39
+94398c39
+8c378c37
+94568c15
+83d37b92
+7aec7acb
+62ca62ca
+5ae95ac9
+728872a8
+a248b2aa
+d2abdacb
+db0ce34d
+db8ddbad
+ebcfebef
+f3cefc50
+fbceeb4c
+c1c6b985
+b9c4b9c4
+b9c4b9a4
+c1a4c1a4
+c9a5c9a5
+d9a5d185
+c9a4d1a5
+c9c5c9c5
+c9a4c184
+d1a5d1a5
+d184d1a5
+c9c5c9c5
+c1e5c1c4
+6b525af1
+52905270
+52725ab3
+63156336
+6b787399
+7bda841a
+843a843a
+843a8c5a
+8c5a8c59
+8c3a8c39
+8c1a8c1a
+8bf98bf9
+8c198c18
+8c378c37
+8c3583f4
+7bb17370
+82ab828b
+62ea62ca
+530952e9
+6aa86ac8
+9a08aa8a
+da6bda8b
+e2eceb0d
+db6ddb8d
+eb6de36d
+f3aefc2f
+fc0ff34c
+c9e6b984
+c1a4c1a4
+c1a4c1a4
+c1a4c9a4
+c9a5c9a5
+d9a5d9a5
+c9a5c9a5
+c1c4c1c4
+c9a4c1a4
+c984d1a5
+d1a5d184
+c9c5c9c5
+c1c5c9e5
+63115ad0
+52704a4f
+52925af3
+63366b77
+73b97bd9
+83fa841b
+843a843a
+843a843a
+8c398439
+84198419
+83f983f9
+83f983f9
+8c198c18
+8c178c17
+8c1483f4
+7b917350
+828b7a6a
+62ca62ea
+53095309
+6ac86ac8
+a228b2aa
+da6bda8b
+dacbe2ec
+d34cdb8d
+eb8eeb6d
+fbcef3ad
+fbade2ca
+c9e6b984
+c1a4c1a4
+c1c4c1c4
+c9a4c9a4
+c9a5c9a5
+d185d9a5
+d1c5c9a5
+c1c4c1a4
+c1a4c9a4
+d1a5d9e6
+da06d1a5
+c9c5c9a4
+c1a4c9e5
+5af15ad0
+529152b1
+5ad46b56
+739973b9
+7bda7bfb
+841b843b
+84398419
+84388438
+84198419
+84198419
+83fa83fa
+841a841a
+8c398c18
+8c168c16
+8c1383d2
+7b6f732e
+7aaa7289
+62c962c9
+5b095b09
+6ac86ae8
+9268a2ea
+caabcacb
+e2abe2cb
+eaecf34d
+fbaefb8d
+fb8de2aa
+ea89d207
+c9c5c9a4
+c9a4c9a4
+c9a4c9c4
+c9a4c9a4
+d1a5d1a5
+d164d185
+c9c5c9c5
+c1c5c1c4
+c1c4c1c5
+c9a5d206
+ea68da06
+c9a5c9a5
+c184c9e5
+5ad15ad0
+52b25af2
+63357397
+7bda83fa
+841b843c
+843b843b
+84197c19
+84188438
+84198419
+84198419
+841a841a
+8c1a8c1a
+8c398c18
+8c168bf5
+8bf27b91
+734e6b0d
+728a7289
+62c962c9
+5b095b09
+6ae86ae8
+8a279aa9
+c28acaab
+daabe2ab
+e2cbeb0d
+fb8df34d
+f30cca07
+d1c6c9a5
+c9c5d1e5
+c9a4c9a4
+c9a4c9c4
+c9a4d1c5
+d1a5d1a5
+c944d164
+c9a5c9c5
+c1e5c1c5
+c1c4c1c4
+c184c9c5
+ea88e227
+c9a5c9a5
+c1c5c9e5
+5acf5ad0
+5af26313
+6b5673b8
+83fb841c
+8c3d8c3d
+8c5c843c
+841a7bf9
+7c188418
+7c188419
+84198439
+841a841a
+8c198c19
+8c378c17
+8bf483d3
+83b07b6f
+6b2c62eb
+62ea62c9
+62c96ac9
+6ae96ac8
+72c872c8
+72877ae8
+a2c9aaea
+d28ada8a
+fa2bfa8c
+f30beaaa
+e248c985
+d1a5d1a5
+d1a4d9c5
+c9a4c9a4
+c9a4d1c4
+d1a4d1a5
+d9a5d9a5
+c964c964
+c1a4c9c5
+c1e5c1e5
+b9c4b9a4
+c1a4c184
+ea88e247
+c184c9c5
+c9c5c9c5
+5ad05af0
+63126b53
+73977bf9
+841c8c5d
+8c5e8c5e
+8c5c843c
+84197bf9
+7c188418
+84198419
+84398439
+841a841a
+8c198c19
+8c1783f6
+83d38393
+7b8f734e
+6b0b62ca
+62ea62c9
+62c962c9
+6ac86ac8
+6ac872c8
+7ac88309
+a2a9a2c9
+d26ad28a
+fa2bfa8c
+eacada28
+d1c6c985
+d9c6d9e6
+d184d9c5
+d1a4d1a4
+d1c4d1c4
+d1a4d1a4
+d185d185
+d185d184
+c1a4c9a5
+c205c1e5
+b9c4b9a4
+c9c5b984
+ea88e247
+c164c9c5
+c1c5b984
+5acd5aee
+63106b72
+7bb78418
+8c3c947c
+947e8c5d
+8c3c841c
+7bfa7bd9
+7bd87bd8
+84388458
+8c598c59
+8c588c38
+8c178c17
+8bf583d4
+83b17b70
+732d6b0c
+6aea62c9
+5ae95ae9
+62c862e9
+72c872c8
+72c872e8
+72e872c7
+8a6792c8
+d289daca
+fa4afa4a
+d9c7d9c6
+d9a6d9a6
+d9c5d9a5
+d9a5d1a4
+d1a4d1a4
+d1a4d1a4
+d1a5d1a5
+d9a5d9a5
+c184c184
+c1a5c1c5
+b9e5b9e5
+b9c5b9c5
+c184da68
+da27d1c5
+c9c5c9a5
+b984c1a4
+52ac5acd
+5af06b51
+7bb68418
+8c3c945c
+947e8c5d
+8c3c841c
+83fa7bd9
+7bd87bd8
+84178438
+84388458
+8c388418
+83f683d6
+83b47b93
+73506b0f
+6aec6acb
+62c962c9
+5b095ae9
+62e962e9
+72c872c8
+72c872e8
+72a772a7
+8a879ae9
+d289d2aa
+f1e9f1c8
+d1a6d1a6
+d9a6d9a6
+d9a5d9a5
+d9a5d9c5
+d1a4d1a4
+d1a4d1a4
+d184d1a5
+d9a5d9a5
+c184c184
+b984c1a5
+b9e5b9e5
+b9c5b9c4
+c184e2a8
+d1e6c9a5
+d206c9a5
+c1c5c1c5
+528a5aaa
+62ed6b4f
+739383f4
+8c189459
+949b947b
+945b8c3a
+841883f8
+7bb67bb6
+7bf57c15
+84358436
+841583f4
+83d27bb2
+7b90734f
+730c6aec
+62c962c9
+62a962a9
+62c962c9
+62e962e9
+6ae86ae9
+72c872c8
+82678287
+a227b288
+d248d248
+d9c7d9a6
+d185d9a5
+d9a5d9a5
+d985d984
+d9a4d9c5
+d1a4d1a4
+d1c4d1c4
+d1a4d1a5
+d9a5d9a5
+c1c5b9a4
+b1a4b1a4
+b9e5b9e5
+c1c5b9c5
+c9c6f2ea
+d1c6c985
+ca06b964
+b9c5b9c5
+52aa5aaa
+5acd630e
+6b527bb3
+83d78c18
+945b945b
+8c3a8c1a
+83f87bb7
+7b967375
+73b47bd4
+7bf47bf5
+7bd47bb3
+7b917371
+732f6b0e
+6aec62cb
+62c962c9
+6ac96ac9
+6ae96ae9
+62e962e9
+6ae86b09
+72e872c8
+92c88aa8
+a227aa47
+c1e7c1e6
+d165d165
+d9a5d9a6
+d9a5d9a5
+d985d984
+d1a4d9a4
+d1a4d1a4
+d1c4d1c4
+d1a4d1a5
+d9a5d9a5
+c1c5b9a4
+b184b184
+b1c4b9e5
+c1e5b9c5
+d206f30b
+da07c9a5
+c9e6b964
+b184b9a4
+5aa85aa8
+5aaa62eb
+6b0e7370
+7bb383f4
+8c168c36
+8c1683f5
+83b37b93
+73727351
+73717391
+73b173b1
+738f738f
+734d734d
+6b0b6b0a
+6aea62c9
+6ac96ac9
+6ac96ac9
+6ac96ac9
+6ac96ac9
+72c97ae9
+8aa98aa8
+aaa9a268
+b1e6b1e6
+c185c185
+d185d1a5
+e1a6d9a6
+d9a5d985
+d985d985
+d1a4d184
+d1c4d1c4
+c9c4c9c4
+d1a5d1c5
+d1a5d1a5
+b9e5b1c5
+a984a983
+b1a4b9e5
+c1c5c1c5
+d1c6eaa9
+ea89da07
+d227c1c5
+a963b1e5
+5ac95aa8
+5aaa62ca
+62ed6b2f
+73727bb3
+83d483d5
+83f583d5
+7b937352
+6b316b31
+63306330
+6b2f6b2f
+6b2d630d
+6b0c62ec
+62ea62ca
+62c962c9
+6ac96ac9
+6ac96ac9
+6ac972e9
+6ac96ac9
+72c97b0a
+8ac98ac9
+a2889a47
+b1c5b1c5
+c185c9a5
+d1a5d1a5
+d9a6d985
+d985d985
+d985d985
+d1a4d184
+d1c4d1c4
+c9c4c9c4
+d1a5d1a5
+d1a5d1a5
+b9e5b1c5
+a9a4a963
+b1a4b9e5
+c1c5c1c5
+c964da07
+eaa9e248
+d247ca06
+a163b1a4
+62c862c8
+62c962c9
+62eb6b0c
+732e734f
+73707b90
+7bb17bb1
+7b8f734e
+6b0d6aec
+62ed62ed
+5acc5acc
+62ca5aaa
+5ac95ac9
+62c862c8
+62c862c8
+6ac96ac9
+6aca6ac9
+6ae96aea
+72a972a9
+8a8992ca
+a2aaa289
+aa48a207
+a9a5b1c5
+c9a5c9c5
+d964d964
+d985d985
+d985d985
+d985d985
+d1c4d1a4
+c9c4c9c4
+c9c4c9c4
+c9a5c9a5
+d1a5d1a5
+b1e5b1e5
+a9a4a183
+a983b9c5
+c1c5c1a5
+c964d1a5
+da07da07
+ca47ca47
+b205b1e5
+62c862c8
+62c962c9
+62cb62eb
+6aed6aee
+6b0e6b2f
+734f734f
+732e6aed
+62cc5aab
+5aad5aac
+528b528b
+5a895a89
+5aa85aa8
+62e862c8
+62c862c8
+6ac96ac9
+6ac96ac9
+6ae96aea
+7ac972a9
+8a899aea
+aaaaa289
+aa48a207
+a9a5a9a5
+c9a5c9c5
+d964d964
+d985d9a6
+e1a5d9a5
+d985d984
+d1c4d1c4
+c9c4c9c4
+c9c4c9c4
+c9a5c9a5
+d1a5d1a5
+b1e5b1e5
+a9a4a183
+a963b1c4
+c1c5c1a5
+c985c985
+c964d1a6
+ca47d288
+d2e9c267
index 085b7ff..e69de29 100644 (file)
-31653165
-31653165
-31453145
-31452945
-31452945
-29662966
-29452945
-29452945
-29252925
-29252925
-29252925
-29452945
-31653165
-29652965
-29652965
-29652965
-31653145
-31653165
-31453145
-31453145
-31653165
-39453965
-39853985
-39853985
-398539a6
-39a539a5
-39a53985
-39653965
-39653965
-39653965
-39653965
-39653985
-39a53985
-49655145
-51255125
-49254125
-39653165
-31853985
-49655965
-69667166
-39653965
-39653965
-31653165
-31453145
-31663166
-31662965
-29662965
-29452945
-31253125
-31253125
-31253145
-29452945
-31653165
-29652965
-31653165
-31853165
-31663166
-31663165
-31653145
-31453145
-39653965
-39653985
-39853985
-41a541a5
-39a539a6
-39a639a6
-41a639a5
-39853985
-39653965
-39653965
-39653965
-39653965
-39854165
-49455145
-51255125
-51464145
-39653985
-39853985
-49655145
-61456945
-39863986
-39853985
-39863165
-31663166
-31863186
-31863186
-31663186
-31662965
-31453145
-31453145
-31453145
-31453145
-31653165
-31653165
-31853185
-31853185
-31863186
-31863186
-31663165
-31653165
-39853985
-39853985
-41a541a5
-41a541a5
-41c641c6
-41c641c6
-41c641a5
-41854185
-39853985
-39653965
-39853985
-39863985
-49864965
-51455125
-51255125
-51454945
-41864185
-41a541a5
-49855165
-51655965
-39a639a6
-39a63986
-39863986
-39863986
-39863186
-39863186
-31863186
-31863186
-31663165
-31663165
-31663165
-31653165
-31653165
-31653185
-31853185
-31853185
-31863186
-31863186
-39863986
-39863985
-398539a5
-41a541a5
-41a541c5
-41c541c6
-41c641e6
-41c641c6
-41c641c6
-41a641a6
-41854185
-39853985
-39863986
-39a64186
-49865186
-51665166
-51665166
-49464966
-49654185
-41a54185
-41854985
-51855164
-39a639a6
-39a639a6
-39a639a6
-39a63986
-39863986
-39863986
-39863986
-39863986
-31653165
-31653165
-31653165
-31653165
-31853185
-31853185
-31853185
-31853185
-31853186
-318639a6
-398639a6
-39a639a6
-39a539a5
-41a541c5
-41c541c5
-41c541c5
-49e649e6
-41c641c6
-41c541c5
-41a541a5
-41a639a5
-39a639a6
-39a639a6
-39a641a6
-39654186
-49864986
-49c651a6
-498649c6
-49a549a5
-49a549a5
-49a549c5
-49c549e5
-41c741c7
-41c641c6
-41c639a6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-39863986
-39853985
-39853985
-39853985
-39853985
-31653185
-31853185
-31853185
-31853185
-31853186
-318639a6
-39a639a6
-39a641c6
-41c541c5
-41c541c5
-41c549e6
-49e649e6
-49e649e6
-49e641c6
-41c641c5
-41c641a5
-41a641a6
-39a639a6
-39a639a6
-39a639a6
-398541c6
-41c641a5
-49e649c6
-498551c6
-49a54985
-498549a4
-49a451a4
-51a451c4
-41e741e7
-41e741c7
-41c641c6
-41c641c6
-41c641c6
-41c641c6
-41c641a6
-41a639a6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-39853985
-39a53185
-31853185
-31853185
-31853185
-39863986
-39a639a6
-39a639c5
-41c641c5
-41c641c5
-49e649e6
-49e649e6
-49e649e6
-49c649e6
-41c641c6
-41c641c6
-41a641a6
-39a639a6
-39a639a6
-39a639c6
-39c64227
-41c641a5
-51e651c6
-518561c6
-59855985
-59845984
-618461a4
-69c569c5
-41e741e7
-41e741e7
-41e741e6
-41c641e6
-41c641e6
-41c641c6
-41a641a6
-41a641a6
-41a641c5
-41a641a6
-41a639a6
-39a639a6
-39a639a6
-398539a5
-39a539a5
-31853185
-39a639a6
-398639a6
-39a639a5
-39a539a5
-41e641e5
-41c549e6
-49e649e6
-49e64a06
-51e651e6
-49e649e6
-49c641c6
-41c641c6
-41a641a6
-39a639a6
-39a639a6
-39a639a6
-31a541e6
-41a54965
-61c769c7
-71a68208
-82288227
-82278227
-8a479268
-9a68a289
-41e741e7
-41e741e7
-41e741e6
-41e641e6
-4a064a06
-41e641e6
-49e641c6
-41a641a6
-41c641c5
-41c641c6
-41e641e6
-41e641c6
-39a539a5
-39a53985
-39853985
-31853185
-39853985
-39853985
-398539a5
-41c541c6
-41c541c5
-41c549e6
-49e649e6
-49e649e5
-51e651e6
-49e649e6
-49e641c6
-41c641c6
-41a639a5
-39a641c6
-41c639a5
-41a641c6
-520751a5
-618579e8
-a28bbaec
-c2ecbaec
-91c79a07
-9a48a248
-aa89baaa
-c289ba49
-42074207
-41e741e7
-41e74206
-42064206
-4a064a06
-4a0641e6
-49e641c6
-41a641a6
-41c541c5
-41c541c5
-41c641c6
-41c641c6
-39a539a5
-39a539a5
-39853985
-39a53185
-39853985
-39853985
-39a539a6
-41c641e6
-41c541c5
-49e649e6
-49e649e6
-49e549e5
-51e651e6
-49c649e6
-49c641c6
-41c641c6
-41c641c6
-41c641c6
-41c641c6
-41c649c5
-51655924
-81e7bacc
-caecdaed
-d2acba29
-99659985
-99a599c6
-a9e7ba48
-ca28c1e7
-42074207
-42074207
-4a074a06
-4a064a06
-4a064a06
-420641e6
-41e641c6
-41c641c6
-41c541c5
-41c541c5
-41c541c5
-41c641c6
-39a639a6
-39a639a6
-39a63985
-39863986
-39853985
-398539a6
-39a641c6
-41c641e6
-41c641c5
-49e649e6
-49e649e6
-49e549e5
-51e649c5
-49c649c5
-49c641c5
-41c641a6
-41c641c6
-41c641c5
-41a541c6
-41c551a5
-61857945
-aa4ad30d
-d26bd22a
-d229b146
-a9869985
-99a599c5
-aa06ba47
-ca48c1e7
-42074207
-42074227
-4a064a06
-4a264a26
-4a064a06
-4a064206
-41e641e7
-41e749e7
-41c641c5
-41c541c5
-41c541c5
-41c641c6
-41a639a6
-39a639a6
-39a639a6
-39863986
-39863985
-398539a6
-39a539a6
-41c641e6
-49e649e6
-49e649e6
-49e649e6
-49e549e5
-49c549c5
-49c649c5
-41c641c6
-41c641a6
-39a641c6
-41c541a5
-41a549e6
-49e651a5
-79c699e7
-c2abd2ac
-c9e9c9c8
-c9c8b145
-a1859984
-91a491a4
-99c5a9e6
-b1e6b9c5
-42074207
-42074227
-4a274a27
-4a264a26
-4a264a26
-4a274a27
-4a074a07
-4a084a07
-49e649e6
-49e649e6
-41c641c5
-41c641c6
-41c641a6
-39a639a6
-39a639a6
-39a639a6
-39a63986
-398539a6
-39a539a6
-41c641c6
-49e649e6
-49e649e6
-49e649e6
-49e649e6
-51e649c6
-49c649c5
-41c641c6
-41c639a6
-39a641c6
-41c641a5
-41c549e5
-49c551a4
-7164aa49
-c2abba28
-b9a7b986
-b9a6a985
-a18499c4
-99c499e4
-99c499a4
-a1a4a1a4
-42074207
-4a274a27
-4a274a26
-4a274a27
-4a264a27
-4a074a07
-4a084a08
-41e841e7
-4a074a06
-49e649e6
-49e649e6
-41c641c6
-41c641c6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-39a641c6
-41c641e6
-49e649e6
-49e649e6
-49e649e6
-49e649e6
-49c649c6
-49e641c6
-41c641c6
-41c639a6
-39a639c5
-41a541a5
-41a541a4
-49c459a4
-8a07baaa
-ba69a9a6
-a965a965
-a144a984
-a9c5a205
-a225a225
-a205a1c4
-a1a4a1a4
-4a274a27
-4a274a47
-4a474a47
-4a474a47
-4a264226
-42274a27
-4a484a49
-4a284a08
-52274a06
-49e649e6
-49e649e6
-41c641a5
-41c641a6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-39a639a6
-41c641e6
-49e649e6
-49e649e6
-49e649e6
-49e649e6
-49c649c6
-49c541c6
-41c641c6
-39a639a6
-41c639a5
-41a541c5
-41a54184
-49c561e5
-ab0abac9
-aa27a1a5
-a185a184
-a184a9a5
-a1a4a9c4
-a9e5aa05
-a9c5a9c4
-a1a4a1a4
-4a274a47
-4a474a47
-4a474a47
-4a474a47
-4a474a47
-4a284a69
-528a5aab
-52ab526a
-4a294a07
-41e741e7
-49e749e7
-41c741a6
-41c639a6
-39a639a6
-39a639a6
-39a63986
-39a639a5
-39853985
-39a539a6
-41c541c6
-41c649e6
-49e649e6
-49e649e6
-49e649e6
-49e549c5
-41c541c5
-41c639a6
-39a639a5
-41e641c5
-41a549c6
-51a55184
-61e57a27
-aaa999a5
-916499a5
-a1a5a1a5
-a1a5a1a4
-a1a4a9c4
-a9c4b1e5
-b1e5b1c4
-b1a4b1a4
-4a264a26
-4a264a26
-4a264a46
-4a464a47
-4a264a48
-528a5aec
-6b2f7390
-6b716330
-5acd528c
-4a2a41e9
-41a941c8
-41c841a7
-41c739a7
-39a639a6
-39a639c6
-39c539c5
-31a431a4
-31a539c5
-39c541c5
-41a541a5
-41c649c6
-49e64a06
-49e649e5
-49e549e5
-398441a5
-41c539c5
-39c539e5
-39c531a4
-39c541a5
-49855165
-59646944
-81c69a28
-99c59984
-9984a1a5
-a1c599c5
-99a4a1a4
-a1a4a1a4
-a9e5b1e5
-b9c5b9c5
-b9a5c1a5
-4a264a26
-4a264a46
-4a464a46
-52464a47
-4a475289
-5acc6b4f
-73b27c14
-7bf47bd4
-73b26b51
-62ef5a8e
-524c4a2b
-41ea41a9
-41c841a7
-39a739a6
-39a639a5
-39c531a5
-31a539c5
-39c539c5
-41c541c5
-41c541a5
-41c649e6
-49e649e6
-49e549e5
-49e549e5
-49c541c6
-41c641c6
-39c639e6
-39e639c6
-39c541c5
-49855965
-69458186
-99c7a208
-a1c6a1a5
-a1a5a1c5
-a1e599a4
-99a4a1c4
-a1c4a9c5
-b1c5b9e5
-b9c5c1c6
-c1c6c9c6
-4a064a26
-4a274a47
-52475247
-52474a47
-4a285aaa
-630d73b1
-84348c76
-8c988c77
-8c778436
-7bd47372
-6b3162ef
-526d4a2b
-4a0a41e9
-39c839a7
-39a631a6
-31853185
-39863986
-39a639a6
-39c539e5
-39c539c5
-41e541e5
-41e541e6
-49e649e6
-49e649c6
-51c751a7
-49a741a6
-39a631a6
-31c639c6
-39a641a5
-49655945
-718689e7
-99e8a1c7
-a9c6a9c5
-a9e5aa06
-a1e5a1c5
-a1c5a9e5
-a1a4a9a4
-b1a5b9c5
-c1c5c1c5
-c9c5c9c6
-4a074a27
-4a275247
-52475247
-52475248
-4a285aab
-6b2f83f3
-8c7694b8
-9cfa9cfa
-9cfa9499
-8c588437
-83f57bb4
-73526b10
-5aae528d
-4a2b41e9
-39c839c7
-39a73187
-39673967
-39863986
-39a639c5
-39e539e5
-3a053a05
-41e541e6
-420649e7
-49e749c7
-51a84988
-41874187
-39873186
-31a631a6
-39a63965
-49656185
-79e79208
-99e899a6
-a1c5a9c5
-a9e5a9e5
-a9e5a9c5
-a9c5b1e5
-a9a4b1a4
-b1a5b9a5
-c1a5c1c5
-c9c5c9c6
-49e74a07
-4a275247
-52485248
-52485248
-52495aac
-73708414
-94989cfa
-a53ca53d
-a51d9cfc
-94db94ba
-949a9478
-8c378415
-7bd47372
-62ef528d
-4a4b422a
-420a41ea
-41a941a9
-41a839a7
-39a639c5
-39e54205
-3a043a04
-42054206
-42074207
-41e741c8
-41c941c9
-41c9420a
-422a4229
-42094208
-4a0849a6
-518669e7
-8a489228
-91c691a5
-a1c5a1c4
-a9c5a9c5
-a9e5a9e5
-b1c5b1c5
-b1a5b1a4
-b9a5c1a5
-c1c5c9c5
-c9c5d1e6
-49e74a07
-52275247
-52485248
-52485248
-524a5a8c
-6b508415
-94b99d1c
-a55dad7f
-ad7fa55e
-a53ea51d
-a51ca4fc
-9cdb9cb9
-94988c56
-7bb36b31
-5acf528e
-526d4a4c
-4a2c4a0c
-4a0b41c9
-39a739a6
-39c541e5
-41e54205
-42064206
-41e741e7
-41e841e8
-39ea424b
-528c5acd
-62ed62ed
-62ed6aab
-6a8b6a29
-72088a69
-92899207
-91c691c5
-aa06a9e5
-a9c5a9e5
-b1e5b1e5
-b1c5b1c4
-b9a4b9a5
-c1a5c1c5
-c9a5c9c5
-d1c5d1c6
-49e74a07
-4a075227
-52475248
-52485249
-522a526c
-6b107bf4
-8c989cfc
-a55ea57f
-ad9fad9f
-ad9fad9f
-ad7ead5e
-ad5da55d
-9cfb9cb9
-8c577bd5
-73936331
-5ad0528f
-528f528e
-526d4a2b
-41e939c7
-41c741c6
-41e641e6
-42064207
-41e741e7
-42084229
-4aac5b0e
-6b707370
-7b908b90
-8b4f8aed
-92cc928b
-9a6aa28a
-a2489a07
-91e599e5
-a9e5a9e5
-a9e5b1c5
-b1e5b9c5
-b9a5b9a4
-b984b984
-c9a5c9a5
-c9a5d1c5
-d1c5d1c6
-4a064a07
-4a075227
-52475a47
-52485249
-524a526c
-63107bd4
-8c7894fb
-9d3ea55f
-ad9fad9f
-adbfadbf
-adbfb59f
-ad9fb59e
-a55da51c
-94ba8c58
-83f67395
-6b3362f2
-5ad15ad0
-5acf528e
-4a2c420a
-41e941e8
-41c741e7
-49e749e7
-41e74a08
-52495a6a
-6b2f7bb1
-8bf293d2
-9bb2abd1
-ab70aacd
-aaacb28c
-b26ab249
-aa07a1c6
-a1e5a1e5
-a1a4a9a4
-a9a4a9a4
-b184b184
-b984b984
-c184c184
-c9a5d1c5
-d1c5d9c6
-d9e6d9e6
-41e641e6
-4a064a06
-52265227
-52475228
-5249526b
-62ef73b3
-84578cba
-9d1da57f
-ad9fad9f
-adbfadbf
-b5dfb5df
-b5dfb5bf
-ad9fad5e
-a51c9cdb
-8c7a8418
-7bb76b55
-63336312
-5af15ad0
-528e4a4c
-420b41e9
-398741c8
-49e851e8
-51c759e8
-728a830d
-9b91abd3
-b413bbf3
-bb91c350
-c30fba6c
-c22bca4b
-ca2ac1e8
-b9c6b1c6
-b1c5a9c5
-b1e5a9c5
-a9a4b1c5
-b9e5b9c5
-c1c5c1c5
-c184c9a5
-d1c5d9e6
-d9e6d9e6
-d9c6d9c6
-41e541e6
-4a064a06
-52265226
-52275248
-5269526b
-5ace7392
-84368cba
-951c9d5e
-ad9fad9f
-ad9fadbf
-adbfadbf
-b5bfb5bf
-ad7fad5e
-a51d9cfc
-94bb8c5a
-83f97bd7
-73556b33
-63125ad1
-52af4a6e
-422c39ea
-39a941c8
-51c861e8
-6a088249
-92cba30d
-bb50c371
-cb71cb50
-c2efc2ad
-ca6cc1ea
-c1a9d20a
-da29c9c7
-c1a6c1c6
-b9e5b1a4
-a9a4a984
-a984b184
-b1a4b9a5
-c1a5c1c5
-d206d9e6
-d9e6d9e6
-d9c6d9c6
-d9a5d9a5
-41e541e6
-4a064a06
-52265226
-52065227
-5a69524a
-5aad6b51
-7c168c99
-94fb9d3d
-a57ea57e
-ad9fad9f
-adbfad9f
-ad9fad9f
-ad7fad5e
-a53ea51d
-9cdc94bc
-8c7b8c3a
-8bf883b6
-73546312
-5af252d0
-4a6e424c
-4a2b522a
-620a7a2a
-926aaaab
-bacbc2ac
-d2aedaae
-d2aeca8d
-ca4cc22a
-b9e9b987
-c9c8da29
-da49d1e7
-c9a6ca06
-ca06b9a4
-b9c5b9c5
-b9e5b9c5
-c1e6ca06
-d227d227
-da27da06
-d9e6d9c6
-d9a5d985
-d965d965
-41e641e6
-4a064a06
-4a265226
-52065227
-5a485249
-528c6330
-7c158498
-8cfb951c
-a55ea55e
-ad7ead9f
-ad9fad9f
-ad9fa57f
-a57ea55e
-a53e9d1d
-9cfd9cdd
-94bc949b
-9c7a9439
-83f77bb5
-73946b72
-633162ef
-730f7aad
-826b9a6b
-b28bcaab
-d28bda4a
-da0bda0b
-da0bd20a
-ca09c209
-b9c7b9a7
-d229da69
-da28c9c6
-c9c6d206
-ca06b9c5
-c1e6c206
-c206c206
-ca06ca27
-d247d227
-c9e6c9c5
-d1a5d185
-d185d965
-d985d985
-41e64206
-4a064a06
-4a265226
-52065227
-52284a29
-526c6330
-7c158c98
-94db94fc
-a53ea53e
-ad5ead5f
-ad7fad7f
-ad7fa57e
-a57ea55e
-a53ea51d
-a51da51d
-9cfd9cdc
-9cbb9cbb
-949a8c58
-8c378c15
-8bd39391
-9b4fa30e
-aaacba8b
-ca6ad24a
-da29d9e9
-e1c9e1e9
-da09d208
-ca28ca48
-b9e6c207
-daaad248
-d1c7c9c6
-c9c6c9e6
-c1e6c1c5
-c1c5c1c6
-c1c6c1c6
-b9a5b9a5
-b9a5c1a5
-c1a5c9a5
-c9a5d185
-d185d985
-d9a6e1a6
-41e64206
-4a064a06
-52265226
-52065227
-52484a29
-526b6b30
-7c158c98
-94da94fc
-a51ea51e
-a51fa53f
-ad3fad5f
-a57fa57f
-a55ea55e
-a53ea53d
-a55ead5e
-ad5ea53d
-94fc9cfc
-9cdb9cba
-a4b8ac97
-ac54b3d2
-ab0eb2cd
-ba8bca4a
-d229da09
-e1c8e1c8
-e1e8d9c8
-da08c9e7
-ca27ca27
-b9a5ca07
-e289da28
-d1c7d9e7
-da08d207
-c9e6c9c6
-c9e6c1e6
-c1c6c1e6
-c1c6b9a5
-b984b164
-c1a5c185
-c9a5c985
-d185d985
-d985d985
-42074207
-4a274a27
-52265226
-52265247
-52485249
-5a8c6b30
-7bf48c78
-8cda94fc
-a4fea4ff
-a4ffa51f
-a51fa53f
-a55fa55f
-a55ea55e
-a53da53d
-a53da55d
-ad5da55d
-953d953d
-94fc9cda
-acd9bc97
-bbf3bb2f
-b26bc24a
-ca29d209
-d9e8e1e8
-e1c8e1c8
-d9c7d9e6
-da27c9e6
-ca06ca06
-b964da27
-ea48e9e7
-e9c7e9e8
-e9e8e1c7
-d9c7d1c7
-d208c9e7
-c9e7d227
-ca27c1e6
-b9a5b9a5
-b985b984
-c185c965
-d165d965
-d965d965
-42074207
-4a274a27
-52275226
-52475247
-5a695269
-5a8c6b30
-7bd48457
-8cb994db
-9cfea4de
-9cfea4fe
-a51fa51f
-a53fa55f
-a55ea53d
-9d3d9d1d
-a51da51d
-a51d9d1c
-9d7e953c
-9cfba4b9
-bc98c435
-c371ba6c
-c22aca09
-d1e8d9e8
-e1e8e1c8
-e9a8e1c8
-d9e7d1e6
-d227c9e5
-ca26ca06
-c185ea68
-e1e7e9e8
-e9c8e9a7
-e187d987
-d9a7d1a7
-d1e7c1a6
-c1a6ca27
-ca27c1c6
-b9a5b985
-b9a5c185
-c185c985
-d165d985
-e1a6e1a6
-42274a27
-4a264a26
-52265226
-52275227
-52485249
-528b6b2f
-7bd38456
-8c988cba
-94bb94bc
-94bc94dd
-9cfe9d1e
-9d1e9d3e
-9d3e9d3d
-9cfd9cfc
-9cfc9cdc
-9cbc9cbb
-94da9cd9
-a4b8b477
-c3f4c371
-c2cdc22a
-ca09d208
-d9e8d9e8
-e1c8e1c8
-e9a8e9a8
-d9c7d1a6
-d1c7c9e7
-c1e7c1c6
-c9c6e28a
-d9e7e1e8
-e1c8e1a7
-d9a7d1a7
-c986c9c6
-d207c1a5
-b9a5c1c6
-ca07c206
-b9c5b985
-b9a4c1a5
-c9a5c9a5
-d185d9a6
-e1c7e9e7
-4a274a26
-4a275247
-52265247
-52475247
-52485249
-5aac6b2f
-73d38435
-8c778c99
-8c9a94bb
-94bb94dc
-94fc94fd
-9d1d9d1d
-9d1d9cfc
-9cfc9cdb
-94bb949b
-947b947a
-8c1793f5
-a3d4b393
-c331cace
-ca4bc9e9
-d209da08
-da08d9e8
-e1e8e1e8
-e9c8e1c8
-e1e8d1c7
-d1c7d228
-c1e7b185
-ca07e2aa
-d9e8e208
-e1c8d9c7
-d9c7d1c7
-d1c7d207
-c9e7c1a5
-b985c1c5
-c1e6c1e6
-b9c5b9a5
-b9a5c1a5
-c9a5d1a5
-d1a6d9c6
-e1c6e9e7
-4a274a27
-4a475247
-52475246
-5a475247
-52485249
-5a8b6b2e
-73927bf4
-84568c77
-8c788c78
-8c998c9a
-8cbb8cdb
-8cdb94db
-94fb94da
-8c998c78
-8c588418
-83f783f6
-83739352
-a311b2d0
-ca8ed22c
-d9ead9c9
-e209e208
-da28da28
-da28e208
-e209e209
-e208d1e7
-c9c7d248
-b9c6a964
-ca28da89
-da08e208
-d9c8d9c7
-d9e8d9e8
-d1e7d207
-c1c6b9a5
-b984b9c5
-c1e5b9e5
-b9c5b9a4
-c1a5c1c5
-c9c5d1c5
-d9a6e1a6
-e1a6e1a6
-52475247
-52475247
-52475a67
-5a475a47
-52475249
-5a8b62ed
-6b5073b2
-7bf48436
-84368437
-84578c78
-8c798c79
-8c998479
-8c998c98
-84577c16
-7bb57394
-73747333
-831192f0
-aaafc28e
-d22ce1eb
-e9c9e9c8
-e9e8e208
-da28da28
-da28da28
-e208e208
-da08da08
-c9e7d248
-b9a6a964
-d268d228
-d208d9e8
-d9c7d9a7
-d9e8d208
-d207d207
-c1c5b9a5
-b9a4b9a5
-b9c5b9a4
-b9a4b9c5
-c1a5c9c5
-d1c5d1c5
-d9a5e1a5
-e185e185
-52275227
-52475247
-5a475a47
-5a475a47
-52475248
-526a5aac
-62ee632f
-73927bd3
-7bf47bf5
-84168416
-84378438
-84388438
-84578437
-7bf67394
-73737353
-6b3272f0
-82ae9aad
-b26dca4c
-e1ebe9a9
-f188f9a8
-f1e7ea07
-e227da47
-da28da28
-e228e228
-da08d228
-c9e7ca27
-b1c6b1a5
-d269c1e7
-c9c6d1a6
-c966d186
-d1c7d1e7
-c9e7ca07
-b9a5b9c5
-b9c5b9c5
-b9a4b9a4
-b9a4c1c4
-c1a4c9a4
-d1a5d1a5
-d985e185
-e185e185
-52475247
-52475a47
-5a475a47
-5a475a47
-5a685248
-52695a6a
-5aac62ed
-632f6b51
-73927bb4
-7bb47bd5
-83f78417
-84188c38
-841783f6
-7bb57b74
-7b737b73
-7b327ad0
-826c9a2a
-b20aca0a
-e9eaf1a9
-f988f9c8
-f1c7e9e7
-e207e227
-da28e228
-e208e208
-d1e7d208
-c1e7c207
-b1c6b9e6
-ca68c1e7
-c186c986
-c145c965
-d1c7c9e7
-c1c6c1c6
-b9c5c1c5
-c1c5c1c5
-b9c5b9a4
-b9a4c1a4
-c1a4c9a4
-d1a4d1a4
-d984e184
-e185e985
-5a475a47
-5a475a47
-5a475a67
-5a675a67
-5a685247
-52485a6a
-5a6a5aac
-5acd62ee
-6b316b32
-73537395
-7bb683f7
-83f88c18
-8bf78bd7
-83958374
-8b749374
-8b338ad0
-8a2a99e8
-a9c8c9e9
-e1c8e9a8
-f1a7f9e8
-f1c7e9e7
-e9e7e207
-e1e7e1e8
-e9e8e1e8
-d1c7c1e7
-b9c6b9c6
-b1c6b1e6
-c207ca27
-c9c6c9a6
-c965c965
-d1e7c9e7
-b9a5b9a5
-b9a5b9c5
-c1c5c1c5
-b9c4b9c4
-c1a4c1a4
-c9a4c9a4
-d184d984
-d984e184
-e9a5f1a5
-5a475a48
-5a485a47
-62676267
-62675a67
-5a675a47
-52485a69
-5a8a5a8a
-5a8b5aad
-62cf62f0
-6b127353
-7b7583b7
-83f88bf8
-93f893d7
-93759354
-9b54a374
-9b339a8f
-91e999c6
-a9a6c1c7
-d1c7d9a7
-e9c7f1e7
-f1c7e9e7
-e9e7e9e7
-e9e8e9e8
-e9e8e1e8
-c9c7b9a6
-b9c6b1c5
-b1c5a9a5
-b1c5d268
-d228d207
-d186d1a6
-d1e7c9e6
-b9a5b184
-b9a4b9c5
-c1c5c1c5
-c1c5c1c4
-c1c4c9a4
-c9c4c9a4
-d184d984
-e184e184
-f1a5f1c6
-5a475a47
-5a475a47
-5a475a67
-5a675a67
-5a675a68
-5a685a68
-5a695a6a
-5a8a5a8b
-5a8d5aaf
-62f06b12
-73547b96
-83d78bd7
-9c189bd7
-9b95a353
-b353bb74
-bb32b28e
-a9e9b1a6
-b186c1e6
-ca07d1e7
-d9e7e1e7
-e9e7e9e7
-e9c7e9e8
-f1e9e9e8
-e1c8d9c7
-c1a6b1a5
-b1a5a9a5
-a9a5a9a5
-b9e6ca27
-d207d1c6
-d186d1a6
-da27da88
-ca27b1a4
-b9a4c1c5
-c1c5c1c4
-c1c4c9e5
-c9e5c9a4
-d1c4d1a4
-c943e1a5
-f1e6f1c6
-f1a5e964
-5a475a47
-5a475a47
-5a675a67
-5a675a67
-62875a67
-5a685a68
-5a685a69
-5a695a6a
-5a6c5aad
-62cf62f0
-6b537b95
-83d68bb6
-9bf7ac16
-b3f5bbb4
-cb93d393
-cb11c24d
-ca2ad208
-ca07ca28
-ca27ca27
-d207da07
-e208e9e8
-e9e8f1e8
-ea09e1e8
-d9c8d1c7
-c1c6b1c6
-b1c5a9a5
-a9a5a9a5
-b9c6ca07
-d1e7d186
-d9e7e207
-da07e288
-daa8b9c5
-c1e5b984
-b984c9e5
-ca05c1a4
-c184c9c5
-c964d184
-d984e1a5
-f1e6f1c6
-f185e944
-5a275a47
-5a475a47
-5a675a67
-5a675a67
-5a675a67
-5a475a47
-5a485a48
-5a685a69
-5a6a5a8b
-5aad62ce
-6b317b93
-7bb48394
-93d4ac15
-c435d414
-dbd2db71
-daced22b
-ea2aea4a
-e249da48
-ca28ca07
-ca27d207
-e208e208
-e9e8ea09
-ea09d9e8
-d1e7c1c7
-c1e7b1c6
-b1c5a9a5
-a9a5a9a5
-b9a5c9e6
-da08d9c6
-ea08ea28
-d1a6e268
-e2e9ca47
-c1c5b984
-b984c1a4
-c9c5c9c5
-c9c5d1a5
-c964d164
-e1a5e9c6
-e9a6f185
-e944e944
-5a275a27
-5a475a47
-5a675a67
-5a675a67
-5a465a67
-5a675a67
-5a686268
-62686268
-62695a6a
-5a6b5aad
-6b307392
-7b937b93
-93b3ac14
-cc54d412
-dbb1e32e
-da8cda0a
-e9c9f209
-ea49e228
-d207ca07
-d208d207
-e228e208
-e208e208
-e208da08
-c9e7b9c6
-b9e6b1c6
-a9a5a9a5
-a9a5b1a5
-b9c5c9c6
-e248e1e7
-e9e7e1e7
-d185da06
-eaeaeb0a
-da67ca06
-c184b963
-c184c9c5
-d1c5c984
-d184d985
-e9e6e9a6
-e965e965
-e124e945
-5a275a27
-5a475a47
-5a675a67
-5a675a67
-5a675a67
-5a675a67
-62686268
-62686268
-6249626a
-5a6a5a8c
-6b0f7392
-73b27b92
-8bb2a3f3
-c433d411
-e38feb2d
-e2abea29
-e9a8f1e9
-f229e208
-d9e8d208
-da08d9e8
-d9e8e1e8
-e1e8e208
-da28d208
-c1e7b9e6
-b1c6b1c5
-a9a5a9a5
-a9c5b1c6
-c1c6c9c6
-e1e7e1c6
-e186d985
-d985d1a5
-e268fb6b
-fb6bda88
-c9a5c9a5
-c9c5c184
-c964d1a5
-d185d9a6
-e1c6e186
-e145e965
-e966f186
-5a275a27
-5a475a47
-5a675a67
-5a675a67
-5a875a87
-62876287
-62686267
-62486248
-6a49624a
-624a62ad
-6b2f73b2
-7bf37bd3
-8bd2a413
-bc32d411
-e3aff36e
-f2ebf26a
-e9c8f1e9
-f209ea09
-e1e8e208
-d9e8d9c7
-e1c8e1c8
-d9c8d9e7
-d207c9e7
-c1e6b9c6
-b1c6a9a5
-a9a5a9c5
-b1e6ba06
-c9e6d1e6
-d185e1a6
-d965e185
-e1c6d185
-c9a5eaa8
-fb4beac9
-da27d1e5
-c9a5c984
-d1a5d9c6
-d185e1c6
-e186e186
-e966e966
-f1a7f187
-5a275a27
-5a475a67
-5a675a67
-5a675a67
-62a75a87
-62876287
-62876267
-62476248
-6a296a4a
-626c62ad
-6b517bd3
-7c158414
-9435a434
-bc32cbf1
-e3aff38e
-fb2dfacb
-f24af209
-ea09ea09
-f209e9e9
-e9c8e1a7
-e1c8e1a7
-d9a7d9c7
-d1c7c9c6
-c1c5b9a5
-b1a5a9c5
-a9a5b1c5
-b1e6c207
-c9e6d1c6
-d985e186
-e165e186
-e1a6d185
-c964c9c5
-da47eaa8
-e288d206
-c9a5d1c6
-d9e6d1a6
-d9a6e9e8
-d966e987
-e987e967
-f9c8e946
-5a275a47
-5a475a47
-5a475a67
-5a675a67
-5a885a67
-5a685a68
-5a686268
-62686269
-624a6a4b
-626c62cf
-6b517bf4
-84368c56
-9c97a455
-abf3bbb1
-d3b0ebaf
-fb6efb4d
-faccf26a
-ea09f229
-f24af209
-e9e8e9c8
-e9a8e1a7
-d9a7d1a6
-d1c6c9c6
-c1a5b9a5
-b1a5a9a5
-a9a5b1c5
-b1e6c1e6
-c9c6c9a6
-d186d965
-d965d965
-d965d9c5
-d9e6d1a5
-c9a5da06
-ea68e248
-d1c6c984
-d185d9a6
-e1a6f229
-e166f1c8
-f1c8e967
-f9e9e106
-5a275a47
-62685a68
-5a685a68
-5a685a68
-5a885a88
-5a695a69
-5a69628a
-62aa62ab
-628b628c
-62ce6b30
-73b37c16
-84588c58
-a4b9a477
-ac15b3d3
-cbd1dbf1
-e3f0ebae
-f32dea6a
-e229ea4a
-f26af229
-e9c8e9e8
-e1a7d9a7
-d9a6d1a6
-c9c6c9c6
-c1c5b9a5
-b1c5a9c5
-a9a5ba07
-c248b9a6
-b965c9a6
-c965d185
-d185d1a5
-d1a5d1a5
-d9c5d9c5
-d185d185
-e207ea68
-e227c985
-c944d9c6
-e1a6fa09
-e146f1a8
-f1a8e967
-fa2ae967
-5a475a47
-5a675a67
-52475247
-52685268
-52695a8a
-5a8a5aab
-62cb62cc
-6acc6aec
-6aee6b0f
-6b507393
-7bf58437
-8c598c59
-8c189c38
-ac57b414
-bbf2cbf1
-dc10e3ef
-fbaefb4d
-f2ece249
-e209f229
-f209e9e8
-e1a7e1a7
-d9a6d1c6
-d1e6c9e6
-c1e6b9e5
-a9a5b1e6
-b1c6ba07
-ca69c228
-b985b945
-c9c7c9c6
-d1c6d1c6
-d9c5d1a4
-d1a4d9a4
-d985d985
-e1e6ea48
-e227d1a5
-d1a5e1c6
-e185f1c7
-e926f167
-f167e967
-fa4afa0a
-5a465a66
-5a675a67
-5a675247
-52685269
-5a8a5aab
-62ec6b0e
-732e732f
-732f732f
-73507371
-73937bd5
-7bf78419
-8c5a8c5a
-9c7a9c79
-a4169b92
-9b2fab4e
-bb8dd3ad
-eb8df34d
-f32cf30c
-f2abea09
-e9c8e9a8
-e187e187
-d9a7d1c7
-d1e6c1e6
-c1e5b9e5
-a184b1e6
-a9c5a9c5
-c268d2ca
-ca48b9c6
-c1c6c185
-c9a5d1e6
-d9e6d9a5
-d9a4d9a5
-d985d985
-e1c6e206
-e206d9e6
-d9c5e1e6
-d964e986
-e966e946
-e926e987
-fa2afa6b
-5a455a66
-5a665a87
-5a675268
-5a895aab
-5acc62ed
-734f7b91
-7b927b92
-7b727372
-737273b4
-7bd57bf6
-7bf88419
-843a8c5a
-947a9c58
-a436a413
-abf1b3ae
-a32b9a68
-ba68ca89
-d2a9eaeb
-f2cbea29
-e9c8e167
-e987e9a7
-e1a7d9c7
-d1e6c9c6
-c1c5b9e5
-a9a5b1e6
-a9a5a164
-ba47db2b
-d2ead2a9
-b9c6b965
-b964c9a5
-d9c6d984
-d984e1c5
-d985d9a5
-d9c5d9c5
-d9e6e206
-e1e5e1c5
-d964e965
-f186e945
-e145e986
-f1e8fa4a
-62865a66
-5a665a87
-5a685269
-5aaa5acc
-6b2e7370
-7bb283f4
-83f47bd4
-7bb47394
-7bb57bd6
-7bf77bf7
-7c188438
-8c799499
-94979c96
-acd6bd15
-d555cd12
-b40da2e9
-91e5aa47
-b1e6b9e6
-d208ea6a
-fa6ae9a8
-f1c8e9a8
-e9a7e1e7
-d9e7c9e6
-c1e5b9e6
-b9e6b1e6
-a9c5a184
-ba47d30a
-d2eadb2b
-c268b9c6
-b985c9a5
-d1a5d185
-d964e185
-d965e1a5
-d9a5d9c5
-d9e6e206
-e1c5d984
-e164e164
-f185e945
-e945e986
-e9a6f207
-62866266
-5a665a67
-5a685a89
-5aab630e
-73717bb3
-7bf48416
-83f67bd6
-73967396
-7bd77bf8
-7c188417
-84578c77
-94d79d17
-ad77b576
-bd75c595
-d5d5ddf4
-dd92d510
-ab4ab2c9
-a1e6b207
-ca48da49
-f28af24a
-e9e8e9a7
-e1a7e1c7
-d9c7d1c6
-c9c6c1e6
-b9c6b1c5
-b1e6b1c6
-ba68cae9
-c2a9d32b
-d2eac248
-c1c6c9a6
-d1a5d985
-e185e1a6
-d965d985
-d9a5d9c5
-e1e6e206
-e1c5e184
-e184e164
-e985e965
-e985e9a5
-e185e1a5
-62a76267
-5a475a88
-5a895aab
-62ed6b70
-73d37bd4
-7bf67c16
-73d673b6
-73967397
-73b87bd8
-84188c78
-94d79d17
-ad96b5d6
-c616ce55
-d675de75
-e675e655
-e634e5d3
-d511bbec
-a2e9cb8c
-d34cc228
-da69faec
-ea49e1e8
-d9a7e1c7
-d9c7d1a6
-d1a6c9c6
-c1a6b9a5
-c1e6b1c6
-ba47c2a9
-b267cb0a
-db4bcaa9
-c1e6c1a5
-c985d9a6
-e1a6e1a6
-e185e1a5
-e1a6d9c5
-d9c5e1e5
-e1c5e1a5
-e184e984
-e964e985
-e985e185
-e185d984
-62885a68
-5a685a8a
-5aab62ed
-6b5073d3
-7bd47bf5
-7bf673d7
-73b76b76
-6b776b77
-73987bd8
-845994d9
-a558b5d8
-c657ce96
-d6b5def5
-e6f5e6d4
-e6b4e694
-de54de13
-ddd3c4af
-abaccc4e
-d3cdb268
-d2caf38d
-e2cae249
-d9e8e1e8
-e1e8d9c7
-d9a6d1a6
-d1c7c9a6
-c9e7b985
-b9e6c248
-b206cae9
-db6cd2c9
-c227c185
-c985d186
-d986d965
-e1a6e1a6
-e1c6d9c6
-d9a5d9a5
-d9a5e184
-e9a5e9a5
-e964e985
-e9a5d964
-d9a5d985
-628a5a49
-5a4a62cc
-6b0e7370
-73927bd4
-7bd57bf6
-73d76b96
-5b355b15
-637673d8
-7bf9843a
-94baa53a
-b5d9ce79
-d6d8e717
-e716ef56
-ef55e715
-e6d5e6b5
-de54cdf3
-bd51b4cf
-9becabed
-ab6b9267
-baead34c
-f3aeeb0c
-e269da08
-e1e8e9e8
-e1a7d986
-e1c7d1a6
-d9e7c185
-b165b9c6
-b1c5b226
-db4bdb2b
-d2a9c1e6
-c985d1a6
-d986d145
-d986e9e8
-ea28e1e7
-d165d164
-d164d984
-e9a5e985
-e164e144
-e165d985
-d9c6d9c6
-5a6a5a6b
-62ac6aee
-73507392
-73b37bd5
-73d573b6
-6b966335
-5b155b36
-637773d8
-8c5a949b
-a51bb59b
-c61ad67a
-ded9e6f8
-e717ef56
-ef36e6f5
-ded5d674
-ce13bdb2
-ad10a4af
-9c0d9c0d
-9b8c9b0a
-b36bcb8d
-ec50ebae
-e2ebe269
-e208e9e8
-e9c8e9c7
-e186d986
-e208d9e7
-c1a6b9a6
-b185a164
-ba27d2ea
-eb4bda88
-c185c144
-d185d9a6
-d966f229
-faabea49
-d9a6d185
-d985d964
-d924d924
-e124e144
-e185d9a6
-d9e6d9e6
-524b62ad
-6b0f7351
-7b927bb3
-7bb57bd5
-73b66b76
-5b355b15
-63366b97
-73d87c19
-94bb9cfb
-ad5cbddd
-ce3dd69c
-debbe6da
-e6f9e6f9
-e6d8deb7
-de76ce35
-bd93ad11
-9c908c4f
-8c0e8bcc
-8b8c9b8c
-a36bb36c
-e470e40f
-eb8deb2c
-eaaaf249
-f209e9e8
-e1a7e1a7
-e1e7e208
-c9a6c1a6
-c206b184
-a964c247
-dac9d268
-c9c6c9a5
-d1a5d185
-d166f28a
-fb2cfaaa
-e207d9c6
-e1c6e1a5
-e185e165
-e165d965
-d144c944
-c144b944
-5a8d6b0f
-7b927bb3
-7bb47bd5
-7bd573b6
-6b966335
-5b155b15
-6b7773f8
-843a8c5a
-94db9d1b
-ad7cbddd
-ce1dd65d
-d67dde7c
-de9bde9a
-d659d638
-ce17c5d6
-b553a4d1
-8c4f7bcd
-83cd734b
-7b4b938c
-8b0a9b0a
-c3add3ce
-ebeefbcf
-fb8dfb0c
-f26aea09
-ea08e9e8
-d9a6e208
-c9a6d207
-daa9c1e6
-b9a5b9c5
-b9a5c1e6
-d227da27
-d1e6c985
-d186ea49
-facbf289
-e207d9c6
-d9c6d9a5
-e1a6e1a6
-e1a6e1a6
-d9a6d1a6
-c9a6c1a5
-6b107372
-7bd37bb3
-7bd47bd5
-73b56b75
-63155b15
-5b156336
-73987c19
-8c7b949b
-9cfba53b
-ad7cb5bd
-bdddc5fd
-c5fcc5fc
-ce1ccdfa
-c5b9bd98
-bd78b556
-a4d49472
-84306b6d
-736d6b0b
-7b2b8b4c
-82aa9b0b
-9aa9bb0b
-d38df3ef
-fbeffbae
-fb2cf2cb
-f28aea49
-d9c7e249
-d1e6da48
-da89c1a5
-c1c5b9a4
-b984c9e5
-d206d1e6
-d1e6da06
-d1a6d9c7
-d9e7da07
-d1c6d1a5
-d1a5e1a5
-e1c6e1a6
-e1a6e1a6
-d9e6d1e6
-d207ca27
-73717bb3
-7bb37393
-73947395
-6b756314
-5af46315
-63566b97
-7bd9843a
-949c94bc
-9cfba53b
-ad7cad7c
-b59cb57c
-b57bb57b
-bd7bb55a
-ad39ad18
-acf7a4b6
-94348c12
-7bd0632c
-6b0c6acb
-72eb830b
-7a8a9aeb
-9248aa89
-c2ebd34c
-ebaefbef
-fbeefbae
-f30bf2aa
-da28e269
-d1e7e269
-da47b984
-c1a5c1a4
-c1c5c9e5
-c9c5c184
-c9c5da27
-da07d1a6
-c9a5d1c5
-d1c5d1a5
-d1a5e1c5
-e1c6e1c6
-d9a5d185
-c985c9a5
-c1c5c1c5
-739273b3
-7bb37393
-6b536353
-63145af4
-5b156336
-73987bd9
-83fa8c5b
-949c9cdc
-9cfb9d1a
-a53ba53b
-a51aa51a
-a519a519
-a519a4f8
-a4d89cb7
-9c979456
-8bf583d3
-736f62ec
-62cc62ab
-72ab7aab
-7a6992ab
-9a69aa89
-b2aac2ca
-d32cebcd
-f40efc0f
-fbaefb6d
-eacae2aa
-d207eaa9
-d206c184
-c184c184
-c184c9a4
-c9a4c9a4
-c9c5d1e5
-da06d1c6
-c9a5c9c5
-d1c5d1c5
-d1c5d9e5
-e1a5e1a5
-d9a5d1a5
-d1a5c9e5
-c1e6c206
-73727392
-73b37393
-63335b13
-5af35ad4
-63366357
-73987bd9
-841a8c5b
-947c94bc
-94bb94da
-9cfa9cfa
-9cd99cd9
-9cb99cd8
-9cb89c98
-9c989c98
-9c989457
-8bf583d3
-734f6b0c
-6aec62ab
-6aaa728a
-7a69928a
-9a8ab2aa
-bacac2aa
-caebdb6c
-e3cdebee
-fc2ffc0f
-fb8df34c
-da69eaca
-c1a5b963
-c184c1a4
-c184c184
-c184c9e5
-d1e5d1e5
-d1c5d1e6
-d1c5c9c5
-c9a4c9a4
-d1a5d1c5
-d9c5d9a5
-d9a5d1a5
-c9a4c1a4
-b9c5b9c5
-73726b52
-63325af1
-5ad152d2
-5af35af4
-6b566b77
-7bb983fa
-841b8c3b
-8c5c8c5b
-8c7a9479
-9479947a
-947a947a
-94799459
-94799458
-94589457
-94568c35
-83d47b92
-732e72ec
-6acb62ca
-62ca6aa9
-72898289
-a2aabacb
-cacbcaab
-d2ecdb4d
-db8ddb8d
-fc30fc50
-fc0ffc2f
-eb4ceb0b
-c1a5b9a4
-c1c5b9a4
-c1a4c1a4
-c1a4c1a4
-c9c5c9c5
-d1a5d184
-c984c9a5
-d1e5d1e5
-c984c143
-d9c5d1a5
-d1a5d9c5
-c9a5c1a4
-c1c5b984
-73726b52
-63115ab1
-52b15ad3
-5b146315
-6b577378
-7bd983fa
-841b843b
-8c5b8c5b
-8c5a947a
-947a8c5a
-8c5a8c3a
-8c3a8c39
-94398c38
-8c378c37
-94568c35
-83d37b90
-7aed72cb
-6aca62ca
-5ae95ac9
-6aa87a88
-9a69baaa
-caabdacb
-e30ce34d
-db8ddb8d
-ebceebcf
-f3cefc50
-fbcef34c
-c1c6b9a4
-c1c5b9c4
-c1c4b9a4
-c1a4c1a4
-c9a5c9a5
-d1c5d1a5
-c984c9a5
-c9c5c9c5
-c9a4c164
-d1a5d1a5
-d184d1a5
-c9a5c9c5
-c1c5c1c4
-6b525af1
-52905270
-52715ab3
-63156336
-6b777399
-7bda841a
-841b843b
-843a8c5a
-8c5a8c59
-8c398c39
-8c198c19
-8bf98bf9
-8c198c18
-8c378c36
-8c1583f4
-7bb27b50
-7acc7aab
-6aaa62c9
-5ae95ac8
-62a87a88
-9248b28a
-caabdaab
-e2ece32d
-db6de38d
-e38de36d
-f3aefc2f
-fc0ff34c
-c9c6b984
-c1a5c1c4
-c1a4c1a4
-c1a4c9a4
-c9a5c9a5
-d9c5d1a5
-d1a5c9c5
-c9a4c1c4
-c9a4c9a4
-c9a4d1a5
-d1a5c984
-c9a5c9c5
-c1c5c9e5
-63115ad0
-52704a50
-52925af4
-63366b77
-73b97bd9
-83fa841a
-843a843a
-84398439
-84398419
-84198419
-83f983f9
-83f983f9
-8c198c18
-8c178c16
-8c1583f3
-7b917b4f
-7aac728a
-6aaa62ea
-5b095ae9
-62c87288
-9268b2aa
-caabd28b
-dacbe2ec
-e32ce36d
-eb8eeb6d
-fbaefb8d
-fbade2aa
-c9e6c184
-c1a4c1a4
-c1c4c1c4
-c9a4c9a4
-c9a5c9a5
-d185d1a5
-d1c5c9c5
-c1c4c1a4
-c1a4c9a4
-c9a5d9e6
-da06d1a5
-c9a5c9a4
-c1a4c9e5
-5af15ab1
-52915292
-5ad46b56
-739873b9
-7bda7bfa
-841b843b
-843a8419
-84198439
-84198419
-84198419
-83f983f9
-841a8bf9
-8c398c18
-8c178c15
-8c1483d2
-7b6f732d
-72ab7289
-6aa962e9
-5b095b09
-62e872c8
-8a88aaca
-c2cbd2ab
-dacbe2cb
-e30ceb4d
-fbaef38d
-fb8de2aa
-e2a9d207
-c9c5c9a4
-c1a4c1a4
-c9a4c9c4
-c9c4c9a4
-d1a5d1a5
-c964d185
-d1a5c9c5
-c1c5c1a4
-c1a4c1c5
-c9a5d1e6
-ea68da06
-c9a5c9a5
-c184c9e5
-5ad05ab1
-5ab15ad3
-63357397
-7bd983fb
-841b843c
-843c843b
-841a7c19
-84188439
-84198419
-84198419
-841a841a
-8c1a8c19
-8c398c37
-8c168c14
-8bd37b90
-734e6b0c
-6aaa6aa9
-62c962e9
-62e96309
-6ae872c8
-7a679aa9
-b2cacaaa
-dacbe2ab
-eaabf30c
-fb6df34c
-f30cd1e7
-d1c6c9a5
-c9a5d1c5
-c9a4c9a4
-c9a4c9c4
-c9a4d1c5
-d1a5d1a5
-c944c964
-c9a5c9c5
-c1c5c1c5
-b9c4c1a4
-c184c9c5
-ea88e247
-c9a5c9c5
-c9a5c9e5
-5ad05ad0
-5af26313
-6b5673b8
-83fa841c
-8c3d8c3d
-8c5c843b
-841a7bf9
-7bf88418
-7c188419
-8419843a
-841a841a
-8c198c19
-8c188c16
-8bf583d3
-83b17b6f
-6b2d62eb
-6aea62c9
-62c96ac9
-6ae96ac8
-6ae872c8
-72678aa8
-a2c9b2aa
-caaada6a
-ea6bfaac
-f30ceaaa
-e269c985
-d1a5d1a5
-d1a5d1c5
-c9a4c9a4
-c9a4d1c4
-d1a4d1a5
-d1a5d1a5
-c964c964
-c9a4c9c5
-c1e5c1e5
-b9c4b9a4
-c1a4c184
-ea88e247
-c984c9c5
-c9c5c9c5
-5aef5af0
-63126b54
-73967bf9
-843b8c5d
-8c5d8c5d
-8c3c843b
-83fa7bf9
-7bf88418
-84398439
-84398439
-84198c19
-8c398c18
-8c1783f5
-83d483b1
-7b90734d
-6b0b62ca
-62ea62c9
-62c962c9
-6ac96ac8
-6ac872c8
-72c882e8
-92c9aaa9
-caaada6a
-f24afaac
-f2abda28
-d1c6d185
-d9c6d9c6
-d184d9e5
-d1a4d1a4
-d1a4d1a4
-d1a4d1a4
-d185d185
-d185c984
-c9a4c1c5
-c1e5c1e5
-b9c4b9a4
-c1c5c164
-e288e247
-c164c9c5
-c1c5b984
-5ace5aef
-63106b73
-7bb683f9
-8c3b947d
-947d8c5d
-8c3c841b
-7bfa7bf9
-7bf87bf8
-84388459
-8c598c59
-8c598c38
-8c188c17
-8bf683d4
-83927b70
-732d6b0c
-6aea62e9
-5ae95ae9
-62c96ae9
-6ac872c8
-72c872e8
-72e87aa7
-8a87a288
-caa9e2aa
-fa6afa4a
-d9c7d9c6
-d9c6d9a6
-d9c6d9a5
-d9a5d1a4
-d1a4c9a4
-d1a4d1a4
-d1a5d1a5
-d9a5d1a5
-c964c184
-c1a5c1c5
-c1e5b9e5
-b9c5b9c5
-b984da68
-da47d1c5
-c9c5c1a5
-b984c1a4
-52ac5acd
-62ef6b52
-7bb58418
-8c5a945c
-947d945d
-8c3c841b
-83fa7bd9
-7bd87bd7
-84178437
-84578c58
-8c378437
-83f683f5
-83b38392
-7350732d
-6aec6aca
-62c962c9
-62e95ae9
-62e962e9
-6ac86ac8
-72c872c8
-72a77a87
-8a87aaa8
-cac9da89
-ea29e9e8
-d986d1a6
-d9a6d9a5
-d9a5d9a5
-d9a5d9c5
-d1a4d1a4
-d1a4d1a4
-d1a4d1a5
-d9a5d1a5
-c984c184
-b984b9c5
-b9e5b9e5
-b9c5b9a4
-b984e288
-d1e6c9c5
-d206c1a5
-c1c5c1c5
-528a5aab
-62ed6b30
-739383d6
-8c188c5a
-949c947c
-945b8c3a
-83f983d8
-7bd77bd6
-7bf67bf6
-84168436
-843683f5
-83d37bb3
-7b91734f
-6b0d6aec
-62aa62c9
-62a962a9
-62e962e9
-62e962e9
-6ae86ae8
-72c87ac8
-7aa78a87
-9a67b288
-ca88d228
-d9c7d9a6
-d185d9a5
-d9a6d9a5
-d985d984
-d9a5d9c5
-d1a4d1a4
-d1a4d1a4
-d1a4d1a5
-d9a5d1a5
-c1a5b984
-b984b1a4
-b9c5b9e5
-c1c5c1c5
-c9e6f2ea
-c9c6c9a5
-d1e6b964
-b9c5b9a5
-5aa95aaa
-5acc630e
-73517bb3
-83f68c18
-945a945a
-8c398c19
-83d77bb6
-7b957394
-73b47bd4
-7bf47c14
-7bf37bd2
-7b917370
-734e6b0d
-6aec62ca
-62c962c9
-6ac96ac9
-6ae96ae9
-62e96ae9
-6ac872e9
-7ae97aa8
-92c99a88
-a247b227
-c207c9c6
-c985d185
-d9a5d9a6
-d9a5d9a5
-d985d984
-d9a4d1a4
-d1a4d1a4
-d1c4d1c4
-d1a4d1a5
-d1a5d1a5
-c1c5b9a4
-b184b184
-b1c4b9e5
-c1e5c1a5
-d206f30b
-da07c9a5
-c9e6b964
-b184b1a4
-5aa95aa9
-5aaa62ec
-6b0e7371
-7bb383f5
-8c168c17
-8c1683f6
-83d57b93
-73726b51
-73727392
-739173b1
-7390736f
-734e732d
-6b0c6aeb
-6aea62c9
-6ac96aca
-6ac96ac9
-6ac96ac9
-6ac96ac9
-72c97ae9
-82c98aa8
-9ac9a268
-a9e6b1e6
-b9a6c985
-c985d185
-d9c6d9a6
-d9a5d985
-d985d9a5
-d1a4d1a4
-d1a4d1c4
-c9c4c9c4
-d1a4d1a5
-d1a5d1c5
-c1c5b9c5
-a984a983
-b1a4b9e5
-c1e5c1c5
-c9c6eaa9
-ea89d207
-d227c1c5
-a963b9e5
-62c85aa9
-5aa962cb
-62ec6b2f
-7b717bb3
-83b383d4
-83d483d4
-7bb37371
-73306b30
-6b2f6b2f
-6b2f6b2e
-6b2d6b0c
-6b0c62eb
-62ea62c9
-62c96ac9
-6ac96ac9
-6ac96ac9
-6ac972e9
-6ac972c9
-7ac982e9
-8ac992a9
-a289a227
-a9c6b1a5
-c1a5c9a5
-d1a5d9a5
-d9a6d985
-d985d985
-d985d9a5
-d1a4d1a4
-d1a4c9c4
-c9c4c9c4
-c9a5d1a5
-d1a5c9c5
-b9e5b1c5
-a9a4a963
-b1a4b9c5
-c1e5c1c5
-c164da07
-eaa9da48
-d247ca06
-a963a9c4
-62c862c8
-62c95aaa
-62eb6b0d
-732f7370
-73707b91
-7b917bb1
-7b90734f
-6b0e62ed
-62ed62ed
-5acd5acc
-5acb5aaa
-5ac95ac9
-62c962c8
-62c862c8
-6ac96ac9
-6ac96ac9
-6ae96aea
-72c972a9
-82a992ca
-9acaa289
-a248a1e6
-a9a5b1a5
-c1a5d1a5
-d185d985
-d985d985
-d985d985
-d985d9a5
-d1a5d1a4
-d1c4c9c4
-c9c4c9c4
-c9a5d1a5
-d1a5c9c5
-b9c5b1e5
-a9a4a183
-a983b9c5
-c1c5c1a5
-c964d1a5
-da07da27
-d227ca47
-b9e5b1e5
-62c862c8
-62c962ca
-62cb62cc
-6aed6aee
-6b0e6b2f
-734f734f
-732e6aed
-62cc5aab
-5aac5aac
-528b528a
-5a8a5a89
-5aa85aa8
-62e862c8
-62c862c8
-6ac96ac9
-6ac96ac9
-6ae96aea
-72c97aa9
-8aa99aca
-a2caaa89
-aa68a1e6
-a9a5b1a5
-c1a5d1a5
-d985d985
-d985d9a5
-e1a6d9a5
-d985d9a4
-d1a5d1c4
-d1c4c9c4
-c9c4c9c4
-c9a5d1a5
-d1a5c9c5
-b9e5b1e5
-a9a4a183
-a963b9a4
-c1c5c9a5
-c985c985
-c964c9c6
-d227d288
-d2e9c267
index 28a38b9..e019cf3 100644 (file)
@@ -66,7 +66,7 @@ static const char * const cdjpeg_message_table[] = {
 #include <sys/time.h>
 #include "kmjpeg.h"
 static int f_num = 0;
-//#define DEBUG
+#define DEBUG
 
 
 /*
@@ -115,8 +115,13 @@ void setup_hardware(j_decompress_ptr cinfo)
   //  int xres,yres,vbpp,line_len,yfac;
   long int screensize;
   struct ioctl_cmdreg regset;
-  unsigned int size,inc;
-  int i;
+  unsigned int  xmcumax,ymcumax,incaddmcuy,size, incaddy, incadd;
+  int i, j, samp_f, incaddmcux;
+  jpeg_component_info *compptr;
+  int h_samp[3];
+  int v_samp[3];
+  int qtbl_no[3];
+
 
   /** V1 framebuffer & motionJPEG support **/
   if(!(cinfo->fd_framebuffer = open( "/dev/fb0", O_RDWR))){
@@ -135,10 +140,10 @@ void setup_hardware(j_decompress_ptr cinfo)
     fprintf(stderr, "Framebuffer variable information get error\n");
     exit(1);
   }
-#ifdef DEBUG
+  //#ifdef DEBUG
   fprintf(stderr, "Framebuffer xsize:%d, ysize:%d, vbpp:%d\n", 
           cinfo->fb_vinfo.xres, cinfo->fb_vinfo.yres, cinfo->fb_vinfo.bits_per_pixel);
-#endif
+  //#endif
   if(cinfo->fb_vinfo.xres % 16 != 0 || cinfo->fb_vinfo.yres % 16 != 0){
     fprintf(stderr, "This system support only multiple of 16 X,Y size Framebuffer.\n");
     exit(1);  
@@ -163,14 +168,52 @@ void setup_hardware(j_decompress_ptr cinfo)
     exit(1);
   }
   regset.fb = cinfo->fb_start_add;
-  size = (unsigned int)((cinfo->image_width) <<16 | (unsigned int)(cinfo->image_height));
+  xmcumax = cinfo->image_width / 16 -1;
+  ymcumax = cinfo->image_height /16 -1;
+  incaddmcuy = (cinfo->fb_vinfo.xres - (xmcumax +1)*16 )* 2 + 4;
+
+#ifdef DEBUG
+  fprintf(stderr, "xmcumax = %d, ymcumax = %d, incaddmcuy = %x\n",xmcumax,ymcumax,incaddmcuy);
+#endif
+
+  compptr = cinfo->comp_info;
+  for(j=0;j<3;j++,compptr++){
+    h_samp[j] = compptr->h_samp_factor;
+    v_samp[j] = compptr->v_samp_factor;
+    qtbl_no[j] = compptr->quant_tbl_no;
+    printf("h_samp = %d, v_samp = %d, quant table no =%d\n", h_samp[j],v_samp[j],qtbl_no[j]);
+  }
+
+  if(!((h_samp[0] == 2) && (v_samp[0]==2))){
+    printf("this mjpeg file is not 4:1:1 4:2:2\n");
+    exit(1);
+  }
+  if((h_samp[1]==1) && (v_samp[1]==1) && (h_samp[2]==1) && (v_samp[2]==1)){
+    samp_f = 0;
+    printf("this mjpeg file is 4:1:1\n");
+  }else if((h_samp[1]==1) && (v_samp[1]==2) && (h_samp[2]==1) && (v_samp[2]==2)){
+    samp_f = 1;
+    printf("this mjpeg file is 4:2:2\n");
+  }else{
+    printf("this mjpeg file is not 4:1:1, 4:2:2\n");
+    exit(1);
+  }
+
+
+  size = (unsigned int) ((samp_f <<22) | (ymcumax <<17) | (xmcumax <<11) | incaddmcuy) ;
   regset.size_info = size;
-  inc = (unsigned int)(cinfo->fb_vinfo.xres - cinfo->image_width)*2;
-  regset.inc_add = inc;
+
+  incaddy = cinfo->fb_vinfo.xres * 2 - 28; 
+  incaddmcux = -1 *(15 * cinfo->fb_vinfo.xres * 2 - 4);
+
+  incadd = (unsigned int)((incaddy <<16) |(incaddmcux & 0x0000ffff));
+  regset.incadd = incadd; 
+
 #ifdef DEBUG
-  printf(stderr, "ioctl fb_start_add = %x, size_info = %x, inc_add = %x\n");
+  fprintf(stderr, "ioctl fb_start_add = %x, size_info = %x, incadd = %x\n",regset.fb, regset.size_info, regset.incadd );
   for(i=0;i<10000;i++);
 #endif
+
   ioctl(cinfo->dev_fd, IOCTL_REGSET, &regset);
 }
 
@@ -187,62 +230,9 @@ usage (void)
 #endif
 
   fprintf(stderr, "Switches (names may be abbreviated):\n");
-  fprintf(stderr, "  -colors N      Reduce image to no more than N colors\n");
-  fprintf(stderr, "  -fast          Fast, low-quality processing\n");
-  fprintf(stderr, "  -grayscale     Force grayscale output\n");
-#ifdef IDCT_SCALING_SUPPORTED
-  fprintf(stderr, "  -scale M/N     Scale output image by fraction M/N, eg, 1/8\n");
-#endif
-#ifdef BMP_SUPPORTED
-  fprintf(stderr, "  -bmp           Select BMP output format (Windows style)%s\n",
-         (DEFAULT_FMT == FMT_BMP ? " (default)" : ""));
-#endif
-#ifdef GIF_SUPPORTED
-  fprintf(stderr, "  -gif           Select GIF output format%s\n",
-         (DEFAULT_FMT == FMT_GIF ? " (default)" : ""));
-#endif
-#ifdef BMP_SUPPORTED
-  fprintf(stderr, "  -os2           Select BMP output format (OS/2 style)%s\n",
-         (DEFAULT_FMT == FMT_OS2 ? " (default)" : ""));
-#endif
-#ifdef PPM_SUPPORTED
-  fprintf(stderr, "  -pnm           Select PBMPLUS (PPM/PGM) output format%s\n",
-         (DEFAULT_FMT == FMT_PPM ? " (default)" : ""));
-#endif
-#ifdef RLE_SUPPORTED
-  fprintf(stderr, "  -rle           Select Utah RLE output format%s\n",
-         (DEFAULT_FMT == FMT_RLE ? " (default)" : ""));
-#endif
-#ifdef TARGA_SUPPORTED
-  fprintf(stderr, "  -targa         Select Targa output format%s\n",
-         (DEFAULT_FMT == FMT_TARGA ? " (default)" : ""));
-#endif
-  fprintf(stderr, "Switches for advanced users:\n");
-#ifdef DCT_ISLOW_SUPPORTED
-  fprintf(stderr, "  -dct int       Use integer DCT method%s\n",
-         (JDCT_DEFAULT == JDCT_ISLOW ? " (default)" : ""));
-#endif
-#ifdef DCT_IFAST_SUPPORTED
-  fprintf(stderr, "  -dct fast      Use fast integer DCT (less accurate)%s\n",
-         (JDCT_DEFAULT == JDCT_IFAST ? " (default)" : ""));
-#endif
-#ifdef DCT_FLOAT_SUPPORTED
-  fprintf(stderr, "  -dct float     Use floating-point DCT method%s\n",
-         (JDCT_DEFAULT == JDCT_FLOAT ? " (default)" : ""));
-#endif
-  fprintf(stderr, "  -dither fs     Use F-S dithering (default)\n");
-  fprintf(stderr, "  -dither none   Don't use dithering in quantization\n");
-  fprintf(stderr, "  -dither ordered  Use ordered dither (medium speed, quality)\n");
-#ifdef QUANT_2PASS_SUPPORTED
-  fprintf(stderr, "  -map FILE      Map to colors used in named image file\n");
-#endif
-  fprintf(stderr, "  -nosmooth      Don't use high-quality upsampling\n");
-#ifdef QUANT_1PASS_SUPPORTED
-  fprintf(stderr, "  -onepass       Use 1-pass quantization (fast, low quality)\n");
-#endif
-  fprintf(stderr, "  -maxmemory N   Maximum memory to use (in kbytes)\n");
-  fprintf(stderr, "  -outfile name  Specify name for output file\n");
-  fprintf(stderr, "  -verbose  or  -debug   Emit debug output\n");
+  fprintf(stderr, "  -fb_add FramebufferAddress  (Hexadecimal number of Framebuffer start address. ex:41a00000) \n");
+  
+
   exit(EXIT_FAILURE);
 }
 
index 401862e..352d865 100644 (file)
@@ -1,3 +1,5 @@
+/* modified by Kenichi Kurimoto */
+
 /*
  * jdcolor.c
  *
@@ -174,13 +176,13 @@ ycc_rgb_convert (j_decompress_ptr cinfo,
        *((unsigned int *)(cinfo->fbptr + location)) = pixcoldata;
        }*/
       /*LEON-motionJPEG prj  for hard IP : yccrgbs*/
-      pixcoldata =(unsigned int)( y <<16 | cb <<8 | cr);
+      /*      pixcoldata =(unsigned int)( y <<16 | cb <<8 | cr);
       writedata.fourbdata[pixel_num] = pixcoldata;
       pixel_num++;
       if(pixel_num == 128){
        ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
        pixel_num = 0;
-      } 
+       } */
       outptr += RGB_PIXELSIZE;
     }
   }
index 80ffefb..add65a4 100644 (file)
@@ -1,3 +1,5 @@
+/* modified by Kenichi Kurimoto */
+
 /*
  * jdsample.c
  *
@@ -310,6 +312,8 @@ h2v1_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   register JDIMENSION colctr;
   int inrow;
 
+  return;
+
   for (inrow = 0; inrow < cinfo->max_v_samp_factor; inrow++) {
     inptr = input_data[inrow];
     outptr = output_data[inrow];
@@ -355,6 +359,8 @@ h2v2_fancy_upsample (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   register JDIMENSION colctr;
   int inrow, outrow, v;
 
+  return;
+
   inrow = outrow = 0;
   while (outrow < cinfo->max_v_samp_factor) {
     for (v = 0; v < 2; v++) {
index a72b320..f897d15 100644 (file)
@@ -1,3 +1,5 @@
+/* modified by Kenichi Kurimoto */
+
 /*
  * jidctint.c
  *
@@ -32,6 +34,7 @@
 
 #ifdef DCT_ISLOW_SUPPORTED
 
+#include "kmjpeg.h"
 
 /*
  * This module is specialized to the case DCTSIZE = 8.
@@ -161,6 +164,10 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
   int workspace[DCTSIZE2];     /* buffers data between passes */
   SHIFT_TEMPS
 
+    struct ioctl_cmdwrite writedata;
+
+
+
   /* Pass 1: process columns from input, store into work array. */
   /* Note results are scaled up by sqrt(8) compared to a true IDCT; */
   /* furthermore, we scale the results by 2**PASS1_BITS. */
@@ -300,6 +307,25 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
       outptr[6] = dcval;
       outptr[7] = dcval;
 
+      writedata.pixeldata = (unsigned int)outptr[0];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[1];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[2];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[3];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[4];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[5];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[6];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+      writedata.pixeldata = (unsigned int)outptr[7];
+      ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+
+
+
       wsptr += DCTSIZE;                /* advance pointer to next row */
       continue;
     }
@@ -382,6 +408,23 @@ jpeg_idct_islow (j_decompress_ptr cinfo, jpeg_component_info * compptr,
                                          CONST_BITS+PASS1_BITS+3)
                            & RANGE_MASK];
     
+    writedata.pixeldata = (unsigned int)outptr[0];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[1];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[2];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[3];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[4];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[5];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[6];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+    writedata.pixeldata = (unsigned int)outptr[7];
+    ioctl(cinfo->dev_fd, IOCTL_WRITE, &writedata);
+
     wsptr += DCTSIZE;          /* advance pointer to next row */
   }
 }
index 559e46f..d40eec1 100755 (executable)
@@ -7,7 +7,7 @@ mount -t tmpfs -o size=1M tmpfs /var/tmp
 hostname sparky
 
 /sbin/ifconfig lo up 127.0.0.1 netmask 255.0.0.0
-/sbin/ifconfig eth0 up 192.168.0.80
+/sbin/ifconfig eth0 up 192.168.24.80
 
 route add 127.0.0.1 dev lo
 route add default dev eth0