Skip to content

Instantly share code, notes, and snippets.

@sjoelund
Created June 30, 2020 13:30
Show Gist options
  • Save sjoelund/af90649890dec720cb9d7aab58c3a196 to your computer and use it in GitHub Desktop.
Save sjoelund/af90649890dec720cb9d7aab58c3a196 to your computer and use it in GitHub Desktop.
Generated lexer not performing well in Julia 1.4.x
struct SizedMemory
ptr::Ptr{UInt8}
len::UInt
end
"""
SizedMemory(data)
Create a `SizedMemory` object from `data`.
`data` must implement `Automa.pointerstart` and `Automa.pointerend` methods.
These are used to get the range of the contiguous data memory of `data`. These
have default methods which uses `Base.pointer` and `Base.sizeof` methods. For
example, `String` and `Vector{UInt8}` support these `Base` methods.
Note that it is user's responsibility to keep the `data` object alive during
`SizedMemory`'s lifetime because it does not have a reference to the object.
"""
function SizedMemory(data, len::Integer=(pointerend(data) + 1) - pointerstart(data))
return SizedMemory(pointerstart(data), len)
end
"""
pointerstart(data)::Ptr{UInt8}
Return the start position of `data`.
The default implementation is `convert(Ptr{UInt8}, pointer(data))`.
"""
function pointerstart(data)::Ptr{UInt8}
return convert(Ptr{UInt8}, pointer(data))
end
"""
pointerend(data)::Ptr{UInt8}
Return the end position of `data`.
The default implementation is `Automa.pointerstart(data) + sizeof(data) - 1`.
"""
function pointerend(data)::Ptr{UInt8}
return pointerstart(data) + sizeof(data) - 1
end
function Base.checkbounds(mem::SizedMemory, i::Integer)
if 1 ≤ i ≤ mem.len
return
end
throw(BoundsError(i))
end
function Base.getindex(mem::SizedMemory, i::Integer)
@boundscheck checkbounds(mem, i)
return unsafe_load(mem.ptr, i)
end
function Base.lastindex(mem::SizedMemory)
return Int(mem.len)
end
function Base.length(mem::SizedMemory)
return Int(mem.len)
end
function tokenize(data::String)
begin
p::Int = 1
p_end::Int = 0
p_eof::Int = -1
ts::Int = 0
te::Int = 0
cs::Int = 1
end
p_end = p_eof = sizeof(data)
failed = false
tokens = Any[]
emit(tok) = push!(tokens, tok)
while p ≤ p_eof && cs > 0
begin
kouprey = (SizedMemory)(data)
t = 0
ts = 0
while p ≤ p_end && cs > 0
seal = kouprey[p + 0]
@inbounds duck = ([3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 6 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 2 0 13 13 12 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 12 12 12 12 12; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 8 7 7 9 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 10 7 7 7 11 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 8 7 7 9 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 4 0 0 0 0 0 7 7 7 7 7 0 0 0 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0])[(cs - 1) << 8 + seal + 1]
cs = ([2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 12 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 2 14 2 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 6 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 2 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 4 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 30 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 4 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 30 -29 -30 -31; 5 -2 27 31 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 3 -2 3 3 27 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 27 29 29 29 27; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 17 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 28 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 28 -28 -29 -30 -31; 9 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 18 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 15 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 19 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 10 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 16 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 25 -7 -8 -9 -10 -11 13 14 13 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 25 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 17 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 22 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 8 -2 28 -4 -5 26 21 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 28 -28 -29 -30 -31; 9 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 18 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 20 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 23 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 7 -2 -3 -4 -5 26 11 11 11 15 11 14 14 14 11 11 11 11 11 11 11 11 24 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 19 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 10 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 16 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 11 -2 -3 -4 -5 26 11 11 11 11 11 14 14 14 11 11 11 11 11 11 11 11 11 11 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31; 2 -2 -3 -4 -5 26 -7 -8 -9 -10 -11 14 14 14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 26 26 -27 -28 -29 -30 -31])[(cs - 1) << 8 + seal + 1]
if duck == 1
ts = p
t = 10
te = p
t = 9
te = p
else
if duck == 2
ts = p
t = 10
te = p
t = 7
te = p
else
if duck == 3
ts = p
t = 10
te = p
else
if duck == 4
ts = p
t = 10
te = p
t = 6
te = p
else
if duck == 5
ts = p
t = 10
te = p
t = 3
te = p
else
if duck == 6
t = 5
te = p
else
if duck == 7
t = 6
te = p
else
if duck == 8
t = 6
te = p
t = 1
te = p
else
if duck == 9
t = 6
te = p
t = 2
te = p
else
if duck == 10
t = 6
te = p
t = 3
te = p
else
if duck == 11
t = 6
te = p
t = 4
te = p
else
if duck == 12
t = 8
te = p
else
if duck == 13
t = 7
te = p
else
()
end
end
end
end
end
end
end
end
end
end
end
end
end
p += 1
end
if p > p_eof ≥ 0 && cs ∈ Set([12,11,10,15,16,9,17,18,19,8,20,7,21,22,23,24,6,5,27,29,4,3,2])
cs = 0
elseif cs < 0
p -= 1
end
if t > 0 && (cs ≤ 0 || p > p_end ≥ 0)
if t == 10
failed = true
else
if t == 9
()
else
if t == 8
emit(parse(Float64, data[ts:te]))
else
if t == 7
emit(parse(Int, data[ts:te]))
else
if t == 6
emit(Identifier(unescape_string(data[ts:te])))
else
if t == 5
emit(unescape_string(data[ts + 1:te - 1]))
else
if t == 4
emit(Record())
else
if t == 3
emit(Symbol(data[ts:te]))
else
if t == 2
emit(false)
else
if t == 1
emit(true)
else
()
end
end
end
end
end
end
end
end
end
end
p = te + 1
if cs != 0
cs = 1
end
end
end
end
if cs < 0 || failed
throw(LexerError("Error while lexing"))
end
if p < p_eof
throw(LexerError("Did not scan until end of file. Remaining: $(data[p:p_eof])"))
end
return tokens
end
println(tokenize("2"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment