aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-12-26 00:32:10 +0800
committerchai <chaifix@163.com>2018-12-26 00:32:10 +0800
commit74e76362dadd38c5a5231a4630c093efdd0febfd (patch)
treef305f37cf7c19a1f0c95a9f848132f654e0beffc /src
parentb15b96151e8b25dd2a36a6b469b992a8eded73b2 (diff)
*格式化代码
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/LuaJIT-2.0.5/src/buildvm.libbin33996 -> 33996 bytes
-rw-r--r--src/3rdparty/LuaJIT-2.0.5/src/minilua.libbin33996 -> 33996 bytes
-rw-r--r--src/libjin-lua/je_lua_embed.h2
-rw-r--r--src/libjin-lua/scripts/physics/physics.lua929
-rw-r--r--src/libjin-lua/scripts/physics/physics.lua.h2060
-rw-r--r--src/libjin-lua/scripts/tiledmap/tiledmap.lua2
-rw-r--r--src/libjin-lua/scripts/tiledmap/tiledmap.lua.h3
7 files changed, 1434 insertions, 1562 deletions
diff --git a/src/3rdparty/LuaJIT-2.0.5/src/buildvm.lib b/src/3rdparty/LuaJIT-2.0.5/src/buildvm.lib
index c7be727..d4372fd 100644
--- a/src/3rdparty/LuaJIT-2.0.5/src/buildvm.lib
+++ b/src/3rdparty/LuaJIT-2.0.5/src/buildvm.lib
Binary files differ
diff --git a/src/3rdparty/LuaJIT-2.0.5/src/minilua.lib b/src/3rdparty/LuaJIT-2.0.5/src/minilua.lib
index e2b3ac3..a3cce18 100644
--- a/src/3rdparty/LuaJIT-2.0.5/src/minilua.lib
+++ b/src/3rdparty/LuaJIT-2.0.5/src/minilua.lib
Binary files differ
diff --git a/src/libjin-lua/je_lua_embed.h b/src/libjin-lua/je_lua_embed.h
index c2290d0..1b1597c 100644
--- a/src/libjin-lua/je_lua_embed.h
+++ b/src/libjin-lua/je_lua_embed.h
@@ -81,6 +81,6 @@ namespace JinEngine
}
} // namespace Embed
-} // namespace JinEngine
+} // namespace JinEngine
#endif // __JIN_LUA_EMBED_H__ \ No newline at end of file
diff --git a/src/libjin-lua/scripts/physics/physics.lua b/src/libjin-lua/scripts/physics/physics.lua
index d312762..691c879 100644
--- a/src/libjin-lua/scripts/physics/physics.lua
+++ b/src/libjin-lua/scripts/physics/physics.lua
@@ -12,36 +12,36 @@ local DELTA = 1e-10 -- floating-point margin of error
local abs, floor, ceil, min, max = math.abs, math.floor, math.ceil, math.min, math.max
local function sign(x)
- if x > 0 then return 1 end
- if x == 0 then return 0 end
- return -1
+ if x > 0 then return 1 end
+ if x == 0 then return 0 end
+ return -1
end
local function nearest(x, a, b)
- if abs(a - x) < abs(b - x) then return a else return b end
+ if abs(a - x) < abs(b - x) then return a else return b end
end
local function assertType(desiredType, value, name)
- if type(value) ~= desiredType then
- error(name .. ' must be a ' .. desiredType .. ', but was ' .. tostring(value) .. '(a ' .. type(value) .. ')')
- end
+ if type(value) ~= desiredType then
+ error(name .. ' must be a ' .. desiredType .. ', but was ' .. tostring(value) .. '(a ' .. type(value) .. ')')
+ end
end
local function assertIsPositiveNumber(value, name)
- if type(value) ~= 'number' or value <= 0 then
- error(name .. ' must be a positive integer, but was ' .. tostring(value) .. '(' .. type(value) .. ')')
- end
+ if type(value) ~= 'number' or value <= 0 then
+ error(name .. ' must be a positive integer, but was ' .. tostring(value) .. '(' .. type(value) .. ')')
+ end
end
local function assertIsRect(x,y,w,h)
- assertType('number', x, 'x')
- assertType('number', y, 'y')
- assertIsPositiveNumber(w, 'w')
- assertIsPositiveNumber(h, 'h')
+ assertType('number', x, 'x')
+ assertType('number', y, 'y')
+ assertIsPositiveNumber(w, 'w')
+ assertIsPositiveNumber(h, 'h')
end
local defaultFilter = function()
- return 'slide'
+ return 'slide'
end
------------------------------------------
@@ -49,7 +49,7 @@ end
------------------------------------------
local function rect_getNearestCorner(x,y,w,h, px, py)
- return nearest(px, x, x+w), nearest(py, y, y+h)
+ return nearest(px, x, x+w), nearest(py, y, y+h)
end
-- This is a generalized implementation of the liang-barsky algorithm, which also returns
@@ -57,122 +57,122 @@ end
-- Returns nil if the segment never touches the rect
-- Notice that normals are only guaranteed to be accurate when initially ti1, ti2 == -math.huge, math.huge
local function rect_getSegmentIntersectionIndices(x,y,w,h, x1,y1,x2,y2, ti1,ti2)
- ti1, ti2 = ti1 or 0, ti2 or 1
- local dx, dy = x2-x1, y2-y1
- local nx, ny
- local nx1, ny1, nx2, ny2 = 0,0,0,0
- local p, q, r
-
- for side = 1,4 do
- if side == 1 then nx,ny,p,q = -1, 0, -dx, x1 - x -- left
- elseif side == 2 then nx,ny,p,q = 1, 0, dx, x + w - x1 -- right
- elseif side == 3 then nx,ny,p,q = 0, -1, -dy, y1 - y -- top
- else nx,ny,p,q = 0, 1, dy, y + h - y1 -- bottom
- end
+ ti1, ti2 = ti1 or 0, ti2 or 1
+ local dx, dy = x2-x1, y2-y1
+ local nx, ny
+ local nx1, ny1, nx2, ny2 = 0,0,0,0
+ local p, q, r
+
+ for side = 1,4 do
+ if side == 1 then nx,ny,p,q = -1, 0, -dx, x1 - x -- left
+ elseif side == 2 then nx,ny,p,q = 1, 0, dx, x + w - x1 -- right
+ elseif side == 3 then nx,ny,p,q = 0, -1, -dy, y1 - y -- top
+ else nx,ny,p,q = 0, 1, dy, y + h - y1 -- bottom
+ end
- if p == 0 then
- if q <= 0 then return nil end
- else
- r = q / p
- if p < 0 then
- if r > ti2 then return nil
- elseif r > ti1 then ti1,nx1,ny1 = r,nx,ny
- end
- else -- p > 0
- if r < ti1 then return nil
- elseif r < ti2 then ti2,nx2,ny2 = r,nx,ny
- end
- end
+ if p == 0 then
+ if q <= 0 then return nil end
+ else
+ r = q / p
+ if p < 0 then
+ if r > ti2 then return nil
+ elseif r > ti1 then ti1,nx1,ny1 = r,nx,ny
+ end
+ else -- p > 0
+ if r < ti1 then return nil
+ elseif r < ti2 then ti2,nx2,ny2 = r,nx,ny
end
+ end
end
+ end
- return ti1,ti2, nx1,ny1, nx2,ny2
+ return ti1,ti2, nx1,ny1, nx2,ny2
end
-- Calculates the minkowsky difference between 2 rects, which is another rect
local function rect_getDiff(x1,y1,w1,h1, x2,y2,w2,h2)
- return x2 - x1 - w1,
- y2 - y1 - h1,
- w1 + w2,
- h1 + h2
+ return x2 - x1 - w1,
+ y2 - y1 - h1,
+ w1 + w2,
+ h1 + h2
end
local function rect_containsPoint(x,y,w,h, px,py)
- return px - x > DELTA and py - y > DELTA and
- x + w - px > DELTA and y + h - py > DELTA
+ return px - x > DELTA and py - y > DELTA and
+ x + w - px > DELTA and y + h - py > DELTA
end
local function rect_isIntersecting(x1,y1,w1,h1, x2,y2,w2,h2)
- return x1 < x2+w2 and x2 < x1+w1 and
- y1 < y2+h2 and y2 < y1+h1
+ return x1 < x2+w2 and x2 < x1+w1 and
+ y1 < y2+h2 and y2 < y1+h1
end
local function rect_getSquareDistance(x1,y1,w1,h1, x2,y2,w2,h2)
- local dx = x1 - x2 + (w1 - w2)/2
- local dy = y1 - y2 + (h1 - h2)/2
- return dx*dx + dy*dy
+ local dx = x1 - x2 + (w1 - w2)/2
+ local dy = y1 - y2 + (h1 - h2)/2
+ return dx*dx + dy*dy
end
local function rect_detectCollision(x1,y1,w1,h1, x2,y2,w2,h2, goalX, goalY)
- goalX = goalX or x1
- goalY = goalY or y1
+ goalX = goalX or x1
+ goalY = goalY or y1
+
+ local dx, dy = goalX - x1, goalY - y1
+ local x,y,w,h = rect_getDiff(x1,y1,w1,h1, x2,y2,w2,h2)
+
+ local overlaps, ti, nx, ny
+
+ if rect_containsPoint(x,y,w,h, 0,0) then -- item was intersecting other
+ local px, py = rect_getNearestCorner(x,y,w,h, 0, 0)
+ local wi, hi = min(w1, abs(px)), min(h1, abs(py)) -- area of intersection
+ ti = -wi * hi -- ti is the negative area of intersection
+ overlaps = true
+ else
+ local ti1,ti2,nx1,ny1 = rect_getSegmentIntersectionIndices(x,y,w,h, 0,0,dx,dy, -math.huge, math.huge)
+
+ -- item tunnels into other
+ if ti1
+ and ti1 < 1
+ and (abs(ti1 - ti2) >= DELTA) -- special case for rect going through another rect's corner
+ and (0 < ti1 + DELTA
+ or 0 == ti1 and ti2 > 0)
+ then
+ ti, nx, ny = ti1, nx1, ny1
+ overlaps = false
+ end
+ end
- local dx, dy = goalX - x1, goalY - y1
- local x,y,w,h = rect_getDiff(x1,y1,w1,h1, x2,y2,w2,h2)
+ if not ti then return end
- local overlaps, ti, nx, ny
+ local tx, ty
- if rect_containsPoint(x,y,w,h, 0,0) then -- item was intersecting other
- local px, py = rect_getNearestCorner(x,y,w,h, 0, 0)
- local wi, hi = min(w1, abs(px)), min(h1, abs(py)) -- area of intersection
- ti = -wi * hi -- ti is the negative area of intersection
- overlaps = true
+ if overlaps then
+ if dx == 0 and dy == 0 then
+ -- intersecting and not moving - use minimum displacement vector
+ local px, py = rect_getNearestCorner(x,y,w,h, 0,0)
+ if abs(px) < abs(py) then py = 0 else px = 0 end
+ nx, ny = sign(px), sign(py)
+ tx, ty = x1 + px, y1 + py
else
- local ti1,ti2,nx1,ny1 = rect_getSegmentIntersectionIndices(x,y,w,h, 0,0,dx,dy, -math.huge, math.huge)
-
- -- item tunnels into other
- if ti1
- and ti1 < 1
- and (abs(ti1 - ti2) >= DELTA) -- special case for rect going through another rect's corner
- and (0 < ti1 + DELTA
- or 0 == ti1 and ti2 > 0)
- then
- ti, nx, ny = ti1, nx1, ny1
- overlaps = false
- end
+ -- intersecting and moving - move in the opposite direction
+ local ti1, _
+ ti1,_,nx,ny = rect_getSegmentIntersectionIndices(x,y,w,h, 0,0,dx,dy, -math.huge, 1)
+ if not ti1 then return end
+ tx, ty = x1 + dx * ti1, y1 + dy * ti1
end
+ else -- tunnel
+ tx, ty = x1 + dx * ti, y1 + dy * ti
+ end
- if not ti then return end
-
- local tx, ty
-
- if overlaps then
- if dx == 0 and dy == 0 then
- -- intersecting and not moving - use minimum displacement vector
- local px, py = rect_getNearestCorner(x,y,w,h, 0,0)
- if abs(px) < abs(py) then py = 0 else px = 0 end
- nx, ny = sign(px), sign(py)
- tx, ty = x1 + px, y1 + py
- else
- -- intersecting and moving - move in the opposite direction
- local ti1, _
- ti1,_,nx,ny = rect_getSegmentIntersectionIndices(x,y,w,h, 0,0,dx,dy, -math.huge, 1)
- if not ti1 then return end
- tx, ty = x1 + dx * ti1, y1 + dy * ti1
- end
- else -- tunnel
- tx, ty = x1 + dx * ti, y1 + dy * ti
- end
-
- return {
- overlaps = overlaps,
- ti = ti,
- move = {x = dx, y = dy},
- normal = {x = nx, y = ny},
- touch = {x = tx, y = ty},
- itemRect = {x = x1, y = y1, w = w1, h = h1},
- otherRect = {x = x2, y = y2, w = w2, h = h2}
- }
+ return {
+ overlaps = overlaps,
+ ti = ti,
+ move = {x = dx, y = dy},
+ normal = {x = nx, y = ny},
+ touch = {x = tx, y = ty},
+ itemRect = {x = x1, y = y1, w = w1, h = h1},
+ otherRect = {x = x2, y = y2, w = w2, h = h2}
+ }
end
------------------------------------------
@@ -180,11 +180,11 @@ end
------------------------------------------
local function grid_toWorld(cellSize, cx, cy)
- return (cx - 1)*cellSize, (cy-1)*cellSize
+ return (cx - 1)*cellSize, (cy-1)*cellSize
end
local function grid_toCell(cellSize, x, y)
- return floor(x / cellSize) + 1, floor(y / cellSize) + 1
+ return floor(x / cellSize) + 1, floor(y / cellSize) + 1
end
-- grid_traverse* functions are based on "A Fast Voxel Traversal Algorithm for Ray Tracing",
@@ -193,49 +193,49 @@ end
-- and with a different exit condition
local function grid_traverse_initStep(cellSize, ct, t1, t2)
- local v = t2 - t1
- if v > 0 then
- return 1, cellSize / v, ((ct + v) * cellSize - t1) / v
- elseif v < 0 then
- return -1, -cellSize / v, ((ct + v - 1) * cellSize - t1) / v
- else
- return 0, math.huge, math.huge
- end
+ local v = t2 - t1
+ if v > 0 then
+ return 1, cellSize / v, ((ct + v) * cellSize - t1) / v
+ elseif v < 0 then
+ return -1, -cellSize / v, ((ct + v - 1) * cellSize - t1) / v
+ else
+ return 0, math.huge, math.huge
+ end
end
local function grid_traverse(cellSize, x1,y1,x2,y2, f)
- local cx1,cy1 = grid_toCell(cellSize, x1,y1)
- local cx2,cy2 = grid_toCell(cellSize, x2,y2)
- local stepX, dx, tx = grid_traverse_initStep(cellSize, cx1, x1, x2)
- local stepY, dy, ty = grid_traverse_initStep(cellSize, cy1, y1, y2)
- local cx,cy = cx1,cy1
-
- f(cx, cy)
-
- -- The default implementation had an infinite loop problem when
- -- approaching the last cell in some occassions. We finish iterating
- -- when we are *next* to the last cell
- while abs(cx - cx2) + abs(cy - cy2) > 1 do
- if tx < ty then
- tx, cx = tx + dx, cx + stepX
- f(cx, cy)
- else
- -- Addition: include both cells when going through corners
- if tx == ty then f(cx + stepX, cy) end
- ty, cy = ty + dy, cy + stepY
- f(cx, cy)
- end
+ local cx1,cy1 = grid_toCell(cellSize, x1,y1)
+ local cx2,cy2 = grid_toCell(cellSize, x2,y2)
+ local stepX, dx, tx = grid_traverse_initStep(cellSize, cx1, x1, x2)
+ local stepY, dy, ty = grid_traverse_initStep(cellSize, cy1, y1, y2)
+ local cx,cy = cx1,cy1
+
+ f(cx, cy)
+
+ -- The default implementation had an infinite loop problem when
+ -- approaching the last cell in some occassions. We finish iterating
+ -- when we are *next* to the last cell
+ while abs(cx - cx2) + abs(cy - cy2) > 1 do
+ if tx < ty then
+ tx, cx = tx + dx, cx + stepX
+ f(cx, cy)
+ else
+ -- Addition: include both cells when going through corners
+ if tx == ty then f(cx + stepX, cy) end
+ ty, cy = ty + dy, cy + stepY
+ f(cx, cy)
end
+ end
- -- If we have not arrived to the last cell, use it
- if cx ~= cx2 or cy ~= cy2 then f(cx2, cy2) end
+ -- If we have not arrived to the last cell, use it
+ if cx ~= cx2 or cy ~= cy2 then f(cx2, cy2) end
end
local function grid_toCellRect(cellSize, x,y,w,h)
- local cx,cy = grid_toCell(cellSize, x, y)
- local cr,cb = ceil((x+w) / cellSize), ceil((y+h) / cellSize)
- return cx, cy, cr - cx + 1, cb - cy + 1
+ local cx,cy = grid_toCell(cellSize, x, y)
+ local cr,cb = ceil((x+w) / cellSize), ceil((y+h) / cellSize)
+ return cx, cy, cr - cx + 1, cb - cy + 1
end
------------------------------------------
@@ -243,55 +243,55 @@ end
------------------------------------------
local touch = function(world, col, x,y,w,h, goalX, goalY, filter)
- return col.touch.x, col.touch.y, {}, 0
+ return col.touch.x, col.touch.y, {}, 0
end
local cross = function(world, col, x,y,w,h, goalX, goalY, filter)
- local cols, len = world:project(col.item, x,y,w,h, goalX, goalY, filter)
- return goalX, goalY, cols, len
+ local cols, len = world:project(col.item, x,y,w,h, goalX, goalY, filter)
+ return goalX, goalY, cols, len
end
local slide = function(world, col, x,y,w,h, goalX, goalY, filter)
- goalX = goalX or x
- goalY = goalY or y
-
- local tch, move = col.touch, col.move
- if move.x ~= 0 or move.y ~= 0 then
- if col.normal.x ~= 0 then
- goalX = tch.x
- else
- goalY = tch.y
- end
+ goalX = goalX or x
+ goalY = goalY or y
+
+ local tch, move = col.touch, col.move
+ if move.x ~= 0 or move.y ~= 0 then
+ if col.normal.x ~= 0 then
+ goalX = tch.x
+ else
+ goalY = tch.y
end
+ end
- col.slide = {x = goalX, y = goalY}
+ col.slide = {x = goalX, y = goalY}
- x,y = tch.x, tch.y
- local cols, len = world:project(col.item, x,y,w,h, goalX, goalY, filter)
- return goalX, goalY, cols, len
+ x,y = tch.x, tch.y
+ local cols, len = world:project(col.item, x,y,w,h, goalX, goalY, filter)
+ return goalX, goalY, cols, len
end
local bounce = function(world, col, x,y,w,h, goalX, goalY, filter)
- goalX = goalX or x
- goalY = goalY or y
+ goalX = goalX or x
+ goalY = goalY or y
- local tch, move = col.touch, col.move
- local tx, ty = tch.x, tch.y
+ local tch, move = col.touch, col.move
+ local tx, ty = tch.x, tch.y
- local bx, by = tx, ty
+ local bx, by = tx, ty
- if move.x ~= 0 or move.y ~= 0 then
- local bnx, bny = goalX - tx, goalY - ty
- if col.normal.x == 0 then bny = -bny else bnx = -bnx end
- bx, by = tx + bnx, ty + bny
- end
+ if move.x ~= 0 or move.y ~= 0 then
+ local bnx, bny = goalX - tx, goalY - ty
+ if col.normal.x == 0 then bny = -bny else bnx = -bnx end
+ bx, by = tx + bnx, ty + bny
+ end
- col.bounce = {x = bx, y = by}
- x,y = tch.x, tch.y
- goalX, goalY = bx, by
+ col.bounce = {x = bx, y = by}
+ x,y = tch.x, tch.y
+ goalX, goalY = bx, by
- local cols, len = world:project(col.item, x,y,w,h, goalX, goalY, filter)
- return goalX, goalY, cols, len
+ local cols, len = world:project(col.item, x,y,w,h, goalX, goalY, filter)
+ return goalX, goalY, cols, len
end
------------------------------------------
@@ -306,211 +306,211 @@ local World_mt = {__index = World}
local function sortByWeight(a,b) return a.weight < b.weight end
local function sortByTiAndDistance(a,b)
- if a.ti == b.ti then
- local ir, ar, br = a.itemRect, a.otherRect, b.otherRect
- local ad = rect_getSquareDistance(ir.x,ir.y,ir.w,ir.h, ar.x,ar.y,ar.w,ar.h)
- local bd = rect_getSquareDistance(ir.x,ir.y,ir.w,ir.h, br.x,br.y,br.w,br.h)
- return ad < bd
- end
- return a.ti < b.ti
+ if a.ti == b.ti then
+ local ir, ar, br = a.itemRect, a.otherRect, b.otherRect
+ local ad = rect_getSquareDistance(ir.x,ir.y,ir.w,ir.h, ar.x,ar.y,ar.w,ar.h)
+ local bd = rect_getSquareDistance(ir.x,ir.y,ir.w,ir.h, br.x,br.y,br.w,br.h)
+ return ad < bd
+ end
+ return a.ti < b.ti
end
local function addItemToCell(self, item, cx, cy)
- self.rows[cy] = self.rows[cy] or setmetatable({}, {__mode = 'v'})
- local row = self.rows[cy]
- row[cx] = row[cx] or {itemCount = 0, x = cx, y = cy, items = setmetatable({}, {__mode = 'k'})}
- local cell = row[cx]
- self.nonEmptyCells[cell] = true
- if not cell.items[item] then
- cell.items[item] = true
- cell.itemCount = cell.itemCount + 1
- end
+ self.rows[cy] = self.rows[cy] or setmetatable({}, {__mode = 'v'})
+ local row = self.rows[cy]
+ row[cx] = row[cx] or {itemCount = 0, x = cx, y = cy, items = setmetatable({}, {__mode = 'k'})}
+ local cell = row[cx]
+ self.nonEmptyCells[cell] = true
+ if not cell.items[item] then
+ cell.items[item] = true
+ cell.itemCount = cell.itemCount + 1
+ end
end
local function removeItemFromCell(self, item, cx, cy)
- local row = self.rows[cy]
- if not row or not row[cx] or not row[cx].items[item] then return false end
+ local row = self.rows[cy]
+ if not row or not row[cx] or not row[cx].items[item] then return false end
- local cell = row[cx]
- cell.items[item] = nil
- cell.itemCount = cell.itemCount - 1
- if cell.itemCount == 0 then
- self.nonEmptyCells[cell] = nil
- end
- return true
+ local cell = row[cx]
+ cell.items[item] = nil
+ cell.itemCount = cell.itemCount - 1
+ if cell.itemCount == 0 then
+ self.nonEmptyCells[cell] = nil
+ end
+ return true
end
local function getDictItemsInCellRect(self, cl,ct,cw,ch)
- local items_dict = {}
- for cy=ct,ct+ch-1 do
- local row = self.rows[cy]
- if row then
- for cx=cl,cl+cw-1 do
- local cell = row[cx]
- if cell and cell.itemCount > 0 then -- no cell.itemCount > 1 because tunneling
- for item,_ in pairs(cell.items) do
- items_dict[item] = true
- end
- end
- end
+ local items_dict = {}
+ for cy=ct,ct+ch-1 do
+ local row = self.rows[cy]
+ if row then
+ for cx=cl,cl+cw-1 do
+ local cell = row[cx]
+ if cell and cell.itemCount > 0 then -- no cell.itemCount > 1 because tunneling
+ for item,_ in pairs(cell.items) do
+ items_dict[item] = true
+ end
end
+ end
end
+ end
- return items_dict
+ return items_dict
end
local function getCellsTouchedBySegment(self, x1,y1,x2,y2)
- local cells, cellsLen, visited = {}, 0, {}
+ local cells, cellsLen, visited = {}, 0, {}
- grid_traverse(self.cellSize, x1,y1,x2,y2, function(cx, cy)
- local row = self.rows[cy]
- if not row then return end
- local cell = row[cx]
- if not cell or visited[cell] then return end
+ grid_traverse(self.cellSize, x1,y1,x2,y2, function(cx, cy)
+ local row = self.rows[cy]
+ if not row then return end
+ local cell = row[cx]
+ if not cell or visited[cell] then return end
- visited[cell] = true
- cellsLen = cellsLen + 1
- cells[cellsLen] = cell
- end)
+ visited[cell] = true
+ cellsLen = cellsLen + 1
+ cells[cellsLen] = cell
+ end)
- return cells, cellsLen
+ return cells, cellsLen
end
local function getInfoAboutItemsTouchedBySegment(self, x1,y1, x2,y2, filter)
- local cells, len = getCellsTouchedBySegment(self, x1,y1,x2,y2)
- local cell, rect, l,t,w,h, ti1,ti2, tii0,tii1
- local visited, itemInfo, itemInfoLen = {},{},0
- for i=1,len do
- cell = cells[i]
- for item in pairs(cell.items) do
- if not visited[item] then
- visited[item] = true
- if (not filter or filter(item)) then
- rect = self.rects[item]
- l,t,w,h = rect.x,rect.y,rect.w,rect.h
-
- ti1,ti2 = rect_getSegmentIntersectionIndices(l,t,w,h, x1,y1, x2,y2, 0, 1)
- if ti1 and ((0 < ti1 and ti1 < 1) or (0 < ti2 and ti2 < 1)) then
- -- the sorting is according to the t of an infinite line, not the segment
- tii0,tii1 = rect_getSegmentIntersectionIndices(l,t,w,h, x1,y1, x2,y2, -math.huge, math.huge)
- itemInfoLen = itemInfoLen + 1
- itemInfo[itemInfoLen] = {item = item, ti1 = ti1, ti2 = ti2, weight = min(tii0,tii1)}
- end
- end
- end
+ local cells, len = getCellsTouchedBySegment(self, x1,y1,x2,y2)
+ local cell, rect, l,t,w,h, ti1,ti2, tii0,tii1
+ local visited, itemInfo, itemInfoLen = {},{},0
+ for i=1,len do
+ cell = cells[i]
+ for item in pairs(cell.items) do
+ if not visited[item] then
+ visited[item] = true
+ if (not filter or filter(item)) then
+ rect = self.rects[item]
+ l,t,w,h = rect.x,rect.y,rect.w,rect.h
+
+ ti1,ti2 = rect_getSegmentIntersectionIndices(l,t,w,h, x1,y1, x2,y2, 0, 1)
+ if ti1 and ((0 < ti1 and ti1 < 1) or (0 < ti2 and ti2 < 1)) then
+ -- the sorting is according to the t of an infinite line, not the segment
+ tii0,tii1 = rect_getSegmentIntersectionIndices(l,t,w,h, x1,y1, x2,y2, -math.huge, math.huge)
+ itemInfoLen = itemInfoLen + 1
+ itemInfo[itemInfoLen] = {item = item, ti1 = ti1, ti2 = ti2, weight = min(tii0,tii1)}
+ end
end
+ end
end
- table.sort(itemInfo, sortByWeight)
- return itemInfo, itemInfoLen
+ end
+ table.sort(itemInfo, sortByWeight)
+ return itemInfo, itemInfoLen
end
local function getResponseByName(self, name)
- local response = self.responses[name]
- if not response then
- error(('Unknown collision type: %s (%s)'):format(name, type(name)))
- end
- return response
+ local response = self.responses[name]
+ if not response then
+ error(('Unknown collision type: %s (%s)'):format(name, type(name)))
+ end
+ return response
end
-- Misc Public Methods
function World:addResponse(name, response)
- self.responses[name] = response
+ self.responses[name] = response
end
function World:project(item, x,y,w,h, goalX, goalY, filter)
- assertIsRect(x,y,w,h)
+ assertIsRect(x,y,w,h)
- goalX = goalX or x
- goalY = goalY or y
- filter = filter or defaultFilter
+ goalX = goalX or x
+ goalY = goalY or y
+ filter = filter or defaultFilter
- local collisions, len = {}, 0
+ local collisions, len = {}, 0
- local visited = {}
- if item ~= nil then visited[item] = true end
+ local visited = {}
+ if item ~= nil then visited[item] = true end
- -- This could probably be done with less cells using a polygon raster over the cells instead of a
- -- bounding rect of the whole movement. Conditional to building a queryPolygon method
- local tl, tt = min(goalX, x), min(goalY, y)
- local tr, tb = max(goalX + w, x+w), max(goalY + h, y+h)
- local tw, th = tr-tl, tb-tt
+ -- This could probably be done with less cells using a polygon raster over the cells instead of a
+ -- bounding rect of the whole movement. Conditional to building a queryPolygon method
+ local tl, tt = min(goalX, x), min(goalY, y)
+ local tr, tb = max(goalX + w, x+w), max(goalY + h, y+h)
+ local tw, th = tr-tl, tb-tt
- local cl,ct,cw,ch = grid_toCellRect(self.cellSize, tl,tt,tw,th)
+ local cl,ct,cw,ch = grid_toCellRect(self.cellSize, tl,tt,tw,th)
- local dictItemsInCellRect = getDictItemsInCellRect(self, cl,ct,cw,ch)
+ local dictItemsInCellRect = getDictItemsInCellRect(self, cl,ct,cw,ch)
- for other,_ in pairs(dictItemsInCellRect) do
- if not visited[other] then
- visited[other] = true
+ for other,_ in pairs(dictItemsInCellRect) do
+ if not visited[other] then
+ visited[other] = true
- local responseName = filter(item, other)
- if responseName then
- local ox,oy,ow,oh = self:getRect(other)
- local col = rect_detectCollision(x,y,w,h, ox,oy,ow,oh, goalX, goalY)
+ local responseName = filter(item, other)
+ if responseName then
+ local ox,oy,ow,oh = self:getRect(other)
+ local col = rect_detectCollision(x,y,w,h, ox,oy,ow,oh, goalX, goalY)
- if col then
- col.other = other
- col.item = item
- col.type = responseName
+ if col then
+ col.other = other
+ col.item = item
+ col.type = responseName
- len = len + 1
- collisions[len] = col
- end
- end
+ len = len + 1
+ collisions[len] = col
end
+ end
end
+ end
- table.sort(collisions, sortByTiAndDistance)
+ table.sort(collisions, sortByTiAndDistance)
- return collisions, len
+ return collisions, len
end
function World:countCells()
- local count = 0
- for _,row in pairs(self.rows) do
- for _,_ in pairs(row) do
- count = count + 1
- end
+ local count = 0
+ for _,row in pairs(self.rows) do
+ for _,_ in pairs(row) do
+ count = count + 1
end
- return count
+ end
+ return count
end
function World:hasItem(item)
- return not not self.rects[item]
+ return not not self.rects[item]
end
function World:getItems()
- local items, len = {}, 0
- for item,_ in pairs(self.rects) do
- len = len + 1
- items[len] = item
- end
- return items, len
+ local items, len = {}, 0
+ for item,_ in pairs(self.rects) do
+ len = len + 1
+ items[len] = item
+ end
+ return items, len
end
function World:countItems()
- local len = 0
- for _ in pairs(self.rects) do len = len + 1 end
- return len
+ local len = 0
+ for _ in pairs(self.rects) do len = len + 1 end
+ return len
end
function World:getRect(item)
- local rect = self.rects[item]
- if not rect then
- error('Item ' .. tostring(item) .. ' must be added to the world before getting its rect. Use world:add(item, x,y,w,h) to add it first.')
- end
- return rect.x, rect.y, rect.w, rect.h
+ local rect = self.rects[item]
+ if not rect then
+ error('Item ' .. tostring(item) .. ' must be added to the world before getting its rect. Use world:add(item, x,y,w,h) to add it first.')
+ end
+ return rect.x, rect.y, rect.w, rect.h
end
function World:toWorld(cx, cy)
- return grid_toWorld(self.cellSize, cx, cy)
+ return grid_toWorld(self.cellSize, cx, cy)
end
function World:toCell(x,y)
- return grid_toCell(self.cellSize, x, y)
+ return grid_toCell(self.cellSize, x, y)
end
@@ -518,231 +518,232 @@ end
function World:queryRect(x,y,w,h, filter)
- assertIsRect(x,y,w,h)
+ assertIsRect(x,y,w,h)
- local cl,ct,cw,ch = grid_toCellRect(self.cellSize, x,y,w,h)
- local dictItemsInCellRect = getDictItemsInCellRect(self, cl,ct,cw,ch)
+ local cl,ct,cw,ch = grid_toCellRect(self.cellSize, x,y,w,h)
+ local dictItemsInCellRect = getDictItemsInCellRect(self, cl,ct,cw,ch)
- local items, len = {}, 0
+ local items, len = {}, 0
- local rect
- for item,_ in pairs(dictItemsInCellRect) do
- rect = self.rects[item]
- if (not filter or filter(item))
- and rect_isIntersecting(x,y,w,h, rect.x, rect.y, rect.w, rect.h)
- then
- len = len + 1
- items[len] = item
- end
+ local rect
+ for item,_ in pairs(dictItemsInCellRect) do
+ rect = self.rects[item]
+ if (not filter or filter(item))
+ and rect_isIntersecting(x,y,w,h, rect.x, rect.y, rect.w, rect.h)
+ then
+ len = len + 1
+ items[len] = item
end
+ end
- return items, len
+ return items, len
end
function World:queryPoint(x,y, filter)
- local cx,cy = self:toCell(x,y)
- local dictItemsInCellRect = getDictItemsInCellRect(self, cx,cy,1,1)
-
- local items, len = {}, 0
-
- local rect
- for item,_ in pairs(dictItemsInCellRect) do
- rect = self.rects[item]
- if (not filter or filter(item))
- and rect_containsPoint(rect.x, rect.y, rect.w, rect.h, x, y)
- then
- len = len + 1
- items[len] = item
- end
+ local cx,cy = self:toCell(x,y)
+ local dictItemsInCellRect = getDictItemsInCellRect(self, cx,cy,1,1)
+
+ local items, len = {}, 0
+
+ local rect
+ for item,_ in pairs(dictItemsInCellRect) do
+ rect = self.rects[item]
+ if (not filter or filter(item))
+ and rect_containsPoint(rect.x, rect.y, rect.w, rect.h, x, y)
+ then
+ len = len + 1
+ items[len] = item
end
+ end
- return items, len
+ return items, len
end
function World:querySegment(x1, y1, x2, y2, filter)
- local itemInfo, len = getInfoAboutItemsTouchedBySegment(self, x1, y1, x2, y2, filter)
- local items = {}
- for i=1, len do
- items[i] = itemInfo[i].item
- end
- return items, len
+ local itemInfo, len = getInfoAboutItemsTouchedBySegment(self, x1, y1, x2, y2, filter)
+ local items = {}
+ for i=1, len do
+ items[i] = itemInfo[i].item
+ end
+ return items, len
end
function World:querySegmentWithCoords(x1, y1, x2, y2, filter)
- local itemInfo, len = getInfoAboutItemsTouchedBySegment(self, x1, y1, x2, y2, filter)
- local dx, dy = x2-x1, y2-y1
- local info, ti1, ti2
- for i=1, len do
- info = itemInfo[i]
- ti1 = info.ti1
- ti2 = info.ti2
-
- info.weight = nil
- info.x1 = x1 + dx * ti1
- info.y1 = y1 + dy * ti1
- info.x2 = x1 + dx * ti2
- info.y2 = y1 + dy * ti2
- end
- return itemInfo, len
+ local itemInfo, len = getInfoAboutItemsTouchedBySegment(self, x1, y1, x2, y2, filter)
+ local dx, dy = x2-x1, y2-y1
+ local info, ti1, ti2
+ for i=1, len do
+ info = itemInfo[i]
+ ti1 = info.ti1
+ ti2 = info.ti2
+
+ info.weight = nil
+ info.x1 = x1 + dx * ti1
+ info.y1 = y1 + dy * ti1
+ info.x2 = x1 + dx * ti2
+ info.y2 = y1 + dy * ti2
+ end
+ return itemInfo, len
end
+
--- Main methods
function World:add(item, x,y,w,h)
- local rect = self.rects[item]
- if rect then
- error('Item ' .. tostring(item) .. ' added to the world twice.')
- end
- assertIsRect(x,y,w,h)
-
- self.rects[item] = {x=x,y=y,w=w,h=h}
-
- local cl,ct,cw,ch = grid_toCellRect(self.cellSize, x,y,w,h)
- for cy = ct, ct+ch-1 do
- for cx = cl, cl+cw-1 do
- addItemToCell(self, item, cx, cy)
- end
+ local rect = self.rects[item]
+ if rect then
+ error('Item ' .. tostring(item) .. ' added to the world twice.')
+ end
+ assertIsRect(x,y,w,h)
+
+ self.rects[item] = {x=x,y=y,w=w,h=h}
+
+ local cl,ct,cw,ch = grid_toCellRect(self.cellSize, x,y,w,h)
+ for cy = ct, ct+ch-1 do
+ for cx = cl, cl+cw-1 do
+ addItemToCell(self, item, cx, cy)
end
+ end
- return item
+ return item
end
function World:remove(item)
- local x,y,w,h = self:getRect(item)
+ local x,y,w,h = self:getRect(item)
- self.rects[item] = nil
- local cl,ct,cw,ch = grid_toCellRect(self.cellSize, x,y,w,h)
- for cy = ct, ct+ch-1 do
- for cx = cl, cl+cw-1 do
- removeItemFromCell(self, item, cx, cy)
- end
+ self.rects[item] = nil
+ local cl,ct,cw,ch = grid_toCellRect(self.cellSize, x,y,w,h)
+ for cy = ct, ct+ch-1 do
+ for cx = cl, cl+cw-1 do
+ removeItemFromCell(self, item, cx, cy)
end
+ end
end
function World:update(item, x2,y2,w2,h2)
- local x1,y1,w1,h1 = self:getRect(item)
- w2,h2 = w2 or w1, h2 or h1
- assertIsRect(x2,y2,w2,h2)
-
- if x1 ~= x2 or y1 ~= y2 or w1 ~= w2 or h1 ~= h2 then
-
- local cellSize = self.cellSize
- local cl1,ct1,cw1,ch1 = grid_toCellRect(cellSize, x1,y1,w1,h1)
- local cl2,ct2,cw2,ch2 = grid_toCellRect(cellSize, x2,y2,w2,h2)
-
- if cl1 ~= cl2 or ct1 ~= ct2 or cw1 ~= cw2 or ch1 ~= ch2 then
-
- local cr1, cb1 = cl1+cw1-1, ct1+ch1-1
- local cr2, cb2 = cl2+cw2-1, ct2+ch2-1
- local cyOut
-
- for cy = ct1, cb1 do
- cyOut = cy < ct2 or cy > cb2
- for cx = cl1, cr1 do
- if cyOut or cx < cl2 or cx > cr2 then
- removeItemFromCell(self, item, cx, cy)
- end
- end
- end
-
- for cy = ct2, cb2 do
- cyOut = cy < ct1 or cy > cb1
- for cx = cl2, cr2 do
- if cyOut or cx < cl1 or cx > cr1 then
- addItemToCell(self, item, cx, cy)
- end
- end
- end
+ local x1,y1,w1,h1 = self:getRect(item)
+ w2,h2 = w2 or w1, h2 or h1
+ assertIsRect(x2,y2,w2,h2)
+
+ if x1 ~= x2 or y1 ~= y2 or w1 ~= w2 or h1 ~= h2 then
+ local cellSize = self.cellSize
+ local cl1,ct1,cw1,ch1 = grid_toCellRect(cellSize, x1,y1,w1,h1)
+ local cl2,ct2,cw2,ch2 = grid_toCellRect(cellSize, x2,y2,w2,h2)
+
+ if cl1 ~= cl2 or ct1 ~= ct2 or cw1 ~= cw2 or ch1 ~= ch2 then
+
+ local cr1, cb1 = cl1+cw1-1, ct1+ch1-1
+ local cr2, cb2 = cl2+cw2-1, ct2+ch2-1
+ local cyOut
+
+ for cy = ct1, cb1 do
+ cyOut = cy < ct2 or cy > cb2
+ for cx = cl1, cr1 do
+ if cyOut or cx < cl2 or cx > cr2 then
+ removeItemFromCell(self, item, cx, cy)
+ end
end
+ end
- local rect = self.rects[item]
- rect.x, rect.y, rect.w, rect.h = x2,y2,w2,h2
+ for cy = ct2, cb2 do
+ cyOut = cy < ct1 or cy > cb1
+ for cx = cl2, cr2 do
+ if cyOut or cx < cl1 or cx > cr1 then
+ addItemToCell(self, item, cx, cy)
+ end
+ end
+ end
end
+
+ local rect = self.rects[item]
+ rect.x, rect.y, rect.w, rect.h = x2,y2,w2,h2
+
+ end
end
function World:move(item, goalX, goalY, filter)
- local actualX, actualY, cols, len = self:check(item, goalX, goalY, filter)
+ local actualX, actualY, cols, len = self:check(item, goalX, goalY, filter)
- self:update(item, actualX, actualY)
+ self:update(item, actualX, actualY)
- return actualX, actualY, cols, len
+ return actualX, actualY, cols, len
end
function World:check(item, goalX, goalY, filter)
- filter = filter or defaultFilter
+ filter = filter or defaultFilter
- local visited = {[item] = true}
- local visitedFilter = function(itm, other)
- if visited[other] then return false end
- return filter(itm, other)
- end
+ local visited = {[item] = true}
+ local visitedFilter = function(itm, other)
+ if visited[other] then return false end
+ return filter(itm, other)
+ end
- local cols, len = {}, 0
+ local cols, len = {}, 0
- local x,y,w,h = self:getRect(item)
+ local x,y,w,h = self:getRect(item)
- local projected_cols, projected_len = self:project(item, x,y,w,h, goalX,goalY, visitedFilter)
+ local projected_cols, projected_len = self:project(item, x,y,w,h, goalX,goalY, visitedFilter)
- while projected_len > 0 do
- local col = projected_cols[1]
- len = len + 1
- cols[len] = col
+ while projected_len > 0 do
+ local col = projected_cols[1]
+ len = len + 1
+ cols[len] = col
- visited[col.other] = true
+ visited[col.other] = true
- local response = getResponseByName(self, col.type)
+ local response = getResponseByName(self, col.type)
- goalX, goalY, projected_cols, projected_len = response(
- self,
- col,
- x, y, w, h,
- goalX, goalY,
- visitedFilter
- )
- end
+ goalX, goalY, projected_cols, projected_len = response(
+ self,
+ col,
+ x, y, w, h,
+ goalX, goalY,
+ visitedFilter
+ )
+ end
- return goalX, goalY, cols, len
+ return goalX, goalY, cols, len
end
-- Public library functions
bump.newWorld = function(cellSize)
- cellSize = cellSize or 64
- assertIsPositiveNumber(cellSize, 'cellSize')
- local world = setmetatable({
- cellSize = cellSize,
- rects = {},
- rows = {},
- nonEmptyCells = {},
- responses = {}
- }, World_mt)
+ cellSize = cellSize or 64
+ assertIsPositiveNumber(cellSize, 'cellSize')
+ local world = setmetatable({
+ cellSize = cellSize,
+ rects = {},
+ rows = {},
+ nonEmptyCells = {},
+ responses = {}
+ }, World_mt)
- world:addResponse('touch', touch)
- world:addResponse('cross', cross)
- world:addResponse('slide', slide)
- world:addResponse('bounce', bounce)
+ world:addResponse('touch', touch)
+ world:addResponse('cross', cross)
+ world:addResponse('slide', slide)
+ world:addResponse('bounce', bounce)
- return world
+ return world
end
bump.rect = {
- getNearestCorner = rect_getNearestCorner,
- getSegmentIntersectionIndices = rect_getSegmentIntersectionIndices,
- getDiff = rect_getDiff,
- containsPoint = rect_containsPoint,
- isIntersecting = rect_isIntersecting,
- getSquareDistance = rect_getSquareDistance,
- detectCollision = rect_detectCollision
+ getNearestCorner = rect_getNearestCorner,
+ getSegmentIntersectionIndices = rect_getSegmentIntersectionIndices,
+ getDiff = rect_getDiff,
+ containsPoint = rect_containsPoint,
+ isIntersecting = rect_isIntersecting,
+ getSquareDistance = rect_getSquareDistance,
+ detectCollision = rect_detectCollision
}
bump.responses = {
- touch = touch,
- cross = cross,
- slide = slide,
- bounce = bounce
+ touch = touch,
+ cross = cross,
+ slide = slide,
+ bounce = bounce
}
-- Export to Jin.
diff --git a/src/libjin-lua/scripts/physics/physics.lua.h b/src/libjin-lua/scripts/physics/physics.lua.h
index c675cd3..95b5b14 100644
--- a/src/libjin-lua/scripts/physics/physics.lua.h
+++ b/src/libjin-lua/scripts/physics/physics.lua.h
@@ -4,1143 +4,1011 @@ static char physics_lua[] = {
121,115,105,99,115,32,111,114,32,123,125,13,10,13,10,45,45,32,104,116,
116,112,115,58,47,47,103,105,116,104,117,98,46,99,111,109,47,107,105,107,
105,116,111,47,98,117,109,112,46,108,117,97,13,10,13,10,108,111,99,97,
-108,32,98,117,109,112,32,61,32,123,125,13,10,13,10,45,45,45,45,45,
+108,32,98,117,109,112,32,61,32,123,125,10,10,45,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,45,
-45,32,65,117,120,105,108,105,97,114,121,32,102,117,110,99,116,105,111,110,
-115,13,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
+45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,45,45,32,65,
+117,120,105,108,105,97,114,121,32,102,117,110,99,116,105,111,110,115,10,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,13,10,108,111,99,97,108,32,68,69,76,84,65,32,61,
-32,49,101,45,49,48,32,45,45,32,102,108,111,97,116,105,110,103,45,112,
-111,105,110,116,32,109,97,114,103,105,110,32,111,102,32,101,114,114,111,114,
-13,10,13,10,108,111,99,97,108,32,97,98,115,44,32,102,108,111,111,114,
-44,32,99,101,105,108,44,32,109,105,110,44,32,109,97,120,32,61,32,109,
-97,116,104,46,97,98,115,44,32,109,97,116,104,46,102,108,111,111,114,44,
-32,109,97,116,104,46,99,101,105,108,44,32,109,97,116,104,46,109,105,110,
-44,32,109,97,116,104,46,109,97,120,13,10,13,10,108,111,99,97,108,32,
-102,117,110,99,116,105,111,110,32,115,105,103,110,40,120,41,13,10,32,32,
-32,32,105,102,32,120,32,62,32,48,32,116,104,101,110,32,114,101,116,117,
-114,110,32,49,32,101,110,100,13,10,32,32,32,32,105,102,32,120,32,61,
-61,32,48,32,116,104,101,110,32,114,101,116,117,114,110,32,48,32,101,110,
-100,13,10,32,32,32,32,114,101,116,117,114,110,32,45,49,13,10,101,110,
-100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,
-110,101,97,114,101,115,116,40,120,44,32,97,44,32,98,41,13,10,32,32,
-32,32,105,102,32,97,98,115,40,97,32,45,32,120,41,32,60,32,97,98,
-115,40,98,32,45,32,120,41,32,116,104,101,110,32,114,101,116,117,114,110,
-32,97,32,101,108,115,101,32,114,101,116,117,114,110,32,98,32,101,110,100,
-13,10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,
-105,111,110,32,97,115,115,101,114,116,84,121,112,101,40,100,101,115,105,114,
-101,100,84,121,112,101,44,32,118,97,108,117,101,44,32,110,97,109,101,41,
-13,10,32,32,32,32,105,102,32,116,121,112,101,40,118,97,108,117,101,41,
-32,126,61,32,100,101,115,105,114,101,100,84,121,112,101,32,116,104,101,110,
-13,10,32,32,32,32,32,32,32,32,101,114,114,111,114,40,110,97,109,101,
-32,46,46,32,39,32,109,117,115,116,32,98,101,32,97,32,39,32,46,46,
-32,100,101,115,105,114,101,100,84,121,112,101,32,46,46,32,39,44,32,98,
-117,116,32,119,97,115,32,39,32,46,46,32,116,111,115,116,114,105,110,103,
-40,118,97,108,117,101,41,32,46,46,32,39,40,97,32,39,32,46,46,32,
-116,121,112,101,40,118,97,108,117,101,41,32,46,46,32,39,41,39,41,13,
-10,32,32,32,32,101,110,100,13,10,101,110,100,13,10,13,10,108,111,99,
-97,108,32,102,117,110,99,116,105,111,110,32,97,115,115,101,114,116,73,115,
-80,111,115,105,116,105,118,101,78,117,109,98,101,114,40,118,97,108,117,101,
-44,32,110,97,109,101,41,13,10,32,32,32,32,105,102,32,116,121,112,101,
-40,118,97,108,117,101,41,32,126,61,32,39,110,117,109,98,101,114,39,32,
-111,114,32,118,97,108,117,101,32,60,61,32,48,32,116,104,101,110,13,10,
-32,32,32,32,32,32,32,32,101,114,114,111,114,40,110,97,109,101,32,46,
-46,32,39,32,109,117,115,116,32,98,101,32,97,32,112,111,115,105,116,105,
-118,101,32,105,110,116,101,103,101,114,44,32,98,117,116,32,119,97,115,32,
-39,32,46,46,32,116,111,115,116,114,105,110,103,40,118,97,108,117,101,41,
-32,46,46,32,39,40,39,32,46,46,32,116,121,112,101,40,118,97,108,117,
-101,41,32,46,46,32,39,41,39,41,13,10,32,32,32,32,101,110,100,13,
-10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,
-111,110,32,97,115,115,101,114,116,73,115,82,101,99,116,40,120,44,121,44,
-119,44,104,41,13,10,32,32,32,32,97,115,115,101,114,116,84,121,112,101,
-40,39,110,117,109,98,101,114,39,44,32,120,44,32,39,120,39,41,13,10,
-32,32,32,32,97,115,115,101,114,116,84,121,112,101,40,39,110,117,109,98,
-101,114,39,44,32,121,44,32,39,121,39,41,13,10,32,32,32,32,97,115,
-115,101,114,116,73,115,80,111,115,105,116,105,118,101,78,117,109,98,101,114,
-40,119,44,32,39,119,39,41,13,10,32,32,32,32,97,115,115,101,114,116,
-73,115,80,111,115,105,116,105,118,101,78,117,109,98,101,114,40,104,44,32,
-39,104,39,41,13,10,101,110,100,13,10,13,10,108,111,99,97,108,32,100,
-101,102,97,117,108,116,70,105,108,116,101,114,32,61,32,102,117,110,99,116,
-105,111,110,40,41,13,10,32,32,32,32,114,101,116,117,114,110,32,39,115,
-108,105,100,101,39,13,10,101,110,100,13,10,13,10,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,45,45,
-32,82,101,99,116,97,110,103,108,101,32,102,117,110,99,116,105,111,110,115,
-13,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
+45,10,108,111,99,97,108,32,68,69,76,84,65,32,61,32,49,101,45,49,
+48,32,45,45,32,102,108,111,97,116,105,110,103,45,112,111,105,110,116,32,
+109,97,114,103,105,110,32,111,102,32,101,114,114,111,114,10,10,108,111,99,
+97,108,32,97,98,115,44,32,102,108,111,111,114,44,32,99,101,105,108,44,
+32,109,105,110,44,32,109,97,120,32,61,32,109,97,116,104,46,97,98,115,
+44,32,109,97,116,104,46,102,108,111,111,114,44,32,109,97,116,104,46,99,
+101,105,108,44,32,109,97,116,104,46,109,105,110,44,32,109,97,116,104,46,
+109,97,120,10,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,
+115,105,103,110,40,120,41,10,32,32,105,102,32,120,32,62,32,48,32,116,
+104,101,110,32,114,101,116,117,114,110,32,49,32,101,110,100,10,32,32,105,
+102,32,120,32,61,61,32,48,32,116,104,101,110,32,114,101,116,117,114,110,
+32,48,32,101,110,100,10,32,32,114,101,116,117,114,110,32,45,49,10,101,
+110,100,10,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,110,
+101,97,114,101,115,116,40,120,44,32,97,44,32,98,41,10,32,32,105,102,
+32,97,98,115,40,97,32,45,32,120,41,32,60,32,97,98,115,40,98,32,
+45,32,120,41,32,116,104,101,110,32,114,101,116,117,114,110,32,97,32,101,
+108,115,101,32,114,101,116,117,114,110,32,98,32,101,110,100,10,101,110,100,
+10,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,97,115,115,
+101,114,116,84,121,112,101,40,100,101,115,105,114,101,100,84,121,112,101,44,
+32,118,97,108,117,101,44,32,110,97,109,101,41,10,32,32,105,102,32,116,
+121,112,101,40,118,97,108,117,101,41,32,126,61,32,100,101,115,105,114,101,
+100,84,121,112,101,32,116,104,101,110,10,32,32,32,32,101,114,114,111,114,
+40,110,97,109,101,32,46,46,32,39,32,109,117,115,116,32,98,101,32,97,
+32,39,32,46,46,32,100,101,115,105,114,101,100,84,121,112,101,32,46,46,
+32,39,44,32,98,117,116,32,119,97,115,32,39,32,46,46,32,116,111,115,
+116,114,105,110,103,40,118,97,108,117,101,41,32,46,46,32,39,40,97,32,
+39,32,46,46,32,116,121,112,101,40,118,97,108,117,101,41,32,46,46,32,
+39,41,39,41,10,32,32,101,110,100,10,101,110,100,10,10,108,111,99,97,
+108,32,102,117,110,99,116,105,111,110,32,97,115,115,101,114,116,73,115,80,
+111,115,105,116,105,118,101,78,117,109,98,101,114,40,118,97,108,117,101,44,
+32,110,97,109,101,41,10,32,32,105,102,32,116,121,112,101,40,118,97,108,
+117,101,41,32,126,61,32,39,110,117,109,98,101,114,39,32,111,114,32,118,
+97,108,117,101,32,60,61,32,48,32,116,104,101,110,10,32,32,32,32,101,
+114,114,111,114,40,110,97,109,101,32,46,46,32,39,32,109,117,115,116,32,
+98,101,32,97,32,112,111,115,105,116,105,118,101,32,105,110,116,101,103,101,
+114,44,32,98,117,116,32,119,97,115,32,39,32,46,46,32,116,111,115,116,
+114,105,110,103,40,118,97,108,117,101,41,32,46,46,32,39,40,39,32,46,
+46,32,116,121,112,101,40,118,97,108,117,101,41,32,46,46,32,39,41,39,
+41,10,32,32,101,110,100,10,101,110,100,10,10,108,111,99,97,108,32,102,
+117,110,99,116,105,111,110,32,97,115,115,101,114,116,73,115,82,101,99,116,
+40,120,44,121,44,119,44,104,41,10,32,32,97,115,115,101,114,116,84,121,
+112,101,40,39,110,117,109,98,101,114,39,44,32,120,44,32,39,120,39,41,
+10,32,32,97,115,115,101,114,116,84,121,112,101,40,39,110,117,109,98,101,
+114,39,44,32,121,44,32,39,121,39,41,10,32,32,97,115,115,101,114,116,
+73,115,80,111,115,105,116,105,118,101,78,117,109,98,101,114,40,119,44,32,
+39,119,39,41,10,32,32,97,115,115,101,114,116,73,115,80,111,115,105,116,
+105,118,101,78,117,109,98,101,114,40,104,44,32,39,104,39,41,10,101,110,
+100,10,10,108,111,99,97,108,32,100,101,102,97,117,108,116,70,105,108,116,
+101,114,32,61,32,102,117,110,99,116,105,111,110,40,41,10,32,32,114,101,
+116,117,114,110,32,39,115,108,105,100,101,39,10,101,110,100,10,10,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,
+45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
+10,45,45,32,82,101,99,116,97,110,103,108,101,32,102,117,110,99,116,105,
+111,110,115,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
+45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
+45,45,45,45,45,45,10,10,108,111,99,97,108,32,102,117,110,99,116,105,
111,110,32,114,101,99,116,95,103,101,116,78,101,97,114,101,115,116,67,111,
114,110,101,114,40,120,44,121,44,119,44,104,44,32,112,120,44,32,112,121,
-41,13,10,32,32,32,32,114,101,116,117,114,110,32,110,101,97,114,101,115,
-116,40,112,120,44,32,120,44,32,120,43,119,41,44,32,110,101,97,114,101,
-115,116,40,112,121,44,32,121,44,32,121,43,104,41,13,10,101,110,100,13,
-10,13,10,45,45,32,84,104,105,115,32,105,115,32,97,32,103,101,110,101,
-114,97,108,105,122,101,100,32,105,109,112,108,101,109,101,110,116,97,116,105,
-111,110,32,111,102,32,116,104,101,32,108,105,97,110,103,45,98,97,114,115,
-107,121,32,97,108,103,111,114,105,116,104,109,44,32,119,104,105,99,104,32,
-97,108,115,111,32,114,101,116,117,114,110,115,13,10,45,45,32,116,104,101,
-32,110,111,114,109,97,108,115,32,111,102,32,116,104,101,32,115,105,100,101,
-115,32,119,104,101,114,101,32,116,104,101,32,115,101,103,109,101,110,116,32,
-105,110,116,101,114,115,101,99,116,115,46,13,10,45,45,32,82,101,116,117,
-114,110,115,32,110,105,108,32,105,102,32,116,104,101,32,115,101,103,109,101,
-110,116,32,110,101,118,101,114,32,116,111,117,99,104,101,115,32,116,104,101,
-32,114,101,99,116,13,10,45,45,32,78,111,116,105,99,101,32,116,104,97,
-116,32,110,111,114,109,97,108,115,32,97,114,101,32,111,110,108,121,32,103,
-117,97,114,97,110,116,101,101,100,32,116,111,32,98,101,32,97,99,99,117,
-114,97,116,101,32,119,104,101,110,32,105,110,105,116,105,97,108,108,121,32,
-116,105,49,44,32,116,105,50,32,61,61,32,45,109,97,116,104,46,104,117,
-103,101,44,32,109,97,116,104,46,104,117,103,101,13,10,108,111,99,97,108,
-32,102,117,110,99,116,105,111,110,32,114,101,99,116,95,103,101,116,83,101,
-103,109,101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,73,110,100,
-105,99,101,115,40,120,44,121,44,119,44,104,44,32,120,49,44,121,49,44,
-120,50,44,121,50,44,32,116,105,49,44,116,105,50,41,13,10,32,32,32,
-32,116,105,49,44,32,116,105,50,32,61,32,116,105,49,32,111,114,32,48,
-44,32,116,105,50,32,111,114,32,49,13,10,32,32,32,32,108,111,99,97,
-108,32,100,120,44,32,100,121,32,61,32,120,50,45,120,49,44,32,121,50,
-45,121,49,13,10,32,32,32,32,108,111,99,97,108,32,110,120,44,32,110,
-121,13,10,32,32,32,32,108,111,99,97,108,32,110,120,49,44,32,110,121,
-49,44,32,110,120,50,44,32,110,121,50,32,61,32,48,44,48,44,48,44,
-48,13,10,32,32,32,32,108,111,99,97,108,32,112,44,32,113,44,32,114,
-13,10,13,10,32,32,32,32,102,111,114,32,115,105,100,101,32,61,32,49,
-44,52,32,100,111,13,10,32,32,32,32,32,32,32,32,105,102,32,32,32,
-32,32,32,32,32,32,115,105,100,101,32,61,61,32,49,32,116,104,101,110,
-32,110,120,44,110,121,44,112,44,113,32,61,32,45,49,44,32,32,32,32,
-48,44,32,45,100,120,44,32,120,49,32,45,32,120,32,32,32,32,32,32,
-32,32,32,45,45,32,108,101,102,116,13,10,32,32,32,32,32,32,32,32,
-101,108,115,101,105,102,32,115,105,100,101,32,61,61,32,50,32,116,104,101,
-110,32,110,120,44,110,121,44,112,44,113,32,61,32,32,32,32,49,44,32,
-32,32,32,48,44,32,32,32,32,100,120,44,32,120,32,43,32,119,32,45,
-32,120,49,32,45,45,32,114,105,103,104,116,13,10,32,32,32,32,32,32,
+41,10,32,32,114,101,116,117,114,110,32,110,101,97,114,101,115,116,40,112,
+120,44,32,120,44,32,120,43,119,41,44,32,110,101,97,114,101,115,116,40,
+112,121,44,32,121,44,32,121,43,104,41,10,101,110,100,10,10,45,45,32,
+84,104,105,115,32,105,115,32,97,32,103,101,110,101,114,97,108,105,122,101,
+100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,
+116,104,101,32,108,105,97,110,103,45,98,97,114,115,107,121,32,97,108,103,
+111,114,105,116,104,109,44,32,119,104,105,99,104,32,97,108,115,111,32,114,
+101,116,117,114,110,115,10,45,45,32,116,104,101,32,110,111,114,109,97,108,
+115,32,111,102,32,116,104,101,32,115,105,100,101,115,32,119,104,101,114,101,
+32,116,104,101,32,115,101,103,109,101,110,116,32,105,110,116,101,114,115,101,
+99,116,115,46,10,45,45,32,82,101,116,117,114,110,115,32,110,105,108,32,
+105,102,32,116,104,101,32,115,101,103,109,101,110,116,32,110,101,118,101,114,
+32,116,111,117,99,104,101,115,32,116,104,101,32,114,101,99,116,10,45,45,
+32,78,111,116,105,99,101,32,116,104,97,116,32,110,111,114,109,97,108,115,
+32,97,114,101,32,111,110,108,121,32,103,117,97,114,97,110,116,101,101,100,
+32,116,111,32,98,101,32,97,99,99,117,114,97,116,101,32,119,104,101,110,
+32,105,110,105,116,105,97,108,108,121,32,116,105,49,44,32,116,105,50,32,
+61,61,32,45,109,97,116,104,46,104,117,103,101,44,32,109,97,116,104,46,
+104,117,103,101,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,
+114,101,99,116,95,103,101,116,83,101,103,109,101,110,116,73,110,116,101,114,
+115,101,99,116,105,111,110,73,110,100,105,99,101,115,40,120,44,121,44,119,
+44,104,44,32,120,49,44,121,49,44,120,50,44,121,50,44,32,116,105,49,
+44,116,105,50,41,10,32,32,116,105,49,44,32,116,105,50,32,61,32,116,
+105,49,32,111,114,32,48,44,32,116,105,50,32,111,114,32,49,10,32,32,
+108,111,99,97,108,32,100,120,44,32,100,121,32,61,32,120,50,45,120,49,
+44,32,121,50,45,121,49,10,32,32,108,111,99,97,108,32,110,120,44,32,
+110,121,10,32,32,108,111,99,97,108,32,110,120,49,44,32,110,121,49,44,
+32,110,120,50,44,32,110,121,50,32,61,32,48,44,48,44,48,44,48,10,
+32,32,108,111,99,97,108,32,112,44,32,113,44,32,114,10,10,32,32,102,
+111,114,32,115,105,100,101,32,61,32,49,44,52,32,100,111,10,32,32,32,
+32,105,102,32,32,32,32,32,115,105,100,101,32,61,61,32,49,32,116,104,
+101,110,32,110,120,44,110,121,44,112,44,113,32,61,32,45,49,44,32,32,
+48,44,32,45,100,120,44,32,120,49,32,45,32,120,32,32,32,32,32,45,
+45,32,108,101,102,116,10,32,32,32,32,101,108,115,101,105,102,32,115,105,
+100,101,32,61,61,32,50,32,116,104,101,110,32,110,120,44,110,121,44,112,
+44,113,32,61,32,32,49,44,32,32,48,44,32,32,100,120,44,32,120,32,
+43,32,119,32,45,32,120,49,32,45,45,32,114,105,103,104,116,10,32,32,
32,32,101,108,115,101,105,102,32,115,105,100,101,32,61,61,32,51,32,116,
-104,101,110,32,110,120,44,110,121,44,112,44,113,32,61,32,32,32,32,48,
-44,32,45,49,44,32,45,100,121,44,32,121,49,32,45,32,121,32,32,32,
-32,32,32,32,32,32,45,45,32,116,111,112,13,10,32,32,32,32,32,32,
-32,32,101,108,115,101,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,110,120,44,110,121,44,112,44,113,32,61,32,32,32,32,48,44,32,
-32,32,32,49,44,32,32,32,32,100,121,44,32,121,32,43,32,104,32,45,
-32,121,49,32,45,45,32,98,111,116,116,111,109,13,10,32,32,32,32,32,
-32,32,32,101,110,100,13,10,13,10,32,32,32,32,32,32,32,32,105,102,
-32,112,32,61,61,32,48,32,116,104,101,110,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,105,102,32,113,32,60,61,32,48,32,116,104,101,110,
-32,114,101,116,117,114,110,32,110,105,108,32,101,110,100,13,10,32,32,32,
-32,32,32,32,32,101,108,115,101,13,10,32,32,32,32,32,32,32,32,32,
-32,32,32,114,32,61,32,113,32,47,32,112,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,105,102,32,112,32,60,32,48,32,116,104,101,110,13,
-10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,
-32,32,32,32,32,32,32,32,114,32,62,32,116,105,50,32,116,104,101,110,
-32,114,101,116,117,114,110,32,110,105,108,13,10,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,101,108,115,101,105,102,32,114,32,62,32,
-116,105,49,32,116,104,101,110,32,116,105,49,44,110,120,49,44,110,121,49,
-32,61,32,114,44,110,120,44,110,121,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,
-32,32,32,32,32,101,108,115,101,32,45,45,32,112,32,62,32,48,13,10,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,32,
-32,32,32,32,32,32,32,114,32,60,32,116,105,49,32,116,104,101,110,32,
-114,101,116,117,114,110,32,110,105,108,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,101,108,115,101,105,102,32,114,32,60,32,116,
-105,50,32,116,104,101,110,32,116,105,50,44,110,120,50,44,110,121,50,32,
-61,32,114,44,110,120,44,110,121,13,10,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,32,101,110,100,
-13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,114,101,116,
+104,101,110,32,110,120,44,110,121,44,112,44,113,32,61,32,32,48,44,32,
+45,49,44,32,45,100,121,44,32,121,49,32,45,32,121,32,32,32,32,32,
+45,45,32,116,111,112,10,32,32,32,32,101,108,115,101,32,32,32,32,32,
+32,32,32,32,32,32,32,32,32,32,32,32,32,110,120,44,110,121,44,112,
+44,113,32,61,32,32,48,44,32,32,49,44,32,32,100,121,44,32,121,32,
+43,32,104,32,45,32,121,49,32,45,45,32,98,111,116,116,111,109,10,32,
+32,32,32,101,110,100,10,10,32,32,32,32,105,102,32,112,32,61,61,32,
+48,32,116,104,101,110,10,32,32,32,32,32,32,105,102,32,113,32,60,61,
+32,48,32,116,104,101,110,32,114,101,116,117,114,110,32,110,105,108,32,101,
+110,100,10,32,32,32,32,101,108,115,101,10,32,32,32,32,32,32,114,32,
+61,32,113,32,47,32,112,10,32,32,32,32,32,32,105,102,32,112,32,60,
+32,48,32,116,104,101,110,10,32,32,32,32,32,32,32,32,105,102,32,32,
+32,32,32,114,32,62,32,116,105,50,32,116,104,101,110,32,114,101,116,117,
+114,110,32,110,105,108,10,32,32,32,32,32,32,32,32,101,108,115,101,105,
+102,32,114,32,62,32,116,105,49,32,116,104,101,110,32,116,105,49,44,110,
+120,49,44,110,121,49,32,61,32,114,44,110,120,44,110,121,10,32,32,32,
+32,32,32,32,32,101,110,100,10,32,32,32,32,32,32,101,108,115,101,32,
+45,45,32,112,32,62,32,48,10,32,32,32,32,32,32,32,32,105,102,32,
+32,32,32,32,114,32,60,32,116,105,49,32,116,104,101,110,32,114,101,116,
+117,114,110,32,110,105,108,10,32,32,32,32,32,32,32,32,101,108,115,101,
+105,102,32,114,32,60,32,116,105,50,32,116,104,101,110,32,116,105,50,44,
+110,120,50,44,110,121,50,32,61,32,114,44,110,120,44,110,121,10,32,32,
+32,32,32,32,32,32,101,110,100,10,32,32,32,32,32,32,101,110,100,10,
+32,32,32,32,101,110,100,10,32,32,101,110,100,10,10,32,32,114,101,116,
117,114,110,32,116,105,49,44,116,105,50,44,32,110,120,49,44,110,121,49,
-44,32,110,120,50,44,110,121,50,13,10,101,110,100,13,10,13,10,45,45,
-32,67,97,108,99,117,108,97,116,101,115,32,116,104,101,32,109,105,110,107,
-111,119,115,107,121,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,
-119,101,101,110,32,50,32,114,101,99,116,115,44,32,119,104,105,99,104,32,
-105,115,32,97,110,111,116,104,101,114,32,114,101,99,116,13,10,108,111,99,
-97,108,32,102,117,110,99,116,105,111,110,32,114,101,99,116,95,103,101,116,
-68,105,102,102,40,120,49,44,121,49,44,119,49,44,104,49,44,32,120,50,
-44,121,50,44,119,50,44,104,50,41,13,10,32,32,32,32,114,101,116,117,
-114,110,32,120,50,32,45,32,120,49,32,45,32,119,49,44,13,10,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,121,50,32,45,32,
-121,49,32,45,32,104,49,44,13,10,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,119,49,32,43,32,119,50,44,13,10,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,104,49,32,43,32,104,
-50,13,10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,
-116,105,111,110,32,114,101,99,116,95,99,111,110,116,97,105,110,115,80,111,
-105,110,116,40,120,44,121,44,119,44,104,44,32,112,120,44,112,121,41,13,
-10,32,32,32,32,114,101,116,117,114,110,32,112,120,32,45,32,120,32,62,
-32,68,69,76,84,65,32,32,32,32,32,32,32,32,32,32,32,32,97,110,
-100,32,112,121,32,45,32,121,32,62,32,68,69,76,84,65,32,97,110,100,
-13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,120,
-32,43,32,119,32,45,32,112,120,32,62,32,68,69,76,84,65,32,32,32,
-32,97,110,100,32,121,32,43,32,104,32,45,32,112,121,32,62,32,68,69,
-76,84,65,13,10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,
+44,32,110,120,50,44,110,121,50,10,101,110,100,10,10,45,45,32,67,97,
+108,99,117,108,97,116,101,115,32,116,104,101,32,109,105,110,107,111,119,115,
+107,121,32,100,105,102,102,101,114,101,110,99,101,32,98,101,116,119,101,101,
+110,32,50,32,114,101,99,116,115,44,32,119,104,105,99,104,32,105,115,32,
+97,110,111,116,104,101,114,32,114,101,99,116,10,108,111,99,97,108,32,102,
+117,110,99,116,105,111,110,32,114,101,99,116,95,103,101,116,68,105,102,102,
+40,120,49,44,121,49,44,119,49,44,104,49,44,32,120,50,44,121,50,44,
+119,50,44,104,50,41,10,32,32,114,101,116,117,114,110,32,120,50,32,45,
+32,120,49,32,45,32,119,49,44,10,32,32,32,32,32,32,32,32,32,121,
+50,32,45,32,121,49,32,45,32,104,49,44,10,32,32,32,32,32,32,32,
+32,32,119,49,32,43,32,119,50,44,10,32,32,32,32,32,32,32,32,32,
+104,49,32,43,32,104,50,10,101,110,100,10,10,108,111,99,97,108,32,102,
+117,110,99,116,105,111,110,32,114,101,99,116,95,99,111,110,116,97,105,110,
+115,80,111,105,110,116,40,120,44,121,44,119,44,104,44,32,112,120,44,112,
+121,41,10,32,32,114,101,116,117,114,110,32,112,120,32,45,32,120,32,62,
+32,68,69,76,84,65,32,32,32,32,32,32,97,110,100,32,112,121,32,45,
+32,121,32,62,32,68,69,76,84,65,32,97,110,100,10,32,32,32,32,32,
+32,32,32,32,120,32,43,32,119,32,45,32,112,120,32,62,32,68,69,76,
+84,65,32,32,97,110,100,32,121,32,43,32,104,32,45,32,112,121,32,62,
+32,68,69,76,84,65,10,101,110,100,10,10,108,111,99,97,108,32,102,117,
110,99,116,105,111,110,32,114,101,99,116,95,105,115,73,110,116,101,114,115,
101,99,116,105,110,103,40,120,49,44,121,49,44,119,49,44,104,49,44,32,
-120,50,44,121,50,44,119,50,44,104,50,41,13,10,32,32,32,32,114,101,
-116,117,114,110,32,120,49,32,60,32,120,50,43,119,50,32,97,110,100,32,
-120,50,32,60,32,120,49,43,119,49,32,97,110,100,13,10,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,121,49,32,60,32,121,50,
-43,104,50,32,97,110,100,32,121,50,32,60,32,121,49,43,104,49,13,10,
-101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,
-110,32,114,101,99,116,95,103,101,116,83,113,117,97,114,101,68,105,115,116,
-97,110,99,101,40,120,49,44,121,49,44,119,49,44,104,49,44,32,120,50,
-44,121,50,44,119,50,44,104,50,41,13,10,32,32,32,32,108,111,99,97,
-108,32,100,120,32,61,32,120,49,32,45,32,120,50,32,43,32,40,119,49,
-32,45,32,119,50,41,47,50,13,10,32,32,32,32,108,111,99,97,108,32,
-100,121,32,61,32,121,49,32,45,32,121,50,32,43,32,40,104,49,32,45,
-32,104,50,41,47,50,13,10,32,32,32,32,114,101,116,117,114,110,32,100,
-120,42,100,120,32,43,32,100,121,42,100,121,13,10,101,110,100,13,10,13,
-10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,114,101,99,116,
-95,100,101,116,101,99,116,67,111,108,108,105,115,105,111,110,40,120,49,44,
-121,49,44,119,49,44,104,49,44,32,120,50,44,121,50,44,119,50,44,104,
-50,44,32,103,111,97,108,88,44,32,103,111,97,108,89,41,13,10,32,32,
-32,32,103,111,97,108,88,32,61,32,103,111,97,108,88,32,111,114,32,120,
-49,13,10,32,32,32,32,103,111,97,108,89,32,61,32,103,111,97,108,89,
-32,111,114,32,121,49,13,10,13,10,32,32,32,32,108,111,99,97,108,32,
-100,120,44,32,100,121,32,32,32,32,32,32,32,32,32,32,32,32,61,32,
-103,111,97,108,88,32,45,32,120,49,44,32,103,111,97,108,89,32,45,32,
-121,49,13,10,32,32,32,32,108,111,99,97,108,32,120,44,121,44,119,44,
-104,32,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,103,101,116,
-68,105,102,102,40,120,49,44,121,49,44,119,49,44,104,49,44,32,120,50,
-44,121,50,44,119,50,44,104,50,41,13,10,13,10,32,32,32,32,108,111,
-99,97,108,32,111,118,101,114,108,97,112,115,44,32,116,105,44,32,110,120,
-44,32,110,121,13,10,13,10,32,32,32,32,105,102,32,114,101,99,116,95,
-99,111,110,116,97,105,110,115,80,111,105,110,116,40,120,44,121,44,119,44,
-104,44,32,48,44,48,41,32,116,104,101,110,32,45,45,32,105,116,101,109,
-32,119,97,115,32,105,110,116,101,114,115,101,99,116,105,110,103,32,111,116,
-104,101,114,13,10,32,32,32,32,32,32,32,32,108,111,99,97,108,32,112,
-120,44,32,112,121,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,
-103,101,116,78,101,97,114,101,115,116,67,111,114,110,101,114,40,120,44,121,
-44,119,44,104,44,32,48,44,32,48,41,13,10,32,32,32,32,32,32,32,
-32,108,111,99,97,108,32,119,105,44,32,104,105,32,32,32,32,32,32,32,
-32,61,32,109,105,110,40,119,49,44,32,97,98,115,40,112,120,41,41,44,
-32,109,105,110,40,104,49,44,32,97,98,115,40,112,121,41,41,32,45,45,
-32,97,114,101,97,32,111,102,32,105,110,116,101,114,115,101,99,116,105,111,
-110,13,10,32,32,32,32,32,32,32,32,116,105,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,61,32,45,119,105,32,42,32,104,105,32,45,45,32,116,105,32,105,115,
-32,116,104,101,32,110,101,103,97,116,105,118,101,32,97,114,101,97,32,111,
-102,32,105,110,116,101,114,115,101,99,116,105,111,110,13,10,32,32,32,32,
-32,32,32,32,111,118,101,114,108,97,112,115,32,61,32,116,114,117,101,13,
-10,32,32,32,32,101,108,115,101,13,10,32,32,32,32,32,32,32,32,108,
-111,99,97,108,32,116,105,49,44,116,105,50,44,110,120,49,44,110,121,49,
-32,61,32,114,101,99,116,95,103,101,116,83,101,103,109,101,110,116,73,110,
-116,101,114,115,101,99,116,105,111,110,73,110,100,105,99,101,115,40,120,44,
-121,44,119,44,104,44,32,48,44,48,44,100,120,44,100,121,44,32,45,109,
-97,116,104,46,104,117,103,101,44,32,109,97,116,104,46,104,117,103,101,41,
-13,10,13,10,32,32,32,32,32,32,32,32,45,45,32,105,116,101,109,32,
-116,117,110,110,101,108,115,32,105,110,116,111,32,111,116,104,101,114,13,10,
-32,32,32,32,32,32,32,32,105,102,32,116,105,49,13,10,32,32,32,32,
-32,32,32,32,97,110,100,32,116,105,49,32,60,32,49,13,10,32,32,32,
-32,32,32,32,32,97,110,100,32,40,97,98,115,40,116,105,49,32,45,32,
-116,105,50,41,32,62,61,32,68,69,76,84,65,41,32,45,45,32,115,112,
-101,99,105,97,108,32,99,97,115,101,32,102,111,114,32,114,101,99,116,32,
-103,111,105,110,103,32,116,104,114,111,117,103,104,32,97,110,111,116,104,101,
-114,32,114,101,99,116,39,115,32,99,111,114,110,101,114,13,10,32,32,32,
-32,32,32,32,32,97,110,100,32,40,48,32,60,32,116,105,49,32,43,32,
-68,69,76,84,65,13,10,32,32,32,32,32,32,32,32,32,32,32,32,111,
-114,32,48,32,61,61,32,116,105,49,32,97,110,100,32,116,105,50,32,62,
-32,48,41,13,10,32,32,32,32,32,32,32,32,116,104,101,110,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,116,105,44,32,110,120,44,32,110,
-121,32,61,32,116,105,49,44,32,110,120,49,44,32,110,121,49,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,111,118,101,114,108,97,112,115,32,
-32,32,32,32,61,32,102,97,108,115,101,13,10,32,32,32,32,32,32,32,
-32,101,110,100,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,
-32,105,102,32,110,111,116,32,116,105,32,116,104,101,110,32,114,101,116,117,
-114,110,32,101,110,100,13,10,13,10,32,32,32,32,108,111,99,97,108,32,
-116,120,44,32,116,121,13,10,13,10,32,32,32,32,105,102,32,111,118,101,
-114,108,97,112,115,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,
-105,102,32,100,120,32,61,61,32,48,32,97,110,100,32,100,121,32,61,61,
-32,48,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,32,32,32,
-32,45,45,32,105,110,116,101,114,115,101,99,116,105,110,103,32,97,110,100,
-32,110,111,116,32,109,111,118,105,110,103,32,45,32,117,115,101,32,109,105,
-110,105,109,117,109,32,100,105,115,112,108,97,99,101,109,101,110,116,32,118,
-101,99,116,111,114,13,10,32,32,32,32,32,32,32,32,32,32,32,32,108,
-111,99,97,108,32,112,120,44,32,112,121,32,61,32,114,101,99,116,95,103,
-101,116,78,101,97,114,101,115,116,67,111,114,110,101,114,40,120,44,121,44,
-119,44,104,44,32,48,44,48,41,13,10,32,32,32,32,32,32,32,32,32,
-32,32,32,105,102,32,97,98,115,40,112,120,41,32,60,32,97,98,115,40,
-112,121,41,32,116,104,101,110,32,112,121,32,61,32,48,32,101,108,115,101,
-32,112,120,32,61,32,48,32,101,110,100,13,10,32,32,32,32,32,32,32,
-32,32,32,32,32,110,120,44,32,110,121,32,61,32,115,105,103,110,40,112,
-120,41,44,32,115,105,103,110,40,112,121,41,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,116,120,44,32,116,121,32,61,32,120,49,32,43,32,
-112,120,44,32,121,49,32,43,32,112,121,13,10,32,32,32,32,32,32,32,
-32,101,108,115,101,13,10,32,32,32,32,32,32,32,32,32,32,32,32,45,
-45,32,105,110,116,101,114,115,101,99,116,105,110,103,32,97,110,100,32,109,
-111,118,105,110,103,32,45,32,109,111,118,101,32,105,110,32,116,104,101,32,
-111,112,112,111,115,105,116,101,32,100,105,114,101,99,116,105,111,110,13,10,
-32,32,32,32,32,32,32,32,32,32,32,32,108,111,99,97,108,32,116,105,
-49,44,32,95,13,10,32,32,32,32,32,32,32,32,32,32,32,32,116,105,
-49,44,95,44,110,120,44,110,121,32,61,32,114,101,99,116,95,103,101,116,
-83,101,103,109,101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,73,
-110,100,105,99,101,115,40,120,44,121,44,119,44,104,44,32,48,44,48,44,
-100,120,44,100,121,44,32,45,109,97,116,104,46,104,117,103,101,44,32,49,
-41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,110,111,
-116,32,116,105,49,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,
-100,13,10,32,32,32,32,32,32,32,32,32,32,32,32,116,120,44,32,116,
-121,32,61,32,120,49,32,43,32,100,120,32,42,32,116,105,49,44,32,121,
-49,32,43,32,100,121,32,42,32,116,105,49,13,10,32,32,32,32,32,32,
-32,32,101,110,100,13,10,32,32,32,32,101,108,115,101,32,45,45,32,116,
-117,110,110,101,108,13,10,32,32,32,32,32,32,32,32,116,120,44,32,116,
-121,32,61,32,120,49,32,43,32,100,120,32,42,32,116,105,44,32,121,49,
-32,43,32,100,121,32,42,32,116,105,13,10,32,32,32,32,101,110,100,13,
-10,13,10,32,32,32,32,114,101,116,117,114,110,32,123,13,10,32,32,32,
-32,32,32,32,32,111,118,101,114,108,97,112,115,32,32,61,32,111,118,101,
-114,108,97,112,115,44,13,10,32,32,32,32,32,32,32,32,116,105,32,32,
-32,32,32,32,32,32,61,32,116,105,44,13,10,32,32,32,32,32,32,32,
-32,109,111,118,101,32,32,32,32,32,32,61,32,123,120,32,61,32,100,120,
-44,32,121,32,61,32,100,121,125,44,13,10,32,32,32,32,32,32,32,32,
-110,111,114,109,97,108,32,32,32,32,61,32,123,120,32,61,32,110,120,44,
-32,121,32,61,32,110,121,125,44,13,10,32,32,32,32,32,32,32,32,116,
-111,117,99,104,32,32,32,32,32,61,32,123,120,32,61,32,116,120,44,32,
-121,32,61,32,116,121,125,44,13,10,32,32,32,32,32,32,32,32,105,116,
-101,109,82,101,99,116,32,32,61,32,123,120,32,61,32,120,49,44,32,121,
-32,61,32,121,49,44,32,119,32,61,32,119,49,44,32,104,32,61,32,104,
-49,125,44,13,10,32,32,32,32,32,32,32,32,111,116,104,101,114,82,101,
-99,116,32,61,32,123,120,32,61,32,120,50,44,32,121,32,61,32,121,50,
-44,32,119,32,61,32,119,50,44,32,104,32,61,32,104,50,125,13,10,32,
-32,32,32,125,13,10,101,110,100,13,10,13,10,45,45,45,45,45,45,45,
+120,50,44,121,50,44,119,50,44,104,50,41,10,32,32,114,101,116,117,114,
+110,32,120,49,32,60,32,120,50,43,119,50,32,97,110,100,32,120,50,32,
+60,32,120,49,43,119,49,32,97,110,100,10,32,32,32,32,32,32,32,32,
+32,121,49,32,60,32,121,50,43,104,50,32,97,110,100,32,121,50,32,60,
+32,121,49,43,104,49,10,101,110,100,10,10,108,111,99,97,108,32,102,117,
+110,99,116,105,111,110,32,114,101,99,116,95,103,101,116,83,113,117,97,114,
+101,68,105,115,116,97,110,99,101,40,120,49,44,121,49,44,119,49,44,104,
+49,44,32,120,50,44,121,50,44,119,50,44,104,50,41,10,32,32,108,111,
+99,97,108,32,100,120,32,61,32,120,49,32,45,32,120,50,32,43,32,40,
+119,49,32,45,32,119,50,41,47,50,10,32,32,108,111,99,97,108,32,100,
+121,32,61,32,121,49,32,45,32,121,50,32,43,32,40,104,49,32,45,32,
+104,50,41,47,50,10,32,32,114,101,116,117,114,110,32,100,120,42,100,120,
+32,43,32,100,121,42,100,121,10,101,110,100,10,10,108,111,99,97,108,32,
+102,117,110,99,116,105,111,110,32,114,101,99,116,95,100,101,116,101,99,116,
+67,111,108,108,105,115,105,111,110,40,120,49,44,121,49,44,119,49,44,104,
+49,44,32,120,50,44,121,50,44,119,50,44,104,50,44,32,103,111,97,108,
+88,44,32,103,111,97,108,89,41,10,32,32,103,111,97,108,88,32,61,32,
+103,111,97,108,88,32,111,114,32,120,49,10,32,32,103,111,97,108,89,32,
+61,32,103,111,97,108,89,32,111,114,32,121,49,10,10,32,32,108,111,99,
+97,108,32,100,120,44,32,100,121,32,32,32,32,32,32,61,32,103,111,97,
+108,88,32,45,32,120,49,44,32,103,111,97,108,89,32,45,32,121,49,10,
+32,32,108,111,99,97,108,32,120,44,121,44,119,44,104,32,32,32,32,32,
+61,32,114,101,99,116,95,103,101,116,68,105,102,102,40,120,49,44,121,49,
+44,119,49,44,104,49,44,32,120,50,44,121,50,44,119,50,44,104,50,41,
+10,10,32,32,108,111,99,97,108,32,111,118,101,114,108,97,112,115,44,32,
+116,105,44,32,110,120,44,32,110,121,10,10,32,32,105,102,32,114,101,99,
+116,95,99,111,110,116,97,105,110,115,80,111,105,110,116,40,120,44,121,44,
+119,44,104,44,32,48,44,48,41,32,116,104,101,110,32,45,45,32,105,116,
+101,109,32,119,97,115,32,105,110,116,101,114,115,101,99,116,105,110,103,32,
+111,116,104,101,114,10,32,32,32,32,108,111,99,97,108,32,112,120,44,32,
+112,121,32,32,32,32,61,32,114,101,99,116,95,103,101,116,78,101,97,114,
+101,115,116,67,111,114,110,101,114,40,120,44,121,44,119,44,104,44,32,48,
+44,32,48,41,10,32,32,32,32,108,111,99,97,108,32,119,105,44,32,104,
+105,32,32,32,32,61,32,109,105,110,40,119,49,44,32,97,98,115,40,112,
+120,41,41,44,32,109,105,110,40,104,49,44,32,97,98,115,40,112,121,41,
+41,32,45,45,32,97,114,101,97,32,111,102,32,105,110,116,101,114,115,101,
+99,116,105,111,110,10,32,32,32,32,116,105,32,32,32,32,32,32,32,32,
+32,32,32,32,32,32,61,32,45,119,105,32,42,32,104,105,32,45,45,32,
+116,105,32,105,115,32,116,104,101,32,110,101,103,97,116,105,118,101,32,97,
+114,101,97,32,111,102,32,105,110,116,101,114,115,101,99,116,105,111,110,10,
+32,32,32,32,111,118,101,114,108,97,112,115,32,61,32,116,114,117,101,10,
+32,32,101,108,115,101,10,32,32,32,32,108,111,99,97,108,32,116,105,49,
+44,116,105,50,44,110,120,49,44,110,121,49,32,61,32,114,101,99,116,95,
+103,101,116,83,101,103,109,101,110,116,73,110,116,101,114,115,101,99,116,105,
+111,110,73,110,100,105,99,101,115,40,120,44,121,44,119,44,104,44,32,48,
+44,48,44,100,120,44,100,121,44,32,45,109,97,116,104,46,104,117,103,101,
+44,32,109,97,116,104,46,104,117,103,101,41,10,10,32,32,32,32,45,45,
+32,105,116,101,109,32,116,117,110,110,101,108,115,32,105,110,116,111,32,111,
+116,104,101,114,10,32,32,32,32,105,102,32,116,105,49,10,32,32,32,32,
+97,110,100,32,116,105,49,32,60,32,49,10,32,32,32,32,97,110,100,32,
+40,97,98,115,40,116,105,49,32,45,32,116,105,50,41,32,62,61,32,68,
+69,76,84,65,41,32,45,45,32,115,112,101,99,105,97,108,32,99,97,115,
+101,32,102,111,114,32,114,101,99,116,32,103,111,105,110,103,32,116,104,114,
+111,117,103,104,32,97,110,111,116,104,101,114,32,114,101,99,116,39,115,32,
+99,111,114,110,101,114,10,32,32,32,32,97,110,100,32,40,48,32,60,32,
+116,105,49,32,43,32,68,69,76,84,65,10,32,32,32,32,32,32,111,114,
+32,48,32,61,61,32,116,105,49,32,97,110,100,32,116,105,50,32,62,32,
+48,41,10,32,32,32,32,116,104,101,110,10,32,32,32,32,32,32,116,105,
+44,32,110,120,44,32,110,121,32,61,32,116,105,49,44,32,110,120,49,44,
+32,110,121,49,10,32,32,32,32,32,32,111,118,101,114,108,97,112,115,32,
+32,32,61,32,102,97,108,115,101,10,32,32,32,32,101,110,100,10,32,32,
+101,110,100,10,10,32,32,105,102,32,110,111,116,32,116,105,32,116,104,101,
+110,32,114,101,116,117,114,110,32,101,110,100,10,10,32,32,108,111,99,97,
+108,32,116,120,44,32,116,121,10,10,32,32,105,102,32,111,118,101,114,108,
+97,112,115,32,116,104,101,110,10,32,32,32,32,105,102,32,100,120,32,61,
+61,32,48,32,97,110,100,32,100,121,32,61,61,32,48,32,116,104,101,110,
+10,32,32,32,32,32,32,45,45,32,105,110,116,101,114,115,101,99,116,105,
+110,103,32,97,110,100,32,110,111,116,32,109,111,118,105,110,103,32,45,32,
+117,115,101,32,109,105,110,105,109,117,109,32,100,105,115,112,108,97,99,101,
+109,101,110,116,32,118,101,99,116,111,114,10,32,32,32,32,32,32,108,111,
+99,97,108,32,112,120,44,32,112,121,32,61,32,114,101,99,116,95,103,101,
+116,78,101,97,114,101,115,116,67,111,114,110,101,114,40,120,44,121,44,119,
+44,104,44,32,48,44,48,41,10,32,32,32,32,32,32,105,102,32,97,98,
+115,40,112,120,41,32,60,32,97,98,115,40,112,121,41,32,116,104,101,110,
+32,112,121,32,61,32,48,32,101,108,115,101,32,112,120,32,61,32,48,32,
+101,110,100,10,32,32,32,32,32,32,110,120,44,32,110,121,32,61,32,115,
+105,103,110,40,112,120,41,44,32,115,105,103,110,40,112,121,41,10,32,32,
+32,32,32,32,116,120,44,32,116,121,32,61,32,120,49,32,43,32,112,120,
+44,32,121,49,32,43,32,112,121,10,32,32,32,32,101,108,115,101,10,32,
+32,32,32,32,32,45,45,32,105,110,116,101,114,115,101,99,116,105,110,103,
+32,97,110,100,32,109,111,118,105,110,103,32,45,32,109,111,118,101,32,105,
+110,32,116,104,101,32,111,112,112,111,115,105,116,101,32,100,105,114,101,99,
+116,105,111,110,10,32,32,32,32,32,32,108,111,99,97,108,32,116,105,49,
+44,32,95,10,32,32,32,32,32,32,116,105,49,44,95,44,110,120,44,110,
+121,32,61,32,114,101,99,116,95,103,101,116,83,101,103,109,101,110,116,73,
+110,116,101,114,115,101,99,116,105,111,110,73,110,100,105,99,101,115,40,120,
+44,121,44,119,44,104,44,32,48,44,48,44,100,120,44,100,121,44,32,45,
+109,97,116,104,46,104,117,103,101,44,32,49,41,10,32,32,32,32,32,32,
+105,102,32,110,111,116,32,116,105,49,32,116,104,101,110,32,114,101,116,117,
+114,110,32,101,110,100,10,32,32,32,32,32,32,116,120,44,32,116,121,32,
+61,32,120,49,32,43,32,100,120,32,42,32,116,105,49,44,32,121,49,32,
+43,32,100,121,32,42,32,116,105,49,10,32,32,32,32,101,110,100,10,32,
+32,101,108,115,101,32,45,45,32,116,117,110,110,101,108,10,32,32,32,32,
+116,120,44,32,116,121,32,61,32,120,49,32,43,32,100,120,32,42,32,116,
+105,44,32,121,49,32,43,32,100,121,32,42,32,116,105,10,32,32,101,110,
+100,10,10,32,32,114,101,116,117,114,110,32,123,10,32,32,32,32,111,118,
+101,114,108,97,112,115,32,32,61,32,111,118,101,114,108,97,112,115,44,10,
+32,32,32,32,116,105,32,32,32,32,32,32,32,32,61,32,116,105,44,10,
+32,32,32,32,109,111,118,101,32,32,32,32,32,32,61,32,123,120,32,61,
+32,100,120,44,32,121,32,61,32,100,121,125,44,10,32,32,32,32,110,111,
+114,109,97,108,32,32,32,32,61,32,123,120,32,61,32,110,120,44,32,121,
+32,61,32,110,121,125,44,10,32,32,32,32,116,111,117,99,104,32,32,32,
+32,32,61,32,123,120,32,61,32,116,120,44,32,121,32,61,32,116,121,125,
+44,10,32,32,32,32,105,116,101,109,82,101,99,116,32,32,61,32,123,120,
+32,61,32,120,49,44,32,121,32,61,32,121,49,44,32,119,32,61,32,119,
+49,44,32,104,32,61,32,104,49,125,44,10,32,32,32,32,111,116,104,101,
+114,82,101,99,116,32,61,32,123,120,32,61,32,120,50,44,32,121,32,61,
+32,121,50,44,32,119,32,61,32,119,50,44,32,104,32,61,32,104,50,125,
+10,32,32,125,10,101,110,100,10,10,45,45,45,45,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,45,45,32,
-71,114,105,100,32,102,117,110,99,116,105,111,110,115,13,10,45,45,45,45,
+45,45,45,45,45,45,45,45,45,45,45,45,10,45,45,32,71,114,105,100,
+32,102,117,110,99,116,105,111,110,115,10,45,45,45,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,
-13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,105,
-100,95,116,111,87,111,114,108,100,40,99,101,108,108,83,105,122,101,44,32,
-99,120,44,32,99,121,41,13,10,32,32,32,32,114,101,116,117,114,110,32,
-40,99,120,32,45,32,49,41,42,99,101,108,108,83,105,122,101,44,32,40,
-99,121,45,49,41,42,99,101,108,108,83,105,122,101,13,10,101,110,100,13,
-10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,
-105,100,95,116,111,67,101,108,108,40,99,101,108,108,83,105,122,101,44,32,
-120,44,32,121,41,13,10,32,32,32,32,114,101,116,117,114,110,32,102,108,
-111,111,114,40,120,32,47,32,99,101,108,108,83,105,122,101,41,32,43,32,
-49,44,32,102,108,111,111,114,40,121,32,47,32,99,101,108,108,83,105,122,
-101,41,32,43,32,49,13,10,101,110,100,13,10,13,10,45,45,32,103,114,
-105,100,95,116,114,97,118,101,114,115,101,42,32,102,117,110,99,116,105,111,
-110,115,32,97,114,101,32,98,97,115,101,100,32,111,110,32,34,65,32,70,
-97,115,116,32,86,111,120,101,108,32,84,114,97,118,101,114,115,97,108,32,
-65,108,103,111,114,105,116,104,109,32,102,111,114,32,82,97,121,32,84,114,
-97,99,105,110,103,34,44,13,10,45,45,32,98,121,32,74,111,104,110,32,
+45,45,45,45,45,45,45,45,45,45,45,45,45,10,10,108,111,99,97,108,
+32,102,117,110,99,116,105,111,110,32,103,114,105,100,95,116,111,87,111,114,
+108,100,40,99,101,108,108,83,105,122,101,44,32,99,120,44,32,99,121,41,
+10,32,32,114,101,116,117,114,110,32,40,99,120,32,45,32,49,41,42,99,
+101,108,108,83,105,122,101,44,32,40,99,121,45,49,41,42,99,101,108,108,
+83,105,122,101,10,101,110,100,10,10,108,111,99,97,108,32,102,117,110,99,
+116,105,111,110,32,103,114,105,100,95,116,111,67,101,108,108,40,99,101,108,
+108,83,105,122,101,44,32,120,44,32,121,41,10,32,32,114,101,116,117,114,
+110,32,102,108,111,111,114,40,120,32,47,32,99,101,108,108,83,105,122,101,
+41,32,43,32,49,44,32,102,108,111,111,114,40,121,32,47,32,99,101,108,
+108,83,105,122,101,41,32,43,32,49,10,101,110,100,10,10,45,45,32,103,
+114,105,100,95,116,114,97,118,101,114,115,101,42,32,102,117,110,99,116,105,
+111,110,115,32,97,114,101,32,98,97,115,101,100,32,111,110,32,34,65,32,
+70,97,115,116,32,86,111,120,101,108,32,84,114,97,118,101,114,115,97,108,
+32,65,108,103,111,114,105,116,104,109,32,102,111,114,32,82,97,121,32,84,
+114,97,99,105,110,103,34,44,10,45,45,32,98,121,32,74,111,104,110,32,
65,109,97,110,105,100,101,115,32,97,110,100,32,65,110,100,114,101,119,32,
87,111,111,32,45,32,104,116,116,112,58,47,47,119,119,119,46,99,115,101,
46,121,111,114,107,117,46,99,97,47,126,97,109,97,110,97,47,114,101,115,
-101,97,114,99,104,47,103,114,105,100,46,112,100,102,13,10,45,45,32,73,
-116,32,104,97,115,32,98,101,101,110,32,109,111,100,105,102,105,101,100,32,
-116,111,32,105,110,99,108,117,100,101,32,98,111,116,104,32,99,101,108,108,
-115,32,119,104,101,110,32,116,104,101,32,114,97,121,32,34,116,111,117,99,
-104,101,115,32,97,32,103,114,105,100,32,99,111,114,110,101,114,34,44,13,
-10,45,45,32,97,110,100,32,119,105,116,104,32,97,32,100,105,102,102,101,
-114,101,110,116,32,101,120,105,116,32,99,111,110,100,105,116,105,111,110,13,
-10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,
-105,100,95,116,114,97,118,101,114,115,101,95,105,110,105,116,83,116,101,112,
-40,99,101,108,108,83,105,122,101,44,32,99,116,44,32,116,49,44,32,116,
-50,41,13,10,32,32,32,32,108,111,99,97,108,32,118,32,61,32,116,50,
-32,45,32,116,49,13,10,32,32,32,32,105,102,32,32,32,32,32,32,32,
-32,32,118,32,62,32,48,32,116,104,101,110,13,10,32,32,32,32,32,32,
-32,32,114,101,116,117,114,110,32,32,32,32,49,44,32,32,32,32,99,101,
-108,108,83,105,122,101,32,47,32,118,44,32,40,40,99,116,32,43,32,118,
-41,32,42,32,99,101,108,108,83,105,122,101,32,45,32,116,49,41,32,47,
-32,118,13,10,32,32,32,32,101,108,115,101,105,102,32,118,32,60,32,48,
-32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,114,101,116,117,114,
-110,32,45,49,44,32,45,99,101,108,108,83,105,122,101,32,47,32,118,44,
-32,40,40,99,116,32,43,32,118,32,45,32,49,41,32,42,32,99,101,108,
-108,83,105,122,101,32,45,32,116,49,41,32,47,32,118,13,10,32,32,32,
-32,101,108,115,101,13,10,32,32,32,32,32,32,32,32,114,101,116,117,114,
-110,32,48,44,32,109,97,116,104,46,104,117,103,101,44,32,109,97,116,104,
-46,104,117,103,101,13,10,32,32,32,32,101,110,100,13,10,101,110,100,13,
-10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,
-105,100,95,116,114,97,118,101,114,115,101,40,99,101,108,108,83,105,122,101,
-44,32,120,49,44,121,49,44,120,50,44,121,50,44,32,102,41,13,10,32,
-32,32,32,108,111,99,97,108,32,99,120,49,44,99,121,49,32,32,32,32,
-32,32,32,61,32,103,114,105,100,95,116,111,67,101,108,108,40,99,101,108,
-108,83,105,122,101,44,32,120,49,44,121,49,41,13,10,32,32,32,32,108,
-111,99,97,108,32,99,120,50,44,99,121,50,32,32,32,32,32,32,32,61,
-32,103,114,105,100,95,116,111,67,101,108,108,40,99,101,108,108,83,105,122,
-101,44,32,120,50,44,121,50,41,13,10,32,32,32,32,108,111,99,97,108,
-32,115,116,101,112,88,44,32,100,120,44,32,116,120,32,61,32,103,114,105,
+101,97,114,99,104,47,103,114,105,100,46,112,100,102,10,45,45,32,73,116,
+32,104,97,115,32,98,101,101,110,32,109,111,100,105,102,105,101,100,32,116,
+111,32,105,110,99,108,117,100,101,32,98,111,116,104,32,99,101,108,108,115,
+32,119,104,101,110,32,116,104,101,32,114,97,121,32,34,116,111,117,99,104,
+101,115,32,97,32,103,114,105,100,32,99,111,114,110,101,114,34,44,10,45,
+45,32,97,110,100,32,119,105,116,104,32,97,32,100,105,102,102,101,114,101,
+110,116,32,101,120,105,116,32,99,111,110,100,105,116,105,111,110,10,10,108,
+111,99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,105,100,95,116,
+114,97,118,101,114,115,101,95,105,110,105,116,83,116,101,112,40,99,101,108,
+108,83,105,122,101,44,32,99,116,44,32,116,49,44,32,116,50,41,10,32,
+32,108,111,99,97,108,32,118,32,61,32,116,50,32,45,32,116,49,10,32,
+32,105,102,32,32,32,32,32,118,32,62,32,48,32,116,104,101,110,10,32,
+32,32,32,114,101,116,117,114,110,32,32,49,44,32,32,99,101,108,108,83,
+105,122,101,32,47,32,118,44,32,40,40,99,116,32,43,32,118,41,32,42,
+32,99,101,108,108,83,105,122,101,32,45,32,116,49,41,32,47,32,118,10,
+32,32,101,108,115,101,105,102,32,118,32,60,32,48,32,116,104,101,110,10,
+32,32,32,32,114,101,116,117,114,110,32,45,49,44,32,45,99,101,108,108,
+83,105,122,101,32,47,32,118,44,32,40,40,99,116,32,43,32,118,32,45,
+32,49,41,32,42,32,99,101,108,108,83,105,122,101,32,45,32,116,49,41,
+32,47,32,118,10,32,32,101,108,115,101,10,32,32,32,32,114,101,116,117,
+114,110,32,48,44,32,109,97,116,104,46,104,117,103,101,44,32,109,97,116,
+104,46,104,117,103,101,10,32,32,101,110,100,10,101,110,100,10,10,108,111,
+99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,105,100,95,116,114,
+97,118,101,114,115,101,40,99,101,108,108,83,105,122,101,44,32,120,49,44,
+121,49,44,120,50,44,121,50,44,32,102,41,10,32,32,108,111,99,97,108,
+32,99,120,49,44,99,121,49,32,32,32,32,32,32,32,32,61,32,103,114,
+105,100,95,116,111,67,101,108,108,40,99,101,108,108,83,105,122,101,44,32,
+120,49,44,121,49,41,10,32,32,108,111,99,97,108,32,99,120,50,44,99,
+121,50,32,32,32,32,32,32,32,32,61,32,103,114,105,100,95,116,111,67,
+101,108,108,40,99,101,108,108,83,105,122,101,44,32,120,50,44,121,50,41,
+10,32,32,108,111,99,97,108,32,115,116,101,112,88,44,32,100,120,44,32,
+116,120,32,32,61,32,103,114,105,100,95,116,114,97,118,101,114,115,101,95,
+105,110,105,116,83,116,101,112,40,99,101,108,108,83,105,122,101,44,32,99,
+120,49,44,32,120,49,44,32,120,50,41,10,32,32,108,111,99,97,108,32,
+115,116,101,112,89,44,32,100,121,44,32,116,121,32,32,61,32,103,114,105,
100,95,116,114,97,118,101,114,115,101,95,105,110,105,116,83,116,101,112,40,
-99,101,108,108,83,105,122,101,44,32,99,120,49,44,32,120,49,44,32,120,
-50,41,13,10,32,32,32,32,108,111,99,97,108,32,115,116,101,112,89,44,
-32,100,121,44,32,116,121,32,61,32,103,114,105,100,95,116,114,97,118,101,
-114,115,101,95,105,110,105,116,83,116,101,112,40,99,101,108,108,83,105,122,
-101,44,32,99,121,49,44,32,121,49,44,32,121,50,41,13,10,32,32,32,
-32,108,111,99,97,108,32,99,120,44,99,121,32,32,32,32,32,32,32,32,
-32,61,32,99,120,49,44,99,121,49,13,10,13,10,32,32,32,32,102,40,
-99,120,44,32,99,121,41,13,10,13,10,32,32,32,32,45,45,32,84,104,
-101,32,100,101,102,97,117,108,116,32,105,109,112,108,101,109,101,110,116,97,
-116,105,111,110,32,104,97,100,32,97,110,32,105,110,102,105,110,105,116,101,
-32,108,111,111,112,32,112,114,111,98,108,101,109,32,119,104,101,110,13,10,
-32,32,32,32,45,45,32,97,112,112,114,111,97,99,104,105,110,103,32,116,
-104,101,32,108,97,115,116,32,99,101,108,108,32,105,110,32,115,111,109,101,
-32,111,99,99,97,115,115,105,111,110,115,46,32,87,101,32,102,105,110,105,
-115,104,32,105,116,101,114,97,116,105,110,103,13,10,32,32,32,32,45,45,
-32,119,104,101,110,32,119,101,32,97,114,101,32,42,110,101,120,116,42,32,
-116,111,32,116,104,101,32,108,97,115,116,32,99,101,108,108,13,10,32,32,
-32,32,119,104,105,108,101,32,97,98,115,40,99,120,32,45,32,99,120,50,
-41,32,43,32,97,98,115,40,99,121,32,45,32,99,121,50,41,32,62,32,
-49,32,100,111,13,10,32,32,32,32,32,32,32,32,105,102,32,116,120,32,
-60,32,116,121,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,32,
-32,32,32,116,120,44,32,99,120,32,61,32,116,120,32,43,32,100,120,44,
-32,99,120,32,43,32,115,116,101,112,88,13,10,32,32,32,32,32,32,32,
-32,32,32,32,32,102,40,99,120,44,32,99,121,41,13,10,32,32,32,32,
-32,32,32,32,101,108,115,101,13,10,32,32,32,32,32,32,32,32,32,32,
-32,32,45,45,32,65,100,100,105,116,105,111,110,58,32,105,110,99,108,117,
-100,101,32,98,111,116,104,32,99,101,108,108,115,32,119,104,101,110,32,103,
-111,105,110,103,32,116,104,114,111,117,103,104,32,99,111,114,110,101,114,115,
-13,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,116,120,32,
-61,61,32,116,121,32,116,104,101,110,32,102,40,99,120,32,43,32,115,116,
-101,112,88,44,32,99,121,41,32,101,110,100,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,116,121,44,32,99,121,32,61,32,116,121,32,43,32,
-100,121,44,32,99,121,32,43,32,115,116,101,112,89,13,10,32,32,32,32,
-32,32,32,32,32,32,32,32,102,40,99,120,44,32,99,121,41,13,10,32,
-32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,101,110,100,13,
-10,13,10,32,32,32,32,45,45,32,73,102,32,119,101,32,104,97,118,101,
-32,110,111,116,32,97,114,114,105,118,101,100,32,116,111,32,116,104,101,32,
-108,97,115,116,32,99,101,108,108,44,32,117,115,101,32,105,116,13,10,32,
-32,32,32,105,102,32,99,120,32,126,61,32,99,120,50,32,111,114,32,99,
-121,32,126,61,32,99,121,50,32,116,104,101,110,32,102,40,99,120,50,44,
-32,99,121,50,41,32,101,110,100,13,10,13,10,101,110,100,13,10,13,10,
-108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,103,114,105,100,95,
-116,111,67,101,108,108,82,101,99,116,40,99,101,108,108,83,105,122,101,44,
-32,120,44,121,44,119,44,104,41,13,10,32,32,32,32,108,111,99,97,108,
-32,99,120,44,99,121,32,61,32,103,114,105,100,95,116,111,67,101,108,108,
-40,99,101,108,108,83,105,122,101,44,32,120,44,32,121,41,13,10,32,32,
-32,32,108,111,99,97,108,32,99,114,44,99,98,32,61,32,99,101,105,108,
-40,40,120,43,119,41,32,47,32,99,101,108,108,83,105,122,101,41,44,32,
-99,101,105,108,40,40,121,43,104,41,32,47,32,99,101,108,108,83,105,122,
-101,41,13,10,32,32,32,32,114,101,116,117,114,110,32,99,120,44,32,99,
-121,44,32,99,114,32,45,32,99,120,32,43,32,49,44,32,99,98,32,45,
-32,99,121,32,43,32,49,13,10,101,110,100,13,10,13,10,45,45,45,45,
+99,101,108,108,83,105,122,101,44,32,99,121,49,44,32,121,49,44,32,121,
+50,41,10,32,32,108,111,99,97,108,32,99,120,44,99,121,32,32,32,32,
+32,32,32,32,32,32,61,32,99,120,49,44,99,121,49,10,10,32,32,102,
+40,99,120,44,32,99,121,41,10,10,32,32,45,45,32,84,104,101,32,100,
+101,102,97,117,108,116,32,105,109,112,108,101,109,101,110,116,97,116,105,111,
+110,32,104,97,100,32,97,110,32,105,110,102,105,110,105,116,101,32,108,111,
+111,112,32,112,114,111,98,108,101,109,32,119,104,101,110,10,32,32,45,45,
+32,97,112,112,114,111,97,99,104,105,110,103,32,116,104,101,32,108,97,115,
+116,32,99,101,108,108,32,105,110,32,115,111,109,101,32,111,99,99,97,115,
+115,105,111,110,115,46,32,87,101,32,102,105,110,105,115,104,32,105,116,101,
+114,97,116,105,110,103,10,32,32,45,45,32,119,104,101,110,32,119,101,32,
+97,114,101,32,42,110,101,120,116,42,32,116,111,32,116,104,101,32,108,97,
+115,116,32,99,101,108,108,10,32,32,119,104,105,108,101,32,97,98,115,40,
+99,120,32,45,32,99,120,50,41,32,43,32,97,98,115,40,99,121,32,45,
+32,99,121,50,41,32,62,32,49,32,100,111,10,32,32,32,32,105,102,32,
+116,120,32,60,32,116,121,32,116,104,101,110,10,32,32,32,32,32,32,116,
+120,44,32,99,120,32,61,32,116,120,32,43,32,100,120,44,32,99,120,32,
+43,32,115,116,101,112,88,10,32,32,32,32,32,32,102,40,99,120,44,32,
+99,121,41,10,32,32,32,32,101,108,115,101,10,32,32,32,32,32,32,45,
+45,32,65,100,100,105,116,105,111,110,58,32,105,110,99,108,117,100,101,32,
+98,111,116,104,32,99,101,108,108,115,32,119,104,101,110,32,103,111,105,110,
+103,32,116,104,114,111,117,103,104,32,99,111,114,110,101,114,115,10,32,32,
+32,32,32,32,105,102,32,116,120,32,61,61,32,116,121,32,116,104,101,110,
+32,102,40,99,120,32,43,32,115,116,101,112,88,44,32,99,121,41,32,101,
+110,100,10,32,32,32,32,32,32,116,121,44,32,99,121,32,61,32,116,121,
+32,43,32,100,121,44,32,99,121,32,43,32,115,116,101,112,89,10,32,32,
+32,32,32,32,102,40,99,120,44,32,99,121,41,10,32,32,32,32,101,110,
+100,10,32,32,101,110,100,10,10,32,32,45,45,32,73,102,32,119,101,32,
+104,97,118,101,32,110,111,116,32,97,114,114,105,118,101,100,32,116,111,32,
+116,104,101,32,108,97,115,116,32,99,101,108,108,44,32,117,115,101,32,105,
+116,10,32,32,105,102,32,99,120,32,126,61,32,99,120,50,32,111,114,32,
+99,121,32,126,61,32,99,121,50,32,116,104,101,110,32,102,40,99,120,50,
+44,32,99,121,50,41,32,101,110,100,10,10,101,110,100,10,10,108,111,99,
+97,108,32,102,117,110,99,116,105,111,110,32,103,114,105,100,95,116,111,67,
+101,108,108,82,101,99,116,40,99,101,108,108,83,105,122,101,44,32,120,44,
+121,44,119,44,104,41,10,32,32,108,111,99,97,108,32,99,120,44,99,121,
+32,61,32,103,114,105,100,95,116,111,67,101,108,108,40,99,101,108,108,83,
+105,122,101,44,32,120,44,32,121,41,10,32,32,108,111,99,97,108,32,99,
+114,44,99,98,32,61,32,99,101,105,108,40,40,120,43,119,41,32,47,32,
+99,101,108,108,83,105,122,101,41,44,32,99,101,105,108,40,40,121,43,104,
+41,32,47,32,99,101,108,108,83,105,122,101,41,10,32,32,114,101,116,117,
+114,110,32,99,120,44,32,99,121,44,32,99,114,32,45,32,99,120,32,43,
+32,49,44,32,99,98,32,45,32,99,121,32,43,32,49,10,101,110,100,10,
+10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,
-45,45,32,82,101,115,112,111,110,115,101,115,13,10,45,45,45,45,45,45,
+45,45,45,10,45,45,32,82,101,115,112,111,110,115,101,115,10,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,13,10,
-108,111,99,97,108,32,116,111,117,99,104,32,61,32,102,117,110,99,116,105,
-111,110,40,119,111,114,108,100,44,32,99,111,108,44,32,120,44,121,44,119,
-44,104,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,
-108,116,101,114,41,13,10,32,32,32,32,114,101,116,117,114,110,32,99,111,
-108,46,116,111,117,99,104,46,120,44,32,99,111,108,46,116,111,117,99,104,
-46,121,44,32,123,125,44,32,48,13,10,101,110,100,13,10,13,10,108,111,
-99,97,108,32,99,114,111,115,115,32,61,32,102,117,110,99,116,105,111,110,
-40,119,111,114,108,100,44,32,99,111,108,44,32,120,44,121,44,119,44,104,
-44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,116,
-101,114,41,13,10,32,32,32,32,108,111,99,97,108,32,99,111,108,115,44,
-32,108,101,110,32,61,32,119,111,114,108,100,58,112,114,111,106,101,99,116,
-40,99,111,108,46,105,116,101,109,44,32,120,44,121,44,119,44,104,44,32,
-103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,116,101,114,
-41,13,10,32,32,32,32,114,101,116,117,114,110,32,103,111,97,108,88,44,
-32,103,111,97,108,89,44,32,99,111,108,115,44,32,108,101,110,13,10,101,
-110,100,13,10,13,10,108,111,99,97,108,32,115,108,105,100,101,32,61,32,
-102,117,110,99,116,105,111,110,40,119,111,114,108,100,44,32,99,111,108,44,
-32,120,44,121,44,119,44,104,44,32,103,111,97,108,88,44,32,103,111,97,
-108,89,44,32,102,105,108,116,101,114,41,13,10,32,32,32,32,103,111,97,
-108,88,32,61,32,103,111,97,108,88,32,111,114,32,120,13,10,32,32,32,
-32,103,111,97,108,89,32,61,32,103,111,97,108,89,32,111,114,32,121,13,
-10,13,10,32,32,32,32,108,111,99,97,108,32,116,99,104,44,32,109,111,
-118,101,32,32,32,32,61,32,99,111,108,46,116,111,117,99,104,44,32,99,
-111,108,46,109,111,118,101,13,10,32,32,32,32,105,102,32,109,111,118,101,
-46,120,32,126,61,32,48,32,111,114,32,109,111,118,101,46,121,32,126,61,
-32,48,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,105,102,32,
-99,111,108,46,110,111,114,109,97,108,46,120,32,126,61,32,48,32,116,104,
-101,110,13,10,32,32,32,32,32,32,32,32,32,32,32,32,103,111,97,108,
-88,32,61,32,116,99,104,46,120,13,10,32,32,32,32,32,32,32,32,101,
-108,115,101,13,10,32,32,32,32,32,32,32,32,32,32,32,32,103,111,97,
-108,89,32,61,32,116,99,104,46,121,13,10,32,32,32,32,32,32,32,32,
-101,110,100,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,
-99,111,108,46,115,108,105,100,101,32,61,32,123,120,32,61,32,103,111,97,
-108,88,44,32,121,32,61,32,103,111,97,108,89,125,13,10,13,10,32,32,
-32,32,120,44,121,32,61,32,116,99,104,46,120,44,32,116,99,104,46,121,
-13,10,32,32,32,32,108,111,99,97,108,32,99,111,108,115,44,32,108,101,
-110,32,32,32,32,61,32,119,111,114,108,100,58,112,114,111,106,101,99,116,
-40,99,111,108,46,105,116,101,109,44,32,120,44,121,44,119,44,104,44,32,
-103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,116,101,114,
-41,13,10,32,32,32,32,114,101,116,117,114,110,32,103,111,97,108,88,44,
-32,103,111,97,108,89,44,32,99,111,108,115,44,32,108,101,110,13,10,101,
-110,100,13,10,13,10,108,111,99,97,108,32,98,111,117,110,99,101,32,61,
+45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,
+10,108,111,99,97,108,32,116,111,117,99,104,32,61,32,102,117,110,99,116,
+105,111,110,40,119,111,114,108,100,44,32,99,111,108,44,32,120,44,121,44,
+119,44,104,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,
+105,108,116,101,114,41,10,32,32,114,101,116,117,114,110,32,99,111,108,46,
+116,111,117,99,104,46,120,44,32,99,111,108,46,116,111,117,99,104,46,121,
+44,32,123,125,44,32,48,10,101,110,100,10,10,108,111,99,97,108,32,99,
+114,111,115,115,32,61,32,102,117,110,99,116,105,111,110,40,119,111,114,108,
+100,44,32,99,111,108,44,32,120,44,121,44,119,44,104,44,32,103,111,97,
+108,88,44,32,103,111,97,108,89,44,32,102,105,108,116,101,114,41,10,32,
+32,108,111,99,97,108,32,99,111,108,115,44,32,108,101,110,32,61,32,119,
+111,114,108,100,58,112,114,111,106,101,99,116,40,99,111,108,46,105,116,101,
+109,44,32,120,44,121,44,119,44,104,44,32,103,111,97,108,88,44,32,103,
+111,97,108,89,44,32,102,105,108,116,101,114,41,10,32,32,114,101,116,117,
+114,110,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,99,111,108,
+115,44,32,108,101,110,10,101,110,100,10,10,108,111,99,97,108,32,115,108,
+105,100,101,32,61,32,102,117,110,99,116,105,111,110,40,119,111,114,108,100,
+44,32,99,111,108,44,32,120,44,121,44,119,44,104,44,32,103,111,97,108,
+88,44,32,103,111,97,108,89,44,32,102,105,108,116,101,114,41,10,32,32,
+103,111,97,108,88,32,61,32,103,111,97,108,88,32,111,114,32,120,10,32,
+32,103,111,97,108,89,32,61,32,103,111,97,108,89,32,111,114,32,121,10,
+10,32,32,108,111,99,97,108,32,116,99,104,44,32,109,111,118,101,32,32,
+61,32,99,111,108,46,116,111,117,99,104,44,32,99,111,108,46,109,111,118,
+101,10,32,32,105,102,32,109,111,118,101,46,120,32,126,61,32,48,32,111,
+114,32,109,111,118,101,46,121,32,126,61,32,48,32,116,104,101,110,10,32,
+32,32,32,105,102,32,99,111,108,46,110,111,114,109,97,108,46,120,32,126,
+61,32,48,32,116,104,101,110,10,32,32,32,32,32,32,103,111,97,108,88,
+32,61,32,116,99,104,46,120,10,32,32,32,32,101,108,115,101,10,32,32,
+32,32,32,32,103,111,97,108,89,32,61,32,116,99,104,46,121,10,32,32,
+32,32,101,110,100,10,32,32,101,110,100,10,10,32,32,99,111,108,46,115,
+108,105,100,101,32,61,32,123,120,32,61,32,103,111,97,108,88,44,32,121,
+32,61,32,103,111,97,108,89,125,10,10,32,32,120,44,121,32,61,32,116,
+99,104,46,120,44,32,116,99,104,46,121,10,32,32,108,111,99,97,108,32,
+99,111,108,115,44,32,108,101,110,32,32,61,32,119,111,114,108,100,58,112,
+114,111,106,101,99,116,40,99,111,108,46,105,116,101,109,44,32,120,44,121,
+44,119,44,104,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,
+102,105,108,116,101,114,41,10,32,32,114,101,116,117,114,110,32,103,111,97,
+108,88,44,32,103,111,97,108,89,44,32,99,111,108,115,44,32,108,101,110,
+10,101,110,100,10,10,108,111,99,97,108,32,98,111,117,110,99,101,32,61,
32,102,117,110,99,116,105,111,110,40,119,111,114,108,100,44,32,99,111,108,
44,32,120,44,121,44,119,44,104,44,32,103,111,97,108,88,44,32,103,111,
-97,108,89,44,32,102,105,108,116,101,114,41,13,10,32,32,32,32,103,111,
-97,108,88,32,61,32,103,111,97,108,88,32,111,114,32,120,13,10,32,32,
-32,32,103,111,97,108,89,32,61,32,103,111,97,108,89,32,111,114,32,121,
-13,10,13,10,32,32,32,32,108,111,99,97,108,32,116,99,104,44,32,109,
-111,118,101,32,61,32,99,111,108,46,116,111,117,99,104,44,32,99,111,108,
-46,109,111,118,101,13,10,32,32,32,32,108,111,99,97,108,32,116,120,44,
-32,116,121,32,61,32,116,99,104,46,120,44,32,116,99,104,46,121,13,10,
-13,10,32,32,32,32,108,111,99,97,108,32,98,120,44,32,98,121,32,61,
-32,116,120,44,32,116,121,13,10,13,10,32,32,32,32,105,102,32,109,111,
-118,101,46,120,32,126,61,32,48,32,111,114,32,109,111,118,101,46,121,32,
-126,61,32,48,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,108,
-111,99,97,108,32,98,110,120,44,32,98,110,121,32,61,32,103,111,97,108,
-88,32,45,32,116,120,44,32,103,111,97,108,89,32,45,32,116,121,13,10,
-32,32,32,32,32,32,32,32,105,102,32,99,111,108,46,110,111,114,109,97,
-108,46,120,32,61,61,32,48,32,116,104,101,110,32,98,110,121,32,61,32,
-45,98,110,121,32,101,108,115,101,32,98,110,120,32,61,32,45,98,110,120,
-32,101,110,100,13,10,32,32,32,32,32,32,32,32,98,120,44,32,98,121,
-32,61,32,116,120,32,43,32,98,110,120,44,32,116,121,32,43,32,98,110,
-121,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,99,111,
-108,46,98,111,117,110,99,101,32,32,32,32,32,61,32,123,120,32,61,32,
-98,120,44,32,32,32,32,121,32,61,32,98,121,125,13,10,32,32,32,32,
-120,44,121,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,61,32,116,99,104,46,120,44,32,116,99,104,46,121,13,10,32,
-32,32,32,103,111,97,108,88,44,32,103,111,97,108,89,32,61,32,98,120,
-44,32,98,121,13,10,13,10,32,32,32,32,108,111,99,97,108,32,99,111,
-108,115,44,32,108,101,110,32,32,32,32,32,32,32,32,61,32,119,111,114,
-108,100,58,112,114,111,106,101,99,116,40,99,111,108,46,105,116,101,109,44,
-32,120,44,121,44,119,44,104,44,32,103,111,97,108,88,44,32,103,111,97,
-108,89,44,32,102,105,108,116,101,114,41,13,10,32,32,32,32,114,101,116,
-117,114,110,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,99,111,
-108,115,44,32,108,101,110,13,10,101,110,100,13,10,13,10,45,45,45,45,
+97,108,89,44,32,102,105,108,116,101,114,41,10,32,32,103,111,97,108,88,
+32,61,32,103,111,97,108,88,32,111,114,32,120,10,32,32,103,111,97,108,
+89,32,61,32,103,111,97,108,89,32,111,114,32,121,10,10,32,32,108,111,
+99,97,108,32,116,99,104,44,32,109,111,118,101,32,61,32,99,111,108,46,
+116,111,117,99,104,44,32,99,111,108,46,109,111,118,101,10,32,32,108,111,
+99,97,108,32,116,120,44,32,116,121,32,61,32,116,99,104,46,120,44,32,
+116,99,104,46,121,10,10,32,32,108,111,99,97,108,32,98,120,44,32,98,
+121,32,61,32,116,120,44,32,116,121,10,10,32,32,105,102,32,109,111,118,
+101,46,120,32,126,61,32,48,32,111,114,32,109,111,118,101,46,121,32,126,
+61,32,48,32,116,104,101,110,10,32,32,32,32,108,111,99,97,108,32,98,
+110,120,44,32,98,110,121,32,61,32,103,111,97,108,88,32,45,32,116,120,
+44,32,103,111,97,108,89,32,45,32,116,121,10,32,32,32,32,105,102,32,
+99,111,108,46,110,111,114,109,97,108,46,120,32,61,61,32,48,32,116,104,
+101,110,32,98,110,121,32,61,32,45,98,110,121,32,101,108,115,101,32,98,
+110,120,32,61,32,45,98,110,120,32,101,110,100,10,32,32,32,32,98,120,
+44,32,98,121,32,61,32,116,120,32,43,32,98,110,120,44,32,116,121,32,
+43,32,98,110,121,10,32,32,101,110,100,10,10,32,32,99,111,108,46,98,
+111,117,110,99,101,32,32,32,61,32,123,120,32,61,32,98,120,44,32,32,
+121,32,61,32,98,121,125,10,32,32,120,44,121,32,32,32,32,32,32,32,
+32,32,32,61,32,116,99,104,46,120,44,32,116,99,104,46,121,10,32,32,
+103,111,97,108,88,44,32,103,111,97,108,89,32,61,32,98,120,44,32,98,
+121,10,10,32,32,108,111,99,97,108,32,99,111,108,115,44,32,108,101,110,
+32,32,32,32,61,32,119,111,114,108,100,58,112,114,111,106,101,99,116,40,
+99,111,108,46,105,116,101,109,44,32,120,44,121,44,119,44,104,44,32,103,
+111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,116,101,114,41,
+10,32,32,114,101,116,117,114,110,32,103,111,97,108,88,44,32,103,111,97,
+108,89,44,32,99,111,108,115,44,32,108,101,110,10,101,110,100,10,10,45,
+45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,13,10,
-45,45,32,87,111,114,108,100,13,10,45,45,45,45,45,45,45,45,45,45,
+45,10,45,45,32,87,111,114,108,100,10,45,45,45,45,45,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,
-45,45,45,45,45,45,45,45,45,45,45,45,13,10,13,10,108,111,99,97,
-108,32,87,111,114,108,100,32,61,32,123,125,13,10,108,111,99,97,108,32,
-87,111,114,108,100,95,109,116,32,61,32,123,95,95,105,110,100,101,120,32,
-61,32,87,111,114,108,100,125,13,10,13,10,45,45,32,80,114,105,118,97,
-116,101,32,102,117,110,99,116,105,111,110,115,32,97,110,100,32,109,101,116,
-104,111,100,115,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,
-111,110,32,115,111,114,116,66,121,87,101,105,103,104,116,40,97,44,98,41,
-32,114,101,116,117,114,110,32,97,46,119,101,105,103,104,116,32,60,32,98,
-46,119,101,105,103,104,116,32,101,110,100,13,10,13,10,108,111,99,97,108,
-32,102,117,110,99,116,105,111,110,32,115,111,114,116,66,121,84,105,65,110,
-100,68,105,115,116,97,110,99,101,40,97,44,98,41,13,10,32,32,32,32,
-105,102,32,97,46,116,105,32,61,61,32,98,46,116,105,32,116,104,101,110,
-13,10,32,32,32,32,32,32,32,32,108,111,99,97,108,32,105,114,44,32,
-97,114,44,32,98,114,32,61,32,97,46,105,116,101,109,82,101,99,116,44,
-32,97,46,111,116,104,101,114,82,101,99,116,44,32,98,46,111,116,104,101,
-114,82,101,99,116,13,10,32,32,32,32,32,32,32,32,108,111,99,97,108,
-32,97,100,32,61,32,114,101,99,116,95,103,101,116,83,113,117,97,114,101,
-68,105,115,116,97,110,99,101,40,105,114,46,120,44,105,114,46,121,44,105,
-114,46,119,44,105,114,46,104,44,32,97,114,46,120,44,97,114,46,121,44,
-97,114,46,119,44,97,114,46,104,41,13,10,32,32,32,32,32,32,32,32,
-108,111,99,97,108,32,98,100,32,61,32,114,101,99,116,95,103,101,116,83,
-113,117,97,114,101,68,105,115,116,97,110,99,101,40,105,114,46,120,44,105,
-114,46,121,44,105,114,46,119,44,105,114,46,104,44,32,98,114,46,120,44,
-98,114,46,121,44,98,114,46,119,44,98,114,46,104,41,13,10,32,32,32,
-32,32,32,32,32,114,101,116,117,114,110,32,97,100,32,60,32,98,100,13,
-10,32,32,32,32,101,110,100,13,10,32,32,32,32,114,101,116,117,114,110,
-32,97,46,116,105,32,60,32,98,46,116,105,13,10,101,110,100,13,10,13,
+45,45,45,45,45,45,45,45,45,45,45,45,45,10,10,108,111,99,97,108,
+32,87,111,114,108,100,32,61,32,123,125,10,108,111,99,97,108,32,87,111,
+114,108,100,95,109,116,32,61,32,123,95,95,105,110,100,101,120,32,61,32,
+87,111,114,108,100,125,10,10,45,45,32,80,114,105,118,97,116,101,32,102,
+117,110,99,116,105,111,110,115,32,97,110,100,32,109,101,116,104,111,100,115,
+10,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,115,111,114,
+116,66,121,87,101,105,103,104,116,40,97,44,98,41,32,114,101,116,117,114,
+110,32,97,46,119,101,105,103,104,116,32,60,32,98,46,119,101,105,103,104,
+116,32,101,110,100,10,10,108,111,99,97,108,32,102,117,110,99,116,105,111,
+110,32,115,111,114,116,66,121,84,105,65,110,100,68,105,115,116,97,110,99,
+101,40,97,44,98,41,10,32,32,105,102,32,97,46,116,105,32,61,61,32,
+98,46,116,105,32,116,104,101,110,10,32,32,32,32,108,111,99,97,108,32,
+105,114,44,32,97,114,44,32,98,114,32,61,32,97,46,105,116,101,109,82,
+101,99,116,44,32,97,46,111,116,104,101,114,82,101,99,116,44,32,98,46,
+111,116,104,101,114,82,101,99,116,10,32,32,32,32,108,111,99,97,108,32,
+97,100,32,61,32,114,101,99,116,95,103,101,116,83,113,117,97,114,101,68,
+105,115,116,97,110,99,101,40,105,114,46,120,44,105,114,46,121,44,105,114,
+46,119,44,105,114,46,104,44,32,97,114,46,120,44,97,114,46,121,44,97,
+114,46,119,44,97,114,46,104,41,10,32,32,32,32,108,111,99,97,108,32,
+98,100,32,61,32,114,101,99,116,95,103,101,116,83,113,117,97,114,101,68,
+105,115,116,97,110,99,101,40,105,114,46,120,44,105,114,46,121,44,105,114,
+46,119,44,105,114,46,104,44,32,98,114,46,120,44,98,114,46,121,44,98,
+114,46,119,44,98,114,46,104,41,10,32,32,32,32,114,101,116,117,114,110,
+32,97,100,32,60,32,98,100,10,32,32,101,110,100,10,32,32,114,101,116,
+117,114,110,32,97,46,116,105,32,60,32,98,46,116,105,10,101,110,100,10,
10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,97,100,100,73,
116,101,109,84,111,67,101,108,108,40,115,101,108,102,44,32,105,116,101,109,
-44,32,99,120,44,32,99,121,41,13,10,32,32,32,32,115,101,108,102,46,
-114,111,119,115,91,99,121,93,32,61,32,115,101,108,102,46,114,111,119,115,
-91,99,121,93,32,111,114,32,115,101,116,109,101,116,97,116,97,98,108,101,
-40,123,125,44,32,123,95,95,109,111,100,101,32,61,32,39,118,39,125,41,
-13,10,32,32,32,32,108,111,99,97,108,32,114,111,119,32,61,32,115,101,
-108,102,46,114,111,119,115,91,99,121,93,13,10,32,32,32,32,114,111,119,
-91,99,120,93,32,61,32,114,111,119,91,99,120,93,32,111,114,32,123,105,
-116,101,109,67,111,117,110,116,32,61,32,48,44,32,120,32,61,32,99,120,
-44,32,121,32,61,32,99,121,44,32,105,116,101,109,115,32,61,32,115,101,
-116,109,101,116,97,116,97,98,108,101,40,123,125,44,32,123,95,95,109,111,
-100,101,32,61,32,39,107,39,125,41,125,13,10,32,32,32,32,108,111,99,
-97,108,32,99,101,108,108,32,61,32,114,111,119,91,99,120,93,13,10,32,
-32,32,32,115,101,108,102,46,110,111,110,69,109,112,116,121,67,101,108,108,
-115,91,99,101,108,108,93,32,61,32,116,114,117,101,13,10,32,32,32,32,
-105,102,32,110,111,116,32,99,101,108,108,46,105,116,101,109,115,91,105,116,
-101,109,93,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,99,101,
-108,108,46,105,116,101,109,115,91,105,116,101,109,93,32,61,32,116,114,117,
-101,13,10,32,32,32,32,32,32,32,32,99,101,108,108,46,105,116,101,109,
-67,111,117,110,116,32,61,32,99,101,108,108,46,105,116,101,109,67,111,117,
-110,116,32,43,32,49,13,10,32,32,32,32,101,110,100,13,10,101,110,100,
-13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,32,114,
-101,109,111,118,101,73,116,101,109,70,114,111,109,67,101,108,108,40,115,101,
-108,102,44,32,105,116,101,109,44,32,99,120,44,32,99,121,41,13,10,32,
-32,32,32,108,111,99,97,108,32,114,111,119,32,61,32,115,101,108,102,46,
-114,111,119,115,91,99,121,93,13,10,32,32,32,32,105,102,32,110,111,116,
+44,32,99,120,44,32,99,121,41,10,32,32,115,101,108,102,46,114,111,119,
+115,91,99,121,93,32,61,32,115,101,108,102,46,114,111,119,115,91,99,121,
+93,32,111,114,32,115,101,116,109,101,116,97,116,97,98,108,101,40,123,125,
+44,32,123,95,95,109,111,100,101,32,61,32,39,118,39,125,41,10,32,32,
+108,111,99,97,108,32,114,111,119,32,61,32,115,101,108,102,46,114,111,119,
+115,91,99,121,93,10,32,32,114,111,119,91,99,120,93,32,61,32,114,111,
+119,91,99,120,93,32,111,114,32,123,105,116,101,109,67,111,117,110,116,32,
+61,32,48,44,32,120,32,61,32,99,120,44,32,121,32,61,32,99,121,44,
+32,105,116,101,109,115,32,61,32,115,101,116,109,101,116,97,116,97,98,108,
+101,40,123,125,44,32,123,95,95,109,111,100,101,32,61,32,39,107,39,125,
+41,125,10,32,32,108,111,99,97,108,32,99,101,108,108,32,61,32,114,111,
+119,91,99,120,93,10,32,32,115,101,108,102,46,110,111,110,69,109,112,116,
+121,67,101,108,108,115,91,99,101,108,108,93,32,61,32,116,114,117,101,10,
+32,32,105,102,32,110,111,116,32,99,101,108,108,46,105,116,101,109,115,91,
+105,116,101,109,93,32,116,104,101,110,10,32,32,32,32,99,101,108,108,46,
+105,116,101,109,115,91,105,116,101,109,93,32,61,32,116,114,117,101,10,32,
+32,32,32,99,101,108,108,46,105,116,101,109,67,111,117,110,116,32,61,32,
+99,101,108,108,46,105,116,101,109,67,111,117,110,116,32,43,32,49,10,32,
+32,101,110,100,10,101,110,100,10,10,108,111,99,97,108,32,102,117,110,99,
+116,105,111,110,32,114,101,109,111,118,101,73,116,101,109,70,114,111,109,67,
+101,108,108,40,115,101,108,102,44,32,105,116,101,109,44,32,99,120,44,32,
+99,121,41,10,32,32,108,111,99,97,108,32,114,111,119,32,61,32,115,101,
+108,102,46,114,111,119,115,91,99,121,93,10,32,32,105,102,32,110,111,116,
32,114,111,119,32,111,114,32,110,111,116,32,114,111,119,91,99,120,93,32,
111,114,32,110,111,116,32,114,111,119,91,99,120,93,46,105,116,101,109,115,
91,105,116,101,109,93,32,116,104,101,110,32,114,101,116,117,114,110,32,102,
-97,108,115,101,32,101,110,100,13,10,13,10,32,32,32,32,108,111,99,97,
-108,32,99,101,108,108,32,61,32,114,111,119,91,99,120,93,13,10,32,32,
-32,32,99,101,108,108,46,105,116,101,109,115,91,105,116,101,109,93,32,61,
-32,110,105,108,13,10,32,32,32,32,99,101,108,108,46,105,116,101,109,67,
-111,117,110,116,32,61,32,99,101,108,108,46,105,116,101,109,67,111,117,110,
-116,32,45,32,49,13,10,32,32,32,32,105,102,32,99,101,108,108,46,105,
-116,101,109,67,111,117,110,116,32,61,61,32,48,32,116,104,101,110,13,10,
-32,32,32,32,32,32,32,32,115,101,108,102,46,110,111,110,69,109,112,116,
-121,67,101,108,108,115,91,99,101,108,108,93,32,61,32,110,105,108,13,10,
-32,32,32,32,101,110,100,13,10,32,32,32,32,114,101,116,117,114,110,32,
-116,114,117,101,13,10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,
-117,110,99,116,105,111,110,32,103,101,116,68,105,99,116,73,116,101,109,115,
-73,110,67,101,108,108,82,101,99,116,40,115,101,108,102,44,32,99,108,44,
-99,116,44,99,119,44,99,104,41,13,10,32,32,32,32,108,111,99,97,108,
-32,105,116,101,109,115,95,100,105,99,116,32,61,32,123,125,13,10,32,32,
-32,32,102,111,114,32,99,121,61,99,116,44,99,116,43,99,104,45,49,32,
-100,111,13,10,32,32,32,32,32,32,32,32,108,111,99,97,108,32,114,111,
-119,32,61,32,115,101,108,102,46,114,111,119,115,91,99,121,93,13,10,32,
-32,32,32,32,32,32,32,105,102,32,114,111,119,32,116,104,101,110,13,10,
-32,32,32,32,32,32,32,32,32,32,32,32,102,111,114,32,99,120,61,99,
-108,44,99,108,43,99,119,45,49,32,100,111,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,108,111,99,97,108,32,99,101,108,108,
-32,61,32,114,111,119,91,99,120,93,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,105,102,32,99,101,108,108,32,97,110,100,32,
-99,101,108,108,46,105,116,101,109,67,111,117,110,116,32,62,32,48,32,116,
-104,101,110,32,45,45,32,110,111,32,99,101,108,108,46,105,116,101,109,67,
-111,117,110,116,32,62,32,49,32,98,101,99,97,117,115,101,32,116,117,110,
-110,101,108,105,110,103,13,10,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,102,111,114,32,105,116,101,109,44,95,32,105,
-110,32,112,97,105,114,115,40,99,101,108,108,46,105,116,101,109,115,41,32,
-100,111,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,105,116,101,109,115,95,100,105,99,116,91,105,
-116,101,109,93,32,61,32,116,114,117,101,13,10,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,
-32,32,32,32,101,110,100,13,10,32,32,32,32,101,110,100,13,10,13,10,
-32,32,32,32,114,101,116,117,114,110,32,105,116,101,109,115,95,100,105,99,
-116,13,10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,
-116,105,111,110,32,103,101,116,67,101,108,108,115,84,111,117,99,104,101,100,
-66,121,83,101,103,109,101,110,116,40,115,101,108,102,44,32,120,49,44,121,
-49,44,120,50,44,121,50,41,13,10,13,10,32,32,32,32,108,111,99,97,
-108,32,99,101,108,108,115,44,32,99,101,108,108,115,76,101,110,44,32,118,
-105,115,105,116,101,100,32,61,32,123,125,44,32,48,44,32,123,125,13,10,
-13,10,32,32,32,32,103,114,105,100,95,116,114,97,118,101,114,115,101,40,
-115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,120,49,44,121,49,
-44,120,50,44,121,50,44,32,102,117,110,99,116,105,111,110,40,99,120,44,
-32,99,121,41,13,10,32,32,32,32,32,32,32,32,108,111,99,97,108,32,
-114,111,119,32,32,32,32,61,32,115,101,108,102,46,114,111,119,115,91,99,
-121,93,13,10,32,32,32,32,32,32,32,32,105,102,32,110,111,116,32,114,
-111,119,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,13,10,
-32,32,32,32,32,32,32,32,108,111,99,97,108,32,99,101,108,108,32,61,
-32,114,111,119,91,99,120,93,13,10,32,32,32,32,32,32,32,32,105,102,
-32,110,111,116,32,99,101,108,108,32,111,114,32,118,105,115,105,116,101,100,
-91,99,101,108,108,93,32,116,104,101,110,32,114,101,116,117,114,110,32,101,
-110,100,13,10,13,10,32,32,32,32,32,32,32,32,118,105,115,105,116,101,
-100,91,99,101,108,108,93,32,61,32,116,114,117,101,13,10,32,32,32,32,
-32,32,32,32,99,101,108,108,115,76,101,110,32,61,32,99,101,108,108,115,
-76,101,110,32,43,32,49,13,10,32,32,32,32,32,32,32,32,99,101,108,
-108,115,91,99,101,108,108,115,76,101,110,93,32,61,32,99,101,108,108,13,
-10,32,32,32,32,101,110,100,41,13,10,13,10,32,32,32,32,114,101,116,
-117,114,110,32,99,101,108,108,115,44,32,99,101,108,108,115,76,101,110,13,
-10,101,110,100,13,10,13,10,108,111,99,97,108,32,102,117,110,99,116,105,
-111,110,32,103,101,116,73,110,102,111,65,98,111,117,116,73,116,101,109,115,
-84,111,117,99,104,101,100,66,121,83,101,103,109,101,110,116,40,115,101,108,
-102,44,32,120,49,44,121,49,44,32,120,50,44,121,50,44,32,102,105,108,
-116,101,114,41,13,10,32,32,32,32,108,111,99,97,108,32,99,101,108,108,
-115,44,32,108,101,110,32,61,32,103,101,116,67,101,108,108,115,84,111,117,
-99,104,101,100,66,121,83,101,103,109,101,110,116,40,115,101,108,102,44,32,
-120,49,44,121,49,44,120,50,44,121,50,41,13,10,32,32,32,32,108,111,
-99,97,108,32,99,101,108,108,44,32,114,101,99,116,44,32,108,44,116,44,
-119,44,104,44,32,116,105,49,44,116,105,50,44,32,116,105,105,48,44,116,
-105,105,49,13,10,32,32,32,32,108,111,99,97,108,32,118,105,115,105,116,
-101,100,44,32,105,116,101,109,73,110,102,111,44,32,105,116,101,109,73,110,
-102,111,76,101,110,32,61,32,123,125,44,123,125,44,48,13,10,32,32,32,
-32,102,111,114,32,105,61,49,44,108,101,110,32,100,111,13,10,32,32,32,
-32,32,32,32,32,99,101,108,108,32,61,32,99,101,108,108,115,91,105,93,
-13,10,32,32,32,32,32,32,32,32,102,111,114,32,105,116,101,109,32,105,
-110,32,112,97,105,114,115,40,99,101,108,108,46,105,116,101,109,115,41,32,
-100,111,13,10,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,110,
-111,116,32,118,105,115,105,116,101,100,91,105,116,101,109,93,32,116,104,101,
-110,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,118,
-105,115,105,116,101,100,91,105,116,101,109,93,32,32,32,32,61,32,116,114,
-117,101,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-105,102,32,40,110,111,116,32,102,105,108,116,101,114,32,111,114,32,102,105,
-108,116,101,114,40,105,116,101,109,41,41,32,116,104,101,110,13,10,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,
-99,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
+97,108,115,101,32,101,110,100,10,10,32,32,108,111,99,97,108,32,99,101,
+108,108,32,61,32,114,111,119,91,99,120,93,10,32,32,99,101,108,108,46,
+105,116,101,109,115,91,105,116,101,109,93,32,61,32,110,105,108,10,32,32,
+99,101,108,108,46,105,116,101,109,67,111,117,110,116,32,61,32,99,101,108,
+108,46,105,116,101,109,67,111,117,110,116,32,45,32,49,10,32,32,105,102,
+32,99,101,108,108,46,105,116,101,109,67,111,117,110,116,32,61,61,32,48,
+32,116,104,101,110,10,32,32,32,32,115,101,108,102,46,110,111,110,69,109,
+112,116,121,67,101,108,108,115,91,99,101,108,108,93,32,61,32,110,105,108,
+10,32,32,101,110,100,10,32,32,114,101,116,117,114,110,32,116,114,117,101,
+10,101,110,100,10,10,108,111,99,97,108,32,102,117,110,99,116,105,111,110,
+32,103,101,116,68,105,99,116,73,116,101,109,115,73,110,67,101,108,108,82,
+101,99,116,40,115,101,108,102,44,32,99,108,44,99,116,44,99,119,44,99,
+104,41,10,32,32,108,111,99,97,108,32,105,116,101,109,115,95,100,105,99,
+116,32,61,32,123,125,10,32,32,102,111,114,32,99,121,61,99,116,44,99,
+116,43,99,104,45,49,32,100,111,10,32,32,32,32,108,111,99,97,108,32,
+114,111,119,32,61,32,115,101,108,102,46,114,111,119,115,91,99,121,93,10,
+32,32,32,32,105,102,32,114,111,119,32,116,104,101,110,10,32,32,32,32,
+32,32,102,111,114,32,99,120,61,99,108,44,99,108,43,99,119,45,49,32,
+100,111,10,32,32,32,32,32,32,32,32,108,111,99,97,108,32,99,101,108,
+108,32,61,32,114,111,119,91,99,120,93,10,32,32,32,32,32,32,32,32,
+105,102,32,99,101,108,108,32,97,110,100,32,99,101,108,108,46,105,116,101,
+109,67,111,117,110,116,32,62,32,48,32,116,104,101,110,32,45,45,32,110,
+111,32,99,101,108,108,46,105,116,101,109,67,111,117,110,116,32,62,32,49,
+32,98,101,99,97,117,115,101,32,116,117,110,110,101,108,105,110,103,10,32,
+32,32,32,32,32,32,32,32,32,102,111,114,32,105,116,101,109,44,95,32,
+105,110,32,112,97,105,114,115,40,99,101,108,108,46,105,116,101,109,115,41,
+32,100,111,10,32,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,
+115,95,100,105,99,116,91,105,116,101,109,93,32,61,32,116,114,117,101,10,
+32,32,32,32,32,32,32,32,32,32,101,110,100,10,32,32,32,32,32,32,
+32,32,101,110,100,10,32,32,32,32,32,32,101,110,100,10,32,32,32,32,
+101,110,100,10,32,32,101,110,100,10,10,32,32,114,101,116,117,114,110,32,
+105,116,101,109,115,95,100,105,99,116,10,101,110,100,10,10,108,111,99,97,
+108,32,102,117,110,99,116,105,111,110,32,103,101,116,67,101,108,108,115,84,
+111,117,99,104,101,100,66,121,83,101,103,109,101,110,116,40,115,101,108,102,
+44,32,120,49,44,121,49,44,120,50,44,121,50,41,10,10,32,32,108,111,
+99,97,108,32,99,101,108,108,115,44,32,99,101,108,108,115,76,101,110,44,
+32,118,105,115,105,116,101,100,32,61,32,123,125,44,32,48,44,32,123,125,
+10,10,32,32,103,114,105,100,95,116,114,97,118,101,114,115,101,40,115,101,
+108,102,46,99,101,108,108,83,105,122,101,44,32,120,49,44,121,49,44,120,
+50,44,121,50,44,32,102,117,110,99,116,105,111,110,40,99,120,44,32,99,
+121,41,10,32,32,32,32,108,111,99,97,108,32,114,111,119,32,32,61,32,
+115,101,108,102,46,114,111,119,115,91,99,121,93,10,32,32,32,32,105,102,
+32,110,111,116,32,114,111,119,32,116,104,101,110,32,114,101,116,117,114,110,
+32,101,110,100,10,32,32,32,32,108,111,99,97,108,32,99,101,108,108,32,
+61,32,114,111,119,91,99,120,93,10,32,32,32,32,105,102,32,110,111,116,
+32,99,101,108,108,32,111,114,32,118,105,115,105,116,101,100,91,99,101,108,
+108,93,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,10,10,
+32,32,32,32,118,105,115,105,116,101,100,91,99,101,108,108,93,32,61,32,
+116,114,117,101,10,32,32,32,32,99,101,108,108,115,76,101,110,32,61,32,
+99,101,108,108,115,76,101,110,32,43,32,49,10,32,32,32,32,99,101,108,
+108,115,91,99,101,108,108,115,76,101,110,93,32,61,32,99,101,108,108,10,
+32,32,101,110,100,41,10,10,32,32,114,101,116,117,114,110,32,99,101,108,
+108,115,44,32,99,101,108,108,115,76,101,110,10,101,110,100,10,10,108,111,
+99,97,108,32,102,117,110,99,116,105,111,110,32,103,101,116,73,110,102,111,
+65,98,111,117,116,73,116,101,109,115,84,111,117,99,104,101,100,66,121,83,
+101,103,109,101,110,116,40,115,101,108,102,44,32,120,49,44,121,49,44,32,
+120,50,44,121,50,44,32,102,105,108,116,101,114,41,10,32,32,108,111,99,
+97,108,32,99,101,108,108,115,44,32,108,101,110,32,61,32,103,101,116,67,
+101,108,108,115,84,111,117,99,104,101,100,66,121,83,101,103,109,101,110,116,
+40,115,101,108,102,44,32,120,49,44,121,49,44,120,50,44,121,50,41,10,
+32,32,108,111,99,97,108,32,99,101,108,108,44,32,114,101,99,116,44,32,
+108,44,116,44,119,44,104,44,32,116,105,49,44,116,105,50,44,32,116,105,
+105,48,44,116,105,105,49,10,32,32,108,111,99,97,108,32,118,105,115,105,
+116,101,100,44,32,105,116,101,109,73,110,102,111,44,32,105,116,101,109,73,
+110,102,111,76,101,110,32,61,32,123,125,44,123,125,44,48,10,32,32,102,
+111,114,32,105,61,49,44,108,101,110,32,100,111,10,32,32,32,32,99,101,
+108,108,32,61,32,99,101,108,108,115,91,105,93,10,32,32,32,32,102,111,
+114,32,105,116,101,109,32,105,110,32,112,97,105,114,115,40,99,101,108,108,
+46,105,116,101,109,115,41,32,100,111,10,32,32,32,32,32,32,105,102,32,
+110,111,116,32,118,105,115,105,116,101,100,91,105,116,101,109,93,32,116,104,
+101,110,10,32,32,32,32,32,32,32,32,118,105,115,105,116,101,100,91,105,
+116,101,109,93,32,32,61,32,116,114,117,101,10,32,32,32,32,32,32,32,
+32,105,102,32,40,110,111,116,32,102,105,108,116,101,114,32,111,114,32,102,
+105,108,116,101,114,40,105,116,101,109,41,41,32,116,104,101,110,10,32,32,
+32,32,32,32,32,32,32,32,114,101,99,116,32,32,32,32,32,32,32,32,
32,32,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,
-93,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,108,44,116,44,119,44,104,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,61,32,114,101,99,116,46,120,44,114,101,99,116,46,
-121,44,114,101,99,116,46,119,44,114,101,99,116,46,104,13,10,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,116,
-105,49,44,116,105,50,32,61,32,114,101,99,116,95,103,101,116,83,101,103,
-109,101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,73,110,100,105,
-99,101,115,40,108,44,116,44,119,44,104,44,32,120,49,44,121,49,44,32,
-120,50,44,121,50,44,32,48,44,32,49,41,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,116,105,49,
-32,97,110,100,32,40,40,48,32,60,32,116,105,49,32,97,110,100,32,116,
-105,49,32,60,32,49,41,32,111,114,32,40,48,32,60,32,116,105,50,32,
-97,110,100,32,116,105,50,32,60,32,49,41,41,32,116,104,101,110,13,10,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,45,45,32,116,104,101,32,115,111,114,116,105,110,103,32,105,
-115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,116,104,101,32,116,
-32,111,102,32,97,110,32,105,110,102,105,110,105,116,101,32,108,105,110,101,
-44,32,110,111,116,32,116,104,101,32,115,101,103,109,101,110,116,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,116,105,105,48,44,116,105,105,49,32,32,32,32,32,32,32,32,
-61,32,114,101,99,116,95,103,101,116,83,101,103,109,101,110,116,73,110,116,
-101,114,115,101,99,116,105,111,110,73,110,100,105,99,101,115,40,108,44,116,
-44,119,44,104,44,32,120,49,44,121,49,44,32,120,50,44,121,50,44,32,
-45,109,97,116,104,46,104,117,103,101,44,32,109,97,116,104,46,104,117,103,
-101,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,105,116,101,109,73,110,102,111,76,101,110,32,
-32,32,32,61,32,105,116,101,109,73,110,102,111,76,101,110,32,43,32,49,
-13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
+93,10,32,32,32,32,32,32,32,32,32,32,108,44,116,44,119,44,104,32,
+32,32,32,32,32,32,32,61,32,114,101,99,116,46,120,44,114,101,99,116,
+46,121,44,114,101,99,116,46,119,44,114,101,99,116,46,104,10,10,32,32,
+32,32,32,32,32,32,32,32,116,105,49,44,116,105,50,32,61,32,114,101,
+99,116,95,103,101,116,83,101,103,109,101,110,116,73,110,116,101,114,115,101,
+99,116,105,111,110,73,110,100,105,99,101,115,40,108,44,116,44,119,44,104,
+44,32,120,49,44,121,49,44,32,120,50,44,121,50,44,32,48,44,32,49,
+41,10,32,32,32,32,32,32,32,32,32,32,105,102,32,116,105,49,32,97,
+110,100,32,40,40,48,32,60,32,116,105,49,32,97,110,100,32,116,105,49,
+32,60,32,49,41,32,111,114,32,40,48,32,60,32,116,105,50,32,97,110,
+100,32,116,105,50,32,60,32,49,41,41,32,116,104,101,110,10,32,32,32,
+32,32,32,32,32,32,32,32,32,45,45,32,116,104,101,32,115,111,114,116,
+105,110,103,32,105,115,32,97,99,99,111,114,100,105,110,103,32,116,111,32,
+116,104,101,32,116,32,111,102,32,97,110,32,105,110,102,105,110,105,116,101,
+32,108,105,110,101,44,32,110,111,116,32,116,104,101,32,115,101,103,109,101,
+110,116,10,32,32,32,32,32,32,32,32,32,32,32,32,116,105,105,48,44,
+116,105,105,49,32,32,32,32,61,32,114,101,99,116,95,103,101,116,83,101,
+103,109,101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,73,110,100,
+105,99,101,115,40,108,44,116,44,119,44,104,44,32,120,49,44,121,49,44,
+32,120,50,44,121,50,44,32,45,109,97,116,104,46,104,117,103,101,44,32,
+109,97,116,104,46,104,117,103,101,41,10,32,32,32,32,32,32,32,32,32,
+32,32,32,105,116,101,109,73,110,102,111,76,101,110,32,32,61,32,105,116,
+101,109,73,110,102,111,76,101,110,32,43,32,49,10,32,32,32,32,32,32,
32,32,32,32,32,32,105,116,101,109,73,110,102,111,91,105,116,101,109,73,
110,102,111,76,101,110,93,32,61,32,123,105,116,101,109,32,61,32,105,116,
101,109,44,32,116,105,49,32,61,32,116,105,49,44,32,116,105,50,32,61,
32,116,105,50,44,32,119,101,105,103,104,116,32,61,32,109,105,110,40,116,
-105,105,48,44,116,105,105,49,41,125,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,
-32,32,32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,
-32,32,32,101,110,100,13,10,32,32,32,32,101,110,100,13,10,32,32,32,
-32,116,97,98,108,101,46,115,111,114,116,40,105,116,101,109,73,110,102,111,
-44,32,115,111,114,116,66,121,87,101,105,103,104,116,41,13,10,32,32,32,
-32,114,101,116,117,114,110,32,105,116,101,109,73,110,102,111,44,32,105,116,
-101,109,73,110,102,111,76,101,110,13,10,101,110,100,13,10,13,10,108,111,
-99,97,108,32,102,117,110,99,116,105,111,110,32,103,101,116,82,101,115,112,
-111,110,115,101,66,121,78,97,109,101,40,115,101,108,102,44,32,110,97,109,
-101,41,13,10,32,32,32,32,108,111,99,97,108,32,114,101,115,112,111,110,
-115,101,32,61,32,115,101,108,102,46,114,101,115,112,111,110,115,101,115,91,
-110,97,109,101,93,13,10,32,32,32,32,105,102,32,110,111,116,32,114,101,
-115,112,111,110,115,101,32,116,104,101,110,13,10,32,32,32,32,32,32,32,
-32,101,114,114,111,114,40,40,39,85,110,107,110,111,119,110,32,99,111,108,
-108,105,115,105,111,110,32,116,121,112,101,58,32,37,115,32,40,37,115,41,
-39,41,58,102,111,114,109,97,116,40,110,97,109,101,44,32,116,121,112,101,
-40,110,97,109,101,41,41,41,13,10,32,32,32,32,101,110,100,13,10,32,
-32,32,32,114,101,116,117,114,110,32,114,101,115,112,111,110,115,101,13,10,
-101,110,100,13,10,13,10,13,10,45,45,32,77,105,115,99,32,80,117,98,
-108,105,99,32,77,101,116,104,111,100,115,13,10,13,10,102,117,110,99,116,
-105,111,110,32,87,111,114,108,100,58,97,100,100,82,101,115,112,111,110,115,
-101,40,110,97,109,101,44,32,114,101,115,112,111,110,115,101,41,13,10,32,
-32,32,32,115,101,108,102,46,114,101,115,112,111,110,115,101,115,91,110,97,
-109,101,93,32,61,32,114,101,115,112,111,110,115,101,13,10,101,110,100,13,
-10,13,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,112,114,
-111,106,101,99,116,40,105,116,101,109,44,32,120,44,121,44,119,44,104,44,
-32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,116,101,
-114,41,13,10,32,32,32,32,97,115,115,101,114,116,73,115,82,101,99,116,
-40,120,44,121,44,119,44,104,41,13,10,13,10,32,32,32,32,103,111,97,
-108,88,32,61,32,103,111,97,108,88,32,111,114,32,120,13,10,32,32,32,
-32,103,111,97,108,89,32,61,32,103,111,97,108,89,32,111,114,32,121,13,
-10,32,32,32,32,102,105,108,116,101,114,32,61,32,102,105,108,116,101,114,
-32,111,114,32,100,101,102,97,117,108,116,70,105,108,116,101,114,13,10,13,
-10,32,32,32,32,108,111,99,97,108,32,99,111,108,108,105,115,105,111,110,
-115,44,32,108,101,110,32,61,32,123,125,44,32,48,13,10,13,10,32,32,
-32,32,108,111,99,97,108,32,118,105,115,105,116,101,100,32,61,32,123,125,
-13,10,32,32,32,32,105,102,32,105,116,101,109,32,126,61,32,110,105,108,
-32,116,104,101,110,32,118,105,115,105,116,101,100,91,105,116,101,109,93,32,
-61,32,116,114,117,101,32,101,110,100,13,10,13,10,32,32,32,32,45,45,
-32,84,104,105,115,32,99,111,117,108,100,32,112,114,111,98,97,98,108,121,
-32,98,101,32,100,111,110,101,32,119,105,116,104,32,108,101,115,115,32,99,
-101,108,108,115,32,117,115,105,110,103,32,97,32,112,111,108,121,103,111,110,
-32,114,97,115,116,101,114,32,111,118,101,114,32,116,104,101,32,99,101,108,
-108,115,32,105,110,115,116,101,97,100,32,111,102,32,97,13,10,32,32,32,
-32,45,45,32,98,111,117,110,100,105,110,103,32,114,101,99,116,32,111,102,
-32,116,104,101,32,119,104,111,108,101,32,109,111,118,101,109,101,110,116,46,
-32,67,111,110,100,105,116,105,111,110,97,108,32,116,111,32,98,117,105,108,
-100,105,110,103,32,97,32,113,117,101,114,121,80,111,108,121,103,111,110,32,
-109,101,116,104,111,100,13,10,32,32,32,32,108,111,99,97,108,32,116,108,
-44,32,116,116,32,61,32,109,105,110,40,103,111,97,108,88,44,32,120,41,
-44,32,32,32,32,32,32,32,32,32,32,32,32,32,109,105,110,40,103,111,
-97,108,89,44,32,121,41,13,10,32,32,32,32,108,111,99,97,108,32,116,
-114,44,32,116,98,32,61,32,109,97,120,40,103,111,97,108,88,32,43,32,
-119,44,32,120,43,119,41,44,32,109,97,120,40,103,111,97,108,89,32,43,
-32,104,44,32,121,43,104,41,13,10,32,32,32,32,108,111,99,97,108,32,
-116,119,44,32,116,104,32,61,32,116,114,45,116,108,44,32,116,98,45,116,
-116,13,10,13,10,32,32,32,32,108,111,99,97,108,32,99,108,44,99,116,
-44,99,119,44,99,104,32,61,32,103,114,105,100,95,116,111,67,101,108,108,
-82,101,99,116,40,115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,
-116,108,44,116,116,44,116,119,44,116,104,41,13,10,13,10,32,32,32,32,
-108,111,99,97,108,32,100,105,99,116,73,116,101,109,115,73,110,67,101,108,
-108,82,101,99,116,32,61,32,103,101,116,68,105,99,116,73,116,101,109,115,
-73,110,67,101,108,108,82,101,99,116,40,115,101,108,102,44,32,99,108,44,
-99,116,44,99,119,44,99,104,41,13,10,13,10,32,32,32,32,102,111,114,
-32,111,116,104,101,114,44,95,32,105,110,32,112,97,105,114,115,40,100,105,
-99,116,73,116,101,109,115,73,110,67,101,108,108,82,101,99,116,41,32,100,
-111,13,10,32,32,32,32,32,32,32,32,105,102,32,110,111,116,32,118,105,
-115,105,116,101,100,91,111,116,104,101,114,93,32,116,104,101,110,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,118,105,115,105,116,101,100,91,111,
-116,104,101,114,93,32,61,32,116,114,117,101,13,10,13,10,32,32,32,32,
-32,32,32,32,32,32,32,32,108,111,99,97,108,32,114,101,115,112,111,110,
-115,101,78,97,109,101,32,61,32,102,105,108,116,101,114,40,105,116,101,109,
-44,32,111,116,104,101,114,41,13,10,32,32,32,32,32,32,32,32,32,32,
-32,32,105,102,32,114,101,115,112,111,110,115,101,78,97,109,101,32,116,104,
-101,110,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-108,111,99,97,108,32,111,120,44,111,121,44,111,119,44,111,104,32,32,32,
-32,32,61,32,115,101,108,102,58,103,101,116,82,101,99,116,40,111,116,104,
-101,114,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,108,111,99,97,108,32,99,111,108,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,100,101,
-116,101,99,116,67,111,108,108,105,115,105,111,110,40,120,44,121,44,119,44,
-104,44,32,111,120,44,111,121,44,111,119,44,111,104,44,32,103,111,97,108,
-88,44,32,103,111,97,108,89,41,13,10,13,10,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,105,102,32,99,111,108,32,116,104,101,110,
-13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,99,111,108,46,111,116,104,101,114,32,61,32,111,116,104,101,114,13,
-10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,99,111,108,46,105,116,101,109,32,32,61,32,105,116,101,109,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,
-111,108,46,116,121,112,101,32,32,61,32,114,101,115,112,111,110,115,101,78,
-97,109,101,13,10,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,108,101,110,32,61,32,108,101,110,32,43,32,49,
-13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,99,111,108,108,105,115,105,111,110,115,91,108,101,110,93,32,61,32,
-99,111,108,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,101,110,100,13,10,32,32,32,32,32,32,32,32,32,32,32,32,101,110,
-100,13,10,32,32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,
-101,110,100,13,10,13,10,32,32,32,32,116,97,98,108,101,46,115,111,114,
-116,40,99,111,108,108,105,115,105,111,110,115,44,32,115,111,114,116,66,121,
-84,105,65,110,100,68,105,115,116,97,110,99,101,41,13,10,13,10,32,32,
-32,32,114,101,116,117,114,110,32,99,111,108,108,105,115,105,111,110,115,44,
-32,108,101,110,13,10,101,110,100,13,10,13,10,102,117,110,99,116,105,111,
-110,32,87,111,114,108,100,58,99,111,117,110,116,67,101,108,108,115,40,41,
-13,10,32,32,32,32,108,111,99,97,108,32,99,111,117,110,116,32,61,32,
-48,13,10,32,32,32,32,102,111,114,32,95,44,114,111,119,32,105,110,32,
-112,97,105,114,115,40,115,101,108,102,46,114,111,119,115,41,32,100,111,13,
-10,32,32,32,32,32,32,32,32,102,111,114,32,95,44,95,32,105,110,32,
-112,97,105,114,115,40,114,111,119,41,32,100,111,13,10,32,32,32,32,32,
-32,32,32,32,32,32,32,99,111,117,110,116,32,61,32,99,111,117,110,116,
-32,43,32,49,13,10,32,32,32,32,32,32,32,32,101,110,100,13,10,32,
-32,32,32,101,110,100,13,10,32,32,32,32,114,101,116,117,114,110,32,99,
-111,117,110,116,13,10,101,110,100,13,10,13,10,102,117,110,99,116,105,111,
-110,32,87,111,114,108,100,58,104,97,115,73,116,101,109,40,105,116,101,109,
-41,13,10,32,32,32,32,114,101,116,117,114,110,32,110,111,116,32,110,111,
-116,32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,93,13,10,
-101,110,100,13,10,13,10,102,117,110,99,116,105,111,110,32,87,111,114,108,
-100,58,103,101,116,73,116,101,109,115,40,41,13,10,32,32,32,32,108,111,
-99,97,108,32,105,116,101,109,115,44,32,108,101,110,32,61,32,123,125,44,
-32,48,13,10,32,32,32,32,102,111,114,32,105,116,101,109,44,95,32,105,
-110,32,112,97,105,114,115,40,115,101,108,102,46,114,101,99,116,115,41,32,
-100,111,13,10,32,32,32,32,32,32,32,32,108,101,110,32,61,32,108,101,
-110,32,43,32,49,13,10,32,32,32,32,32,32,32,32,105,116,101,109,115,
-91,108,101,110,93,32,61,32,105,116,101,109,13,10,32,32,32,32,101,110,
-100,13,10,32,32,32,32,114,101,116,117,114,110,32,105,116,101,109,115,44,
-32,108,101,110,13,10,101,110,100,13,10,13,10,102,117,110,99,116,105,111,
-110,32,87,111,114,108,100,58,99,111,117,110,116,73,116,101,109,115,40,41,
-13,10,32,32,32,32,108,111,99,97,108,32,108,101,110,32,61,32,48,13,
-10,32,32,32,32,102,111,114,32,95,32,105,110,32,112,97,105,114,115,40,
-115,101,108,102,46,114,101,99,116,115,41,32,100,111,32,108,101,110,32,61,
-32,108,101,110,32,43,32,49,32,101,110,100,13,10,32,32,32,32,114,101,
-116,117,114,110,32,108,101,110,13,10,101,110,100,13,10,13,10,102,117,110,
-99,116,105,111,110,32,87,111,114,108,100,58,103,101,116,82,101,99,116,40,
-105,116,101,109,41,13,10,32,32,32,32,108,111,99,97,108,32,114,101,99,
-116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,93,
-13,10,32,32,32,32,105,102,32,110,111,116,32,114,101,99,116,32,116,104,
-101,110,13,10,32,32,32,32,32,32,32,32,101,114,114,111,114,40,39,73,
-116,101,109,32,39,32,46,46,32,116,111,115,116,114,105,110,103,40,105,116,
-101,109,41,32,46,46,32,39,32,109,117,115,116,32,98,101,32,97,100,100,
-101,100,32,116,111,32,116,104,101,32,119,111,114,108,100,32,98,101,102,111,
-114,101,32,103,101,116,116,105,110,103,32,105,116,115,32,114,101,99,116,46,
-32,85,115,101,32,119,111,114,108,100,58,97,100,100,40,105,116,101,109,44,
-32,120,44,121,44,119,44,104,41,32,116,111,32,97,100,100,32,105,116,32,
-102,105,114,115,116,46,39,41,13,10,32,32,32,32,101,110,100,13,10,32,
-32,32,32,114,101,116,117,114,110,32,114,101,99,116,46,120,44,32,114,101,
-99,116,46,121,44,32,114,101,99,116,46,119,44,32,114,101,99,116,46,104,
-13,10,101,110,100,13,10,13,10,102,117,110,99,116,105,111,110,32,87,111,
-114,108,100,58,116,111,87,111,114,108,100,40,99,120,44,32,99,121,41,13,
-10,32,32,32,32,114,101,116,117,114,110,32,103,114,105,100,95,116,111,87,
-111,114,108,100,40,115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,
-99,120,44,32,99,121,41,13,10,101,110,100,13,10,13,10,102,117,110,99,
-116,105,111,110,32,87,111,114,108,100,58,116,111,67,101,108,108,40,120,44,
-121,41,13,10,32,32,32,32,114,101,116,117,114,110,32,103,114,105,100,95,
-116,111,67,101,108,108,40,115,101,108,102,46,99,101,108,108,83,105,122,101,
-44,32,120,44,32,121,41,13,10,101,110,100,13,10,13,10,13,10,45,45,
-45,32,81,117,101,114,121,32,109,101,116,104,111,100,115,13,10,13,10,102,
-117,110,99,116,105,111,110,32,87,111,114,108,100,58,113,117,101,114,121,82,
-101,99,116,40,120,44,121,44,119,44,104,44,32,102,105,108,116,101,114,41,
-13,10,13,10,32,32,32,32,97,115,115,101,114,116,73,115,82,101,99,116,
-40,120,44,121,44,119,44,104,41,13,10,13,10,32,32,32,32,108,111,99,
-97,108,32,99,108,44,99,116,44,99,119,44,99,104,32,61,32,103,114,105,
-100,95,116,111,67,101,108,108,82,101,99,116,40,115,101,108,102,46,99,101,
-108,108,83,105,122,101,44,32,120,44,121,44,119,44,104,41,13,10,32,32,
-32,32,108,111,99,97,108,32,100,105,99,116,73,116,101,109,115,73,110,67,
-101,108,108,82,101,99,116,32,61,32,103,101,116,68,105,99,116,73,116,101,
-109,115,73,110,67,101,108,108,82,101,99,116,40,115,101,108,102,44,32,99,
-108,44,99,116,44,99,119,44,99,104,41,13,10,13,10,32,32,32,32,108,
-111,99,97,108,32,105,116,101,109,115,44,32,108,101,110,32,61,32,123,125,
-44,32,48,13,10,13,10,32,32,32,32,108,111,99,97,108,32,114,101,99,
-116,13,10,32,32,32,32,102,111,114,32,105,116,101,109,44,95,32,105,110,
-32,112,97,105,114,115,40,100,105,99,116,73,116,101,109,115,73,110,67,101,
-108,108,82,101,99,116,41,32,100,111,13,10,32,32,32,32,32,32,32,32,
-114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,116,
-101,109,93,13,10,32,32,32,32,32,32,32,32,105,102,32,40,110,111,116,
-32,102,105,108,116,101,114,32,111,114,32,102,105,108,116,101,114,40,105,116,
-101,109,41,41,13,10,32,32,32,32,32,32,32,32,97,110,100,32,114,101,
-99,116,95,105,115,73,110,116,101,114,115,101,99,116,105,110,103,40,120,44,
-121,44,119,44,104,44,32,114,101,99,116,46,120,44,32,114,101,99,116,46,
-121,44,32,114,101,99,116,46,119,44,32,114,101,99,116,46,104,41,13,10,
-32,32,32,32,32,32,32,32,116,104,101,110,13,10,32,32,32,32,32,32,
-32,32,32,32,32,32,108,101,110,32,61,32,108,101,110,32,43,32,49,13,
-10,32,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,115,91,108,
-101,110,93,32,61,32,105,116,101,109,13,10,32,32,32,32,32,32,32,32,
-101,110,100,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,
-114,101,116,117,114,110,32,105,116,101,109,115,44,32,108,101,110,13,10,101,
-110,100,13,10,13,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,
-58,113,117,101,114,121,80,111,105,110,116,40,120,44,121,44,32,102,105,108,
-116,101,114,41,13,10,32,32,32,32,108,111,99,97,108,32,99,120,44,99,
-121,32,61,32,115,101,108,102,58,116,111,67,101,108,108,40,120,44,121,41,
-13,10,32,32,32,32,108,111,99,97,108,32,100,105,99,116,73,116,101,109,
-115,73,110,67,101,108,108,82,101,99,116,32,61,32,103,101,116,68,105,99,
-116,73,116,101,109,115,73,110,67,101,108,108,82,101,99,116,40,115,101,108,
-102,44,32,99,120,44,99,121,44,49,44,49,41,13,10,13,10,32,32,32,
-32,108,111,99,97,108,32,105,116,101,109,115,44,32,108,101,110,32,61,32,
-123,125,44,32,48,13,10,13,10,32,32,32,32,108,111,99,97,108,32,114,
-101,99,116,13,10,32,32,32,32,102,111,114,32,105,116,101,109,44,95,32,
+105,105,48,44,116,105,105,49,41,125,10,32,32,32,32,32,32,32,32,32,
+32,101,110,100,10,32,32,32,32,32,32,32,32,101,110,100,10,32,32,32,
+32,32,32,101,110,100,10,32,32,32,32,101,110,100,10,32,32,101,110,100,
+10,32,32,116,97,98,108,101,46,115,111,114,116,40,105,116,101,109,73,110,
+102,111,44,32,115,111,114,116,66,121,87,101,105,103,104,116,41,10,32,32,
+114,101,116,117,114,110,32,105,116,101,109,73,110,102,111,44,32,105,116,101,
+109,73,110,102,111,76,101,110,10,101,110,100,10,10,108,111,99,97,108,32,
+102,117,110,99,116,105,111,110,32,103,101,116,82,101,115,112,111,110,115,101,
+66,121,78,97,109,101,40,115,101,108,102,44,32,110,97,109,101,41,10,32,
+32,108,111,99,97,108,32,114,101,115,112,111,110,115,101,32,61,32,115,101,
+108,102,46,114,101,115,112,111,110,115,101,115,91,110,97,109,101,93,10,32,
+32,105,102,32,110,111,116,32,114,101,115,112,111,110,115,101,32,116,104,101,
+110,10,32,32,32,32,101,114,114,111,114,40,40,39,85,110,107,110,111,119,
+110,32,99,111,108,108,105,115,105,111,110,32,116,121,112,101,58,32,37,115,
+32,40,37,115,41,39,41,58,102,111,114,109,97,116,40,110,97,109,101,44,
+32,116,121,112,101,40,110,97,109,101,41,41,41,10,32,32,101,110,100,10,
+32,32,114,101,116,117,114,110,32,114,101,115,112,111,110,115,101,10,101,110,
+100,10,10,10,45,45,32,77,105,115,99,32,80,117,98,108,105,99,32,77,
+101,116,104,111,100,115,10,10,102,117,110,99,116,105,111,110,32,87,111,114,
+108,100,58,97,100,100,82,101,115,112,111,110,115,101,40,110,97,109,101,44,
+32,114,101,115,112,111,110,115,101,41,10,32,32,115,101,108,102,46,114,101,
+115,112,111,110,115,101,115,91,110,97,109,101,93,32,61,32,114,101,115,112,
+111,110,115,101,10,101,110,100,10,10,102,117,110,99,116,105,111,110,32,87,
+111,114,108,100,58,112,114,111,106,101,99,116,40,105,116,101,109,44,32,120,
+44,121,44,119,44,104,44,32,103,111,97,108,88,44,32,103,111,97,108,89,
+44,32,102,105,108,116,101,114,41,10,32,32,97,115,115,101,114,116,73,115,
+82,101,99,116,40,120,44,121,44,119,44,104,41,10,10,32,32,103,111,97,
+108,88,32,61,32,103,111,97,108,88,32,111,114,32,120,10,32,32,103,111,
+97,108,89,32,61,32,103,111,97,108,89,32,111,114,32,121,10,32,32,102,
+105,108,116,101,114,32,32,61,32,102,105,108,116,101,114,32,32,111,114,32,
+100,101,102,97,117,108,116,70,105,108,116,101,114,10,10,32,32,108,111,99,
+97,108,32,99,111,108,108,105,115,105,111,110,115,44,32,108,101,110,32,61,
+32,123,125,44,32,48,10,10,32,32,108,111,99,97,108,32,118,105,115,105,
+116,101,100,32,61,32,123,125,10,32,32,105,102,32,105,116,101,109,32,126,
+61,32,110,105,108,32,116,104,101,110,32,118,105,115,105,116,101,100,91,105,
+116,101,109,93,32,61,32,116,114,117,101,32,101,110,100,10,10,32,32,45,
+45,32,84,104,105,115,32,99,111,117,108,100,32,112,114,111,98,97,98,108,
+121,32,98,101,32,100,111,110,101,32,119,105,116,104,32,108,101,115,115,32,
+99,101,108,108,115,32,117,115,105,110,103,32,97,32,112,111,108,121,103,111,
+110,32,114,97,115,116,101,114,32,111,118,101,114,32,116,104,101,32,99,101,
+108,108,115,32,105,110,115,116,101,97,100,32,111,102,32,97,10,32,32,45,
+45,32,98,111,117,110,100,105,110,103,32,114,101,99,116,32,111,102,32,116,
+104,101,32,119,104,111,108,101,32,109,111,118,101,109,101,110,116,46,32,67,
+111,110,100,105,116,105,111,110,97,108,32,116,111,32,98,117,105,108,100,105,
+110,103,32,97,32,113,117,101,114,121,80,111,108,121,103,111,110,32,109,101,
+116,104,111,100,10,32,32,108,111,99,97,108,32,116,108,44,32,116,116,32,
+61,32,109,105,110,40,103,111,97,108,88,44,32,120,41,44,32,32,32,32,
+32,32,32,109,105,110,40,103,111,97,108,89,44,32,121,41,10,32,32,108,
+111,99,97,108,32,116,114,44,32,116,98,32,61,32,109,97,120,40,103,111,
+97,108,88,32,43,32,119,44,32,120,43,119,41,44,32,109,97,120,40,103,
+111,97,108,89,32,43,32,104,44,32,121,43,104,41,10,32,32,108,111,99,
+97,108,32,116,119,44,32,116,104,32,61,32,116,114,45,116,108,44,32,116,
+98,45,116,116,10,10,32,32,108,111,99,97,108,32,99,108,44,99,116,44,
+99,119,44,99,104,32,61,32,103,114,105,100,95,116,111,67,101,108,108,82,
+101,99,116,40,115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,116,
+108,44,116,116,44,116,119,44,116,104,41,10,10,32,32,108,111,99,97,108,
+32,100,105,99,116,73,116,101,109,115,73,110,67,101,108,108,82,101,99,116,
+32,61,32,103,101,116,68,105,99,116,73,116,101,109,115,73,110,67,101,108,
+108,82,101,99,116,40,115,101,108,102,44,32,99,108,44,99,116,44,99,119,
+44,99,104,41,10,10,32,32,102,111,114,32,111,116,104,101,114,44,95,32,
105,110,32,112,97,105,114,115,40,100,105,99,116,73,116,101,109,115,73,110,
-67,101,108,108,82,101,99,116,41,32,100,111,13,10,32,32,32,32,32,32,
-32,32,114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,
-105,116,101,109,93,13,10,32,32,32,32,32,32,32,32,105,102,32,40,110,
-111,116,32,102,105,108,116,101,114,32,111,114,32,102,105,108,116,101,114,40,
-105,116,101,109,41,41,13,10,32,32,32,32,32,32,32,32,97,110,100,32,
-114,101,99,116,95,99,111,110,116,97,105,110,115,80,111,105,110,116,40,114,
-101,99,116,46,120,44,32,114,101,99,116,46,121,44,32,114,101,99,116,46,
-119,44,32,114,101,99,116,46,104,44,32,120,44,32,121,41,13,10,32,32,
-32,32,32,32,32,32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,108,101,110,32,61,32,108,101,110,32,43,32,49,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,115,91,108,101,110,
-93,32,61,32,105,116,101,109,13,10,32,32,32,32,32,32,32,32,101,110,
-100,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,114,101,
-116,117,114,110,32,105,116,101,109,115,44,32,108,101,110,13,10,101,110,100,
-13,10,13,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,113,
-117,101,114,121,83,101,103,109,101,110,116,40,120,49,44,32,121,49,44,32,
-120,50,44,32,121,50,44,32,102,105,108,116,101,114,41,13,10,32,32,32,
-32,108,111,99,97,108,32,105,116,101,109,73,110,102,111,44,32,108,101,110,
-32,61,32,103,101,116,73,110,102,111,65,98,111,117,116,73,116,101,109,115,
-84,111,117,99,104,101,100,66,121,83,101,103,109,101,110,116,40,115,101,108,
-102,44,32,120,49,44,32,121,49,44,32,120,50,44,32,121,50,44,32,102,
-105,108,116,101,114,41,13,10,32,32,32,32,108,111,99,97,108,32,105,116,
-101,109,115,32,61,32,123,125,13,10,32,32,32,32,102,111,114,32,105,61,
-49,44,32,108,101,110,32,100,111,13,10,32,32,32,32,32,32,32,32,105,
-116,101,109,115,91,105,93,32,61,32,105,116,101,109,73,110,102,111,91,105,
-93,46,105,116,101,109,13,10,32,32,32,32,101,110,100,13,10,32,32,32,
-32,114,101,116,117,114,110,32,105,116,101,109,115,44,32,108,101,110,13,10,
-101,110,100,13,10,13,10,102,117,110,99,116,105,111,110,32,87,111,114,108,
-100,58,113,117,101,114,121,83,101,103,109,101,110,116,87,105,116,104,67,111,
-111,114,100,115,40,120,49,44,32,121,49,44,32,120,50,44,32,121,50,44,
-32,102,105,108,116,101,114,41,13,10,32,32,32,32,108,111,99,97,108,32,
-105,116,101,109,73,110,102,111,44,32,108,101,110,32,61,32,103,101,116,73,
-110,102,111,65,98,111,117,116,73,116,101,109,115,84,111,117,99,104,101,100,
-66,121,83,101,103,109,101,110,116,40,115,101,108,102,44,32,120,49,44,32,
-121,49,44,32,120,50,44,32,121,50,44,32,102,105,108,116,101,114,41,13,
-10,32,32,32,32,108,111,99,97,108,32,100,120,44,32,100,121,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,61,32,120,50,45,120,49,
-44,32,121,50,45,121,49,13,10,32,32,32,32,108,111,99,97,108,32,105,
-110,102,111,44,32,116,105,49,44,32,116,105,50,13,10,32,32,32,32,102,
-111,114,32,105,61,49,44,32,108,101,110,32,100,111,13,10,32,32,32,32,
-32,32,32,32,105,110,102,111,32,61,32,105,116,101,109,73,110,102,111,91,
-105,93,13,10,32,32,32,32,32,32,32,32,116,105,49,32,32,61,32,105,
-110,102,111,46,116,105,49,13,10,32,32,32,32,32,32,32,32,116,105,50,
-32,32,61,32,105,110,102,111,46,116,105,50,13,10,13,10,32,32,32,32,
-32,32,32,32,105,110,102,111,46,119,101,105,103,104,116,32,61,32,110,105,
-108,13,10,32,32,32,32,32,32,32,32,105,110,102,111,46,120,49,32,32,
-32,32,32,61,32,120,49,32,43,32,100,120,32,42,32,116,105,49,13,10,
-32,32,32,32,32,32,32,32,105,110,102,111,46,121,49,32,32,32,32,32,
-61,32,121,49,32,43,32,100,121,32,42,32,116,105,49,13,10,32,32,32,
-32,32,32,32,32,105,110,102,111,46,120,50,32,32,32,32,32,61,32,120,
-49,32,43,32,100,120,32,42,32,116,105,50,13,10,32,32,32,32,32,32,
-32,32,105,110,102,111,46,121,50,32,32,32,32,32,61,32,121,49,32,43,
-32,100,121,32,42,32,116,105,50,13,10,32,32,32,32,101,110,100,13,10,
-32,32,32,32,114,101,116,117,114,110,32,105,116,101,109,73,110,102,111,44,
-32,108,101,110,13,10,101,110,100,13,10,13,10,45,45,45,32,77,97,105,
-110,32,109,101,116,104,111,100,115,13,10,13,10,102,117,110,99,116,105,111,
-110,32,87,111,114,108,100,58,97,100,100,40,105,116,101,109,44,32,120,44,
-121,44,119,44,104,41,13,10,32,32,32,32,108,111,99,97,108,32,114,101,
-99,116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,
-93,13,10,32,32,32,32,105,102,32,114,101,99,116,32,116,104,101,110,13,
-10,32,32,32,32,32,32,32,32,101,114,114,111,114,40,39,73,116,101,109,
-32,39,32,46,46,32,116,111,115,116,114,105,110,103,40,105,116,101,109,41,
-32,46,46,32,39,32,97,100,100,101,100,32,116,111,32,116,104,101,32,119,
-111,114,108,100,32,116,119,105,99,101,46,39,41,13,10,32,32,32,32,101,
-110,100,13,10,32,32,32,32,97,115,115,101,114,116,73,115,82,101,99,116,
-40,120,44,121,44,119,44,104,41,13,10,13,10,32,32,32,32,115,101,108,
-102,46,114,101,99,116,115,91,105,116,101,109,93,32,61,32,123,120,61,120,
-44,121,61,121,44,119,61,119,44,104,61,104,125,13,10,13,10,32,32,32,
+67,101,108,108,82,101,99,116,41,32,100,111,10,32,32,32,32,105,102,32,
+110,111,116,32,118,105,115,105,116,101,100,91,111,116,104,101,114,93,32,116,
+104,101,110,10,32,32,32,32,32,32,118,105,115,105,116,101,100,91,111,116,
+104,101,114,93,32,61,32,116,114,117,101,10,10,32,32,32,32,32,32,108,
+111,99,97,108,32,114,101,115,112,111,110,115,101,78,97,109,101,32,61,32,
+102,105,108,116,101,114,40,105,116,101,109,44,32,111,116,104,101,114,41,10,
+32,32,32,32,32,32,105,102,32,114,101,115,112,111,110,115,101,78,97,109,
+101,32,116,104,101,110,10,32,32,32,32,32,32,32,32,108,111,99,97,108,
+32,111,120,44,111,121,44,111,119,44,111,104,32,32,32,61,32,115,101,108,
+102,58,103,101,116,82,101,99,116,40,111,116,104,101,114,41,10,32,32,32,
+32,32,32,32,32,108,111,99,97,108,32,99,111,108,32,32,32,32,32,32,
+32,32,32,32,32,61,32,114,101,99,116,95,100,101,116,101,99,116,67,111,
+108,108,105,115,105,111,110,40,120,44,121,44,119,44,104,44,32,111,120,44,
+111,121,44,111,119,44,111,104,44,32,103,111,97,108,88,44,32,103,111,97,
+108,89,41,10,10,32,32,32,32,32,32,32,32,105,102,32,99,111,108,32,
+116,104,101,110,10,32,32,32,32,32,32,32,32,32,32,99,111,108,46,111,
+116,104,101,114,32,32,32,32,61,32,111,116,104,101,114,10,32,32,32,32,
+32,32,32,32,32,32,99,111,108,46,105,116,101,109,32,32,32,32,32,61,
+32,105,116,101,109,10,32,32,32,32,32,32,32,32,32,32,99,111,108,46,
+116,121,112,101,32,32,32,32,32,61,32,114,101,115,112,111,110,115,101,78,
+97,109,101,10,10,32,32,32,32,32,32,32,32,32,32,108,101,110,32,61,
+32,108,101,110,32,43,32,49,10,32,32,32,32,32,32,32,32,32,32,99,
+111,108,108,105,115,105,111,110,115,91,108,101,110,93,32,61,32,99,111,108,
+10,32,32,32,32,32,32,32,32,101,110,100,10,32,32,32,32,32,32,101,
+110,100,10,32,32,32,32,101,110,100,10,32,32,101,110,100,10,10,32,32,
+116,97,98,108,101,46,115,111,114,116,40,99,111,108,108,105,115,105,111,110,
+115,44,32,115,111,114,116,66,121,84,105,65,110,100,68,105,115,116,97,110,
+99,101,41,10,10,32,32,114,101,116,117,114,110,32,99,111,108,108,105,115,
+105,111,110,115,44,32,108,101,110,10,101,110,100,10,10,102,117,110,99,116,
+105,111,110,32,87,111,114,108,100,58,99,111,117,110,116,67,101,108,108,115,
+40,41,10,32,32,108,111,99,97,108,32,99,111,117,110,116,32,61,32,48,
+10,32,32,102,111,114,32,95,44,114,111,119,32,105,110,32,112,97,105,114,
+115,40,115,101,108,102,46,114,111,119,115,41,32,100,111,10,32,32,32,32,
+102,111,114,32,95,44,95,32,105,110,32,112,97,105,114,115,40,114,111,119,
+41,32,100,111,10,32,32,32,32,32,32,99,111,117,110,116,32,61,32,99,
+111,117,110,116,32,43,32,49,10,32,32,32,32,101,110,100,10,32,32,101,
+110,100,10,32,32,114,101,116,117,114,110,32,99,111,117,110,116,10,101,110,
+100,10,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,104,97,
+115,73,116,101,109,40,105,116,101,109,41,10,32,32,114,101,116,117,114,110,
+32,110,111,116,32,110,111,116,32,115,101,108,102,46,114,101,99,116,115,91,
+105,116,101,109,93,10,101,110,100,10,10,102,117,110,99,116,105,111,110,32,
+87,111,114,108,100,58,103,101,116,73,116,101,109,115,40,41,10,32,32,108,
+111,99,97,108,32,105,116,101,109,115,44,32,108,101,110,32,61,32,123,125,
+44,32,48,10,32,32,102,111,114,32,105,116,101,109,44,95,32,105,110,32,
+112,97,105,114,115,40,115,101,108,102,46,114,101,99,116,115,41,32,100,111,
+10,32,32,32,32,108,101,110,32,61,32,108,101,110,32,43,32,49,10,32,
+32,32,32,105,116,101,109,115,91,108,101,110,93,32,61,32,105,116,101,109,
+10,32,32,101,110,100,10,32,32,114,101,116,117,114,110,32,105,116,101,109,
+115,44,32,108,101,110,10,101,110,100,10,10,102,117,110,99,116,105,111,110,
+32,87,111,114,108,100,58,99,111,117,110,116,73,116,101,109,115,40,41,10,
+32,32,108,111,99,97,108,32,108,101,110,32,61,32,48,10,32,32,102,111,
+114,32,95,32,105,110,32,112,97,105,114,115,40,115,101,108,102,46,114,101,
+99,116,115,41,32,100,111,32,108,101,110,32,61,32,108,101,110,32,43,32,
+49,32,101,110,100,10,32,32,114,101,116,117,114,110,32,108,101,110,10,101,
+110,100,10,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,103,
+101,116,82,101,99,116,40,105,116,101,109,41,10,32,32,108,111,99,97,108,
+32,114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,
+116,101,109,93,10,32,32,105,102,32,110,111,116,32,114,101,99,116,32,116,
+104,101,110,10,32,32,32,32,101,114,114,111,114,40,39,73,116,101,109,32,
+39,32,46,46,32,116,111,115,116,114,105,110,103,40,105,116,101,109,41,32,
+46,46,32,39,32,109,117,115,116,32,98,101,32,97,100,100,101,100,32,116,
+111,32,116,104,101,32,119,111,114,108,100,32,98,101,102,111,114,101,32,103,
+101,116,116,105,110,103,32,105,116,115,32,114,101,99,116,46,32,85,115,101,
+32,119,111,114,108,100,58,97,100,100,40,105,116,101,109,44,32,120,44,121,
+44,119,44,104,41,32,116,111,32,97,100,100,32,105,116,32,102,105,114,115,
+116,46,39,41,10,32,32,101,110,100,10,32,32,114,101,116,117,114,110,32,
+114,101,99,116,46,120,44,32,114,101,99,116,46,121,44,32,114,101,99,116,
+46,119,44,32,114,101,99,116,46,104,10,101,110,100,10,10,102,117,110,99,
+116,105,111,110,32,87,111,114,108,100,58,116,111,87,111,114,108,100,40,99,
+120,44,32,99,121,41,10,32,32,114,101,116,117,114,110,32,103,114,105,100,
+95,116,111,87,111,114,108,100,40,115,101,108,102,46,99,101,108,108,83,105,
+122,101,44,32,99,120,44,32,99,121,41,10,101,110,100,10,10,102,117,110,
+99,116,105,111,110,32,87,111,114,108,100,58,116,111,67,101,108,108,40,120,
+44,121,41,10,32,32,114,101,116,117,114,110,32,103,114,105,100,95,116,111,
+67,101,108,108,40,115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,
+120,44,32,121,41,10,101,110,100,10,10,10,45,45,45,32,81,117,101,114,
+121,32,109,101,116,104,111,100,115,10,10,102,117,110,99,116,105,111,110,32,
+87,111,114,108,100,58,113,117,101,114,121,82,101,99,116,40,120,44,121,44,
+119,44,104,44,32,102,105,108,116,101,114,41,10,10,32,32,97,115,115,101,
+114,116,73,115,82,101,99,116,40,120,44,121,44,119,44,104,41,10,10,32,
32,108,111,99,97,108,32,99,108,44,99,116,44,99,119,44,99,104,32,61,
32,103,114,105,100,95,116,111,67,101,108,108,82,101,99,116,40,115,101,108,
102,46,99,101,108,108,83,105,122,101,44,32,120,44,121,44,119,44,104,41,
-13,10,32,32,32,32,102,111,114,32,99,121,32,61,32,99,116,44,32,99,
-116,43,99,104,45,49,32,100,111,13,10,32,32,32,32,32,32,32,32,102,
-111,114,32,99,120,32,61,32,99,108,44,32,99,108,43,99,119,45,49,32,
-100,111,13,10,32,32,32,32,32,32,32,32,32,32,32,32,97,100,100,73,
-116,101,109,84,111,67,101,108,108,40,115,101,108,102,44,32,105,116,101,109,
-44,32,99,120,44,32,99,121,41,13,10,32,32,32,32,32,32,32,32,101,
-110,100,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,114,
-101,116,117,114,110,32,105,116,101,109,13,10,101,110,100,13,10,13,10,102,
-117,110,99,116,105,111,110,32,87,111,114,108,100,58,114,101,109,111,118,101,
-40,105,116,101,109,41,13,10,32,32,32,32,108,111,99,97,108,32,120,44,
-121,44,119,44,104,32,61,32,115,101,108,102,58,103,101,116,82,101,99,116,
-40,105,116,101,109,41,13,10,13,10,32,32,32,32,115,101,108,102,46,114,
-101,99,116,115,91,105,116,101,109,93,32,61,32,110,105,108,13,10,32,32,
-32,32,108,111,99,97,108,32,99,108,44,99,116,44,99,119,44,99,104,32,
-61,32,103,114,105,100,95,116,111,67,101,108,108,82,101,99,116,40,115,101,
-108,102,46,99,101,108,108,83,105,122,101,44,32,120,44,121,44,119,44,104,
-41,13,10,32,32,32,32,102,111,114,32,99,121,32,61,32,99,116,44,32,
-99,116,43,99,104,45,49,32,100,111,13,10,32,32,32,32,32,32,32,32,
-102,111,114,32,99,120,32,61,32,99,108,44,32,99,108,43,99,119,45,49,
-32,100,111,13,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,109,
-111,118,101,73,116,101,109,70,114,111,109,67,101,108,108,40,115,101,108,102,
-44,32,105,116,101,109,44,32,99,120,44,32,99,121,41,13,10,32,32,32,
-32,32,32,32,32,101,110,100,13,10,32,32,32,32,101,110,100,13,10,101,
-110,100,13,10,13,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,
-58,117,112,100,97,116,101,40,105,116,101,109,44,32,120,50,44,121,50,44,
-119,50,44,104,50,41,13,10,32,32,32,32,108,111,99,97,108,32,120,49,
-44,121,49,44,119,49,44,104,49,32,61,32,115,101,108,102,58,103,101,116,
-82,101,99,116,40,105,116,101,109,41,13,10,32,32,32,32,119,50,44,104,
-50,32,61,32,119,50,32,111,114,32,119,49,44,32,104,50,32,111,114,32,
-104,49,13,10,32,32,32,32,97,115,115,101,114,116,73,115,82,101,99,116,
-40,120,50,44,121,50,44,119,50,44,104,50,41,13,10,13,10,32,32,32,
-32,105,102,32,120,49,32,126,61,32,120,50,32,111,114,32,121,49,32,126,
-61,32,121,50,32,111,114,32,119,49,32,126,61,32,119,50,32,111,114,32,
-104,49,32,126,61,32,104,50,32,116,104,101,110,13,10,13,10,32,32,32,
-32,32,32,32,32,108,111,99,97,108,32,99,101,108,108,83,105,122,101,32,
-61,32,115,101,108,102,46,99,101,108,108,83,105,122,101,13,10,32,32,32,
-32,32,32,32,32,108,111,99,97,108,32,99,108,49,44,99,116,49,44,99,
-119,49,44,99,104,49,32,61,32,103,114,105,100,95,116,111,67,101,108,108,
-82,101,99,116,40,99,101,108,108,83,105,122,101,44,32,120,49,44,121,49,
-44,119,49,44,104,49,41,13,10,32,32,32,32,32,32,32,32,108,111,99,
-97,108,32,99,108,50,44,99,116,50,44,99,119,50,44,99,104,50,32,61,
-32,103,114,105,100,95,116,111,67,101,108,108,82,101,99,116,40,99,101,108,
-108,83,105,122,101,44,32,120,50,44,121,50,44,119,50,44,104,50,41,13,
-10,13,10,32,32,32,32,32,32,32,32,105,102,32,99,108,49,32,126,61,
-32,99,108,50,32,111,114,32,99,116,49,32,126,61,32,99,116,50,32,111,
-114,32,99,119,49,32,126,61,32,99,119,50,32,111,114,32,99,104,49,32,
-126,61,32,99,104,50,32,116,104,101,110,13,10,13,10,32,32,32,32,32,
-32,32,32,32,32,32,32,108,111,99,97,108,32,99,114,49,44,32,99,98,
-49,32,61,32,99,108,49,43,99,119,49,45,49,44,32,99,116,49,43,99,
-104,49,45,49,13,10,32,32,32,32,32,32,32,32,32,32,32,32,108,111,
-99,97,108,32,99,114,50,44,32,99,98,50,32,61,32,99,108,50,43,99,
-119,50,45,49,44,32,99,116,50,43,99,104,50,45,49,13,10,32,32,32,
-32,32,32,32,32,32,32,32,32,108,111,99,97,108,32,99,121,79,117,116,
-13,10,13,10,32,32,32,32,32,32,32,32,32,32,32,32,102,111,114,32,
-99,121,32,61,32,99,116,49,44,32,99,98,49,32,100,111,13,10,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,99,121,79,117,116,32,
-61,32,99,121,32,60,32,99,116,50,32,111,114,32,99,121,32,62,32,99,
-98,50,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-102,111,114,32,99,120,32,61,32,99,108,49,44,32,99,114,49,32,100,111,
-13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,105,102,32,99,121,79,117,116,32,111,114,32,99,120,32,60,32,99,
-108,50,32,111,114,32,99,120,32,62,32,99,114,50,32,116,104,101,110,13,
-10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,114,101,109,111,118,101,73,116,101,109,70,114,111,109,67,
-101,108,108,40,115,101,108,102,44,32,105,116,101,109,44,32,99,120,44,32,
-99,121,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,32,32,
-32,32,32,101,110,100,13,10,13,10,32,32,32,32,32,32,32,32,32,32,
-32,32,102,111,114,32,99,121,32,61,32,99,116,50,44,32,99,98,50,32,
-100,111,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-99,121,79,117,116,32,61,32,99,121,32,60,32,99,116,49,32,111,114,32,
-99,121,32,62,32,99,98,49,13,10,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,102,111,114,32,99,120,32,61,32,99,108,50,44,32,
-99,114,50,32,100,111,13,10,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,105,102,32,99,121,79,117,116,32,111,114,32,
-99,120,32,60,32,99,108,49,32,111,114,32,99,120,32,62,32,99,114,49,
-32,116,104,101,110,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,97,100,100,73,116,101,109,84,111,
+10,32,32,108,111,99,97,108,32,100,105,99,116,73,116,101,109,115,73,110,
+67,101,108,108,82,101,99,116,32,61,32,103,101,116,68,105,99,116,73,116,
+101,109,115,73,110,67,101,108,108,82,101,99,116,40,115,101,108,102,44,32,
+99,108,44,99,116,44,99,119,44,99,104,41,10,10,32,32,108,111,99,97,
+108,32,105,116,101,109,115,44,32,108,101,110,32,61,32,123,125,44,32,48,
+10,10,32,32,108,111,99,97,108,32,114,101,99,116,10,32,32,102,111,114,
+32,105,116,101,109,44,95,32,105,110,32,112,97,105,114,115,40,100,105,99,
+116,73,116,101,109,115,73,110,67,101,108,108,82,101,99,116,41,32,100,111,
+10,32,32,32,32,114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,
+116,115,91,105,116,101,109,93,10,32,32,32,32,105,102,32,40,110,111,116,
+32,102,105,108,116,101,114,32,111,114,32,102,105,108,116,101,114,40,105,116,
+101,109,41,41,10,32,32,32,32,97,110,100,32,114,101,99,116,95,105,115,
+73,110,116,101,114,115,101,99,116,105,110,103,40,120,44,121,44,119,44,104,
+44,32,114,101,99,116,46,120,44,32,114,101,99,116,46,121,44,32,114,101,
+99,116,46,119,44,32,114,101,99,116,46,104,41,10,32,32,32,32,116,104,
+101,110,10,32,32,32,32,32,32,108,101,110,32,61,32,108,101,110,32,43,
+32,49,10,32,32,32,32,32,32,105,116,101,109,115,91,108,101,110,93,32,
+61,32,105,116,101,109,10,32,32,32,32,101,110,100,10,32,32,101,110,100,
+10,10,32,32,114,101,116,117,114,110,32,105,116,101,109,115,44,32,108,101,
+110,10,101,110,100,10,10,102,117,110,99,116,105,111,110,32,87,111,114,108,
+100,58,113,117,101,114,121,80,111,105,110,116,40,120,44,121,44,32,102,105,
+108,116,101,114,41,10,32,32,108,111,99,97,108,32,99,120,44,99,121,32,
+61,32,115,101,108,102,58,116,111,67,101,108,108,40,120,44,121,41,10,32,
+32,108,111,99,97,108,32,100,105,99,116,73,116,101,109,115,73,110,67,101,
+108,108,82,101,99,116,32,61,32,103,101,116,68,105,99,116,73,116,101,109,
+115,73,110,67,101,108,108,82,101,99,116,40,115,101,108,102,44,32,99,120,
+44,99,121,44,49,44,49,41,10,10,32,32,108,111,99,97,108,32,105,116,
+101,109,115,44,32,108,101,110,32,61,32,123,125,44,32,48,10,10,32,32,
+108,111,99,97,108,32,114,101,99,116,10,32,32,102,111,114,32,105,116,101,
+109,44,95,32,105,110,32,112,97,105,114,115,40,100,105,99,116,73,116,101,
+109,115,73,110,67,101,108,108,82,101,99,116,41,32,100,111,10,32,32,32,
+32,114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,
+116,101,109,93,10,32,32,32,32,105,102,32,40,110,111,116,32,102,105,108,
+116,101,114,32,111,114,32,102,105,108,116,101,114,40,105,116,101,109,41,41,
+10,32,32,32,32,97,110,100,32,114,101,99,116,95,99,111,110,116,97,105,
+110,115,80,111,105,110,116,40,114,101,99,116,46,120,44,32,114,101,99,116,
+46,121,44,32,114,101,99,116,46,119,44,32,114,101,99,116,46,104,44,32,
+120,44,32,121,41,10,32,32,32,32,116,104,101,110,10,32,32,32,32,32,
+32,108,101,110,32,61,32,108,101,110,32,43,32,49,10,32,32,32,32,32,
+32,105,116,101,109,115,91,108,101,110,93,32,61,32,105,116,101,109,10,32,
+32,32,32,101,110,100,10,32,32,101,110,100,10,10,32,32,114,101,116,117,
+114,110,32,105,116,101,109,115,44,32,108,101,110,10,101,110,100,10,10,102,
+117,110,99,116,105,111,110,32,87,111,114,108,100,58,113,117,101,114,121,83,
+101,103,109,101,110,116,40,120,49,44,32,121,49,44,32,120,50,44,32,121,
+50,44,32,102,105,108,116,101,114,41,10,32,32,108,111,99,97,108,32,105,
+116,101,109,73,110,102,111,44,32,108,101,110,32,61,32,103,101,116,73,110,
+102,111,65,98,111,117,116,73,116,101,109,115,84,111,117,99,104,101,100,66,
+121,83,101,103,109,101,110,116,40,115,101,108,102,44,32,120,49,44,32,121,
+49,44,32,120,50,44,32,121,50,44,32,102,105,108,116,101,114,41,10,32,
+32,108,111,99,97,108,32,105,116,101,109,115,32,61,32,123,125,10,32,32,
+102,111,114,32,105,61,49,44,32,108,101,110,32,100,111,10,32,32,32,32,
+105,116,101,109,115,91,105,93,32,61,32,105,116,101,109,73,110,102,111,91,
+105,93,46,105,116,101,109,10,32,32,101,110,100,10,32,32,114,101,116,117,
+114,110,32,105,116,101,109,115,44,32,108,101,110,10,101,110,100,10,10,102,
+117,110,99,116,105,111,110,32,87,111,114,108,100,58,113,117,101,114,121,83,
+101,103,109,101,110,116,87,105,116,104,67,111,111,114,100,115,40,120,49,44,
+32,121,49,44,32,120,50,44,32,121,50,44,32,102,105,108,116,101,114,41,
+10,32,32,108,111,99,97,108,32,105,116,101,109,73,110,102,111,44,32,108,
+101,110,32,61,32,103,101,116,73,110,102,111,65,98,111,117,116,73,116,101,
+109,115,84,111,117,99,104,101,100,66,121,83,101,103,109,101,110,116,40,115,
+101,108,102,44,32,120,49,44,32,121,49,44,32,120,50,44,32,121,50,44,
+32,102,105,108,116,101,114,41,10,32,32,108,111,99,97,108,32,100,120,44,
+32,100,121,32,32,32,32,32,32,32,32,61,32,120,50,45,120,49,44,32,
+121,50,45,121,49,10,32,32,108,111,99,97,108,32,105,110,102,111,44,32,
+116,105,49,44,32,116,105,50,10,32,32,102,111,114,32,105,61,49,44,32,
+108,101,110,32,100,111,10,32,32,32,32,105,110,102,111,32,32,61,32,105,
+116,101,109,73,110,102,111,91,105,93,10,32,32,32,32,116,105,49,32,32,
+32,61,32,105,110,102,111,46,116,105,49,10,32,32,32,32,116,105,50,32,
+32,32,61,32,105,110,102,111,46,116,105,50,10,10,32,32,32,32,105,110,
+102,111,46,119,101,105,103,104,116,32,32,61,32,110,105,108,10,32,32,32,
+32,105,110,102,111,46,120,49,32,32,32,32,32,32,61,32,120,49,32,43,
+32,100,120,32,42,32,116,105,49,10,32,32,32,32,105,110,102,111,46,121,
+49,32,32,32,32,32,32,61,32,121,49,32,43,32,100,121,32,42,32,116,
+105,49,10,32,32,32,32,105,110,102,111,46,120,50,32,32,32,32,32,32,
+61,32,120,49,32,43,32,100,120,32,42,32,116,105,50,10,32,32,32,32,
+105,110,102,111,46,121,50,32,32,32,32,32,32,61,32,121,49,32,43,32,
+100,121,32,42,32,116,105,50,10,32,32,101,110,100,10,32,32,114,101,116,
+117,114,110,32,105,116,101,109,73,110,102,111,44,32,108,101,110,10,101,110,
+100,10,10,10,45,45,45,32,77,97,105,110,32,109,101,116,104,111,100,115,
+10,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,97,100,100,
+40,105,116,101,109,44,32,120,44,121,44,119,44,104,41,10,32,32,108,111,
+99,97,108,32,114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,116,
+115,91,105,116,101,109,93,10,32,32,105,102,32,114,101,99,116,32,116,104,
+101,110,10,32,32,32,32,101,114,114,111,114,40,39,73,116,101,109,32,39,
+32,46,46,32,116,111,115,116,114,105,110,103,40,105,116,101,109,41,32,46,
+46,32,39,32,97,100,100,101,100,32,116,111,32,116,104,101,32,119,111,114,
+108,100,32,116,119,105,99,101,46,39,41,10,32,32,101,110,100,10,32,32,
+97,115,115,101,114,116,73,115,82,101,99,116,40,120,44,121,44,119,44,104,
+41,10,10,32,32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,
+93,32,61,32,123,120,61,120,44,121,61,121,44,119,61,119,44,104,61,104,
+125,10,10,32,32,108,111,99,97,108,32,99,108,44,99,116,44,99,119,44,
+99,104,32,61,32,103,114,105,100,95,116,111,67,101,108,108,82,101,99,116,
+40,115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,120,44,121,44,
+119,44,104,41,10,32,32,102,111,114,32,99,121,32,61,32,99,116,44,32,
+99,116,43,99,104,45,49,32,100,111,10,32,32,32,32,102,111,114,32,99,
+120,32,61,32,99,108,44,32,99,108,43,99,119,45,49,32,100,111,10,32,
+32,32,32,32,32,97,100,100,73,116,101,109,84,111,67,101,108,108,40,115,
+101,108,102,44,32,105,116,101,109,44,32,99,120,44,32,99,121,41,10,32,
+32,32,32,101,110,100,10,32,32,101,110,100,10,10,32,32,114,101,116,117,
+114,110,32,105,116,101,109,10,101,110,100,10,10,102,117,110,99,116,105,111,
+110,32,87,111,114,108,100,58,114,101,109,111,118,101,40,105,116,101,109,41,
+10,32,32,108,111,99,97,108,32,120,44,121,44,119,44,104,32,61,32,115,
+101,108,102,58,103,101,116,82,101,99,116,40,105,116,101,109,41,10,10,32,
+32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,93,32,61,32,
+110,105,108,10,32,32,108,111,99,97,108,32,99,108,44,99,116,44,99,119,
+44,99,104,32,61,32,103,114,105,100,95,116,111,67,101,108,108,82,101,99,
+116,40,115,101,108,102,46,99,101,108,108,83,105,122,101,44,32,120,44,121,
+44,119,44,104,41,10,32,32,102,111,114,32,99,121,32,61,32,99,116,44,
+32,99,116,43,99,104,45,49,32,100,111,10,32,32,32,32,102,111,114,32,
+99,120,32,61,32,99,108,44,32,99,108,43,99,119,45,49,32,100,111,10,
+32,32,32,32,32,32,114,101,109,111,118,101,73,116,101,109,70,114,111,109,
67,101,108,108,40,115,101,108,102,44,32,105,116,101,109,44,32,99,120,44,
-32,99,121,41,13,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,101,110,100,13,10,32,32,32,32,32,32,32,32,
-32,32,32,32,101,110,100,13,10,13,10,32,32,32,32,32,32,32,32,101,
-110,100,13,10,13,10,32,32,32,32,32,32,32,32,108,111,99,97,108,32,
-114,101,99,116,32,61,32,115,101,108,102,46,114,101,99,116,115,91,105,116,
-101,109,93,13,10,32,32,32,32,32,32,32,32,114,101,99,116,46,120,44,
-32,114,101,99,116,46,121,44,32,114,101,99,116,46,119,44,32,114,101,99,
-116,46,104,32,61,32,120,50,44,121,50,44,119,50,44,104,50,13,10,13,
-10,32,32,32,32,101,110,100,13,10,101,110,100,13,10,13,10,102,117,110,
-99,116,105,111,110,32,87,111,114,108,100,58,109,111,118,101,40,105,116,101,
-109,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,
-116,101,114,41,13,10,32,32,32,32,108,111,99,97,108,32,97,99,116,117,
+32,99,121,41,10,32,32,32,32,101,110,100,10,32,32,101,110,100,10,101,
+110,100,10,10,102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,117,
+112,100,97,116,101,40,105,116,101,109,44,32,120,50,44,121,50,44,119,50,
+44,104,50,41,10,32,32,108,111,99,97,108,32,120,49,44,121,49,44,119,
+49,44,104,49,32,61,32,115,101,108,102,58,103,101,116,82,101,99,116,40,
+105,116,101,109,41,10,32,32,119,50,44,104,50,32,61,32,119,50,32,111,
+114,32,119,49,44,32,104,50,32,111,114,32,104,49,10,32,32,97,115,115,
+101,114,116,73,115,82,101,99,116,40,120,50,44,121,50,44,119,50,44,104,
+50,41,10,10,32,32,105,102,32,120,49,32,126,61,32,120,50,32,111,114,
+32,121,49,32,126,61,32,121,50,32,111,114,32,119,49,32,126,61,32,119,
+50,32,111,114,32,104,49,32,126,61,32,104,50,32,116,104,101,110,10,10,
+32,32,32,32,108,111,99,97,108,32,99,101,108,108,83,105,122,101,32,61,
+32,115,101,108,102,46,99,101,108,108,83,105,122,101,10,32,32,32,32,108,
+111,99,97,108,32,99,108,49,44,99,116,49,44,99,119,49,44,99,104,49,
+32,61,32,103,114,105,100,95,116,111,67,101,108,108,82,101,99,116,40,99,
+101,108,108,83,105,122,101,44,32,120,49,44,121,49,44,119,49,44,104,49,
+41,10,32,32,32,32,108,111,99,97,108,32,99,108,50,44,99,116,50,44,
+99,119,50,44,99,104,50,32,61,32,103,114,105,100,95,116,111,67,101,108,
+108,82,101,99,116,40,99,101,108,108,83,105,122,101,44,32,120,50,44,121,
+50,44,119,50,44,104,50,41,10,10,32,32,32,32,105,102,32,99,108,49,
+32,126,61,32,99,108,50,32,111,114,32,99,116,49,32,126,61,32,99,116,
+50,32,111,114,32,99,119,49,32,126,61,32,99,119,50,32,111,114,32,99,
+104,49,32,126,61,32,99,104,50,32,116,104,101,110,10,10,32,32,32,32,
+32,32,108,111,99,97,108,32,99,114,49,44,32,99,98,49,32,61,32,99,
+108,49,43,99,119,49,45,49,44,32,99,116,49,43,99,104,49,45,49,10,
+32,32,32,32,32,32,108,111,99,97,108,32,99,114,50,44,32,99,98,50,
+32,61,32,99,108,50,43,99,119,50,45,49,44,32,99,116,50,43,99,104,
+50,45,49,10,32,32,32,32,32,32,108,111,99,97,108,32,99,121,79,117,
+116,10,10,32,32,32,32,32,32,102,111,114,32,99,121,32,61,32,99,116,
+49,44,32,99,98,49,32,100,111,10,32,32,32,32,32,32,32,32,99,121,
+79,117,116,32,61,32,99,121,32,60,32,99,116,50,32,111,114,32,99,121,
+32,62,32,99,98,50,10,32,32,32,32,32,32,32,32,102,111,114,32,99,
+120,32,61,32,99,108,49,44,32,99,114,49,32,100,111,10,32,32,32,32,
+32,32,32,32,32,32,105,102,32,99,121,79,117,116,32,111,114,32,99,120,
+32,60,32,99,108,50,32,111,114,32,99,120,32,62,32,99,114,50,32,116,
+104,101,110,10,32,32,32,32,32,32,32,32,32,32,32,32,114,101,109,111,
+118,101,73,116,101,109,70,114,111,109,67,101,108,108,40,115,101,108,102,44,
+32,105,116,101,109,44,32,99,120,44,32,99,121,41,10,32,32,32,32,32,
+32,32,32,32,32,101,110,100,10,32,32,32,32,32,32,32,32,101,110,100,
+10,32,32,32,32,32,32,101,110,100,10,10,32,32,32,32,32,32,102,111,
+114,32,99,121,32,61,32,99,116,50,44,32,99,98,50,32,100,111,10,32,
+32,32,32,32,32,32,32,99,121,79,117,116,32,61,32,99,121,32,60,32,
+99,116,49,32,111,114,32,99,121,32,62,32,99,98,49,10,32,32,32,32,
+32,32,32,32,102,111,114,32,99,120,32,61,32,99,108,50,44,32,99,114,
+50,32,100,111,10,32,32,32,32,32,32,32,32,32,32,105,102,32,99,121,
+79,117,116,32,111,114,32,99,120,32,60,32,99,108,49,32,111,114,32,99,
+120,32,62,32,99,114,49,32,116,104,101,110,10,32,32,32,32,32,32,32,
+32,32,32,32,32,97,100,100,73,116,101,109,84,111,67,101,108,108,40,115,
+101,108,102,44,32,105,116,101,109,44,32,99,120,44,32,99,121,41,10,32,
+32,32,32,32,32,32,32,32,32,101,110,100,10,32,32,32,32,32,32,32,
+32,101,110,100,10,32,32,32,32,32,32,101,110,100,10,10,32,32,32,32,
+101,110,100,10,10,32,32,32,32,108,111,99,97,108,32,114,101,99,116,32,
+61,32,115,101,108,102,46,114,101,99,116,115,91,105,116,101,109,93,10,32,
+32,32,32,114,101,99,116,46,120,44,32,114,101,99,116,46,121,44,32,114,
+101,99,116,46,119,44,32,114,101,99,116,46,104,32,61,32,120,50,44,121,
+50,44,119,50,44,104,50,10,10,32,32,101,110,100,10,101,110,100,10,10,
+102,117,110,99,116,105,111,110,32,87,111,114,108,100,58,109,111,118,101,40,
+105,116,101,109,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,
+102,105,108,116,101,114,41,10,32,32,108,111,99,97,108,32,97,99,116,117,
97,108,88,44,32,97,99,116,117,97,108,89,44,32,99,111,108,115,44,32,
108,101,110,32,61,32,115,101,108,102,58,99,104,101,99,107,40,105,116,101,
109,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,105,108,
-116,101,114,41,13,10,13,10,32,32,32,32,115,101,108,102,58,117,112,100,
-97,116,101,40,105,116,101,109,44,32,97,99,116,117,97,108,88,44,32,97,
-99,116,117,97,108,89,41,13,10,13,10,32,32,32,32,114,101,116,117,114,
-110,32,97,99,116,117,97,108,88,44,32,97,99,116,117,97,108,89,44,32,
-99,111,108,115,44,32,108,101,110,13,10,101,110,100,13,10,13,10,102,117,
-110,99,116,105,111,110,32,87,111,114,108,100,58,99,104,101,99,107,40,105,
-116,101,109,44,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,102,
-105,108,116,101,114,41,13,10,32,32,32,32,102,105,108,116,101,114,32,61,
-32,102,105,108,116,101,114,32,111,114,32,100,101,102,97,117,108,116,70,105,
-108,116,101,114,13,10,13,10,32,32,32,32,108,111,99,97,108,32,118,105,
-115,105,116,101,100,32,61,32,123,91,105,116,101,109,93,32,61,32,116,114,
-117,101,125,13,10,32,32,32,32,108,111,99,97,108,32,118,105,115,105,116,
-101,100,70,105,108,116,101,114,32,61,32,102,117,110,99,116,105,111,110,40,
-105,116,109,44,32,111,116,104,101,114,41,13,10,32,32,32,32,32,32,32,
-32,105,102,32,118,105,115,105,116,101,100,91,111,116,104,101,114,93,32,116,
-104,101,110,32,114,101,116,117,114,110,32,102,97,108,115,101,32,101,110,100,
-13,10,32,32,32,32,32,32,32,32,114,101,116,117,114,110,32,102,105,108,
-116,101,114,40,105,116,109,44,32,111,116,104,101,114,41,13,10,32,32,32,
-32,101,110,100,13,10,13,10,32,32,32,32,108,111,99,97,108,32,99,111,
-108,115,44,32,108,101,110,32,61,32,123,125,44,32,48,13,10,13,10,32,
-32,32,32,108,111,99,97,108,32,120,44,121,44,119,44,104,32,61,32,115,
-101,108,102,58,103,101,116,82,101,99,116,40,105,116,101,109,41,13,10,13,
-10,32,32,32,32,108,111,99,97,108,32,112,114,111,106,101,99,116,101,100,
-95,99,111,108,115,44,32,112,114,111,106,101,99,116,101,100,95,108,101,110,
-32,61,32,115,101,108,102,58,112,114,111,106,101,99,116,40,105,116,101,109,
-44,32,120,44,121,44,119,44,104,44,32,103,111,97,108,88,44,103,111,97,
-108,89,44,32,118,105,115,105,116,101,100,70,105,108,116,101,114,41,13,10,
-13,10,32,32,32,32,119,104,105,108,101,32,112,114,111,106,101,99,116,101,
-100,95,108,101,110,32,62,32,48,32,100,111,13,10,32,32,32,32,32,32,
-32,32,108,111,99,97,108,32,99,111,108,32,61,32,112,114,111,106,101,99,
-116,101,100,95,99,111,108,115,91,49,93,13,10,32,32,32,32,32,32,32,
-32,108,101,110,32,32,32,32,32,32,32,32,32,32,32,32,32,61,32,108,
-101,110,32,43,32,49,13,10,32,32,32,32,32,32,32,32,99,111,108,115,
-91,108,101,110,93,32,61,32,99,111,108,13,10,13,10,32,32,32,32,32,
-32,32,32,118,105,115,105,116,101,100,91,99,111,108,46,111,116,104,101,114,
-93,32,61,32,116,114,117,101,13,10,13,10,32,32,32,32,32,32,32,32,
-108,111,99,97,108,32,114,101,115,112,111,110,115,101,32,61,32,103,101,116,
-82,101,115,112,111,110,115,101,66,121,78,97,109,101,40,115,101,108,102,44,
-32,99,111,108,46,116,121,112,101,41,13,10,13,10,32,32,32,32,32,32,
-32,32,103,111,97,108,88,44,32,103,111,97,108,89,44,32,112,114,111,106,
-101,99,116,101,100,95,99,111,108,115,44,32,112,114,111,106,101,99,116,101,
-100,95,108,101,110,32,61,32,114,101,115,112,111,110,115,101,40,13,10,32,
-32,32,32,32,32,32,32,32,32,32,32,115,101,108,102,44,13,10,32,32,
-32,32,32,32,32,32,32,32,32,32,99,111,108,44,13,10,32,32,32,32,
-32,32,32,32,32,32,32,32,120,44,32,121,44,32,119,44,32,104,44,13,
-10,32,32,32,32,32,32,32,32,32,32,32,32,103,111,97,108,88,44,32,
-103,111,97,108,89,44,13,10,32,32,32,32,32,32,32,32,32,32,32,32,
-118,105,115,105,116,101,100,70,105,108,116,101,114,13,10,32,32,32,32,32,
-32,32,32,41,13,10,32,32,32,32,101,110,100,13,10,13,10,32,32,32,
-32,114,101,116,117,114,110,32,103,111,97,108,88,44,32,103,111,97,108,89,
-44,32,99,111,108,115,44,32,108,101,110,13,10,101,110,100,13,10,13,10,
-13,10,45,45,32,80,117,98,108,105,99,32,108,105,98,114,97,114,121,32,
-102,117,110,99,116,105,111,110,115,13,10,13,10,98,117,109,112,46,110,101,
-119,87,111,114,108,100,32,61,32,102,117,110,99,116,105,111,110,40,99,101,
-108,108,83,105,122,101,41,13,10,32,32,32,32,99,101,108,108,83,105,122,
-101,32,61,32,99,101,108,108,83,105,122,101,32,111,114,32,54,52,13,10,
-32,32,32,32,97,115,115,101,114,116,73,115,80,111,115,105,116,105,118,101,
-78,117,109,98,101,114,40,99,101,108,108,83,105,122,101,44,32,39,99,101,
-108,108,83,105,122,101,39,41,13,10,32,32,32,32,108,111,99,97,108,32,
-119,111,114,108,100,32,61,32,115,101,116,109,101,116,97,116,97,98,108,101,
-40,123,13,10,32,32,32,32,32,32,32,32,99,101,108,108,83,105,122,101,
-32,32,32,32,32,32,61,32,99,101,108,108,83,105,122,101,44,13,10,32,
-32,32,32,32,32,32,32,114,101,99,116,115,32,32,32,32,32,32,32,32,
-32,61,32,123,125,44,13,10,32,32,32,32,32,32,32,32,114,111,119,115,
-32,32,32,32,32,32,32,32,32,32,61,32,123,125,44,13,10,32,32,32,
-32,32,32,32,32,110,111,110,69,109,112,116,121,67,101,108,108,115,32,61,
-32,123,125,44,13,10,32,32,32,32,32,32,32,32,114,101,115,112,111,110,
-115,101,115,32,32,32,32,32,61,32,123,125,13,10,32,32,32,32,125,44,
-32,87,111,114,108,100,95,109,116,41,13,10,13,10,32,32,32,32,119,111,
-114,108,100,58,97,100,100,82,101,115,112,111,110,115,101,40,39,116,111,117,
-99,104,39,44,32,116,111,117,99,104,41,13,10,32,32,32,32,119,111,114,
-108,100,58,97,100,100,82,101,115,112,111,110,115,101,40,39,99,114,111,115,
-115,39,44,32,99,114,111,115,115,41,13,10,32,32,32,32,119,111,114,108,
-100,58,97,100,100,82,101,115,112,111,110,115,101,40,39,115,108,105,100,101,
-39,44,32,115,108,105,100,101,41,13,10,32,32,32,32,119,111,114,108,100,
-58,97,100,100,82,101,115,112,111,110,115,101,40,39,98,111,117,110,99,101,
-39,44,32,98,111,117,110,99,101,41,13,10,13,10,32,32,32,32,114,101,
-116,117,114,110,32,119,111,114,108,100,13,10,101,110,100,13,10,13,10,98,
-117,109,112,46,114,101,99,116,32,61,32,123,13,10,32,32,32,32,103,101,
-116,78,101,97,114,101,115,116,67,111,114,110,101,114,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,103,101,116,78,101,
-97,114,101,115,116,67,111,114,110,101,114,44,13,10,32,32,32,32,103,101,
-116,83,101,103,109,101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,
-73,110,100,105,99,101,115,32,61,32,114,101,99,116,95,103,101,116,83,101,
-103,109,101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,73,110,100,
-105,99,101,115,44,13,10,32,32,32,32,103,101,116,68,105,102,102,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
-32,61,32,114,101,99,116,95,103,101,116,68,105,102,102,44,13,10,32,32,
-32,32,99,111,110,116,97,105,110,115,80,111,105,110,116,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,99,
-111,110,116,97,105,110,115,80,111,105,110,116,44,13,10,32,32,32,32,105,
-115,73,110,116,101,114,115,101,99,116,105,110,103,32,32,32,32,32,32,32,
-32,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,105,115,73,110,
-116,101,114,115,101,99,116,105,110,103,44,13,10,32,32,32,32,103,101,116,
-83,113,117,97,114,101,68,105,115,116,97,110,99,101,32,32,32,32,32,32,
-32,32,32,32,32,32,32,61,32,114,101,99,116,95,103,101,116,83,113,117,
-97,114,101,68,105,115,116,97,110,99,101,44,13,10,32,32,32,32,100,101,
+116,101,114,41,10,10,32,32,115,101,108,102,58,117,112,100,97,116,101,40,
+105,116,101,109,44,32,97,99,116,117,97,108,88,44,32,97,99,116,117,97,
+108,89,41,10,10,32,32,114,101,116,117,114,110,32,97,99,116,117,97,108,
+88,44,32,97,99,116,117,97,108,89,44,32,99,111,108,115,44,32,108,101,
+110,10,101,110,100,10,10,102,117,110,99,116,105,111,110,32,87,111,114,108,
+100,58,99,104,101,99,107,40,105,116,101,109,44,32,103,111,97,108,88,44,
+32,103,111,97,108,89,44,32,102,105,108,116,101,114,41,10,32,32,102,105,
+108,116,101,114,32,61,32,102,105,108,116,101,114,32,111,114,32,100,101,102,
+97,117,108,116,70,105,108,116,101,114,10,10,32,32,108,111,99,97,108,32,
+118,105,115,105,116,101,100,32,61,32,123,91,105,116,101,109,93,32,61,32,
+116,114,117,101,125,10,32,32,108,111,99,97,108,32,118,105,115,105,116,101,
+100,70,105,108,116,101,114,32,61,32,102,117,110,99,116,105,111,110,40,105,
+116,109,44,32,111,116,104,101,114,41,10,32,32,32,32,105,102,32,118,105,
+115,105,116,101,100,91,111,116,104,101,114,93,32,116,104,101,110,32,114,101,
+116,117,114,110,32,102,97,108,115,101,32,101,110,100,10,32,32,32,32,114,
+101,116,117,114,110,32,102,105,108,116,101,114,40,105,116,109,44,32,111,116,
+104,101,114,41,10,32,32,101,110,100,10,10,32,32,108,111,99,97,108,32,
+99,111,108,115,44,32,108,101,110,32,61,32,123,125,44,32,48,10,10,32,
+32,108,111,99,97,108,32,120,44,121,44,119,44,104,32,61,32,115,101,108,
+102,58,103,101,116,82,101,99,116,40,105,116,101,109,41,10,10,32,32,108,
+111,99,97,108,32,112,114,111,106,101,99,116,101,100,95,99,111,108,115,44,
+32,112,114,111,106,101,99,116,101,100,95,108,101,110,32,61,32,115,101,108,
+102,58,112,114,111,106,101,99,116,40,105,116,101,109,44,32,120,44,121,44,
+119,44,104,44,32,103,111,97,108,88,44,103,111,97,108,89,44,32,118,105,
+115,105,116,101,100,70,105,108,116,101,114,41,10,10,32,32,119,104,105,108,
+101,32,112,114,111,106,101,99,116,101,100,95,108,101,110,32,62,32,48,32,
+100,111,10,32,32,32,32,108,111,99,97,108,32,99,111,108,32,61,32,112,
+114,111,106,101,99,116,101,100,95,99,111,108,115,91,49,93,10,32,32,32,
+32,108,101,110,32,32,32,32,32,32,32,61,32,108,101,110,32,43,32,49,
+10,32,32,32,32,99,111,108,115,91,108,101,110,93,32,61,32,99,111,108,
+10,10,32,32,32,32,118,105,115,105,116,101,100,91,99,111,108,46,111,116,
+104,101,114,93,32,61,32,116,114,117,101,10,10,32,32,32,32,108,111,99,
+97,108,32,114,101,115,112,111,110,115,101,32,61,32,103,101,116,82,101,115,
+112,111,110,115,101,66,121,78,97,109,101,40,115,101,108,102,44,32,99,111,
+108,46,116,121,112,101,41,10,10,32,32,32,32,103,111,97,108,88,44,32,
+103,111,97,108,89,44,32,112,114,111,106,101,99,116,101,100,95,99,111,108,
+115,44,32,112,114,111,106,101,99,116,101,100,95,108,101,110,32,61,32,114,
+101,115,112,111,110,115,101,40,10,32,32,32,32,32,32,115,101,108,102,44,
+10,32,32,32,32,32,32,99,111,108,44,10,32,32,32,32,32,32,120,44,
+32,121,44,32,119,44,32,104,44,10,32,32,32,32,32,32,103,111,97,108,
+88,44,32,103,111,97,108,89,44,10,32,32,32,32,32,32,118,105,115,105,
+116,101,100,70,105,108,116,101,114,10,32,32,32,32,41,10,32,32,101,110,
+100,10,10,32,32,114,101,116,117,114,110,32,103,111,97,108,88,44,32,103,
+111,97,108,89,44,32,99,111,108,115,44,32,108,101,110,10,101,110,100,10,
+10,10,45,45,32,80,117,98,108,105,99,32,108,105,98,114,97,114,121,32,
+102,117,110,99,116,105,111,110,115,10,10,98,117,109,112,46,110,101,119,87,
+111,114,108,100,32,61,32,102,117,110,99,116,105,111,110,40,99,101,108,108,
+83,105,122,101,41,10,32,32,99,101,108,108,83,105,122,101,32,61,32,99,
+101,108,108,83,105,122,101,32,111,114,32,54,52,10,32,32,97,115,115,101,
+114,116,73,115,80,111,115,105,116,105,118,101,78,117,109,98,101,114,40,99,
+101,108,108,83,105,122,101,44,32,39,99,101,108,108,83,105,122,101,39,41,
+10,32,32,108,111,99,97,108,32,119,111,114,108,100,32,61,32,115,101,116,
+109,101,116,97,116,97,98,108,101,40,123,10,32,32,32,32,99,101,108,108,
+83,105,122,101,32,32,32,32,32,32,32,61,32,99,101,108,108,83,105,122,
+101,44,10,32,32,32,32,114,101,99,116,115,32,32,32,32,32,32,32,32,
+32,32,61,32,123,125,44,10,32,32,32,32,114,111,119,115,32,32,32,32,
+32,32,32,32,32,32,32,61,32,123,125,44,10,32,32,32,32,110,111,110,
+69,109,112,116,121,67,101,108,108,115,32,32,61,32,123,125,44,10,32,32,
+32,32,114,101,115,112,111,110,115,101,115,32,61,32,123,125,10,32,32,125,
+44,32,87,111,114,108,100,95,109,116,41,10,10,32,32,119,111,114,108,100,
+58,97,100,100,82,101,115,112,111,110,115,101,40,39,116,111,117,99,104,39,
+44,32,116,111,117,99,104,41,10,32,32,119,111,114,108,100,58,97,100,100,
+82,101,115,112,111,110,115,101,40,39,99,114,111,115,115,39,44,32,99,114,
+111,115,115,41,10,32,32,119,111,114,108,100,58,97,100,100,82,101,115,112,
+111,110,115,101,40,39,115,108,105,100,101,39,44,32,115,108,105,100,101,41,
+10,32,32,119,111,114,108,100,58,97,100,100,82,101,115,112,111,110,115,101,
+40,39,98,111,117,110,99,101,39,44,32,98,111,117,110,99,101,41,10,10,
+32,32,114,101,116,117,114,110,32,119,111,114,108,100,10,101,110,100,10,10,
+98,117,109,112,46,114,101,99,116,32,61,32,123,10,32,32,103,101,116,78,
+101,97,114,101,115,116,67,111,114,110,101,114,32,32,32,32,32,32,32,32,
+32,32,32,32,32,32,61,32,114,101,99,116,95,103,101,116,78,101,97,114,
+101,115,116,67,111,114,110,101,114,44,10,32,32,103,101,116,83,101,103,109,
+101,110,116,73,110,116,101,114,115,101,99,116,105,111,110,73,110,100,105,99,
+101,115,32,61,32,114,101,99,116,95,103,101,116,83,101,103,109,101,110,116,
+73,110,116,101,114,115,101,99,116,105,111,110,73,110,100,105,99,101,115,44,
+10,32,32,103,101,116,68,105,102,102,32,32,32,32,32,32,32,32,32,32,
+32,32,32,32,32,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,
+103,101,116,68,105,102,102,44,10,32,32,99,111,110,116,97,105,110,115,80,
+111,105,110,116,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
+32,61,32,114,101,99,116,95,99,111,110,116,97,105,110,115,80,111,105,110,
+116,44,10,32,32,105,115,73,110,116,101,114,115,101,99,116,105,110,103,32,
+32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,61,32,114,101,99,
+116,95,105,115,73,110,116,101,114,115,101,99,116,105,110,103,44,10,32,32,
+103,101,116,83,113,117,97,114,101,68,105,115,116,97,110,99,101,32,32,32,
+32,32,32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,103,101,116,
+83,113,117,97,114,101,68,105,115,116,97,110,99,101,44,10,32,32,100,101,
116,101,99,116,67,111,108,108,105,115,105,111,110,32,32,32,32,32,32,32,
32,32,32,32,32,32,32,32,61,32,114,101,99,116,95,100,101,116,101,99,
-116,67,111,108,108,105,115,105,111,110,13,10,125,13,10,13,10,98,117,109,
-112,46,114,101,115,112,111,110,115,101,115,32,61,32,123,13,10,32,32,32,
-32,116,111,117,99,104,32,32,32,32,61,32,116,111,117,99,104,44,13,10,
-32,32,32,32,99,114,111,115,115,32,32,32,32,61,32,99,114,111,115,115,
-44,13,10,32,32,32,32,115,108,105,100,101,32,32,32,32,61,32,115,108,
-105,100,101,44,13,10,32,32,32,32,98,111,117,110,99,101,32,61,32,98,
-111,117,110,99,101,13,10,125,13,10,13,10,45,45,32,69,120,112,111,114,
-116,32,116,111,32,74,105,110,46,32,13,10,13,10,106,105,110,46,112,104,
-121,115,105,99,115,32,61,32,98,117,109,112,13,10
+116,67,111,108,108,105,115,105,111,110,10,125,10,10,98,117,109,112,46,114,
+101,115,112,111,110,115,101,115,32,61,32,123,10,32,32,116,111,117,99,104,
+32,32,61,32,116,111,117,99,104,44,10,32,32,99,114,111,115,115,32,32,
+61,32,99,114,111,115,115,44,10,32,32,115,108,105,100,101,32,32,61,32,
+115,108,105,100,101,44,10,32,32,98,111,117,110,99,101,32,61,32,98,111,
+117,110,99,101,10,125,10,13,10,45,45,32,69,120,112,111,114,116,32,116,
+111,32,74,105,110,46,32,13,10,13,10,106,105,110,46,112,104,121,115,105,
+99,115,32,61,32,98,117,109,112,13,10
};
diff --git a/src/libjin-lua/scripts/tiledmap/tiledmap.lua b/src/libjin-lua/scripts/tiledmap/tiledmap.lua
index 042bf34..82a3baf 100644
--- a/src/libjin-lua/scripts/tiledmap/tiledmap.lua
+++ b/src/libjin-lua/scripts/tiledmap/tiledmap.lua
@@ -1,2 +1,4 @@
jin.tiledmap = jin.tiledmap or {}
+
+
diff --git a/src/libjin-lua/scripts/tiledmap/tiledmap.lua.h b/src/libjin-lua/scripts/tiledmap/tiledmap.lua.h
index d1cd9c9..4f7098f 100644
--- a/src/libjin-lua/scripts/tiledmap/tiledmap.lua.h
+++ b/src/libjin-lua/scripts/tiledmap/tiledmap.lua.h
@@ -1,6 +1,7 @@
/*Auto generated, don't modify by hand.*/
static char tiledmap_lua[] = {
13,10,106,105,110,46,116,105,108,101,100,109,97,112,32,61,32,106,105,110,
-46,116,105,108,101,100,109,97,112,32,111,114,32,123,125,32,13,10
+46,116,105,108,101,100,109,97,112,32,111,114,32,123,125,32,13,10,13,10,
+13,10
};