diff --git a/api.lua b/api.lua new file mode 100644 index 0000000..962fcaf --- /dev/null +++ b/api.lua @@ -0,0 +1,206 @@ +local FUEL_EFFICIENCY = 3 -- How many moves can the turtle do with a second of fuel + +tl = {} +local function getv(dir) + if dir==0 then return {x=0,y=0,z=1} + elseif dir==1 then return {x=1,y=0,z=0} + elseif dir==2 then return {x=0,y=0,z=-1} + elseif dir==3 then return {x=-1,y=0,z=0} end +end + +local function turtle_can_go(nname) + return nname == "air" or minetest.registered_nodes[nname].liquidtype ~= "none" +end + +function tl.forward(turtle, cptr) + local info = get_turtle_info(turtle) + if info.fuel == 0 then + cptr.X = 0 + return + end + local spos = info.spos + local dir = info.dir + local npos = vector.add(spos, getv(dir)) + if turtle_can_go(minetest.get_node(npos).name) then + info.npos = npos + info.moving = true + info.fuel = info.fuel - 1 + cptr.X = u16(-1) + cptr.paused = true + else + cptr.X = 0 + end +end + +function tl.backward(turtle, cptr) + local info = get_turtle_info(turtle) + if info.fuel == 0 then + cptr.X = 0 + return + end + local spos = info.spos + local dir = info.dir + local npos = vector.add(spos, getv((dir+2)%4)) + if turtle_can_go(minetest.get_node(npos).name) then + info.npos = npos + info.moving = true + info.fuel = info.fuel - 1 + cptr.X = u16(-1) + cptr.paused = true + else + cptr.X = 0 + end +end + +function tl.up(turtle, cptr) + local info = get_turtle_info(turtle) + if info.fuel == 0 then + cptr.X = 0 + return + end + local spos = info.spos + local npos = vector.add(spos, {x=0, y=1, z=0}) + if turtle_can_go(minetest.get_node(npos).name) then + info.npos = npos + info.moving = true + info.fuel = info.fuel - 1 + cptr.X = u16(-1) + cptr.paused = true + else + cptr.X = 0 + end +end + +function tl.down(turtle, cptr) + local info = get_turtle_info(turtle) + if info.fuel == 0 then + cptr.X = 0 + return + end + local spos = info.spos + local npos = vector.add(spos, {x=0, y=-1, z=0}) + if turtle_can_go(minetest.get_node(npos).name) then + info.npos = npos + info.moving = true + info.fuel = info.fuel - 1 + cptr.X = u16(-1) + cptr.paused = true + else + cptr.X = 0 + end +end + +function tl.turnleft(turtle, cptr) + local info = get_turtle_info(turtle) + info.ndir = (info.dir+3)%4 + info.rotate = math.pi/2 + info.moving = true + cptr.paused = true +end + +function tl.turnright(turtle, cptr) + local info = get_turtle_info(turtle) + info.ndir = (info.dir+1)%4 + info.rotate = -math.pi/2 + info.moving = true + cptr.paused = true +end + +local function write_string_at(cptr, addr, str) + for i=1, string.len(str) do + cptr[u16(addr-1+i)] = string.byte(str, i) + end + cptr.X = string.len(str) +end + +local function turtle_detect(turtle, cptr, dir) + local info = get_turtle_info(turtle) + local pos = vector.add(info.spos, dir) + local name = minetest.get_node(pos).name + write_string_at(cptr, cptr.X, name) +end + +function tl.detect(turtle, cptr) + local info = get_turtle_info(turtle) + turtle_detect(turtle, cptr, getv(info.dir)) +end + +function tl.detectup(turtle, cptr) + turtle_detect(turtle, cptr, {x = 0, y = 1, z = 0}) +end + +function tl.detectdown(turtle, cptr) + turtle_detect(turtle, cptr, {x = 0, y = -1, z = 0}) +end + +local function turtle_dig(turtle, cptr, dir) + local info = get_turtle_info(turtle) + local dpos = vector.add(info.spos, dir) + local dnode = minetest.env:get_node(dpos) + if turtle_can_go(dnode.name) or dnode.name == "ignore" then + cptr.X = 0 + return + end + local drops = minetest.get_node_drops(dnode.name, "default:pick_mese") + local _, dropped_item + for _, dropped_item in ipairs(drops) do + local leftover = turtle_invs:add_item(turtle,dropped_item) + minetest.add_item(info.spos,leftover) + end + minetest.remove_node(dpos) + cptr.X = u16(-1) + cptr.paused = true +end + +function tl.dig(turtle, cptr) + local info = get_turtle_info(turtle) + turtle_dig(turtle, cptr, getv(info.dir)) +end + +function tl.digup(turtle, cptr) + turtle_dig(turtle, cptr, {x = 0, y = 1, z = 0}) +end + +function tl.digdown(turtle, cptr) + turtle_dig(turtle, cptr, {x = 0, y = -1, z = 0}) +end + +local function stack_set_count(stack, count) + stack = stack:to_table() + if stack==nil then return nil end + stack.count=count + return ItemStack(stack) +end + +function tl.refuel(turtle, cptr, slot, nmax) + local info = get_turtle_info(turtle) + local stack = turtle_invs:get_stack(turtle, slot) + local fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = {stack}}) + if fuel.time <= 0 then + cptr.X = 0 + return + end + local count = math.min(stack:get_count(), nmax) + local fs = stack:to_table() + fs.count = 1 + local fstack = ItemStack(fs) + local fuel, afterfuel + fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = {fstack}}) + stack:take_item(count) + if afterfuel ~= nil then + afterfuel = afterfuel.items[1] + end + if afterfuel ~= nil then + afterfuel = stack_set_count(afterfuel, afterfuel:get_count()*count) + end + if afterfuel ~= nil then + local leftover = stack:add_item(ItemStack(afterfuel)) + turtle_invs:set_stack(turtle, slot, stack) + local leftover2 = turtle_invs:add_item(turtle, leftover) + minetest.add_item(info.spos,leftover2) + else + turtle_invs:set_stack(turtle, slot, stack) + end + info.fuel = info.fuel+FUEL_EFFICIENCY*count*fuel.time + cptr.X = u16(FUEL_EFFICIENCY*count*fuel.time) +end diff --git a/cptr.lua b/cptr.lua index 8f39972..88b6c2a 100644 --- a/cptr.lua +++ b/cptr.lua @@ -1,6 +1,5 @@ local CYCLES_PER_STEP = 1000 local MAX_CYCLES = 100000 -local FUEL_EFFICIENCY = 3 -- How many moves can the turtle do with a second fuel local function file_exists(name) local f = io.open(name, "r") @@ -51,25 +50,25 @@ if bit32 == nil then end end -local function s16(x) +function s16(x) if bit32.band(x, 0x8000)~=0 then return bit32.band(x, 0xffff)-0x10000 end return bit32.band(x, 0xffff) end -local function u16(x) +function u16(x) return bit32.band(x, 0xffff) end -local function s32(x) +function s32(x) if bit32.band(x, 0x80000000)~=0 then return bit32.band(x, 0xffffffff)-0x100000000 end return bit32.band(x, 0xffffffff) end -local function u32(x) +function u32(x) return bit32.band(x, 0xffffffff) end @@ -154,152 +153,7 @@ local function send_message(turtle, cptr, maddr, mlen) turtle_receptor_send(turtle, cptr.channel, msg) end -local function getv(dir) - if dir==0 then return {x=0,y=0,z=1} - elseif dir==1 then return {x=1,y=0,z=0} - elseif dir==2 then return {x=0,y=0,z=-1} - elseif dir==3 then return {x=-1,y=0,z=0} end -end - -local function turtle_can_go(nname) - return nname=="air" or minetest.registered_nodes[nname].liquidtype~="none" -end - -local tl = {} - -function tl.forward(turtle, cptr) - local info = get_turtle_info(turtle) - if info.fuel == 0 then - cptr.X = 0 - return - end - local spos = info.spos - local dir = info.dir - local npos = vector.add(spos, getv(dir)) - if turtle_can_go(minetest.get_node(npos).name) then - info.npos = npos - info.moving = true - info.fuel = info.fuel - 1 - cptr.X = u16(-1) - cptr.paused = true - else - cptr.X = 0 - end -end - -function tl.backward(turtle, cptr) - local info = get_turtle_info(turtle) - if info.fuel == 0 then - cptr.X = 0 - return - end - local spos = info.spos - local dir = info.dir - local npos = vector.add(spos, getv((dir+2)%4)) - if turtle_can_go(minetest.get_node(npos).name) then - info.npos = npos - info.moving = true - info.fuel = info.fuel - 1 - cptr.X = u16(-1) - cptr.paused = true - else - cptr.X = 0 - end -end - -function tl.up(turtle, cptr) - local info = get_turtle_info(turtle) - if info.fuel == 0 then - cptr.X = 0 - return - end - local spos = info.spos - local npos = vector.add(spos, {x=0, y=1, z=0}) - if turtle_can_go(minetest.get_node(npos).name) then - info.npos = npos - info.moving = true - info.fuel = info.fuel - 1 - cptr.X = u16(-1) - cptr.paused = true - else - cptr.X = 0 - end -end - -function tl.down(turtle, cptr) - local info = get_turtle_info(turtle) - if info.fuel == 0 then - cptr.X = 0 - return - end - local spos = info.spos - local npos = vector.add(spos, {x=0, y=-1, z=0}) - if turtle_can_go(minetest.get_node(npos).name) then - info.npos = npos - info.moving = true - info.fuel = info.fuel - 1 - cptr.X = u16(-1) - cptr.paused = true - else - cptr.X = 0 - end -end - -function tl.turnleft(turtle, cptr) - local info = get_turtle_info(turtle) - info.ndir = (info.dir+3)%4 - info.rotate = math.pi/2 - info.moving = true - cptr.paused = true -end - -function tl.turnright(turtle, cptr) - local info = get_turtle_info(turtle) - info.ndir = (info.dir+1)%4 - info.rotate = -math.pi/2 - info.moving = true - cptr.paused = true -end - -local function stack_set_count(stack, count) - stack = stack:to_table() - if stack==nil then return nil end - stack.count=count - return ItemStack(stack) -end - -function tl.refuel(turtle, cptr, slot, nmax) - local info = get_turtle_info(turtle) - local stack = turtle_invs:get_stack(turtle, slot) - local fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = {stack}}) - if fuel.time <= 0 then - cptr.X = 0 - return - end - local count = math.min(stack:get_count(), nmax) - local fs = stack:to_table() - fs.count = 1 - local fstack = ItemStack(fs) - local fuel, afterfuel - fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = {fstack}}) - stack:take_item(count) - if afterfuel ~= nil then - afterfuel = afterfuel.items[1] - end - if afterfuel ~= nil then - afterfuel = stack_set_count(afterfuel, afterfuel:get_count()*count) - end - if afterfuel ~= nil then - local leftover = stack:add_item(ItemStack(afterfuel)) - turtle_invs:set_stack(turtle, slot, stack) - local leftover2 = turtle_invs:add_item(turtle, leftover) - minetest.add_item(info.spos,leftover2) - else - turtle_invs:set_stack(turtle, slot, stack) - end - info.fuel = info.fuel+FUEL_EFFICIENCY*count*fuel.time - cptr.X = u16(FUEL_EFFICIENCY*count*fuel.time) -end +dofile(modpath.."/api.lua") function run_computer(turtle, cptr) if cptr.stopped then return end @@ -440,7 +294,15 @@ ITABLE_RAW = { [0x64] = "tl.turnleft(turtle, cptr)", [0x65] = "tl.turnright(turtle, cptr)", - [0x70] = "tl.refuel(turtle, cptr, cptr.X, cptr.Y)", + [0x68] = "tl.detect(turtle, cptr)", + [0x69] = "tl.detectup(turtle, cptr)", + [0x6a] = "tl.detectdown(turtle, cptr)", + + [0x70] = "tl.dig(turtle, cptr)", + [0x71] = "tl.digup(turtle, cptr)", + [0x72] = "tl.digdown(turtle, cptr)", + + [0x80] = "tl.refuel(turtle, cptr, cptr.X, cptr.Y)", } ITABLE = {} diff --git a/f.py b/f.py new file mode 100644 index 0000000..08efacc --- /dev/null +++ b/f.py @@ -0,0 +1,422 @@ +f = open('forth.fth','r') +lf = f.readlines() +f.close() +df = {} + + +def setmemory(addr, value): + memory[addr] = value&0xff + memory[addr+1] = (value>>8)&0xff + +def getmemory(addr): + return (memory[addr+1]<<8)+memory[addr] + + +def to_int(x): + if x[:2]=="0x": + try: + a=int(x[2:],16) + return a + except: + return None + try: + a=int(x) + return a + except: + return None + +def header(name, lt=None): + global here + global latest + memory[here] = 0 + here += 1 + for c in name.strip(): + memory[here] = ord(c) + here += 1 + if lt!=None: + setmemory(here, lt) + else: + setmemory(here, latest) + here += 2 + memory[here] = len(name) + here += 1 + if lt==None: + latest = here + df[name] = here + +def compile_constant(name, value): + value=to_int(value) + global here + header(name) + memory[here] = 77 + here += 1 + setmemory(here, value) + here += 2 + memory[here] = 33 + here += 1 + memory[here] = 41 + here += 1 + +def env_compile_2constant(name, value): + value=to_int(value) + global here + global env_latest + header(name, env_latest) + env_latest = here + memory[here] = 77 + here += 1 + setmemory(here, value&0xffff) + here += 2 + memory[here] = 33 + here += 1 + memory[here] = 77 + here += 1 + setmemory(here, value>>16) + here += 2 + memory[here] = 33 + here += 1 + memory[here] = 41 + here += 1 + +def env_compile_constant(name, value): + value=to_int(value) + global here + global env_latest + header(name, env_latest) + env_latest = here + memory[here] = 77 + here += 1 + setmemory(here, value) + here += 2 + memory[here] = 33 + here += 1 + memory[here] = 41 + here += 1 + +ITABLE = { +"IPOP":0x28, +"NXT":0x29, +"CALL":0x2a, +"CRX":0x2b, + +"TSX":0x08, +"TRX":0x09, +"TPX":0x0a, +"TIX":0x0b, + +"BRK":0x00, + +"RPHX":0x01, +"RPHY":0x02, +"RPHZ":0x03, +"RPX":0x10, +"RPLX":0x11, +"RPLY":0x12, +"RPLZ":0x13, + +"PSX":0x20, +"PHX":0x21, +"PHY":0x22, +"PHZ":0x23, +"SPX":0x30, +"PLX":0x31, +"PLY":0x32, +"PLZ":0x33, + +"RXX":0x04, +"RXY":0x05, +"RYX":0x06, +"RYY":0x07, + +"CRXX":0x14, +"CRXY":0x15, +"CRYX":0x16, +"CRYY":0x17, + +"WXY":0x25, +"WYX":0x26, +"CWXY":0x35, +"CWYX":0x36, + +"ADD":0x0c, +"SUB":0x0d, +"MUL":0x0e, +"SMUL":0x0f, +"DIV":0x1e, +"SDIV":0x1f, + +"AND":0x2c, +"OR": 0x2d, +"XOR":0x2e, +"NOT":0x2f, +"RSH":0x3c, +"ASH":0x3d, +"LSH":0x3e, +"SIGN":0x3f, + +"JMP":0x38, +"XJMP":0x39, +"YJMP":0x3a, +"ZJMP":0x3b, + +"TXS":0x18, +"TXR":0x19, +"TXP":0x1a, +"TXI":0x1b, + +"TXZ":0x40, +"TYZ":0x41, +"TZX":0x42, +"TZY":0x43, +"TYX":0x44, +"TXY":0x45, + +"DECX":0x46, +"DECY":0x47, +"DECZ":0x48, +"INCX":0x49, +"INCY":0x4a, +"INCZ":0x4b, + +"ENTX":0x4d, +"ENTY":0x4e, +"ENTZ":0x4f, + +"RCV":0x52, +"DMSG":0x53, +"SEND":0x54, +"CHAN":0x55, +} + +def compile_assembly(name, l): + global here + header(name) + for inst in l: + #memory[here] = to_int(inst) + #memory[here] = ITABLE[inst] + memory[here] = ITABLE.get(inst, to_int(inst))&0xff + here += 1 + +squit = [] +def compile_def(name, l, immed=False, save_in=None): + global here + global squit + if name == "": + setmemory(save_in, here) + else: + header(name) + if immed: + memory[here-1] |= 128 + memory[here] = 42 + here += 1 + i = 0 + stack = [] + #print(name) + while i=1 and k[0] == "ASSEMBLER": + state="assembler" + elif len(k)>=1 and k[0] == "ENVIRONMENT": + state="env" + elif len(k)>=1 and k[0] == "FORTH": + state="forth" + elif len(k)>=3 and k[1] == "CONSTANT" and k[0]!=":": + if state == "env": + env_compile_constant(k[2], k[0]) + else: + compile_constant(k[2],k[0]) + elif len(k)>=3 and k[1] == "2CONSTANT" and k[0]!=":": + if state == "env": + env_compile_2constant(k[2], k[0]) + elif len(k)>=3: + #print(k[0]) + if k[0][0] == "\\": + continue + if state=="forth": + if k[0] == ":NONAME": + #print(getmemory(df[k[-2]]+1)) + compile_def("",k[1:-3],False, getmemory(df[k[-2]]+1)) + elif k[-1] == "IMMEDIATE": + compile_def(k[1],k[2:-2],True) + else: + compile_def(k[1],k[2:-1]) + else: + compile_assembly(k[1],k[2:-1]) + +for i in squit: + setmemory(i, df["QUIT"]) + +memory[0x108]=10 +memory[0x400]=0x4d +memory[0x401]=0x00 +memory[0x402]=0x02 +memory[0x403]=0x18 +memory[0x404]=0x4d +memory[0x405]=0x00 +memory[0x406]=0x03 +memory[0x407]=0x19 +memory[0x408]=0x4d +setmemory(0x409, df["COLD"]) +memory[0x40b]=0x1a +setmemory(0x10c, latest) +setmemory(0x112, here) +setmemory(0x1a6, 1) +setmemory(0x1b0, latest) +setmemory(0x1b2, env_latest) +setmemory(0x1a4, 0x1b0) +setmemory(0x1d0, 0x1b0) +setmemory(0x1a2, 0x1b4) + +memory[0xff00]=0x4d +memory[0xff01]=0x00 +memory[0xff02]=0x04 +memory[0xff03]=0x1a + +def getc(i): + for key,k in df.items(): + if k==i: + return key + +#f = open('computer_memory.lua','w') +#f.write("function create_cptr_memory()\n\treturn {\n") +#for i in range(len(memory)): +# f.write("\t\t["+str(i)+"] = "+str(memory[i])+",\n") +#f.write("\t}\nend") +#f.close() +f = open('forth_floppy.lua','w') +f.write("function create_forth_floppy()\n\treturn \"") +for i in range(2**14): + f.write("\\%03d"%memory[i]) +f.write("\"\nend") +f.close() + diff --git a/forth.fth b/forth.fth index 4e7e53d..12035d3 100644 --- a/forth.fth +++ b/forth.fth @@ -84,6 +84,22 @@ ASSEMBLER : SET-CHANNEL PLY PLX CHAN NXT ; : SEND PLY PLX SEND NXT ; +: FW 0x60 PHX NXT ; +: BW 0x61 PHX NXT ; +: UP 0x62 PHX NXT ; +: DN 0x63 PHX NXT ; +: TL 0x64 NXT ; +: TR 0x65 NXT ; + +: DT PLX 0x68 PHX NXT ; +: DT-UP PLX 0x69 PHX NXT ; +: DT-DN PLX 0x6a PHX NXT ; +: DIG 0x70 NXT ; +: DIG-UP 0x71 NXT ; +: DIG-DN 0x72 NXT ; + +: REFUEL PLY PLX 0x80 PHX NXT ; + ENVIRONMENT 256 CONSTANT /COUNTED-STRING 34 CONSTANT /HOLD diff --git a/forth_floppy.lua b/forth_floppy.lua index 46e526b..dac9d34 100644 --- a/forth_floppy.lua +++ b/forth_floppy.lua @@ -1,3 +1,3 @@ function create_forth_floppy() - return "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\060\032\000\000\000\000\111\032\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\184\017\180\001\176\001\001\000\000\000\000\000\000\000\000\000\060\032\029\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\176\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\000\002\024\077\000\003\025\077\060\032\026\000\069\088\073\084\000\000\004\040\041\000\040\108\105\116\041\020\004\005\043\033\041\000\040\115\108\105\116\041\031\004\006\043\069\011\033\034\012\068\027\041\000\040\100\111\100\111\101\115\041\044\004\008\043\033\043\027\041\000\068\085\080\065\004\003\048\033\041\000\083\087\065\080\077\004\004\049\050\033\034\041\000\082\079\084\088\004\003\049\050\051\034\033\035\041\000\045\082\079\084\100\004\004\049\050\051\033\035\034\041\000\079\086\069\082\115\004\004\050\048\034\033\041\000\080\073\067\075\130\004\004\050\068\012\008\013\007\034\041\000\068\082\079\080\143\004\004\049\041\000\050\068\082\079\080\159\004\005\049\049\041\000\050\068\085\080\170\004\004\050\048\034\033\034\041\000\050\083\087\065\080\181\004\005\049\050\051\003\051\034\033\035\019\035\041\000\050\079\086\069\082\196\004\005\051\003\051\050\048\034\035\019\035\033\034\041\000\078\073\080\216\004\003\049\032\041\000\084\085\067\075\235\004\004\049\050\033\034\033\041\000\063\068\085\080\246\004\004\048\057\001\000\041\033\041\000\062\082\004\005\002\049\001\041\000\082\062\017\005\002\017\033\041\000\082\064\026\005\002\016\033\041\000\033\035\005\001\050\049\038\041\000\067\033\043\005\002\050\049\054\041\000\064\053\005\001\048\004\032\041\000\067\064\062\005\002\048\020\032\041\000\065\078\068\072\005\003\050\048\044\032\041\000\079\082\083\005\002\050\048\045\032\041\000\088\079\082\094\005\003\050\048\046\032\041\000\073\078\086\069\082\084\106\005\006\048\047\032\041\000\040\098\114\097\110\099\104\041\121\005\008\043\027\041\000\040\048\098\114\097\110\099\104\041\137\005\009\050\043\058\001\000\027\041\000\082\079\076\076\153\005\004\050\065\075\068\012\008\013\005\033\049\068\074\074\007\037\073\073\069\072\059\245\255\041\000\043\168\005\001\050\049\012\034\041\000\045\196\005\001\050\049\013\034\041\000\043\033\206\005\002\050\065\007\049\012\066\037\041\000\042\217\005\001\050\049\014\034\041\000\085\060\230\005\002\050\048\013\032\041\000\085\062\241\005\002\049\050\013\033\041\000\077\042\252\005\002\050\049\015\034\033\041\000\085\077\042\007\006\003\050\049\014\034\033\041\000\048\061\020\006\002\048\057\003\000\047\032\041\077\000\000\032\041\000\048\060\062\032\006\003\048\057\001\000\041\077\255\255\032\041\000\048\060\051\006\002\050\063\033\041\000\048\062\067\006\002\050\058\002\000\034\041\063\047\033\041\000\060\062\077\006\002\050\048\013\058\002\000\032\041\077\255\255\032\041\000\061\093\006\001\050\048\013\058\005\000\077\255\255\032\041\077\000\000\032\041\000\069\077\080\084\089\082\111\006\006\077\000\003\025\041\000\069\077\080\084\089\083\137\006\006\077\000\002\024\041\000\068\069\080\084\072\152\006\005\008\078\000\002\013\068\078\001\000\061\033\041\000\050\042\166\006\002\078\001\000\048\062\032\041\000\050\047\184\006\002\078\001\000\048\061\032\041\000\082\083\072\073\070\084\197\006\006\050\048\060\032\041\000\076\083\072\073\070\084\214\006\006\050\048\062\032\041\000\050\062\082\229\006\003\050\049\001\002\041\000\050\082\062\241\006\003\018\017\033\034\041\000\050\082\064\253\006\003\018\016\002\033\034\041\000\049\043\009\007\002\048\073\032\041\000\049\045\021\007\002\048\070\032\041\000\069\088\069\067\085\084\069\031\007\007\049\026\000\042\047\077\079\068\046\007\005\051\050\049\015\031\035\034\041\000\042\047\057\007\002\051\050\049\015\031\034\041\000\047\077\079\068\071\007\004\051\050\063\031\035\034\041\000\047\086\007\001\051\050\063\031\034\041\000\077\079\068\098\007\003\051\050\063\031\035\041\000\085\077\047\077\079\068\111\007\006\051\049\050\030\035\034\041\000\070\077\047\077\079\068\127\007\006\051\049\050\031\035\034\041\000\079\043\144\007\002\050\049\012\034\033\041\000\085\068\077\047\077\079\068\157\007\007\051\049\050\030\035\034\033\041\000\060\174\007\001\050\063\065\050\034\046\069\063\047\057\004\000\050\063\033\041\049\067\013\033\041\000\062\187\007\001\049\050\033\063\065\050\034\046\069\063\047\057\004\000\050\063\033\041\049\067\013\033\041\000\078\069\071\065\084\069\213\007\006\048\047\073\032\041\000\040\100\111\041\246\007\004\043\001\050\051\003\002\041\000\040\063\100\111\041\003\008\005\043\001\050\049\001\002\013\058\004\000\018\018\017\027\041\000\073\019\008\001\016\033\041\000\074\039\008\001\019\018\034\018\016\002\050\002\003\033\041\000\085\078\076\079\079\080\047\008\006\018\018\018\041\000\040\108\111\111\112\041\068\008\006\018\074\016\002\013\043\058\004\000\018\018\018\041\027\041\000\040\043\108\111\111\112\041\082\008\007\018\065\049\012\016\070\002\067\064\013\063\033\066\018\002\013\063\050\046\069\043\058\002\000\027\041\018\018\018\041\000\087\065\073\084\108\008\004\000\041\000\076\069\065\086\069\146\008\005\017\017\017\027\041\000\082\069\067\069\073\086\069\045\065\084\157\008\010\051\050\048\082\032\041\000\068\069\076\069\084\069\045\077\083\071\176\008\010\050\049\083\041\000\083\069\084\045\067\072\065\078\078\069\076\196\008\011\050\049\085\041\000\083\069\078\068\215\008\004\050\049\084\041\000\047\067\079\085\078\084\069\068\045\083\084\082\073\078\071\000\000\015\077\000\001\033\041\000\047\072\079\076\068\250\008\005\077\034\000\033\041\000\047\080\065\068\008\009\004\077\084\000\033\041\000\065\068\082\069\083\083\045\085\078\073\084\045\066\073\084\083\021\009\016\077\008\000\033\041\000\067\079\082\069\046\009\004\077\255\255\033\041\000\067\079\082\069\045\069\088\084\059\009\008\077\255\255\033\041\000\070\076\079\079\082\069\068\076\009\007\077\255\255\033\041\000\077\065\088\045\067\072\065\082\092\009\008\077\255\000\033\041\000\077\065\088\045\078\109\009\005\077\255\127\033\041\000\077\065\088\045\085\123\009\005\077\255\255\033\041\000\082\069\084\085\082\078\045\083\084\065\067\075\045\067\069\076\076\083\137\009\018\077\128\000\033\041\000\083\084\065\067\075\045\067\069\076\076\083\164\009\011\077\128\000\033\041\000\077\065\088\045\085\068\184\009\006\077\255\255\033\077\255\255\033\041\000\077\065\088\045\068\199\009\005\077\255\255\033\077\255\127\033\041\000\083\069\065\082\067\072\045\079\082\068\069\082\217\009\012\077\255\255\033\041\000\083\069\065\082\067\072\045\079\082\068\069\082\045\069\088\084\242\009\016\077\255\255\033\041\000\087\079\082\068\076\073\083\084\083\011\010\009\077\008\000\033\041\000\066\076\227\008\002\077\032\000\033\041\000\070\065\076\083\069\040\010\005\077\000\000\033\041\000\084\082\085\069\054\010\004\077\255\255\033\041\000\040\115\111\117\114\099\101\041\067\010\008\077\000\001\033\041\000\062\073\078\084\010\003\077\004\001\033\041\000\083\079\085\082\067\069\045\073\068\096\010\009\077\006\001\033\041\000\066\065\083\069\114\010\004\077\008\001\033\041\000\083\084\065\084\069\127\010\005\077\010\001\033\041\000\076\065\084\069\083\084\141\010\006\077\012\001\033\041\000\083\080\065\078\156\010\004\077\016\001\033\041\000\040\104\101\114\101\041\169\010\006\077\018\001\033\041\000\076\084\184\010\002\077\020\001\033\041\000\035\084\073\066\195\010\004\077\022\001\033\041\000\084\073\066\208\010\003\077\024\001\033\041\000\039\078\085\077\066\069\082\220\010\007\077\160\001\033\041\000\078\069\087\045\087\079\082\068\076\073\083\084\236\010\012\077\162\001\033\041\000\067\087\001\011\002\077\164\001\033\041\000\078\087\079\082\068\069\082\012\011\007\077\166\001\033\041\000\087\079\082\068\076\073\083\084\083\028\011\009\077\176\001\033\041\000\070\079\082\084\072\045\087\079\082\068\076\073\083\084\046\011\014\077\176\001\033\041\000\069\078\086\068\073\067\079\069\011\007\077\178\001\033\041\000\087\079\082\068\069\082\085\011\006\077\208\001\033\041\000\067\072\065\082\083\100\011\133\042\020\004\000\065\076\073\071\078\114\011\133\042\020\004\000\065\076\073\071\078\069\068\126\011\135\042\020\004\000\067\069\076\076\043\140\011\005\042\031\004\002\000\196\005\020\004\000\067\069\076\076\045\152\011\005\042\031\004\002\000\206\005\020\004\000\067\072\065\082\043\170\011\005\042\021\007\020\004\000\067\069\076\076\083\188\011\005\042\184\006\020\004\000\069\077\073\084\202\011\004\042\044\004\006\000\115\099\114\101\101\110\215\008\031\004\002\000\043\005\031\004\002\000\031\004\001\000\227\008\020\004\000\082\069\067\069\073\086\069\215\011\007\042\031\004\128\000\176\008\020\004\000\050\033\001\012\002\042\088\004\130\004\043\005\152\011\043\005\020\004\000\050\064\016\012\002\042\077\004\152\011\062\005\088\004\062\005\020\004\000\083\079\085\082\067\069\035\012\006\042\084\010\035\012\020\004\000\083\062\068\058\012\003\042\077\004\067\006\020\004\000\077\065\088\072\012\003\042\181\004\213\007\153\005\101\012\159\004\137\005\103\012\235\004\020\004\000\077\073\078\086\012\003\042\181\004\213\007\153\005\127\012\235\004\137\005\129\012\159\004\020\004\000\068\043\112\012\002\042\100\004\196\005\115\004\157\007\100\004\196\005\020\004\000\072\069\088\137\012\003\042\031\004\016\000\127\010\043\005\020\004\000\068\069\067\073\077\065\076\159\012\007\042\031\004\010\000\127\010\043\005\020\004\000\084\085\067\075\181\012\004\042\088\004\130\004\020\004\000\078\073\080\200\012\003\042\088\004\159\004\020\004\000\065\066\083\214\012\003\042\077\004\067\006\153\005\239\012\246\007\020\004\000\040\109\097\114\107\101\114\041\228\012\008\042\156\010\043\005\184\010\043\005\020\004\000\084\089\080\069\253\012\004\042\077\004\077\006\153\005\049\013\130\004\196\005\088\004\019\008\045\013\039\008\072\005\215\011\082\008\035\013\137\005\051\013\170\004\020\004\000\082\083\084\082\016\013\004\042\021\007\077\004\031\004\002\000\196\005\072\005\031\004\127\000\083\005\200\012\206\005\088\004\020\004\000\067\082\061\013\002\042\031\004\010\000\215\011\020\004\000\083\080\065\067\069\094\013\005\042\031\004\032\000\215\011\020\004\000\083\080\065\067\069\083\112\013\006\042\077\004\077\006\153\005\158\013\031\004\000\000\003\008\154\013\112\013\082\008\148\013\137\005\160\013\159\004\020\004\000\083\084\082\061\131\013\004\042\031\004\000\000\003\008\213\013\130\004\072\005\130\004\072\005\093\006\153\005\201\013\068\008\170\004\054\010\020\004\088\004\021\007\088\004\021\007\082\008\179\013\170\004\067\010\020\004\000\073\077\077\069\068\073\065\084\069\170\013\009\042\156\010\062\005\031\007\077\004\072\005\031\004\128\000\094\005\088\004\053\005\020\004\000\072\069\082\069\232\013\004\042\184\010\062\005\020\004\000\091\007\014\129\042\054\010\141\010\043\005\020\004\000\093\019\014\001\042\067\010\141\010\043\005\020\004\000\065\076\076\079\084\033\014\005\042\184\010\217\005\020\004\000\044\051\014\001\042\007\014\043\005\031\004\002\000\051\014\020\004\000\067\044\063\014\002\042\007\014\053\005\031\004\001\000\051\014\020\004\000\083\075\073\080\045\087\072\073\084\069\082\014\010\042\077\004\072\005\031\004\033\000\187\007\153\005\140\014\021\007\181\004\111\006\153\005\136\014\020\004\137\005\110\014\020\004\000\069\088\073\084\045\073\070\045\069\078\068\109\014\011\042\058\012\214\012\096\010\062\005\111\006\153\005\184\014\058\012\196\005\031\004\000\000\026\005\159\004\020\004\000\080\065\082\083\069\045\076\073\077\073\084\083\157\014\012\042\058\012\130\004\196\005\088\004\096\010\062\005\196\005\020\004\000\062\073\078\045\069\078\068\202\014\007\042\058\012\214\012\096\010\043\005\020\004\000\067\079\085\078\084\069\068\045\083\084\082\073\078\071\230\014\014\042\077\004\007\014\053\005\007\014\021\007\115\004\130\004\196\005\088\004\003\008\040\015\039\008\072\005\130\004\053\005\021\007\082\008\026\015\159\004\007\014\020\004\000\080\065\082\083\069\045\087\079\082\068\003\015\010\042\157\014\202\014\109\014\181\004\111\006\153\005\085\015\230\014\159\004\031\004\000\000\020\004\077\004\017\005\077\004\072\005\031\004\032\000\213\007\153\005\131\015\021\007\181\004\111\006\153\005\127\015\230\014\159\004\035\005\206\005\026\005\088\004\020\004\137\005\089\015\214\012\077\004\058\012\159\004\206\005\021\007\096\010\043\005\035\005\206\005\026\005\088\004\020\004\000\080\065\082\083\069\060\015\005\042\058\012\214\012\096\010\062\005\111\006\153\005\193\015\159\004\058\012\196\005\031\004\000\000\020\004\202\014\077\004\017\005\100\004\017\005\077\004\072\005\035\005\093\006\153\005\247\015\021\007\181\004\111\006\153\005\243\015\026\005\159\004\230\014\159\004\035\005\206\005\026\005\088\004\020\004\137\005\203\015\026\005\159\004\214\012\077\004\058\012\159\004\206\005\021\007\096\010\043\005\035\005\206\005\026\005\088\004\020\004\000\087\079\082\068\166\015\004\042\058\012\214\012\096\010\062\005\111\006\153\005\058\016\159\004\031\004\000\000\007\014\053\005\007\014\020\004\202\014\077\004\017\005\100\004\017\005\077\004\072\005\035\005\093\006\153\005\112\016\021\007\181\004\111\006\153\005\108\016\026\005\159\004\230\014\159\004\035\005\206\005\026\005\088\004\020\004\137\005\068\016\026\005\159\004\214\012\077\004\058\012\159\004\206\005\021\007\096\010\043\005\035\005\206\005\026\005\088\004\003\015\020\004\000\072\069\065\068\069\082\029\016\006\042\060\015\200\012\031\004\000\000\082\014\130\004\196\005\088\004\003\008\185\016\039\008\072\005\082\014\082\008\175\016\156\010\062\005\063\014\082\014\020\004\000\058\154\016\001\042\154\016\007\014\077\004\195\010\043\005\031\004\042\000\082\014\033\014\020\004\000\058\067\079\068\069\200\016\005\042\154\016\007\014\077\004\195\010\043\005\020\004\000\085\078\085\083\069\068\230\016\006\042\007\014\246\007\020\004\000\078\067\072\065\082\253\016\005\042\077\004\072\005\077\004\031\004\058\000\187\007\153\005\040\017\031\004\048\000\206\005\137\005\068\017\077\004\031\004\097\000\187\007\153\005\062\017\031\004\055\000\206\005\137\005\068\017\031\004\087\000\206\005\020\004\000\062\078\085\077\066\069\082\013\017\007\042\077\004\017\005\031\004\000\000\003\008\174\017\013\017\077\004\127\010\062\005\187\007\130\004\067\006\121\005\083\005\153\005\156\017\196\004\127\010\062\005\230\005\031\004\000\000\088\004\100\004\127\010\062\005\020\006\137\012\100\004\031\004\000\000\137\012\100\004\021\007\137\005\170\017\159\004\039\008\068\008\026\005\088\004\206\005\020\004\082\008\094\017\026\005\159\004\031\004\000\000\020\004\042\031\004\000\000\031\004\000\000\196\004\130\004\072\005\031\004\045\000\111\006\153\005\235\017\088\004\021\007\088\004\031\007\081\017\196\004\159\004\246\007\031\004\001\000\196\004\137\005\247\017\081\017\100\004\159\004\031\004\001\000\115\004\020\004\000\078\085\077\066\069\082\081\017\006\042\236\010\062\005\046\007\020\004\000\083\065\086\069\045\073\078\080\085\084\003\018\010\042\096\010\062\005\031\004\001\000\020\004\000\082\069\083\084\079\082\069\045\073\078\080\085\084\026\018\013\042\077\004\031\004\001\000\111\006\153\005\079\018\159\004\096\010\043\005\054\010\137\005\095\018\031\004\000\000\019\008\093\018\159\004\082\008\087\018\067\010\020\004\000\067\079\085\078\084\054\018\005\042\077\004\021\007\088\004\072\005\020\004\000\067\072\065\082\106\018\004\042\060\015\159\004\072\005\020\004\000\070\073\076\076\125\018\004\042\115\004\077\004\077\006\153\005\177\018\130\004\196\005\088\004\003\008\173\018\077\004\039\008\053\005\082\008\163\018\137\005\179\018\170\004\159\004\020\004\000\069\082\065\083\069\142\018\005\042\031\004\000\000\142\018\020\004\000\040\192\018\129\042\031\004\041\000\166\015\170\004\020\004\000\046\040\206\018\130\042\031\004\041\000\166\015\016\013\020\004\000\092\223\018\129\042\031\004\010\000\166\015\170\004\020\004\000\084\072\069\078\239\018\132\042\007\014\088\004\043\005\020\004\000\066\069\071\073\078\002\019\133\042\007\014\020\004\000\070\073\078\068\045\087\079\082\068\045\068\073\067\079\020\019\014\042\088\004\017\005\077\004\031\004\004\000\206\005\061\013\035\005\111\006\153\005\092\019\031\004\002\000\143\004\035\005\170\013\153\005\088\019\214\012\026\005\159\004\020\004\137\005\094\019\159\004\031\004\003\000\206\005\062\005\077\004\032\006\153\005\048\019\214\012\026\005\159\004\020\004\000\071\069\084\045\087\076\045\076\065\084\069\083\084\043\019\013\042\077\004\012\011\062\005\111\006\153\005\158\019\159\004\156\010\062\005\137\005\160\019\062\005\020\004\000\070\073\078\068\045\087\079\082\068\135\019\009\042\100\011\028\011\062\005\184\006\196\005\100\011\003\008\218\019\039\008\062\005\135\019\043\019\004\005\153\005\210\019\068\008\020\004\031\004\002\000\108\008\192\019\031\004\000\000\020\004\000\039\175\019\001\042\060\015\175\019\020\004\000\080\079\083\084\080\079\078\069\229\019\136\042\229\019\077\004\031\007\072\005\031\004\128\000\083\005\153\005\017\020\063\014\137\005\031\020\031\004\031\004\063\014\063\014\031\004\063\014\063\014\020\004\000\076\073\084\069\082\065\076\248\019\135\042\031\004\031\004\063\014\063\014\020\004\000\078\076\073\084\069\082\065\076\044\020\136\042\077\004\017\005\031\004\000\000\003\008\096\020\031\004\031\004\063\014\031\004\000\000\063\014\082\008\080\020\026\005\031\004\000\000\003\008\130\020\007\014\031\004\002\000\206\005\039\008\031\004\004\000\230\005\206\005\043\005\082\008\106\020\020\004\000\068\079\069\083\062\067\020\005\042\031\004\065\004\156\010\062\005\021\007\043\005\026\005\156\010\062\005\031\004\005\000\196\005\043\005\020\004\000\091\039\093\141\020\131\042\229\019\044\020\020\004\000\091\067\079\077\080\073\076\069\093\177\020\137\042\229\019\063\014\020\004\000\059\197\020\129\042\031\004\020\004\063\014\156\010\043\005\019\014\020\004\000\067\079\068\069\059\209\020\005\042\031\004\041\000\082\014\156\010\043\005\020\004\000\091\067\072\065\082\093\233\020\134\042\125\018\044\020\020\004\000\067\082\069\065\084\069\000\021\006\042\154\016\007\014\156\010\043\005\031\004\042\000\082\014\007\014\031\004\006\000\196\005\044\020\031\004\020\004\063\014\020\004\000\086\065\082\073\065\066\076\069\017\021\008\042\017\021\031\004\002\000\051\014\020\004\000\067\079\078\083\084\065\078\084\062\021\008\042\154\016\007\014\156\010\043\005\031\004\077\000\082\014\063\014\031\004\033\000\082\014\031\004\041\000\082\014\020\004\000\077\065\082\075\069\082\085\021\006\042\007\014\154\016\007\014\088\004\031\004\042\000\082\014\044\020\156\010\062\005\044\020\031\004\253\012\063\014\031\004\020\004\063\014\156\010\043\005\020\004\000\073\070\126\021\130\042\031\004\153\005\063\014\007\014\031\004\000\000\063\014\020\004\000\069\076\083\069\173\021\132\042\031\004\137\005\063\014\007\014\088\004\031\004\000\000\063\014\007\014\088\004\043\005\020\004\000\085\078\084\073\076\198\021\133\042\031\004\153\005\063\014\063\014\020\004\000\082\069\080\069\065\084\232\021\134\042\031\004\137\005\063\014\063\014\007\014\088\004\043\005\020\004\000\087\072\073\076\069\253\021\133\042\031\004\153\005\063\014\007\014\088\004\031\004\000\000\063\014\020\004\000\067\065\083\069\023\022\132\042\031\004\000\000\020\004\000\069\078\068\067\065\083\069\050\022\135\042\031\004\159\004\063\014\077\004\051\006\153\005\093\022\007\014\088\004\043\005\137\005\075\022\159\004\020\004\000\079\070\068\022\130\042\031\004\130\004\063\014\031\004\111\006\063\014\031\004\153\005\063\014\007\014\031\004\000\000\063\014\031\004\159\004\063\014\020\004\000\069\078\068\079\070\103\022\133\042\031\004\137\005\063\014\007\014\031\004\000\000\063\014\007\014\100\004\043\005\020\004\000\083\076\073\084\069\082\065\076\147\022\136\042\031\004\044\004\063\014\077\004\063\014\130\004\196\005\088\004\019\008\213\022\039\008\072\005\082\014\082\008\203\022\020\004\000\083\034\182\022\130\042\031\004\034\000\166\015\182\022\020\004\000\080\065\068\221\022\003\042\007\014\031\004\036\000\196\005\020\004\000\086\065\076\085\069\239\022\005\042\154\016\007\014\156\010\043\005\031\004\077\000\082\014\063\014\031\004\033\000\082\014\031\004\041\000\082\014\020\004\000\084\079\003\023\130\042\060\015\175\019\021\007\141\010\062\005\153\005\067\023\044\020\031\004\043\005\063\014\137\005\069\023\043\005\020\004\000\067\079\077\080\073\076\069\044\040\023\008\042\063\014\020\004\000\065\071\065\073\078\083\023\133\042\031\004\137\005\063\014\063\014\020\004\000\065\066\079\082\084\097\023\005\042\152\006\126\028\020\004\000\067\079\077\080\073\076\069\045\087\079\082\068\117\023\012\042\181\004\241\006\175\019\004\005\153\005\185\023\253\006\170\004\077\004\031\007\072\005\031\004\128\000\083\005\153\005\179\023\046\007\137\005\181\023\063\014\137\005\237\023\009\007\003\018\032\006\153\005\207\023\159\004\253\006\170\004\067\020\137\005\237\023\159\004\031\004\000\000\019\008\223\023\159\004\082\008\217\023\253\006\016\013\112\013\031\004\063\000\215\011\117\023\020\004\000\067\079\085\078\084\140\023\005\042\077\004\021\007\088\004\072\005\020\004\000\082\069\067\085\082\083\069\248\023\135\042\195\010\062\005\063\014\020\004\000\058\078\079\078\065\077\069\014\024\007\042\007\014\077\004\195\010\043\005\031\004\042\000\082\014\156\010\062\005\033\014\020\004\000\062\066\079\068\089\034\024\005\042\031\004\007\000\196\005\020\004\000\069\078\086\073\082\079\078\077\069\078\084\063\066\024\012\042\085\011\062\005\043\019\077\004\153\005\108\024\046\007\067\010\020\004\000\068\048\061\091\024\003\042\094\005\032\006\020\004\000\072\079\076\068\117\024\004\042\007\014\062\005\031\007\077\004\007\014\043\005\053\005\020\004\000\035\132\024\001\042\127\010\062\005\174\007\100\004\077\004\031\004\009\000\213\007\153\005\185\024\031\004\055\000\196\005\137\005\191\024\031\004\048\000\196\005\132\024\020\004\000\035\083\154\024\002\042\154\024\181\004\117\024\153\005\202\024\020\004\000\046\034\201\024\130\042\221\022\031\004\016\013\063\014\020\004\000\067\034\220\024\130\042\031\004\034\000\166\015\031\004\137\005\063\014\007\014\031\004\000\000\063\014\115\004\007\014\115\004\077\004\082\014\130\004\196\005\088\004\019\008\032\025\039\008\072\005\082\014\082\008\022\025\088\004\007\014\088\004\043\005\044\020\020\004\000\060\035\237\024\002\042\239\022\007\014\043\005\020\004\000\035\062\050\025\002\042\170\004\007\014\062\005\239\022\130\004\206\005\020\004\000\083\073\071\078\065\025\004\042\067\006\153\005\101\025\031\004\045\000\132\024\020\004\000\067\079\078\086\069\082\084\088\025\007\042\031\004\255\255\081\017\159\004\020\004\000\077\079\086\069\114\025\004\042\077\004\032\006\153\005\148\025\159\004\170\004\020\004\115\004\181\004\252\005\153\005\192\025\100\004\031\004\000\000\003\008\188\025\130\004\072\005\130\004\053\005\021\007\088\004\021\007\088\004\082\008\168\025\137\005\238\025\031\004\002\000\143\004\200\012\196\005\115\004\196\005\088\004\100\004\031\004\000\000\003\008\238\025\031\007\088\004\031\007\088\004\130\004\072\005\130\004\053\005\082\008\218\025\170\004\020\004\000\046\133\025\001\042\077\004\017\005\228\012\031\004\000\000\050\025\040\010\132\024\201\024\026\005\088\025\065\025\016\013\020\004\000\085\046\247\025\002\042\031\004\000\000\050\025\040\010\132\024\201\024\065\025\016\013\020\004\000\046\082\026\026\002\042\017\005\077\004\017\005\228\012\031\004\000\000\050\025\040\010\132\024\201\024\026\005\088\025\065\025\026\005\130\004\206\005\131\013\016\013\020\004\000\085\046\082\051\026\003\042\017\005\031\004\000\000\050\025\040\010\132\024\201\024\065\025\026\005\130\004\206\005\131\013\016\013\020\004\000\087\073\084\072\073\078\097\026\006\042\130\004\206\005\017\005\206\005\026\005\241\005\020\004\000\068\079\136\026\130\042\031\004\003\008\063\014\007\014\031\004\000\000\063\014\007\014\020\004\000\063\068\079\157\026\131\042\031\004\019\008\063\014\007\014\031\004\000\000\063\014\007\014\020\004\000\076\079\079\080\183\026\132\042\031\004\082\008\063\014\063\014\007\014\088\004\043\005\020\004\000\043\076\079\079\080\210\026\133\042\031\004\108\008\063\014\063\014\007\014\088\004\043\005\020\004\000\065\067\067\069\080\084\236\026\006\042\044\004\006\000\115\099\114\101\101\110\196\008\044\004\006\000\115\099\114\101\101\110\031\004\016\000\176\008\077\004\067\006\153\005\052\027\159\004\146\008\137\005\020\027\112\012\200\012\031\004\016\000\115\004\133\025\020\004\000\069\088\080\069\067\084\007\027\006\042\007\027\169\010\043\005\020\004\000\081\085\069\082\089\076\027\005\042\031\004\000\000\096\010\043\005\031\004\000\000\114\010\043\005\220\010\077\004\031\004\080\000\007\027\112\013\084\010\016\012\020\004\000\082\069\070\073\076\076\094\027\006\042\114\010\062\005\153\005\154\027\054\010\137\005\180\027\031\004\000\000\096\010\043\005\220\010\077\004\031\004\080\000\007\027\112\013\084\010\016\012\067\010\020\004\000\073\078\084\069\082\080\082\069\084\045\087\079\082\068\139\027\014\042\181\004\241\006\175\019\004\005\153\005\223\027\253\006\170\004\046\007\137\005\017\028\009\007\003\018\032\006\153\005\243\027\170\004\253\006\170\004\137\005\017\028\159\004\031\004\000\000\019\008\003\028\159\004\082\008\253\027\253\006\016\013\112\013\031\004\063\000\215\011\117\023\020\004\000\069\086\065\076\085\065\084\069\200\027\008\042\058\012\241\006\096\010\062\005\017\005\114\010\062\005\017\005\031\004\255\255\114\010\043\005\031\004\000\000\096\010\043\005\084\010\016\012\060\015\004\005\153\005\096\028\141\010\062\005\153\005\090\028\140\023\137\005\092\028\200\027\137\005\068\028\159\004\026\005\114\010\043\005\026\005\096\010\043\005\253\006\084\010\016\012\020\004\000\081\085\073\084\031\028\004\042\137\006\094\013\139\027\153\005\187\028\060\015\004\005\153\005\165\028\141\010\062\005\153\005\159\028\140\023\137\005\161\028\200\027\137\005\137\028\159\004\112\013\031\004\079\000\215\011\031\004\075\000\215\011\094\013\137\005\131\028\020\004\000\040\097\098\111\114\116\034\041\126\028\008\042\100\004\153\005\212\028\016\013\117\023\170\004\020\004\000\065\066\079\082\084\034\201\028\134\042\221\022\031\004\201\028\063\014\020\004\000\068\065\066\083\226\028\004\042\077\004\067\006\153\005\020\029\130\004\246\007\100\004\153\005\016\029\088\004\121\005\137\005\020\029\088\004\246\007\020\004\000\083\077\047\082\069\077\245\028\006\042\130\004\017\005\181\004\106\005\017\005\228\012\017\005\245\028\026\005\127\007\026\005\067\006\153\005\063\029\246\007\088\004\026\005\067\006\153\005\075\029\246\007\088\004\020\004\000\079\078\032\029\002\042\215\008\044\004\002\000\111\110\227\008\020\004\000\079\070\070\085\029\003\042\215\008\044\004\003\000\111\102\102\227\008\020\004\000\073\079\064\105\029\003\042\001\012\031\004\003\000\187\007\020\004\000\076\079\065\068\080\075\071\126\029\007\042\031\004\000\000\031\004\030\001\053\005\060\015\031\004\026\001\016\012\031\004\026\001\035\012\215\008\031\004\030\001\031\004\001\000\227\008\031\004\030\001\072\005\021\007\031\004\030\001\053\005\031\004\026\001\035\012\031\004\016\000\176\008\031\004\016\000\072\005\153\005\233\029\031\004\016\000\088\004\031\028\137\005\167\029\159\004\020\004\000\071\069\084\045\067\085\082\082\069\078\084\148\029\011\042\012\011\062\005\020\004\000\083\069\084\045\067\085\082\082\069\078\084\252\029\011\042\156\010\062\005\012\011\062\005\043\005\077\004\012\011\043\005\062\005\156\010\043\005\020\004\000\087\079\082\068\076\073\083\084\018\030\008\042\001\011\062\005\077\004\152\011\001\011\043\005\020\004\000\068\069\070\073\078\073\084\073\079\078\083\055\030\011\042\100\011\062\005\018\030\020\004\000\071\069\084\045\079\082\068\069\082\085\030\009\042\100\011\028\011\062\005\031\007\184\006\196\005\019\008\136\030\039\008\062\005\031\004\254\255\108\008\124\030\028\011\062\005\020\004\000\083\069\084\045\079\082\068\069\082\107\030\009\042\077\004\028\011\043\005\100\011\031\004\000\000\019\008\182\030\200\012\043\005\152\011\082\008\172\030\159\004\020\004\000\065\076\083\079\155\030\004\042\100\011\077\004\152\011\028\011\062\005\184\006\133\025\028\011\031\004\002\000\217\005\020\004\000\070\079\082\084\072\194\030\005\042\069\011\100\011\043\005\020\004\000\079\078\076\089\228\030\004\042\228\030\031\004\001\000\028\011\043\005\020\004\000\079\082\068\069\082\245\030\005\042\100\011\028\011\062\005\184\006\196\005\100\011\003\008\042\031\039\008\062\005\247\025\031\004\002\000\108\008\028\031\094\013\012\011\062\005\020\004\000\080\082\069\086\073\079\085\083\011\031\008\042\100\011\152\011\100\011\028\011\062\005\031\007\184\006\133\025\028\011\031\004\254\255\217\005\020\004\000\083\069\065\082\067\072\045\087\079\082\068\076\073\083\084\062\031\015\042\135\019\043\019\077\004\153\005\147\031\077\004\031\007\072\005\031\004\128\000\083\005\153\005\143\031\031\004\001\000\137\005\147\031\031\004\255\255\020\004\000\070\073\078\068\108\031\004\042\077\004\248\023\100\011\028\011\062\005\184\006\196\005\100\011\003\008\212\031\181\004\039\008\062\005\108\031\004\005\153\005\204\031\241\006\170\004\159\004\253\006\068\008\020\004\031\004\002\000\108\008\178\031\170\004\031\004\000\000\020\004\000\068\085\077\080\157\031\004\042\215\008\031\004\000\001\031\004\000\000\003\008\023\032\039\008\031\004\064\000\230\005\239\022\021\007\031\004\064\000\133\025\039\008\239\022\053\005\239\022\031\004\065\000\227\008\082\008\243\031\020\004\000\083\065\086\069\045\083\084\065\084\069\228\031\010\042\044\004\004\000\098\111\111\116\228\031\020\004\000\067\079\076\068\039\032\004\042\044\004\019\000\067\111\109\112\117\116\101\114\032\105\115\032\114\101\097\100\121\032\040\016\013\253\016\026\026\044\004\011\000\098\121\116\101\115\032\102\114\101\101\041\016\013\126\028\020\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" + return "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\196\032\000\000\000\000\247\032\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\064\018\180\001\176\001\001\000\000\000\000\000\000\000\000\000\196\032\165\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\176\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\077\000\002\024\077\000\003\025\077\196\032\026\000\069\088\073\084\000\000\004\040\041\000\040\108\105\116\041\020\004\005\043\033\041\000\040\115\108\105\116\041\031\004\006\043\069\011\033\034\012\068\027\041\000\040\100\111\100\111\101\115\041\044\004\008\043\033\043\027\041\000\068\085\080\065\004\003\048\033\041\000\083\087\065\080\077\004\004\049\050\033\034\041\000\082\079\084\088\004\003\049\050\051\034\033\035\041\000\045\082\079\084\100\004\004\049\050\051\033\035\034\041\000\079\086\069\082\115\004\004\050\048\034\033\041\000\080\073\067\075\130\004\004\050\068\012\008\013\007\034\041\000\068\082\079\080\143\004\004\049\041\000\050\068\082\079\080\159\004\005\049\049\041\000\050\068\085\080\170\004\004\050\048\034\033\034\041\000\050\083\087\065\080\181\004\005\049\050\051\003\051\034\033\035\019\035\041\000\050\079\086\069\082\196\004\005\051\003\051\050\048\034\035\019\035\033\034\041\000\078\073\080\216\004\003\049\032\041\000\084\085\067\075\235\004\004\049\050\033\034\033\041\000\063\068\085\080\246\004\004\048\057\001\000\041\033\041\000\062\082\004\005\002\049\001\041\000\082\062\017\005\002\017\033\041\000\082\064\026\005\002\016\033\041\000\033\035\005\001\050\049\038\041\000\067\033\043\005\002\050\049\054\041\000\064\053\005\001\048\004\032\041\000\067\064\062\005\002\048\020\032\041\000\065\078\068\072\005\003\050\048\044\032\041\000\079\082\083\005\002\050\048\045\032\041\000\088\079\082\094\005\003\050\048\046\032\041\000\073\078\086\069\082\084\106\005\006\048\047\032\041\000\040\098\114\097\110\099\104\041\121\005\008\043\027\041\000\040\048\098\114\097\110\099\104\041\137\005\009\050\043\058\001\000\027\041\000\082\079\076\076\153\005\004\050\065\075\068\012\008\013\005\033\049\068\074\074\007\037\073\073\069\072\059\245\255\041\000\043\168\005\001\050\049\012\034\041\000\045\196\005\001\050\049\013\034\041\000\043\033\206\005\002\050\065\007\049\012\066\037\041\000\042\217\005\001\050\049\014\034\041\000\085\060\230\005\002\050\048\013\032\041\000\085\062\241\005\002\049\050\013\033\041\000\077\042\252\005\002\050\049\015\034\033\041\000\085\077\042\007\006\003\050\049\014\034\033\041\000\048\061\020\006\002\048\057\003\000\047\032\041\077\000\000\032\041\000\048\060\062\032\006\003\048\057\001\000\041\077\255\255\032\041\000\048\060\051\006\002\050\063\033\041\000\048\062\067\006\002\050\058\002\000\034\041\063\047\033\041\000\060\062\077\006\002\050\048\013\058\002\000\032\041\077\255\255\032\041\000\061\093\006\001\050\048\013\058\005\000\077\255\255\032\041\077\000\000\032\041\000\069\077\080\084\089\082\111\006\006\077\000\003\025\041\000\069\077\080\084\089\083\137\006\006\077\000\002\024\041\000\068\069\080\084\072\152\006\005\008\078\000\002\013\068\078\001\000\061\033\041\000\050\042\166\006\002\078\001\000\048\062\032\041\000\050\047\184\006\002\078\001\000\048\061\032\041\000\082\083\072\073\070\084\197\006\006\050\048\060\032\041\000\076\083\072\073\070\084\214\006\006\050\048\062\032\041\000\050\062\082\229\006\003\050\049\001\002\041\000\050\082\062\241\006\003\018\017\033\034\041\000\050\082\064\253\006\003\018\016\002\033\034\041\000\049\043\009\007\002\048\073\032\041\000\049\045\021\007\002\048\070\032\041\000\069\088\069\067\085\084\069\031\007\007\049\026\000\042\047\077\079\068\046\007\005\051\050\049\015\031\035\034\041\000\042\047\057\007\002\051\050\049\015\031\034\041\000\047\077\079\068\071\007\004\051\050\063\031\035\034\041\000\047\086\007\001\051\050\063\031\034\041\000\077\079\068\098\007\003\051\050\063\031\035\041\000\085\077\047\077\079\068\111\007\006\051\049\050\030\035\034\041\000\070\077\047\077\079\068\127\007\006\051\049\050\031\035\034\041\000\079\043\144\007\002\050\049\012\034\033\041\000\085\068\077\047\077\079\068\157\007\007\051\049\050\030\035\034\033\041\000\060\174\007\001\050\063\065\050\034\046\069\063\047\057\004\000\050\063\033\041\049\067\013\033\041\000\062\187\007\001\049\050\033\063\065\050\034\046\069\063\047\057\004\000\050\063\033\041\049\067\013\033\041\000\078\069\071\065\084\069\213\007\006\048\047\073\032\041\000\040\100\111\041\246\007\004\043\001\050\051\003\002\041\000\040\063\100\111\041\003\008\005\043\001\050\049\001\002\013\058\004\000\018\018\017\027\041\000\073\019\008\001\016\033\041\000\074\039\008\001\019\018\034\018\016\002\050\002\003\033\041\000\085\078\076\079\079\080\047\008\006\018\018\018\041\000\040\108\111\111\112\041\068\008\006\018\074\016\002\013\043\058\004\000\018\018\018\041\027\041\000\040\043\108\111\111\112\041\082\008\007\018\065\049\012\016\070\002\067\064\013\063\033\066\018\002\013\063\050\046\069\043\058\002\000\027\041\018\018\018\041\000\087\065\073\084\108\008\004\000\041\000\076\069\065\086\069\146\008\005\017\017\017\027\041\000\082\069\067\069\073\086\069\045\065\084\157\008\010\051\050\048\082\032\041\000\068\069\076\069\084\069\045\077\083\071\176\008\010\050\049\083\041\000\083\069\084\045\067\072\065\078\078\069\076\196\008\011\050\049\085\041\000\083\069\078\068\215\008\004\050\049\084\041\000\070\087\227\008\002\096\033\041\000\066\087\237\008\002\097\033\041\000\085\080\246\008\002\098\033\041\000\068\078\255\008\002\099\033\041\000\084\076\008\009\002\100\041\000\084\082\017\009\002\101\041\000\068\084\025\009\002\049\104\033\041\000\068\084\045\085\080\033\009\005\049\105\033\041\000\068\084\045\068\078\046\009\005\049\106\033\041\000\068\073\071\059\009\003\112\041\000\068\073\071\045\085\080\070\009\006\113\041\000\068\073\071\045\068\078\082\009\006\114\041\000\082\069\070\085\069\076\094\009\006\050\049\128\033\041\000\047\067\079\085\078\084\069\068\045\083\084\082\073\078\071\000\000\015\077\000\001\033\041\000\047\072\079\076\068\130\009\005\077\034\000\033\041\000\047\080\065\068\144\009\004\077\084\000\033\041\000\065\068\082\069\083\083\045\085\078\073\084\045\066\073\084\083\157\009\016\077\008\000\033\041\000\067\079\082\069\182\009\004\077\255\255\033\041\000\067\079\082\069\045\069\088\084\195\009\008\077\255\255\033\041\000\070\076\079\079\082\069\068\212\009\007\077\255\255\033\041\000\077\065\088\045\067\072\065\082\228\009\008\077\255\000\033\041\000\077\065\088\045\078\245\009\005\077\255\127\033\041\000\077\065\088\045\085\003\010\005\077\255\255\033\041\000\082\069\084\085\082\078\045\083\084\065\067\075\045\067\069\076\076\083\017\010\018\077\128\000\033\041\000\083\084\065\067\075\045\067\069\076\076\083\044\010\011\077\128\000\033\041\000\077\065\088\045\085\068\064\010\006\077\255\255\033\077\255\255\033\041\000\077\065\088\045\068\079\010\005\077\255\255\033\077\255\127\033\041\000\083\069\065\082\067\072\045\079\082\068\069\082\097\010\012\077\255\255\033\041\000\083\069\065\082\067\072\045\079\082\068\069\082\045\069\088\084\122\010\016\077\255\255\033\041\000\087\079\082\068\076\073\083\084\083\147\010\009\077\008\000\033\041\000\066\076\106\009\002\077\032\000\033\041\000\070\065\076\083\069\176\010\005\077\000\000\033\041\000\084\082\085\069\190\010\004\077\255\255\033\041\000\040\115\111\117\114\099\101\041\203\010\008\077\000\001\033\041\000\062\073\078\220\010\003\077\004\001\033\041\000\083\079\085\082\067\069\045\073\068\232\010\009\077\006\001\033\041\000\066\065\083\069\250\010\004\077\008\001\033\041\000\083\084\065\084\069\007\011\005\077\010\001\033\041\000\076\065\084\069\083\084\021\011\006\077\012\001\033\041\000\083\080\065\078\036\011\004\077\016\001\033\041\000\040\104\101\114\101\041\049\011\006\077\018\001\033\041\000\076\084\064\011\002\077\020\001\033\041\000\035\084\073\066\075\011\004\077\022\001\033\041\000\084\073\066\088\011\003\077\024\001\033\041\000\039\078\085\077\066\069\082\100\011\007\077\160\001\033\041\000\078\069\087\045\087\079\082\068\076\073\083\084\116\011\012\077\162\001\033\041\000\067\087\137\011\002\077\164\001\033\041\000\078\087\079\082\068\069\082\148\011\007\077\166\001\033\041\000\087\079\082\068\076\073\083\084\083\164\011\009\077\176\001\033\041\000\070\079\082\084\072\045\087\079\082\068\076\073\083\084\182\011\014\077\176\001\033\041\000\069\078\086\068\073\067\079\205\011\007\077\178\001\033\041\000\087\079\082\068\069\082\221\011\006\077\208\001\033\041\000\067\072\065\082\083\236\011\133\042\020\004\000\065\076\073\071\078\250\011\133\042\020\004\000\065\076\073\071\078\069\068\006\012\135\042\020\004\000\067\069\076\076\043\020\012\005\042\031\004\002\000\196\005\020\004\000\067\069\076\076\045\032\012\005\042\031\004\002\000\206\005\020\004\000\067\072\065\082\043\050\012\005\042\021\007\020\004\000\067\069\076\076\083\068\012\005\042\184\006\020\004\000\069\077\073\084\082\012\004\042\044\004\006\000\115\099\114\101\101\110\215\008\031\004\002\000\043\005\031\004\002\000\031\004\001\000\227\008\020\004\000\082\069\067\069\073\086\069\095\012\007\042\031\004\128\000\176\008\020\004\000\050\033\137\012\002\042\088\004\130\004\043\005\032\012\043\005\020\004\000\050\064\152\012\002\042\077\004\032\012\062\005\088\004\062\005\020\004\000\083\079\085\082\067\069\171\012\006\042\220\010\171\012\020\004\000\083\062\068\194\012\003\042\077\004\067\006\020\004\000\077\065\088\208\012\003\042\181\004\213\007\153\005\237\012\159\004\137\005\239\012\235\004\020\004\000\077\073\078\222\012\003\042\181\004\213\007\153\005\007\013\235\004\137\005\009\013\159\004\020\004\000\068\043\248\012\002\042\100\004\196\005\115\004\157\007\100\004\196\005\020\004\000\072\069\088\017\013\003\042\031\004\016\000\007\011\043\005\020\004\000\068\069\067\073\077\065\076\039\013\007\042\031\004\010\000\007\011\043\005\020\004\000\084\085\067\075\061\013\004\042\088\004\130\004\020\004\000\078\073\080\080\013\003\042\088\004\159\004\020\004\000\065\066\083\094\013\003\042\077\004\067\006\153\005\119\013\246\007\020\004\000\040\109\097\114\107\101\114\041\108\013\008\042\036\011\043\005\064\011\043\005\020\004\000\084\089\080\069\133\013\004\042\077\004\077\006\153\005\185\013\130\004\196\005\088\004\019\008\181\013\039\008\072\005\095\012\082\008\171\013\137\005\187\013\170\004\020\004\000\082\083\084\082\152\013\004\042\021\007\077\004\031\004\002\000\196\005\072\005\031\004\127\000\083\005\080\013\206\005\088\004\020\004\000\067\082\197\013\002\042\031\004\010\000\095\012\020\004\000\083\080\065\067\069\230\013\005\042\031\004\032\000\095\012\020\004\000\083\080\065\067\069\083\248\013\006\042\077\004\077\006\153\005\038\014\031\004\000\000\003\008\034\014\248\013\082\008\028\014\137\005\040\014\159\004\020\004\000\083\084\082\061\011\014\004\042\031\004\000\000\003\008\093\014\130\004\072\005\130\004\072\005\093\006\153\005\081\014\068\008\170\004\190\010\020\004\088\004\021\007\088\004\021\007\082\008\059\014\170\004\203\010\020\004\000\073\077\077\069\068\073\065\084\069\050\014\009\042\036\011\062\005\031\007\077\004\072\005\031\004\128\000\094\005\088\004\053\005\020\004\000\072\069\082\069\112\014\004\042\064\011\062\005\020\004\000\091\143\014\129\042\190\010\021\011\043\005\020\004\000\093\155\014\001\042\203\010\021\011\043\005\020\004\000\065\076\076\079\084\169\014\005\042\064\011\217\005\020\004\000\044\187\014\001\042\143\014\043\005\031\004\002\000\187\014\020\004\000\067\044\199\014\002\042\143\014\053\005\031\004\001\000\187\014\020\004\000\083\075\073\080\045\087\072\073\084\069\218\014\010\042\077\004\072\005\031\004\033\000\187\007\153\005\020\015\021\007\181\004\111\006\153\005\016\015\020\004\137\005\246\014\020\004\000\069\088\073\084\045\073\070\045\069\078\068\245\014\011\042\194\012\094\013\232\010\062\005\111\006\153\005\064\015\194\012\196\005\031\004\000\000\026\005\159\004\020\004\000\080\065\082\083\069\045\076\073\077\073\084\083\037\015\012\042\194\012\130\004\196\005\088\004\232\010\062\005\196\005\020\004\000\062\073\078\045\069\078\068\082\015\007\042\194\012\094\013\232\010\043\005\020\004\000\067\079\085\078\084\069\068\045\083\084\082\073\078\071\110\015\014\042\077\004\143\014\053\005\143\014\021\007\115\004\130\004\196\005\088\004\003\008\176\015\039\008\072\005\130\004\053\005\021\007\082\008\162\015\159\004\143\014\020\004\000\080\065\082\083\069\045\087\079\082\068\139\015\010\042\037\015\082\015\245\014\181\004\111\006\153\005\221\015\110\015\159\004\031\004\000\000\020\004\077\004\017\005\077\004\072\005\031\004\032\000\213\007\153\005\011\016\021\007\181\004\111\006\153\005\007\016\110\015\159\004\035\005\206\005\026\005\088\004\020\004\137\005\225\015\094\013\077\004\194\012\159\004\206\005\021\007\232\010\043\005\035\005\206\005\026\005\088\004\020\004\000\080\065\082\083\069\196\015\005\042\194\012\094\013\232\010\062\005\111\006\153\005\073\016\159\004\194\012\196\005\031\004\000\000\020\004\082\015\077\004\017\005\100\004\017\005\077\004\072\005\035\005\093\006\153\005\127\016\021\007\181\004\111\006\153\005\123\016\026\005\159\004\110\015\159\004\035\005\206\005\026\005\088\004\020\004\137\005\083\016\026\005\159\004\094\013\077\004\194\012\159\004\206\005\021\007\232\010\043\005\035\005\206\005\026\005\088\004\020\004\000\087\079\082\068\046\016\004\042\194\012\094\013\232\010\062\005\111\006\153\005\194\016\159\004\031\004\000\000\143\014\053\005\143\014\020\004\082\015\077\004\017\005\100\004\017\005\077\004\072\005\035\005\093\006\153\005\248\016\021\007\181\004\111\006\153\005\244\016\026\005\159\004\110\015\159\004\035\005\206\005\026\005\088\004\020\004\137\005\204\016\026\005\159\004\094\013\077\004\194\012\159\004\206\005\021\007\232\010\043\005\035\005\206\005\026\005\088\004\139\015\020\004\000\072\069\065\068\069\082\165\016\006\042\196\015\080\013\031\004\000\000\218\014\130\004\196\005\088\004\003\008\065\017\039\008\072\005\218\014\082\008\055\017\036\011\062\005\199\014\218\014\020\004\000\058\034\017\001\042\034\017\143\014\077\004\075\011\043\005\031\004\042\000\218\014\169\014\020\004\000\058\067\079\068\069\080\017\005\042\034\017\143\014\077\004\075\011\043\005\020\004\000\085\078\085\083\069\068\110\017\006\042\143\014\246\007\020\004\000\078\067\072\065\082\133\017\005\042\077\004\072\005\077\004\031\004\058\000\187\007\153\005\176\017\031\004\048\000\206\005\137\005\204\017\077\004\031\004\097\000\187\007\153\005\198\017\031\004\055\000\206\005\137\005\204\017\031\004\087\000\206\005\020\004\000\062\078\085\077\066\069\082\149\017\007\042\077\004\017\005\031\004\000\000\003\008\054\018\149\017\077\004\007\011\062\005\187\007\130\004\067\006\121\005\083\005\153\005\036\018\196\004\007\011\062\005\230\005\031\004\000\000\088\004\100\004\007\011\062\005\020\006\017\013\100\004\031\004\000\000\017\013\100\004\021\007\137\005\050\018\159\004\039\008\068\008\026\005\088\004\206\005\020\004\082\008\230\017\026\005\159\004\031\004\000\000\020\004\042\031\004\000\000\031\004\000\000\196\004\130\004\072\005\031\004\045\000\111\006\153\005\115\018\088\004\021\007\088\004\031\007\217\017\196\004\159\004\246\007\031\004\001\000\196\004\137\005\127\018\217\017\100\004\159\004\031\004\001\000\115\004\020\004\000\078\085\077\066\069\082\217\017\006\042\116\011\062\005\046\007\020\004\000\083\065\086\069\045\073\078\080\085\084\139\018\010\042\232\010\062\005\031\004\001\000\020\004\000\082\069\083\084\079\082\069\045\073\078\080\085\084\162\018\013\042\077\004\031\004\001\000\111\006\153\005\215\018\159\004\232\010\043\005\190\010\137\005\231\018\031\004\000\000\019\008\229\018\159\004\082\008\223\018\203\010\020\004\000\067\079\085\078\084\190\018\005\042\077\004\021\007\088\004\072\005\020\004\000\067\072\065\082\242\018\004\042\196\015\159\004\072\005\020\004\000\070\073\076\076\005\019\004\042\115\004\077\004\077\006\153\005\057\019\130\004\196\005\088\004\003\008\053\019\077\004\039\008\053\005\082\008\043\019\137\005\059\019\170\004\159\004\020\004\000\069\082\065\083\069\022\019\005\042\031\004\000\000\022\019\020\004\000\040\072\019\129\042\031\004\041\000\046\016\170\004\020\004\000\046\040\086\019\130\042\031\004\041\000\046\016\152\013\020\004\000\092\103\019\129\042\031\004\010\000\046\016\170\004\020\004\000\084\072\069\078\119\019\132\042\143\014\088\004\043\005\020\004\000\066\069\071\073\078\138\019\133\042\143\014\020\004\000\070\073\078\068\045\087\079\082\068\045\068\073\067\079\156\019\014\042\088\004\017\005\077\004\031\004\004\000\206\005\197\013\035\005\111\006\153\005\228\019\031\004\002\000\143\004\035\005\050\014\153\005\224\019\094\013\026\005\159\004\020\004\137\005\230\019\159\004\031\004\003\000\206\005\062\005\077\004\032\006\153\005\184\019\094\013\026\005\159\004\020\004\000\071\069\084\045\087\076\045\076\065\084\069\083\084\179\019\013\042\077\004\148\011\062\005\111\006\153\005\038\020\159\004\036\011\062\005\137\005\040\020\062\005\020\004\000\070\073\078\068\045\087\079\082\068\015\020\009\042\236\011\164\011\062\005\184\006\196\005\236\011\003\008\098\020\039\008\062\005\015\020\179\019\004\005\153\005\090\020\068\008\020\004\031\004\002\000\108\008\072\020\031\004\000\000\020\004\000\039\055\020\001\042\196\015\055\020\020\004\000\080\079\083\084\080\079\078\069\109\020\136\042\109\020\077\004\031\007\072\005\031\004\128\000\083\005\153\005\153\020\199\014\137\005\167\020\031\004\031\004\199\014\199\014\031\004\199\014\199\014\020\004\000\076\073\084\069\082\065\076\128\020\135\042\031\004\031\004\199\014\199\014\020\004\000\078\076\073\084\069\082\065\076\180\020\136\042\077\004\017\005\031\004\000\000\003\008\232\020\031\004\031\004\199\014\031\004\000\000\199\014\082\008\216\020\026\005\031\004\000\000\003\008\010\021\143\014\031\004\002\000\206\005\039\008\031\004\004\000\230\005\206\005\043\005\082\008\242\020\020\004\000\068\079\069\083\062\203\020\005\042\031\004\065\004\036\011\062\005\021\007\043\005\026\005\036\011\062\005\031\004\005\000\196\005\043\005\020\004\000\091\039\093\021\021\131\042\109\020\180\020\020\004\000\091\067\079\077\080\073\076\069\093\057\021\137\042\109\020\199\014\020\004\000\059\077\021\129\042\031\004\020\004\199\014\036\011\043\005\155\014\020\004\000\067\079\068\069\059\089\021\005\042\031\004\041\000\218\014\036\011\043\005\020\004\000\091\067\072\065\082\093\113\021\134\042\005\019\180\020\020\004\000\067\082\069\065\084\069\136\021\006\042\034\017\143\014\036\011\043\005\031\004\042\000\218\014\143\014\031\004\006\000\196\005\180\020\031\004\020\004\199\014\020\004\000\086\065\082\073\065\066\076\069\153\021\008\042\153\021\031\004\002\000\187\014\020\004\000\067\079\078\083\084\065\078\084\198\021\008\042\034\017\143\014\036\011\043\005\031\004\077\000\218\014\199\014\031\004\033\000\218\014\031\004\041\000\218\014\020\004\000\077\065\082\075\069\082\221\021\006\042\143\014\034\017\143\014\088\004\031\004\042\000\218\014\180\020\036\011\062\005\180\020\031\004\133\013\199\014\031\004\020\004\199\014\036\011\043\005\020\004\000\073\070\006\022\130\042\031\004\153\005\199\014\143\014\031\004\000\000\199\014\020\004\000\069\076\083\069\053\022\132\042\031\004\137\005\199\014\143\014\088\004\031\004\000\000\199\014\143\014\088\004\043\005\020\004\000\085\078\084\073\076\078\022\133\042\031\004\153\005\199\014\199\014\020\004\000\082\069\080\069\065\084\112\022\134\042\031\004\137\005\199\014\199\014\143\014\088\004\043\005\020\004\000\087\072\073\076\069\133\022\133\042\031\004\153\005\199\014\143\014\088\004\031\004\000\000\199\014\020\004\000\067\065\083\069\159\022\132\042\031\004\000\000\020\004\000\069\078\068\067\065\083\069\186\022\135\042\031\004\159\004\199\014\077\004\051\006\153\005\229\022\143\014\088\004\043\005\137\005\211\022\159\004\020\004\000\079\070\204\022\130\042\031\004\130\004\199\014\031\004\111\006\199\014\031\004\153\005\199\014\143\014\031\004\000\000\199\014\031\004\159\004\199\014\020\004\000\069\078\068\079\070\239\022\133\042\031\004\137\005\199\014\143\014\031\004\000\000\199\014\143\014\100\004\043\005\020\004\000\083\076\073\084\069\082\065\076\027\023\136\042\031\004\044\004\199\014\077\004\199\014\130\004\196\005\088\004\019\008\093\023\039\008\072\005\218\014\082\008\083\023\020\004\000\083\034\062\023\130\042\031\004\034\000\046\016\062\023\020\004\000\080\065\068\101\023\003\042\143\014\031\004\036\000\196\005\020\004\000\086\065\076\085\069\119\023\005\042\034\017\143\014\036\011\043\005\031\004\077\000\218\014\199\014\031\004\033\000\218\014\031\004\041\000\218\014\020\004\000\084\079\139\023\130\042\196\015\055\020\021\007\021\011\062\005\153\005\203\023\180\020\031\004\043\005\199\014\137\005\205\023\043\005\020\004\000\067\079\077\080\073\076\069\044\176\023\008\042\199\014\020\004\000\065\071\065\073\078\219\023\133\042\031\004\137\005\199\014\199\014\020\004\000\065\066\079\082\084\233\023\005\042\152\006\006\029\020\004\000\067\079\077\080\073\076\069\045\087\079\082\068\253\023\012\042\181\004\241\006\055\020\004\005\153\005\065\024\253\006\170\004\077\004\031\007\072\005\031\004\128\000\083\005\153\005\059\024\046\007\137\005\061\024\199\014\137\005\117\024\009\007\139\018\032\006\153\005\087\024\159\004\253\006\170\004\203\020\137\005\117\024\159\004\031\004\000\000\019\008\103\024\159\004\082\008\097\024\253\006\152\013\248\013\031\004\063\000\095\012\253\023\020\004\000\067\079\085\078\084\020\024\005\042\077\004\021\007\088\004\072\005\020\004\000\082\069\067\085\082\083\069\128\024\135\042\075\011\062\005\199\014\020\004\000\058\078\079\078\065\077\069\150\024\007\042\143\014\077\004\075\011\043\005\031\004\042\000\218\014\036\011\062\005\169\014\020\004\000\062\066\079\068\089\170\024\005\042\031\004\007\000\196\005\020\004\000\069\078\086\073\082\079\078\077\069\078\084\063\202\024\012\042\221\011\062\005\179\019\077\004\153\005\244\024\046\007\203\010\020\004\000\068\048\061\227\024\003\042\094\005\032\006\020\004\000\072\079\076\068\253\024\004\042\143\014\062\005\031\007\077\004\143\014\043\005\053\005\020\004\000\035\012\025\001\042\007\011\062\005\174\007\100\004\077\004\031\004\009\000\213\007\153\005\065\025\031\004\055\000\196\005\137\005\071\025\031\004\048\000\196\005\012\025\020\004\000\035\083\034\025\002\042\034\025\181\004\253\024\153\005\082\025\020\004\000\046\034\081\025\130\042\101\023\031\004\152\013\199\014\020\004\000\067\034\100\025\130\042\031\004\034\000\046\016\031\004\137\005\199\014\143\014\031\004\000\000\199\014\115\004\143\014\115\004\077\004\218\014\130\004\196\005\088\004\019\008\168\025\039\008\072\005\218\014\082\008\158\025\088\004\143\014\088\004\043\005\180\020\020\004\000\060\035\117\025\002\042\119\023\143\014\043\005\020\004\000\035\062\186\025\002\042\170\004\143\014\062\005\119\023\130\004\206\005\020\004\000\083\073\071\078\201\025\004\042\067\006\153\005\237\025\031\004\045\000\012\025\020\004\000\067\079\078\086\069\082\084\224\025\007\042\031\004\255\255\217\017\159\004\020\004\000\077\079\086\069\250\025\004\042\077\004\032\006\153\005\028\026\159\004\170\004\020\004\115\004\181\004\252\005\153\005\072\026\100\004\031\004\000\000\003\008\068\026\130\004\072\005\130\004\053\005\021\007\088\004\021\007\088\004\082\008\048\026\137\005\118\026\031\004\002\000\143\004\080\013\196\005\115\004\196\005\088\004\100\004\031\004\000\000\003\008\118\026\031\007\088\004\031\007\088\004\130\004\072\005\130\004\053\005\082\008\098\026\170\004\020\004\000\046\013\026\001\042\077\004\017\005\108\013\031\004\000\000\186\025\176\010\012\025\081\025\026\005\224\025\201\025\152\013\020\004\000\085\046\127\026\002\042\031\004\000\000\186\025\176\010\012\025\081\025\201\025\152\013\020\004\000\046\082\162\026\002\042\017\005\077\004\017\005\108\013\031\004\000\000\186\025\176\010\012\025\081\025\026\005\224\025\201\025\026\005\130\004\206\005\011\014\152\013\020\004\000\085\046\082\187\026\003\042\017\005\031\004\000\000\186\025\176\010\012\025\081\025\201\025\026\005\130\004\206\005\011\014\152\013\020\004\000\087\073\084\072\073\078\233\026\006\042\130\004\206\005\017\005\206\005\026\005\241\005\020\004\000\068\079\016\027\130\042\031\004\003\008\199\014\143\014\031\004\000\000\199\014\143\014\020\004\000\063\068\079\037\027\131\042\031\004\019\008\199\014\143\014\031\004\000\000\199\014\143\014\020\004\000\076\079\079\080\063\027\132\042\031\004\082\008\199\014\199\014\143\014\088\004\043\005\020\004\000\043\076\079\079\080\090\027\133\042\031\004\108\008\199\014\199\014\143\014\088\004\043\005\020\004\000\065\067\067\069\080\084\116\027\006\042\044\004\006\000\115\099\114\101\101\110\196\008\044\004\006\000\115\099\114\101\101\110\031\004\016\000\176\008\077\004\067\006\153\005\188\027\159\004\146\008\137\005\156\027\248\012\080\013\031\004\016\000\115\004\013\026\020\004\000\069\088\080\069\067\084\143\027\006\042\143\027\049\011\043\005\020\004\000\081\085\069\082\089\212\027\005\042\031\004\000\000\232\010\043\005\031\004\000\000\250\010\043\005\100\011\077\004\031\004\080\000\143\027\248\013\220\010\152\012\020\004\000\082\069\070\073\076\076\230\027\006\042\250\010\062\005\153\005\034\028\190\010\137\005\060\028\031\004\000\000\232\010\043\005\100\011\077\004\031\004\080\000\143\027\248\013\220\010\152\012\203\010\020\004\000\073\078\084\069\082\080\082\069\084\045\087\079\082\068\019\028\014\042\181\004\241\006\055\020\004\005\153\005\103\028\253\006\170\004\046\007\137\005\153\028\009\007\139\018\032\006\153\005\123\028\170\004\253\006\170\004\137\005\153\028\159\004\031\004\000\000\019\008\139\028\159\004\082\008\133\028\253\006\152\013\248\013\031\004\063\000\095\012\253\023\020\004\000\069\086\065\076\085\065\084\069\080\028\008\042\194\012\241\006\232\010\062\005\017\005\250\010\062\005\017\005\031\004\255\255\250\010\043\005\031\004\000\000\232\010\043\005\220\010\152\012\196\015\004\005\153\005\232\028\021\011\062\005\153\005\226\028\020\024\137\005\228\028\080\028\137\005\204\028\159\004\026\005\250\010\043\005\026\005\232\010\043\005\253\006\220\010\152\012\020\004\000\081\085\073\084\167\028\004\042\137\006\230\013\019\028\153\005\067\029\196\015\004\005\153\005\045\029\021\011\062\005\153\005\039\029\020\024\137\005\041\029\080\028\137\005\017\029\159\004\248\013\031\004\079\000\095\012\031\004\075\000\095\012\230\013\137\005\011\029\020\004\000\040\097\098\111\114\116\034\041\006\029\008\042\100\004\153\005\092\029\152\013\253\023\170\004\020\004\000\065\066\079\082\084\034\081\029\134\042\101\023\031\004\081\029\199\014\020\004\000\068\065\066\083\106\029\004\042\077\004\067\006\153\005\156\029\130\004\246\007\100\004\153\005\152\029\088\004\121\005\137\005\156\029\088\004\246\007\020\004\000\083\077\047\082\069\077\125\029\006\042\130\004\017\005\181\004\106\005\017\005\108\013\017\005\125\029\026\005\127\007\026\005\067\006\153\005\199\029\246\007\088\004\026\005\067\006\153\005\211\029\246\007\088\004\020\004\000\079\078\168\029\002\042\215\008\044\004\002\000\111\110\227\008\020\004\000\079\070\070\221\029\003\042\215\008\044\004\003\000\111\102\102\227\008\020\004\000\073\079\064\241\029\003\042\137\012\031\004\003\000\187\007\020\004\000\076\079\065\068\080\075\071\006\030\007\042\031\004\000\000\031\004\030\001\053\005\196\015\031\004\026\001\152\012\031\004\026\001\171\012\215\008\031\004\030\001\031\004\001\000\227\008\031\004\030\001\072\005\021\007\031\004\030\001\053\005\031\004\026\001\171\012\031\004\016\000\176\008\031\004\016\000\072\005\153\005\113\030\031\004\016\000\088\004\167\028\137\005\047\030\159\004\020\004\000\071\069\084\045\067\085\082\082\069\078\084\028\030\011\042\148\011\062\005\020\004\000\083\069\084\045\067\085\082\082\069\078\084\132\030\011\042\036\011\062\005\148\011\062\005\043\005\077\004\148\011\043\005\062\005\036\011\043\005\020\004\000\087\079\082\068\076\073\083\084\154\030\008\042\137\011\062\005\077\004\032\012\137\011\043\005\020\004\000\068\069\070\073\078\073\084\073\079\078\083\191\030\011\042\236\011\062\005\154\030\020\004\000\071\069\084\045\079\082\068\069\082\221\030\009\042\236\011\164\011\062\005\031\007\184\006\196\005\019\008\016\031\039\008\062\005\031\004\254\255\108\008\004\031\164\011\062\005\020\004\000\083\069\084\045\079\082\068\069\082\243\030\009\042\077\004\164\011\043\005\236\011\031\004\000\000\019\008\062\031\080\013\043\005\032\012\082\008\052\031\159\004\020\004\000\065\076\083\079\035\031\004\042\236\011\077\004\032\012\164\011\062\005\184\006\013\026\164\011\031\004\002\000\217\005\020\004\000\070\079\082\084\072\074\031\005\042\205\011\236\011\043\005\020\004\000\079\078\076\089\108\031\004\042\108\031\031\004\001\000\164\011\043\005\020\004\000\079\082\068\069\082\125\031\005\042\236\011\164\011\062\005\184\006\196\005\236\011\003\008\178\031\039\008\062\005\127\026\031\004\002\000\108\008\164\031\230\013\148\011\062\005\020\004\000\080\082\069\086\073\079\085\083\147\031\008\042\236\011\032\012\236\011\164\011\062\005\031\007\184\006\013\026\164\011\031\004\254\255\217\005\020\004\000\083\069\065\082\067\072\045\087\079\082\068\076\073\083\084\198\031\015\042\015\020\179\019\077\004\153\005\027\032\077\004\031\007\072\005\031\004\128\000\083\005\153\005\023\032\031\004\001\000\137\005\027\032\031\004\255\255\020\004\000\070\073\078\068\244\031\004\042\077\004\128\024\236\011\164\011\062\005\184\006\196\005\236\011\003\008\092\032\181\004\039\008\062\005\244\031\004\005\153\005\084\032\241\006\170\004\159\004\253\006\068\008\020\004\031\004\002\000\108\008\058\032\170\004\031\004\000\000\020\004\000\068\085\077\080\037\032\004\042\215\008\031\004\000\001\031\004\000\000\003\008\159\032\039\008\031\004\064\000\230\005\119\023\021\007\031\004\064\000\013\026\039\008\119\023\053\005\119\023\031\004\065\000\227\008\082\008\123\032\020\004\000\083\065\086\069\045\083\084\065\084\069\108\032\010\042\044\004\004\000\098\111\111\116\108\032\020\004\000\067\079\076\068\175\032\004\042\044\004\019\000\067\111\109\112\117\116\101\114\032\105\115\032\114\101\097\100\121\032\040\152\013\133\017\162\026\044\004\011\000\098\121\116\101\115\032\102\114\101\101\041\152\013\006\029\020\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" end \ No newline at end of file diff --git a/t.lua b/t.lua index e494054..1f7cf73 100644 --- a/t.lua +++ b/t.lua @@ -1,5 +1,5 @@ local MAX_LINE_LENGHT = 28 - +local DEBUG = true local serialize_inv = function(l) local l2={} @@ -309,6 +309,7 @@ end local function done_move(pos, spos, npos) local dir = vector.subtract(npos, spos) local move = vector.subtract(npos, pos) + s = dot(dir, move) return dot(dir, move) <= 0 end @@ -320,6 +321,7 @@ minetest.register_entity("turtle:turtle", { physical = true, force_load = TURTLES_FORCE_LOAD, collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + collides_with_objects = false, visual = "wielditem", visual_size = {x = 2/3, y = 2/3}, textures = {"default:wood"}, @@ -383,8 +385,10 @@ minetest.register_entity("turtle:turtle", { end if info.formspec_changed then for playername, _ in pairs(info.playernames) do - print(info.text) - print("------------------------------------") + if DEBUG then + print(info.text) + print("------------------------------------") + end minetest.show_formspec(playername, self.n, info.formspec) end info.formspec_changed = nil